{
    "contractName": "console",
    "abi": [],
    "metadata": "{\"compiler\":{\"version\":\"0.8.7+commit.e28d00a7\"},\"language\":\"Solidity\",\"output\":{\"abi\":[],\"devdoc\":{\"kind\":\"dev\",\"methods\":{},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"hardhat/console.sol\":\"console\"},\"evmVersion\":\"london\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":200},\"remappings\":[]},\"sources\":{\"hardhat/console.sol\":{\"keccak256\":\"0x72b6a1d297cd3b033d7c2e4a7e7864934bb767db6453623f1c3082c6534547f4\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://a8cb8681076e765c214e0d51cac989325f6b98e315eaae06ee0cbd5a9f084763\",\"dweb:/ipfs/QmNWGHi4zmjxQTYN3NMGnJd49jBT5dE4bxTdWEaDuJrC6N\"]}},\"version\":1}",
    "bytecode": "0x60566037600b82828239805160001a607314602a57634e487b7160e01b600052600060045260246000fd5b30600052607381538281f3fe73000000000000000000000000000000000000000030146080604052600080fdfea2646970667358221220b5d16e232fb7e02d2aa95f3f9167e423349a98b8182deda9c049c1cbba40f24e64736f6c63430008070033",
    "deployedBytecode": "0x73000000000000000000000000000000000000000030146080604052600080fdfea2646970667358221220b5d16e232fb7e02d2aa95f3f9167e423349a98b8182deda9c049c1cbba40f24e64736f6c63430008070033",
    "immutableReferences": {},
    "sourceMap": "67:61980:62:-:0;;;;;;;;;;;;;;;-1:-1:-1;;;67:61980:62;;;;;;;;;;;;;;;;;",
    "deployedSourceMap": "67:61980:62:-:0;;;;;;;;",
    "source": "// SPDX-License-Identifier: MIT\npragma solidity >= 0.4.22 <0.9.0;\n\nlibrary console {\n\taddress constant CONSOLE_ADDRESS = address(0x000000000000000000636F6e736F6c652e6c6f67);\n\n\tfunction _sendLogPayload(bytes memory payload) private view {\n\t\tuint256 payloadLength = payload.length;\n\t\taddress consoleAddress = CONSOLE_ADDRESS;\n\t\tassembly {\n\t\t\tlet payloadStart := add(payload, 32)\n\t\t\tlet r := staticcall(gas(), consoleAddress, payloadStart, payloadLength, 0, 0)\n\t\t}\n\t}\n\n\tfunction log() internal view {\n\t\t_sendLogPayload(abi.encodeWithSignature(\"log()\"));\n\t}\n\n\tfunction logInt(int p0) internal view {\n\t\t_sendLogPayload(abi.encodeWithSignature(\"log(int)\", p0));\n\t}\n\n\tfunction logUint(uint p0) internal view {\n\t\t_sendLogPayload(abi.encodeWithSignature(\"log(uint)\", p0));\n\t}\n\n\tfunction logString(string memory p0) internal view {\n\t\t_sendLogPayload(abi.encodeWithSignature(\"log(string)\", p0));\n\t}\n\n\tfunction logBool(bool p0) internal view {\n\t\t_sendLogPayload(abi.encodeWithSignature(\"log(bool)\", p0));\n\t}\n\n\tfunction logAddress(address p0) internal view {\n\t\t_sendLogPayload(abi.encodeWithSignature(\"log(address)\", p0));\n\t}\n\n\tfunction logBytes(bytes memory p0) internal view {\n\t\t_sendLogPayload(abi.encodeWithSignature(\"log(bytes)\", p0));\n\t}\n\n\tfunction logBytes1(bytes1 p0) internal view {\n\t\t_sendLogPayload(abi.encodeWithSignature(\"log(bytes1)\", p0));\n\t}\n\n\tfunction logBytes2(bytes2 p0) internal view {\n\t\t_sendLogPayload(abi.encodeWithSignature(\"log(bytes2)\", p0));\n\t}\n\n\tfunction logBytes3(bytes3 p0) internal view {\n\t\t_sendLogPayload(abi.encodeWithSignature(\"log(bytes3)\", p0));\n\t}\n\n\tfunction logBytes4(bytes4 p0) internal view {\n\t\t_sendLogPayload(abi.encodeWithSignature(\"log(bytes4)\", p0));\n\t}\n\n\tfunction logBytes5(bytes5 p0) internal view {\n\t\t_sendLogPayload(abi.encodeWithSignature(\"log(bytes5)\", p0));\n\t}\n\n\tfunction logBytes6(bytes6 p0) internal view {\n\t\t_sendLogPayload(abi.encodeWithSignature(\"log(bytes6)\", p0));\n\t}\n\n\tfunction logBytes7(bytes7 p0) internal view {\n\t\t_sendLogPayload(abi.encodeWithSignature(\"log(bytes7)\", p0));\n\t}\n\n\tfunction logBytes8(bytes8 p0) internal view {\n\t\t_sendLogPayload(abi.encodeWithSignature(\"log(bytes8)\", p0));\n\t}\n\n\tfunction logBytes9(bytes9 p0) internal view {\n\t\t_sendLogPayload(abi.encodeWithSignature(\"log(bytes9)\", p0));\n\t}\n\n\tfunction logBytes10(bytes10 p0) internal view {\n\t\t_sendLogPayload(abi.encodeWithSignature(\"log(bytes10)\", p0));\n\t}\n\n\tfunction logBytes11(bytes11 p0) internal view {\n\t\t_sendLogPayload(abi.encodeWithSignature(\"log(bytes11)\", p0));\n\t}\n\n\tfunction logBytes12(bytes12 p0) internal view {\n\t\t_sendLogPayload(abi.encodeWithSignature(\"log(bytes12)\", p0));\n\t}\n\n\tfunction logBytes13(bytes13 p0) internal view {\n\t\t_sendLogPayload(abi.encodeWithSignature(\"log(bytes13)\", p0));\n\t}\n\n\tfunction logBytes14(bytes14 p0) internal view {\n\t\t_sendLogPayload(abi.encodeWithSignature(\"log(bytes14)\", p0));\n\t}\n\n\tfunction logBytes15(bytes15 p0) internal view {\n\t\t_sendLogPayload(abi.encodeWithSignature(\"log(bytes15)\", p0));\n\t}\n\n\tfunction logBytes16(bytes16 p0) internal view {\n\t\t_sendLogPayload(abi.encodeWithSignature(\"log(bytes16)\", p0));\n\t}\n\n\tfunction logBytes17(bytes17 p0) internal view {\n\t\t_sendLogPayload(abi.encodeWithSignature(\"log(bytes17)\", p0));\n\t}\n\n\tfunction logBytes18(bytes18 p0) internal view {\n\t\t_sendLogPayload(abi.encodeWithSignature(\"log(bytes18)\", p0));\n\t}\n\n\tfunction logBytes19(bytes19 p0) internal view {\n\t\t_sendLogPayload(abi.encodeWithSignature(\"log(bytes19)\", p0));\n\t}\n\n\tfunction logBytes20(bytes20 p0) internal view {\n\t\t_sendLogPayload(abi.encodeWithSignature(\"log(bytes20)\", p0));\n\t}\n\n\tfunction logBytes21(bytes21 p0) internal view {\n\t\t_sendLogPayload(abi.encodeWithSignature(\"log(bytes21)\", p0));\n\t}\n\n\tfunction logBytes22(bytes22 p0) internal view {\n\t\t_sendLogPayload(abi.encodeWithSignature(\"log(bytes22)\", p0));\n\t}\n\n\tfunction logBytes23(bytes23 p0) internal view {\n\t\t_sendLogPayload(abi.encodeWithSignature(\"log(bytes23)\", p0));\n\t}\n\n\tfunction logBytes24(bytes24 p0) internal view {\n\t\t_sendLogPayload(abi.encodeWithSignature(\"log(bytes24)\", p0));\n\t}\n\n\tfunction logBytes25(bytes25 p0) internal view {\n\t\t_sendLogPayload(abi.encodeWithSignature(\"log(bytes25)\", p0));\n\t}\n\n\tfunction logBytes26(bytes26 p0) internal view {\n\t\t_sendLogPayload(abi.encodeWithSignature(\"log(bytes26)\", p0));\n\t}\n\n\tfunction logBytes27(bytes27 p0) internal view {\n\t\t_sendLogPayload(abi.encodeWithSignature(\"log(bytes27)\", p0));\n\t}\n\n\tfunction logBytes28(bytes28 p0) internal view {\n\t\t_sendLogPayload(abi.encodeWithSignature(\"log(bytes28)\", p0));\n\t}\n\n\tfunction logBytes29(bytes29 p0) internal view {\n\t\t_sendLogPayload(abi.encodeWithSignature(\"log(bytes29)\", p0));\n\t}\n\n\tfunction logBytes30(bytes30 p0) internal view {\n\t\t_sendLogPayload(abi.encodeWithSignature(\"log(bytes30)\", p0));\n\t}\n\n\tfunction logBytes31(bytes31 p0) internal view {\n\t\t_sendLogPayload(abi.encodeWithSignature(\"log(bytes31)\", p0));\n\t}\n\n\tfunction logBytes32(bytes32 p0) internal view {\n\t\t_sendLogPayload(abi.encodeWithSignature(\"log(bytes32)\", p0));\n\t}\n\n\tfunction log(uint p0) internal view {\n\t\t_sendLogPayload(abi.encodeWithSignature(\"log(uint)\", p0));\n\t}\n\n\tfunction log(string memory p0) internal view {\n\t\t_sendLogPayload(abi.encodeWithSignature(\"log(string)\", p0));\n\t}\n\n\tfunction log(bool p0) internal view {\n\t\t_sendLogPayload(abi.encodeWithSignature(\"log(bool)\", p0));\n\t}\n\n\tfunction log(address p0) internal view {\n\t\t_sendLogPayload(abi.encodeWithSignature(\"log(address)\", p0));\n\t}\n\n\tfunction log(uint p0, uint p1) internal view {\n\t\t_sendLogPayload(abi.encodeWithSignature(\"log(uint,uint)\", p0, p1));\n\t}\n\n\tfunction log(uint p0, string memory p1) internal view {\n\t\t_sendLogPayload(abi.encodeWithSignature(\"log(uint,string)\", p0, p1));\n\t}\n\n\tfunction log(uint p0, bool p1) internal view {\n\t\t_sendLogPayload(abi.encodeWithSignature(\"log(uint,bool)\", p0, p1));\n\t}\n\n\tfunction log(uint p0, address p1) internal view {\n\t\t_sendLogPayload(abi.encodeWithSignature(\"log(uint,address)\", p0, p1));\n\t}\n\n\tfunction log(string memory p0, uint p1) internal view {\n\t\t_sendLogPayload(abi.encodeWithSignature(\"log(string,uint)\", p0, p1));\n\t}\n\n\tfunction log(string memory p0, string memory p1) internal view {\n\t\t_sendLogPayload(abi.encodeWithSignature(\"log(string,string)\", p0, p1));\n\t}\n\n\tfunction log(string memory p0, bool p1) internal view {\n\t\t_sendLogPayload(abi.encodeWithSignature(\"log(string,bool)\", p0, p1));\n\t}\n\n\tfunction log(string memory p0, address p1) internal view {\n\t\t_sendLogPayload(abi.encodeWithSignature(\"log(string,address)\", p0, p1));\n\t}\n\n\tfunction log(bool p0, uint p1) internal view {\n\t\t_sendLogPayload(abi.encodeWithSignature(\"log(bool,uint)\", p0, p1));\n\t}\n\n\tfunction log(bool p0, string memory p1) internal view {\n\t\t_sendLogPayload(abi.encodeWithSignature(\"log(bool,string)\", p0, p1));\n\t}\n\n\tfunction log(bool p0, bool p1) internal view {\n\t\t_sendLogPayload(abi.encodeWithSignature(\"log(bool,bool)\", p0, p1));\n\t}\n\n\tfunction log(bool p0, address p1) internal view {\n\t\t_sendLogPayload(abi.encodeWithSignature(\"log(bool,address)\", p0, p1));\n\t}\n\n\tfunction log(address p0, uint p1) internal view {\n\t\t_sendLogPayload(abi.encodeWithSignature(\"log(address,uint)\", p0, p1));\n\t}\n\n\tfunction log(address p0, string memory p1) internal view {\n\t\t_sendLogPayload(abi.encodeWithSignature(\"log(address,string)\", p0, p1));\n\t}\n\n\tfunction log(address p0, bool p1) internal view {\n\t\t_sendLogPayload(abi.encodeWithSignature(\"log(address,bool)\", p0, p1));\n\t}\n\n\tfunction log(address p0, address p1) internal view {\n\t\t_sendLogPayload(abi.encodeWithSignature(\"log(address,address)\", p0, p1));\n\t}\n\n\tfunction log(uint p0, uint p1, uint p2) internal view {\n\t\t_sendLogPayload(abi.encodeWithSignature(\"log(uint,uint,uint)\", p0, p1, p2));\n\t}\n\n\tfunction log(uint p0, uint p1, string memory p2) internal view {\n\t\t_sendLogPayload(abi.encodeWithSignature(\"log(uint,uint,string)\", p0, p1, p2));\n\t}\n\n\tfunction log(uint p0, uint p1, bool p2) internal view {\n\t\t_sendLogPayload(abi.encodeWithSignature(\"log(uint,uint,bool)\", p0, p1, p2));\n\t}\n\n\tfunction log(uint p0, uint p1, address p2) internal view {\n\t\t_sendLogPayload(abi.encodeWithSignature(\"log(uint,uint,address)\", p0, p1, p2));\n\t}\n\n\tfunction log(uint p0, string memory p1, uint p2) internal view {\n\t\t_sendLogPayload(abi.encodeWithSignature(\"log(uint,string,uint)\", p0, p1, p2));\n\t}\n\n\tfunction log(uint p0, string memory p1, string memory p2) internal view {\n\t\t_sendLogPayload(abi.encodeWithSignature(\"log(uint,string,string)\", p0, p1, p2));\n\t}\n\n\tfunction log(uint p0, string memory p1, bool p2) internal view {\n\t\t_sendLogPayload(abi.encodeWithSignature(\"log(uint,string,bool)\", p0, p1, p2));\n\t}\n\n\tfunction log(uint p0, string memory p1, address p2) internal view {\n\t\t_sendLogPayload(abi.encodeWithSignature(\"log(uint,string,address)\", p0, p1, p2));\n\t}\n\n\tfunction log(uint p0, bool p1, uint p2) internal view {\n\t\t_sendLogPayload(abi.encodeWithSignature(\"log(uint,bool,uint)\", p0, p1, p2));\n\t}\n\n\tfunction log(uint p0, bool p1, string memory p2) internal view {\n\t\t_sendLogPayload(abi.encodeWithSignature(\"log(uint,bool,string)\", p0, p1, p2));\n\t}\n\n\tfunction log(uint p0, bool p1, bool p2) internal view {\n\t\t_sendLogPayload(abi.encodeWithSignature(\"log(uint,bool,bool)\", p0, p1, p2));\n\t}\n\n\tfunction log(uint p0, bool p1, address p2) internal view {\n\t\t_sendLogPayload(abi.encodeWithSignature(\"log(uint,bool,address)\", p0, p1, p2));\n\t}\n\n\tfunction log(uint p0, address p1, uint p2) internal view {\n\t\t_sendLogPayload(abi.encodeWithSignature(\"log(uint,address,uint)\", p0, p1, p2));\n\t}\n\n\tfunction log(uint p0, address p1, string memory p2) internal view {\n\t\t_sendLogPayload(abi.encodeWithSignature(\"log(uint,address,string)\", p0, p1, p2));\n\t}\n\n\tfunction log(uint p0, address p1, bool p2) internal view {\n\t\t_sendLogPayload(abi.encodeWithSignature(\"log(uint,address,bool)\", p0, p1, p2));\n\t}\n\n\tfunction log(uint p0, address p1, address p2) internal view {\n\t\t_sendLogPayload(abi.encodeWithSignature(\"log(uint,address,address)\", p0, p1, p2));\n\t}\n\n\tfunction log(string memory p0, uint p1, uint p2) internal view {\n\t\t_sendLogPayload(abi.encodeWithSignature(\"log(string,uint,uint)\", p0, p1, p2));\n\t}\n\n\tfunction log(string memory p0, uint p1, string memory p2) internal view {\n\t\t_sendLogPayload(abi.encodeWithSignature(\"log(string,uint,string)\", p0, p1, p2));\n\t}\n\n\tfunction log(string memory p0, uint p1, bool p2) internal view {\n\t\t_sendLogPayload(abi.encodeWithSignature(\"log(string,uint,bool)\", p0, p1, p2));\n\t}\n\n\tfunction log(string memory p0, uint p1, address p2) internal view {\n\t\t_sendLogPayload(abi.encodeWithSignature(\"log(string,uint,address)\", p0, p1, p2));\n\t}\n\n\tfunction log(string memory p0, string memory p1, uint p2) internal view {\n\t\t_sendLogPayload(abi.encodeWithSignature(\"log(string,string,uint)\", p0, p1, p2));\n\t}\n\n\tfunction log(string memory p0, string memory p1, string memory p2) internal view {\n\t\t_sendLogPayload(abi.encodeWithSignature(\"log(string,string,string)\", p0, p1, p2));\n\t}\n\n\tfunction log(string memory p0, string memory p1, bool p2) internal view {\n\t\t_sendLogPayload(abi.encodeWithSignature(\"log(string,string,bool)\", p0, p1, p2));\n\t}\n\n\tfunction log(string memory p0, string memory p1, address p2) internal view {\n\t\t_sendLogPayload(abi.encodeWithSignature(\"log(string,string,address)\", p0, p1, p2));\n\t}\n\n\tfunction log(string memory p0, bool p1, uint p2) internal view {\n\t\t_sendLogPayload(abi.encodeWithSignature(\"log(string,bool,uint)\", p0, p1, p2));\n\t}\n\n\tfunction log(string memory p0, bool p1, string memory p2) internal view {\n\t\t_sendLogPayload(abi.encodeWithSignature(\"log(string,bool,string)\", p0, p1, p2));\n\t}\n\n\tfunction log(string memory p0, bool p1, bool p2) internal view {\n\t\t_sendLogPayload(abi.encodeWithSignature(\"log(string,bool,bool)\", p0, p1, p2));\n\t}\n\n\tfunction log(string memory p0, bool p1, address p2) internal view {\n\t\t_sendLogPayload(abi.encodeWithSignature(\"log(string,bool,address)\", p0, p1, p2));\n\t}\n\n\tfunction log(string memory p0, address p1, uint p2) internal view {\n\t\t_sendLogPayload(abi.encodeWithSignature(\"log(string,address,uint)\", p0, p1, p2));\n\t}\n\n\tfunction log(string memory p0, address p1, string memory p2) internal view {\n\t\t_sendLogPayload(abi.encodeWithSignature(\"log(string,address,string)\", p0, p1, p2));\n\t}\n\n\tfunction log(string memory p0, address p1, bool p2) internal view {\n\t\t_sendLogPayload(abi.encodeWithSignature(\"log(string,address,bool)\", p0, p1, p2));\n\t}\n\n\tfunction log(string memory p0, address p1, address p2) internal view {\n\t\t_sendLogPayload(abi.encodeWithSignature(\"log(string,address,address)\", p0, p1, p2));\n\t}\n\n\tfunction log(bool p0, uint p1, uint p2) internal view {\n\t\t_sendLogPayload(abi.encodeWithSignature(\"log(bool,uint,uint)\", p0, p1, p2));\n\t}\n\n\tfunction log(bool p0, uint p1, string memory p2) internal view {\n\t\t_sendLogPayload(abi.encodeWithSignature(\"log(bool,uint,string)\", p0, p1, p2));\n\t}\n\n\tfunction log(bool p0, uint p1, bool p2) internal view {\n\t\t_sendLogPayload(abi.encodeWithSignature(\"log(bool,uint,bool)\", p0, p1, p2));\n\t}\n\n\tfunction log(bool p0, uint p1, address p2) internal view {\n\t\t_sendLogPayload(abi.encodeWithSignature(\"log(bool,uint,address)\", p0, p1, p2));\n\t}\n\n\tfunction log(bool p0, string memory p1, uint p2) internal view {\n\t\t_sendLogPayload(abi.encodeWithSignature(\"log(bool,string,uint)\", p0, p1, p2));\n\t}\n\n\tfunction log(bool p0, string memory p1, string memory p2) internal view {\n\t\t_sendLogPayload(abi.encodeWithSignature(\"log(bool,string,string)\", p0, p1, p2));\n\t}\n\n\tfunction log(bool p0, string memory p1, bool p2) internal view {\n\t\t_sendLogPayload(abi.encodeWithSignature(\"log(bool,string,bool)\", p0, p1, p2));\n\t}\n\n\tfunction log(bool p0, string memory p1, address p2) internal view {\n\t\t_sendLogPayload(abi.encodeWithSignature(\"log(bool,string,address)\", p0, p1, p2));\n\t}\n\n\tfunction log(bool p0, bool p1, uint p2) internal view {\n\t\t_sendLogPayload(abi.encodeWithSignature(\"log(bool,bool,uint)\", p0, p1, p2));\n\t}\n\n\tfunction log(bool p0, bool p1, string memory p2) internal view {\n\t\t_sendLogPayload(abi.encodeWithSignature(\"log(bool,bool,string)\", p0, p1, p2));\n\t}\n\n\tfunction log(bool p0, bool p1, bool p2) internal view {\n\t\t_sendLogPayload(abi.encodeWithSignature(\"log(bool,bool,bool)\", p0, p1, p2));\n\t}\n\n\tfunction log(bool p0, bool p1, address p2) internal view {\n\t\t_sendLogPayload(abi.encodeWithSignature(\"log(bool,bool,address)\", p0, p1, p2));\n\t}\n\n\tfunction log(bool p0, address p1, uint p2) internal view {\n\t\t_sendLogPayload(abi.encodeWithSignature(\"log(bool,address,uint)\", p0, p1, p2));\n\t}\n\n\tfunction log(bool p0, address p1, string memory p2) internal view {\n\t\t_sendLogPayload(abi.encodeWithSignature(\"log(bool,address,string)\", p0, p1, p2));\n\t}\n\n\tfunction log(bool p0, address p1, bool p2) internal view {\n\t\t_sendLogPayload(abi.encodeWithSignature(\"log(bool,address,bool)\", p0, p1, p2));\n\t}\n\n\tfunction log(bool p0, address p1, address p2) internal view {\n\t\t_sendLogPayload(abi.encodeWithSignature(\"log(bool,address,address)\", p0, p1, p2));\n\t}\n\n\tfunction log(address p0, uint p1, uint p2) internal view {\n\t\t_sendLogPayload(abi.encodeWithSignature(\"log(address,uint,uint)\", p0, p1, p2));\n\t}\n\n\tfunction log(address p0, uint p1, string memory p2) internal view {\n\t\t_sendLogPayload(abi.encodeWithSignature(\"log(address,uint,string)\", p0, p1, p2));\n\t}\n\n\tfunction log(address p0, uint p1, bool p2) internal view {\n\t\t_sendLogPayload(abi.encodeWithSignature(\"log(address,uint,bool)\", p0, p1, p2));\n\t}\n\n\tfunction log(address p0, uint p1, address p2) internal view {\n\t\t_sendLogPayload(abi.encodeWithSignature(\"log(address,uint,address)\", p0, p1, p2));\n\t}\n\n\tfunction log(address p0, string memory p1, uint p2) internal view {\n\t\t_sendLogPayload(abi.encodeWithSignature(\"log(address,string,uint)\", p0, p1, p2));\n\t}\n\n\tfunction log(address p0, string memory p1, string memory p2) internal view {\n\t\t_sendLogPayload(abi.encodeWithSignature(\"log(address,string,string)\", p0, p1, p2));\n\t}\n\n\tfunction log(address p0, string memory p1, bool p2) internal view {\n\t\t_sendLogPayload(abi.encodeWithSignature(\"log(address,string,bool)\", p0, p1, p2));\n\t}\n\n\tfunction log(address p0, string memory p1, address p2) internal view {\n\t\t_sendLogPayload(abi.encodeWithSignature(\"log(address,string,address)\", p0, p1, p2));\n\t}\n\n\tfunction log(address p0, bool p1, uint p2) internal view {\n\t\t_sendLogPayload(abi.encodeWithSignature(\"log(address,bool,uint)\", p0, p1, p2));\n\t}\n\n\tfunction log(address p0, bool p1, string memory p2) internal view {\n\t\t_sendLogPayload(abi.encodeWithSignature(\"log(address,bool,string)\", p0, p1, p2));\n\t}\n\n\tfunction log(address p0, bool p1, bool p2) internal view {\n\t\t_sendLogPayload(abi.encodeWithSignature(\"log(address,bool,bool)\", p0, p1, p2));\n\t}\n\n\tfunction log(address p0, bool p1, address p2) internal view {\n\t\t_sendLogPayload(abi.encodeWithSignature(\"log(address,bool,address)\", p0, p1, p2));\n\t}\n\n\tfunction log(address p0, address p1, uint p2) internal view {\n\t\t_sendLogPayload(abi.encodeWithSignature(\"log(address,address,uint)\", p0, p1, p2));\n\t}\n\n\tfunction log(address p0, address p1, string memory p2) internal view {\n\t\t_sendLogPayload(abi.encodeWithSignature(\"log(address,address,string)\", p0, p1, p2));\n\t}\n\n\tfunction log(address p0, address p1, bool p2) internal view {\n\t\t_sendLogPayload(abi.encodeWithSignature(\"log(address,address,bool)\", p0, p1, p2));\n\t}\n\n\tfunction log(address p0, address p1, address p2) internal view {\n\t\t_sendLogPayload(abi.encodeWithSignature(\"log(address,address,address)\", p0, p1, p2));\n\t}\n\n\tfunction log(uint p0, uint p1, uint p2, uint p3) internal view {\n\t\t_sendLogPayload(abi.encodeWithSignature(\"log(uint,uint,uint,uint)\", p0, p1, p2, p3));\n\t}\n\n\tfunction log(uint p0, uint p1, uint p2, string memory p3) internal view {\n\t\t_sendLogPayload(abi.encodeWithSignature(\"log(uint,uint,uint,string)\", p0, p1, p2, p3));\n\t}\n\n\tfunction log(uint p0, uint p1, uint p2, bool p3) internal view {\n\t\t_sendLogPayload(abi.encodeWithSignature(\"log(uint,uint,uint,bool)\", p0, p1, p2, p3));\n\t}\n\n\tfunction log(uint p0, uint p1, uint p2, address p3) internal view {\n\t\t_sendLogPayload(abi.encodeWithSignature(\"log(uint,uint,uint,address)\", p0, p1, p2, p3));\n\t}\n\n\tfunction log(uint p0, uint p1, string memory p2, uint p3) internal view {\n\t\t_sendLogPayload(abi.encodeWithSignature(\"log(uint,uint,string,uint)\", p0, p1, p2, p3));\n\t}\n\n\tfunction log(uint p0, uint p1, string memory p2, string memory p3) internal view {\n\t\t_sendLogPayload(abi.encodeWithSignature(\"log(uint,uint,string,string)\", p0, p1, p2, p3));\n\t}\n\n\tfunction log(uint p0, uint p1, string memory p2, bool p3) internal view {\n\t\t_sendLogPayload(abi.encodeWithSignature(\"log(uint,uint,string,bool)\", p0, p1, p2, p3));\n\t}\n\n\tfunction log(uint p0, uint p1, string memory p2, address p3) internal view {\n\t\t_sendLogPayload(abi.encodeWithSignature(\"log(uint,uint,string,address)\", p0, p1, p2, p3));\n\t}\n\n\tfunction log(uint p0, uint p1, bool p2, uint p3) internal view {\n\t\t_sendLogPayload(abi.encodeWithSignature(\"log(uint,uint,bool,uint)\", p0, p1, p2, p3));\n\t}\n\n\tfunction log(uint p0, uint p1, bool p2, string memory p3) internal view {\n\t\t_sendLogPayload(abi.encodeWithSignature(\"log(uint,uint,bool,string)\", p0, p1, p2, p3));\n\t}\n\n\tfunction log(uint p0, uint p1, bool p2, bool p3) internal view {\n\t\t_sendLogPayload(abi.encodeWithSignature(\"log(uint,uint,bool,bool)\", p0, p1, p2, p3));\n\t}\n\n\tfunction log(uint p0, uint p1, bool p2, address p3) internal view {\n\t\t_sendLogPayload(abi.encodeWithSignature(\"log(uint,uint,bool,address)\", p0, p1, p2, p3));\n\t}\n\n\tfunction log(uint p0, uint p1, address p2, uint p3) internal view {\n\t\t_sendLogPayload(abi.encodeWithSignature(\"log(uint,uint,address,uint)\", p0, p1, p2, p3));\n\t}\n\n\tfunction log(uint p0, uint p1, address p2, string memory p3) internal view {\n\t\t_sendLogPayload(abi.encodeWithSignature(\"log(uint,uint,address,string)\", p0, p1, p2, p3));\n\t}\n\n\tfunction log(uint p0, uint p1, address p2, bool p3) internal view {\n\t\t_sendLogPayload(abi.encodeWithSignature(\"log(uint,uint,address,bool)\", p0, p1, p2, p3));\n\t}\n\n\tfunction log(uint p0, uint p1, address p2, address p3) internal view {\n\t\t_sendLogPayload(abi.encodeWithSignature(\"log(uint,uint,address,address)\", p0, p1, p2, p3));\n\t}\n\n\tfunction log(uint p0, string memory p1, uint p2, uint p3) internal view {\n\t\t_sendLogPayload(abi.encodeWithSignature(\"log(uint,string,uint,uint)\", p0, p1, p2, p3));\n\t}\n\n\tfunction log(uint p0, string memory p1, uint p2, string memory p3) internal view {\n\t\t_sendLogPayload(abi.encodeWithSignature(\"log(uint,string,uint,string)\", p0, p1, p2, p3));\n\t}\n\n\tfunction log(uint p0, string memory p1, uint p2, bool p3) internal view {\n\t\t_sendLogPayload(abi.encodeWithSignature(\"log(uint,string,uint,bool)\", p0, p1, p2, p3));\n\t}\n\n\tfunction log(uint p0, string memory p1, uint p2, address p3) internal view {\n\t\t_sendLogPayload(abi.encodeWithSignature(\"log(uint,string,uint,address)\", p0, p1, p2, p3));\n\t}\n\n\tfunction log(uint p0, string memory p1, string memory p2, uint p3) internal view {\n\t\t_sendLogPayload(abi.encodeWithSignature(\"log(uint,string,string,uint)\", p0, p1, p2, p3));\n\t}\n\n\tfunction log(uint p0, string memory p1, string memory p2, string memory p3) internal view {\n\t\t_sendLogPayload(abi.encodeWithSignature(\"log(uint,string,string,string)\", p0, p1, p2, p3));\n\t}\n\n\tfunction log(uint p0, string memory p1, string memory p2, bool p3) internal view {\n\t\t_sendLogPayload(abi.encodeWithSignature(\"log(uint,string,string,bool)\", p0, p1, p2, p3));\n\t}\n\n\tfunction log(uint p0, string memory p1, string memory p2, address p3) internal view {\n\t\t_sendLogPayload(abi.encodeWithSignature(\"log(uint,string,string,address)\", p0, p1, p2, p3));\n\t}\n\n\tfunction log(uint p0, string memory p1, bool p2, uint p3) internal view {\n\t\t_sendLogPayload(abi.encodeWithSignature(\"log(uint,string,bool,uint)\", p0, p1, p2, p3));\n\t}\n\n\tfunction log(uint p0, string memory p1, bool p2, string memory p3) internal view {\n\t\t_sendLogPayload(abi.encodeWithSignature(\"log(uint,string,bool,string)\", p0, p1, p2, p3));\n\t}\n\n\tfunction log(uint p0, string memory p1, bool p2, bool p3) internal view {\n\t\t_sendLogPayload(abi.encodeWithSignature(\"log(uint,string,bool,bool)\", p0, p1, p2, p3));\n\t}\n\n\tfunction log(uint p0, string memory p1, bool p2, address p3) internal view {\n\t\t_sendLogPayload(abi.encodeWithSignature(\"log(uint,string,bool,address)\", p0, p1, p2, p3));\n\t}\n\n\tfunction log(uint p0, string memory p1, address p2, uint p3) internal view {\n\t\t_sendLogPayload(abi.encodeWithSignature(\"log(uint,string,address,uint)\", p0, p1, p2, p3));\n\t}\n\n\tfunction log(uint p0, string memory p1, address p2, string memory p3) internal view {\n\t\t_sendLogPayload(abi.encodeWithSignature(\"log(uint,string,address,string)\", p0, p1, p2, p3));\n\t}\n\n\tfunction log(uint p0, string memory p1, address p2, bool p3) internal view {\n\t\t_sendLogPayload(abi.encodeWithSignature(\"log(uint,string,address,bool)\", p0, p1, p2, p3));\n\t}\n\n\tfunction log(uint p0, string memory p1, address p2, address p3) internal view {\n\t\t_sendLogPayload(abi.encodeWithSignature(\"log(uint,string,address,address)\", p0, p1, p2, p3));\n\t}\n\n\tfunction log(uint p0, bool p1, uint p2, uint p3) internal view {\n\t\t_sendLogPayload(abi.encodeWithSignature(\"log(uint,bool,uint,uint)\", p0, p1, p2, p3));\n\t}\n\n\tfunction log(uint p0, bool p1, uint p2, string memory p3) internal view {\n\t\t_sendLogPayload(abi.encodeWithSignature(\"log(uint,bool,uint,string)\", p0, p1, p2, p3));\n\t}\n\n\tfunction log(uint p0, bool p1, uint p2, bool p3) internal view {\n\t\t_sendLogPayload(abi.encodeWithSignature(\"log(uint,bool,uint,bool)\", p0, p1, p2, p3));\n\t}\n\n\tfunction log(uint p0, bool p1, uint p2, address p3) internal view {\n\t\t_sendLogPayload(abi.encodeWithSignature(\"log(uint,bool,uint,address)\", p0, p1, p2, p3));\n\t}\n\n\tfunction log(uint p0, bool p1, string memory p2, uint p3) internal view {\n\t\t_sendLogPayload(abi.encodeWithSignature(\"log(uint,bool,string,uint)\", p0, p1, p2, p3));\n\t}\n\n\tfunction log(uint p0, bool p1, string memory p2, string memory p3) internal view {\n\t\t_sendLogPayload(abi.encodeWithSignature(\"log(uint,bool,string,string)\", p0, p1, p2, p3));\n\t}\n\n\tfunction log(uint p0, bool p1, string memory p2, bool p3) internal view {\n\t\t_sendLogPayload(abi.encodeWithSignature(\"log(uint,bool,string,bool)\", p0, p1, p2, p3));\n\t}\n\n\tfunction log(uint p0, bool p1, string memory p2, address p3) internal view {\n\t\t_sendLogPayload(abi.encodeWithSignature(\"log(uint,bool,string,address)\", p0, p1, p2, p3));\n\t}\n\n\tfunction log(uint p0, bool p1, bool p2, uint p3) internal view {\n\t\t_sendLogPayload(abi.encodeWithSignature(\"log(uint,bool,bool,uint)\", p0, p1, p2, p3));\n\t}\n\n\tfunction log(uint p0, bool p1, bool p2, string memory p3) internal view {\n\t\t_sendLogPayload(abi.encodeWithSignature(\"log(uint,bool,bool,string)\", p0, p1, p2, p3));\n\t}\n\n\tfunction log(uint p0, bool p1, bool p2, bool p3) internal view {\n\t\t_sendLogPayload(abi.encodeWithSignature(\"log(uint,bool,bool,bool)\", p0, p1, p2, p3));\n\t}\n\n\tfunction log(uint p0, bool p1, bool p2, address p3) internal view {\n\t\t_sendLogPayload(abi.encodeWithSignature(\"log(uint,bool,bool,address)\", p0, p1, p2, p3));\n\t}\n\n\tfunction log(uint p0, bool p1, address p2, uint p3) internal view {\n\t\t_sendLogPayload(abi.encodeWithSignature(\"log(uint,bool,address,uint)\", p0, p1, p2, p3));\n\t}\n\n\tfunction log(uint p0, bool p1, address p2, string memory p3) internal view {\n\t\t_sendLogPayload(abi.encodeWithSignature(\"log(uint,bool,address,string)\", p0, p1, p2, p3));\n\t}\n\n\tfunction log(uint p0, bool p1, address p2, bool p3) internal view {\n\t\t_sendLogPayload(abi.encodeWithSignature(\"log(uint,bool,address,bool)\", p0, p1, p2, p3));\n\t}\n\n\tfunction log(uint p0, bool p1, address p2, address p3) internal view {\n\t\t_sendLogPayload(abi.encodeWithSignature(\"log(uint,bool,address,address)\", p0, p1, p2, p3));\n\t}\n\n\tfunction log(uint p0, address p1, uint p2, uint p3) internal view {\n\t\t_sendLogPayload(abi.encodeWithSignature(\"log(uint,address,uint,uint)\", p0, p1, p2, p3));\n\t}\n\n\tfunction log(uint p0, address p1, uint p2, string memory p3) internal view {\n\t\t_sendLogPayload(abi.encodeWithSignature(\"log(uint,address,uint,string)\", p0, p1, p2, p3));\n\t}\n\n\tfunction log(uint p0, address p1, uint p2, bool p3) internal view {\n\t\t_sendLogPayload(abi.encodeWithSignature(\"log(uint,address,uint,bool)\", p0, p1, p2, p3));\n\t}\n\n\tfunction log(uint p0, address p1, uint p2, address p3) internal view {\n\t\t_sendLogPayload(abi.encodeWithSignature(\"log(uint,address,uint,address)\", p0, p1, p2, p3));\n\t}\n\n\tfunction log(uint p0, address p1, string memory p2, uint p3) internal view {\n\t\t_sendLogPayload(abi.encodeWithSignature(\"log(uint,address,string,uint)\", p0, p1, p2, p3));\n\t}\n\n\tfunction log(uint p0, address p1, string memory p2, string memory p3) internal view {\n\t\t_sendLogPayload(abi.encodeWithSignature(\"log(uint,address,string,string)\", p0, p1, p2, p3));\n\t}\n\n\tfunction log(uint p0, address p1, string memory p2, bool p3) internal view {\n\t\t_sendLogPayload(abi.encodeWithSignature(\"log(uint,address,string,bool)\", p0, p1, p2, p3));\n\t}\n\n\tfunction log(uint p0, address p1, string memory p2, address p3) internal view {\n\t\t_sendLogPayload(abi.encodeWithSignature(\"log(uint,address,string,address)\", p0, p1, p2, p3));\n\t}\n\n\tfunction log(uint p0, address p1, bool p2, uint p3) internal view {\n\t\t_sendLogPayload(abi.encodeWithSignature(\"log(uint,address,bool,uint)\", p0, p1, p2, p3));\n\t}\n\n\tfunction log(uint p0, address p1, bool p2, string memory p3) internal view {\n\t\t_sendLogPayload(abi.encodeWithSignature(\"log(uint,address,bool,string)\", p0, p1, p2, p3));\n\t}\n\n\tfunction log(uint p0, address p1, bool p2, bool p3) internal view {\n\t\t_sendLogPayload(abi.encodeWithSignature(\"log(uint,address,bool,bool)\", p0, p1, p2, p3));\n\t}\n\n\tfunction log(uint p0, address p1, bool p2, address p3) internal view {\n\t\t_sendLogPayload(abi.encodeWithSignature(\"log(uint,address,bool,address)\", p0, p1, p2, p3));\n\t}\n\n\tfunction log(uint p0, address p1, address p2, uint p3) internal view {\n\t\t_sendLogPayload(abi.encodeWithSignature(\"log(uint,address,address,uint)\", p0, p1, p2, p3));\n\t}\n\n\tfunction log(uint p0, address p1, address p2, string memory p3) internal view {\n\t\t_sendLogPayload(abi.encodeWithSignature(\"log(uint,address,address,string)\", p0, p1, p2, p3));\n\t}\n\n\tfunction log(uint p0, address p1, address p2, bool p3) internal view {\n\t\t_sendLogPayload(abi.encodeWithSignature(\"log(uint,address,address,bool)\", p0, p1, p2, p3));\n\t}\n\n\tfunction log(uint p0, address p1, address p2, address p3) internal view {\n\t\t_sendLogPayload(abi.encodeWithSignature(\"log(uint,address,address,address)\", p0, p1, p2, p3));\n\t}\n\n\tfunction log(string memory p0, uint p1, uint p2, uint p3) internal view {\n\t\t_sendLogPayload(abi.encodeWithSignature(\"log(string,uint,uint,uint)\", p0, p1, p2, p3));\n\t}\n\n\tfunction log(string memory p0, uint p1, uint p2, string memory p3) internal view {\n\t\t_sendLogPayload(abi.encodeWithSignature(\"log(string,uint,uint,string)\", p0, p1, p2, p3));\n\t}\n\n\tfunction log(string memory p0, uint p1, uint p2, bool p3) internal view {\n\t\t_sendLogPayload(abi.encodeWithSignature(\"log(string,uint,uint,bool)\", p0, p1, p2, p3));\n\t}\n\n\tfunction log(string memory p0, uint p1, uint p2, address p3) internal view {\n\t\t_sendLogPayload(abi.encodeWithSignature(\"log(string,uint,uint,address)\", p0, p1, p2, p3));\n\t}\n\n\tfunction log(string memory p0, uint p1, string memory p2, uint p3) internal view {\n\t\t_sendLogPayload(abi.encodeWithSignature(\"log(string,uint,string,uint)\", p0, p1, p2, p3));\n\t}\n\n\tfunction log(string memory p0, uint p1, string memory p2, string memory p3) internal view {\n\t\t_sendLogPayload(abi.encodeWithSignature(\"log(string,uint,string,string)\", p0, p1, p2, p3));\n\t}\n\n\tfunction log(string memory p0, uint p1, string memory p2, bool p3) internal view {\n\t\t_sendLogPayload(abi.encodeWithSignature(\"log(string,uint,string,bool)\", p0, p1, p2, p3));\n\t}\n\n\tfunction log(string memory p0, uint p1, string memory p2, address p3) internal view {\n\t\t_sendLogPayload(abi.encodeWithSignature(\"log(string,uint,string,address)\", p0, p1, p2, p3));\n\t}\n\n\tfunction log(string memory p0, uint p1, bool p2, uint p3) internal view {\n\t\t_sendLogPayload(abi.encodeWithSignature(\"log(string,uint,bool,uint)\", p0, p1, p2, p3));\n\t}\n\n\tfunction log(string memory p0, uint p1, bool p2, string memory p3) internal view {\n\t\t_sendLogPayload(abi.encodeWithSignature(\"log(string,uint,bool,string)\", p0, p1, p2, p3));\n\t}\n\n\tfunction log(string memory p0, uint p1, bool p2, bool p3) internal view {\n\t\t_sendLogPayload(abi.encodeWithSignature(\"log(string,uint,bool,bool)\", p0, p1, p2, p3));\n\t}\n\n\tfunction log(string memory p0, uint p1, bool p2, address p3) internal view {\n\t\t_sendLogPayload(abi.encodeWithSignature(\"log(string,uint,bool,address)\", p0, p1, p2, p3));\n\t}\n\n\tfunction log(string memory p0, uint p1, address p2, uint p3) internal view {\n\t\t_sendLogPayload(abi.encodeWithSignature(\"log(string,uint,address,uint)\", p0, p1, p2, p3));\n\t}\n\n\tfunction log(string memory p0, uint p1, address p2, string memory p3) internal view {\n\t\t_sendLogPayload(abi.encodeWithSignature(\"log(string,uint,address,string)\", p0, p1, p2, p3));\n\t}\n\n\tfunction log(string memory p0, uint p1, address p2, bool p3) internal view {\n\t\t_sendLogPayload(abi.encodeWithSignature(\"log(string,uint,address,bool)\", p0, p1, p2, p3));\n\t}\n\n\tfunction log(string memory p0, uint p1, address p2, address p3) internal view {\n\t\t_sendLogPayload(abi.encodeWithSignature(\"log(string,uint,address,address)\", p0, p1, p2, p3));\n\t}\n\n\tfunction log(string memory p0, string memory p1, uint p2, uint p3) internal view {\n\t\t_sendLogPayload(abi.encodeWithSignature(\"log(string,string,uint,uint)\", p0, p1, p2, p3));\n\t}\n\n\tfunction log(string memory p0, string memory p1, uint p2, string memory p3) internal view {\n\t\t_sendLogPayload(abi.encodeWithSignature(\"log(string,string,uint,string)\", p0, p1, p2, p3));\n\t}\n\n\tfunction log(string memory p0, string memory p1, uint p2, bool p3) internal view {\n\t\t_sendLogPayload(abi.encodeWithSignature(\"log(string,string,uint,bool)\", p0, p1, p2, p3));\n\t}\n\n\tfunction log(string memory p0, string memory p1, uint p2, address p3) internal view {\n\t\t_sendLogPayload(abi.encodeWithSignature(\"log(string,string,uint,address)\", p0, p1, p2, p3));\n\t}\n\n\tfunction log(string memory p0, string memory p1, string memory p2, uint p3) internal view {\n\t\t_sendLogPayload(abi.encodeWithSignature(\"log(string,string,string,uint)\", p0, p1, p2, p3));\n\t}\n\n\tfunction log(string memory p0, string memory p1, string memory p2, string memory p3) internal view {\n\t\t_sendLogPayload(abi.encodeWithSignature(\"log(string,string,string,string)\", p0, p1, p2, p3));\n\t}\n\n\tfunction log(string memory p0, string memory p1, string memory p2, bool p3) internal view {\n\t\t_sendLogPayload(abi.encodeWithSignature(\"log(string,string,string,bool)\", p0, p1, p2, p3));\n\t}\n\n\tfunction log(string memory p0, string memory p1, string memory p2, address p3) internal view {\n\t\t_sendLogPayload(abi.encodeWithSignature(\"log(string,string,string,address)\", p0, p1, p2, p3));\n\t}\n\n\tfunction log(string memory p0, string memory p1, bool p2, uint p3) internal view {\n\t\t_sendLogPayload(abi.encodeWithSignature(\"log(string,string,bool,uint)\", p0, p1, p2, p3));\n\t}\n\n\tfunction log(string memory p0, string memory p1, bool p2, string memory p3) internal view {\n\t\t_sendLogPayload(abi.encodeWithSignature(\"log(string,string,bool,string)\", p0, p1, p2, p3));\n\t}\n\n\tfunction log(string memory p0, string memory p1, bool p2, bool p3) internal view {\n\t\t_sendLogPayload(abi.encodeWithSignature(\"log(string,string,bool,bool)\", p0, p1, p2, p3));\n\t}\n\n\tfunction log(string memory p0, string memory p1, bool p2, address p3) internal view {\n\t\t_sendLogPayload(abi.encodeWithSignature(\"log(string,string,bool,address)\", p0, p1, p2, p3));\n\t}\n\n\tfunction log(string memory p0, string memory p1, address p2, uint p3) internal view {\n\t\t_sendLogPayload(abi.encodeWithSignature(\"log(string,string,address,uint)\", p0, p1, p2, p3));\n\t}\n\n\tfunction log(string memory p0, string memory p1, address p2, string memory p3) internal view {\n\t\t_sendLogPayload(abi.encodeWithSignature(\"log(string,string,address,string)\", p0, p1, p2, p3));\n\t}\n\n\tfunction log(string memory p0, string memory p1, address p2, bool p3) internal view {\n\t\t_sendLogPayload(abi.encodeWithSignature(\"log(string,string,address,bool)\", p0, p1, p2, p3));\n\t}\n\n\tfunction log(string memory p0, string memory p1, address p2, address p3) internal view {\n\t\t_sendLogPayload(abi.encodeWithSignature(\"log(string,string,address,address)\", p0, p1, p2, p3));\n\t}\n\n\tfunction log(string memory p0, bool p1, uint p2, uint p3) internal view {\n\t\t_sendLogPayload(abi.encodeWithSignature(\"log(string,bool,uint,uint)\", p0, p1, p2, p3));\n\t}\n\n\tfunction log(string memory p0, bool p1, uint p2, string memory p3) internal view {\n\t\t_sendLogPayload(abi.encodeWithSignature(\"log(string,bool,uint,string)\", p0, p1, p2, p3));\n\t}\n\n\tfunction log(string memory p0, bool p1, uint p2, bool p3) internal view {\n\t\t_sendLogPayload(abi.encodeWithSignature(\"log(string,bool,uint,bool)\", p0, p1, p2, p3));\n\t}\n\n\tfunction log(string memory p0, bool p1, uint p2, address p3) internal view {\n\t\t_sendLogPayload(abi.encodeWithSignature(\"log(string,bool,uint,address)\", p0, p1, p2, p3));\n\t}\n\n\tfunction log(string memory p0, bool p1, string memory p2, uint p3) internal view {\n\t\t_sendLogPayload(abi.encodeWithSignature(\"log(string,bool,string,uint)\", p0, p1, p2, p3));\n\t}\n\n\tfunction log(string memory p0, bool p1, string memory p2, string memory p3) internal view {\n\t\t_sendLogPayload(abi.encodeWithSignature(\"log(string,bool,string,string)\", p0, p1, p2, p3));\n\t}\n\n\tfunction log(string memory p0, bool p1, string memory p2, bool p3) internal view {\n\t\t_sendLogPayload(abi.encodeWithSignature(\"log(string,bool,string,bool)\", p0, p1, p2, p3));\n\t}\n\n\tfunction log(string memory p0, bool p1, string memory p2, address p3) internal view {\n\t\t_sendLogPayload(abi.encodeWithSignature(\"log(string,bool,string,address)\", p0, p1, p2, p3));\n\t}\n\n\tfunction log(string memory p0, bool p1, bool p2, uint p3) internal view {\n\t\t_sendLogPayload(abi.encodeWithSignature(\"log(string,bool,bool,uint)\", p0, p1, p2, p3));\n\t}\n\n\tfunction log(string memory p0, bool p1, bool p2, string memory p3) internal view {\n\t\t_sendLogPayload(abi.encodeWithSignature(\"log(string,bool,bool,string)\", p0, p1, p2, p3));\n\t}\n\n\tfunction log(string memory p0, bool p1, bool p2, bool p3) internal view {\n\t\t_sendLogPayload(abi.encodeWithSignature(\"log(string,bool,bool,bool)\", p0, p1, p2, p3));\n\t}\n\n\tfunction log(string memory p0, bool p1, bool p2, address p3) internal view {\n\t\t_sendLogPayload(abi.encodeWithSignature(\"log(string,bool,bool,address)\", p0, p1, p2, p3));\n\t}\n\n\tfunction log(string memory p0, bool p1, address p2, uint p3) internal view {\n\t\t_sendLogPayload(abi.encodeWithSignature(\"log(string,bool,address,uint)\", p0, p1, p2, p3));\n\t}\n\n\tfunction log(string memory p0, bool p1, address p2, string memory p3) internal view {\n\t\t_sendLogPayload(abi.encodeWithSignature(\"log(string,bool,address,string)\", p0, p1, p2, p3));\n\t}\n\n\tfunction log(string memory p0, bool p1, address p2, bool p3) internal view {\n\t\t_sendLogPayload(abi.encodeWithSignature(\"log(string,bool,address,bool)\", p0, p1, p2, p3));\n\t}\n\n\tfunction log(string memory p0, bool p1, address p2, address p3) internal view {\n\t\t_sendLogPayload(abi.encodeWithSignature(\"log(string,bool,address,address)\", p0, p1, p2, p3));\n\t}\n\n\tfunction log(string memory p0, address p1, uint p2, uint p3) internal view {\n\t\t_sendLogPayload(abi.encodeWithSignature(\"log(string,address,uint,uint)\", p0, p1, p2, p3));\n\t}\n\n\tfunction log(string memory p0, address p1, uint p2, string memory p3) internal view {\n\t\t_sendLogPayload(abi.encodeWithSignature(\"log(string,address,uint,string)\", p0, p1, p2, p3));\n\t}\n\n\tfunction log(string memory p0, address p1, uint p2, bool p3) internal view {\n\t\t_sendLogPayload(abi.encodeWithSignature(\"log(string,address,uint,bool)\", p0, p1, p2, p3));\n\t}\n\n\tfunction log(string memory p0, address p1, uint p2, address p3) internal view {\n\t\t_sendLogPayload(abi.encodeWithSignature(\"log(string,address,uint,address)\", p0, p1, p2, p3));\n\t}\n\n\tfunction log(string memory p0, address p1, string memory p2, uint p3) internal view {\n\t\t_sendLogPayload(abi.encodeWithSignature(\"log(string,address,string,uint)\", p0, p1, p2, p3));\n\t}\n\n\tfunction log(string memory p0, address p1, string memory p2, string memory p3) internal view {\n\t\t_sendLogPayload(abi.encodeWithSignature(\"log(string,address,string,string)\", p0, p1, p2, p3));\n\t}\n\n\tfunction log(string memory p0, address p1, string memory p2, bool p3) internal view {\n\t\t_sendLogPayload(abi.encodeWithSignature(\"log(string,address,string,bool)\", p0, p1, p2, p3));\n\t}\n\n\tfunction log(string memory p0, address p1, string memory p2, address p3) internal view {\n\t\t_sendLogPayload(abi.encodeWithSignature(\"log(string,address,string,address)\", p0, p1, p2, p3));\n\t}\n\n\tfunction log(string memory p0, address p1, bool p2, uint p3) internal view {\n\t\t_sendLogPayload(abi.encodeWithSignature(\"log(string,address,bool,uint)\", p0, p1, p2, p3));\n\t}\n\n\tfunction log(string memory p0, address p1, bool p2, string memory p3) internal view {\n\t\t_sendLogPayload(abi.encodeWithSignature(\"log(string,address,bool,string)\", p0, p1, p2, p3));\n\t}\n\n\tfunction log(string memory p0, address p1, bool p2, bool p3) internal view {\n\t\t_sendLogPayload(abi.encodeWithSignature(\"log(string,address,bool,bool)\", p0, p1, p2, p3));\n\t}\n\n\tfunction log(string memory p0, address p1, bool p2, address p3) internal view {\n\t\t_sendLogPayload(abi.encodeWithSignature(\"log(string,address,bool,address)\", p0, p1, p2, p3));\n\t}\n\n\tfunction log(string memory p0, address p1, address p2, uint p3) internal view {\n\t\t_sendLogPayload(abi.encodeWithSignature(\"log(string,address,address,uint)\", p0, p1, p2, p3));\n\t}\n\n\tfunction log(string memory p0, address p1, address p2, string memory p3) internal view {\n\t\t_sendLogPayload(abi.encodeWithSignature(\"log(string,address,address,string)\", p0, p1, p2, p3));\n\t}\n\n\tfunction log(string memory p0, address p1, address p2, bool p3) internal view {\n\t\t_sendLogPayload(abi.encodeWithSignature(\"log(string,address,address,bool)\", p0, p1, p2, p3));\n\t}\n\n\tfunction log(string memory p0, address p1, address p2, address p3) internal view {\n\t\t_sendLogPayload(abi.encodeWithSignature(\"log(string,address,address,address)\", p0, p1, p2, p3));\n\t}\n\n\tfunction log(bool p0, uint p1, uint p2, uint p3) internal view {\n\t\t_sendLogPayload(abi.encodeWithSignature(\"log(bool,uint,uint,uint)\", p0, p1, p2, p3));\n\t}\n\n\tfunction log(bool p0, uint p1, uint p2, string memory p3) internal view {\n\t\t_sendLogPayload(abi.encodeWithSignature(\"log(bool,uint,uint,string)\", p0, p1, p2, p3));\n\t}\n\n\tfunction log(bool p0, uint p1, uint p2, bool p3) internal view {\n\t\t_sendLogPayload(abi.encodeWithSignature(\"log(bool,uint,uint,bool)\", p0, p1, p2, p3));\n\t}\n\n\tfunction log(bool p0, uint p1, uint p2, address p3) internal view {\n\t\t_sendLogPayload(abi.encodeWithSignature(\"log(bool,uint,uint,address)\", p0, p1, p2, p3));\n\t}\n\n\tfunction log(bool p0, uint p1, string memory p2, uint p3) internal view {\n\t\t_sendLogPayload(abi.encodeWithSignature(\"log(bool,uint,string,uint)\", p0, p1, p2, p3));\n\t}\n\n\tfunction log(bool p0, uint p1, string memory p2, string memory p3) internal view {\n\t\t_sendLogPayload(abi.encodeWithSignature(\"log(bool,uint,string,string)\", p0, p1, p2, p3));\n\t}\n\n\tfunction log(bool p0, uint p1, string memory p2, bool p3) internal view {\n\t\t_sendLogPayload(abi.encodeWithSignature(\"log(bool,uint,string,bool)\", p0, p1, p2, p3));\n\t}\n\n\tfunction log(bool p0, uint p1, string memory p2, address p3) internal view {\n\t\t_sendLogPayload(abi.encodeWithSignature(\"log(bool,uint,string,address)\", p0, p1, p2, p3));\n\t}\n\n\tfunction log(bool p0, uint p1, bool p2, uint p3) internal view {\n\t\t_sendLogPayload(abi.encodeWithSignature(\"log(bool,uint,bool,uint)\", p0, p1, p2, p3));\n\t}\n\n\tfunction log(bool p0, uint p1, bool p2, string memory p3) internal view {\n\t\t_sendLogPayload(abi.encodeWithSignature(\"log(bool,uint,bool,string)\", p0, p1, p2, p3));\n\t}\n\n\tfunction log(bool p0, uint p1, bool p2, bool p3) internal view {\n\t\t_sendLogPayload(abi.encodeWithSignature(\"log(bool,uint,bool,bool)\", p0, p1, p2, p3));\n\t}\n\n\tfunction log(bool p0, uint p1, bool p2, address p3) internal view {\n\t\t_sendLogPayload(abi.encodeWithSignature(\"log(bool,uint,bool,address)\", p0, p1, p2, p3));\n\t}\n\n\tfunction log(bool p0, uint p1, address p2, uint p3) internal view {\n\t\t_sendLogPayload(abi.encodeWithSignature(\"log(bool,uint,address,uint)\", p0, p1, p2, p3));\n\t}\n\n\tfunction log(bool p0, uint p1, address p2, string memory p3) internal view {\n\t\t_sendLogPayload(abi.encodeWithSignature(\"log(bool,uint,address,string)\", p0, p1, p2, p3));\n\t}\n\n\tfunction log(bool p0, uint p1, address p2, bool p3) internal view {\n\t\t_sendLogPayload(abi.encodeWithSignature(\"log(bool,uint,address,bool)\", p0, p1, p2, p3));\n\t}\n\n\tfunction log(bool p0, uint p1, address p2, address p3) internal view {\n\t\t_sendLogPayload(abi.encodeWithSignature(\"log(bool,uint,address,address)\", p0, p1, p2, p3));\n\t}\n\n\tfunction log(bool p0, string memory p1, uint p2, uint p3) internal view {\n\t\t_sendLogPayload(abi.encodeWithSignature(\"log(bool,string,uint,uint)\", p0, p1, p2, p3));\n\t}\n\n\tfunction log(bool p0, string memory p1, uint p2, string memory p3) internal view {\n\t\t_sendLogPayload(abi.encodeWithSignature(\"log(bool,string,uint,string)\", p0, p1, p2, p3));\n\t}\n\n\tfunction log(bool p0, string memory p1, uint p2, bool p3) internal view {\n\t\t_sendLogPayload(abi.encodeWithSignature(\"log(bool,string,uint,bool)\", p0, p1, p2, p3));\n\t}\n\n\tfunction log(bool p0, string memory p1, uint p2, address p3) internal view {\n\t\t_sendLogPayload(abi.encodeWithSignature(\"log(bool,string,uint,address)\", p0, p1, p2, p3));\n\t}\n\n\tfunction log(bool p0, string memory p1, string memory p2, uint p3) internal view {\n\t\t_sendLogPayload(abi.encodeWithSignature(\"log(bool,string,string,uint)\", p0, p1, p2, p3));\n\t}\n\n\tfunction log(bool p0, string memory p1, string memory p2, string memory p3) internal view {\n\t\t_sendLogPayload(abi.encodeWithSignature(\"log(bool,string,string,string)\", p0, p1, p2, p3));\n\t}\n\n\tfunction log(bool p0, string memory p1, string memory p2, bool p3) internal view {\n\t\t_sendLogPayload(abi.encodeWithSignature(\"log(bool,string,string,bool)\", p0, p1, p2, p3));\n\t}\n\n\tfunction log(bool p0, string memory p1, string memory p2, address p3) internal view {\n\t\t_sendLogPayload(abi.encodeWithSignature(\"log(bool,string,string,address)\", p0, p1, p2, p3));\n\t}\n\n\tfunction log(bool p0, string memory p1, bool p2, uint p3) internal view {\n\t\t_sendLogPayload(abi.encodeWithSignature(\"log(bool,string,bool,uint)\", p0, p1, p2, p3));\n\t}\n\n\tfunction log(bool p0, string memory p1, bool p2, string memory p3) internal view {\n\t\t_sendLogPayload(abi.encodeWithSignature(\"log(bool,string,bool,string)\", p0, p1, p2, p3));\n\t}\n\n\tfunction log(bool p0, string memory p1, bool p2, bool p3) internal view {\n\t\t_sendLogPayload(abi.encodeWithSignature(\"log(bool,string,bool,bool)\", p0, p1, p2, p3));\n\t}\n\n\tfunction log(bool p0, string memory p1, bool p2, address p3) internal view {\n\t\t_sendLogPayload(abi.encodeWithSignature(\"log(bool,string,bool,address)\", p0, p1, p2, p3));\n\t}\n\n\tfunction log(bool p0, string memory p1, address p2, uint p3) internal view {\n\t\t_sendLogPayload(abi.encodeWithSignature(\"log(bool,string,address,uint)\", p0, p1, p2, p3));\n\t}\n\n\tfunction log(bool p0, string memory p1, address p2, string memory p3) internal view {\n\t\t_sendLogPayload(abi.encodeWithSignature(\"log(bool,string,address,string)\", p0, p1, p2, p3));\n\t}\n\n\tfunction log(bool p0, string memory p1, address p2, bool p3) internal view {\n\t\t_sendLogPayload(abi.encodeWithSignature(\"log(bool,string,address,bool)\", p0, p1, p2, p3));\n\t}\n\n\tfunction log(bool p0, string memory p1, address p2, address p3) internal view {\n\t\t_sendLogPayload(abi.encodeWithSignature(\"log(bool,string,address,address)\", p0, p1, p2, p3));\n\t}\n\n\tfunction log(bool p0, bool p1, uint p2, uint p3) internal view {\n\t\t_sendLogPayload(abi.encodeWithSignature(\"log(bool,bool,uint,uint)\", p0, p1, p2, p3));\n\t}\n\n\tfunction log(bool p0, bool p1, uint p2, string memory p3) internal view {\n\t\t_sendLogPayload(abi.encodeWithSignature(\"log(bool,bool,uint,string)\", p0, p1, p2, p3));\n\t}\n\n\tfunction log(bool p0, bool p1, uint p2, bool p3) internal view {\n\t\t_sendLogPayload(abi.encodeWithSignature(\"log(bool,bool,uint,bool)\", p0, p1, p2, p3));\n\t}\n\n\tfunction log(bool p0, bool p1, uint p2, address p3) internal view {\n\t\t_sendLogPayload(abi.encodeWithSignature(\"log(bool,bool,uint,address)\", p0, p1, p2, p3));\n\t}\n\n\tfunction log(bool p0, bool p1, string memory p2, uint p3) internal view {\n\t\t_sendLogPayload(abi.encodeWithSignature(\"log(bool,bool,string,uint)\", p0, p1, p2, p3));\n\t}\n\n\tfunction log(bool p0, bool p1, string memory p2, string memory p3) internal view {\n\t\t_sendLogPayload(abi.encodeWithSignature(\"log(bool,bool,string,string)\", p0, p1, p2, p3));\n\t}\n\n\tfunction log(bool p0, bool p1, string memory p2, bool p3) internal view {\n\t\t_sendLogPayload(abi.encodeWithSignature(\"log(bool,bool,string,bool)\", p0, p1, p2, p3));\n\t}\n\n\tfunction log(bool p0, bool p1, string memory p2, address p3) internal view {\n\t\t_sendLogPayload(abi.encodeWithSignature(\"log(bool,bool,string,address)\", p0, p1, p2, p3));\n\t}\n\n\tfunction log(bool p0, bool p1, bool p2, uint p3) internal view {\n\t\t_sendLogPayload(abi.encodeWithSignature(\"log(bool,bool,bool,uint)\", p0, p1, p2, p3));\n\t}\n\n\tfunction log(bool p0, bool p1, bool p2, string memory p3) internal view {\n\t\t_sendLogPayload(abi.encodeWithSignature(\"log(bool,bool,bool,string)\", p0, p1, p2, p3));\n\t}\n\n\tfunction log(bool p0, bool p1, bool p2, bool p3) internal view {\n\t\t_sendLogPayload(abi.encodeWithSignature(\"log(bool,bool,bool,bool)\", p0, p1, p2, p3));\n\t}\n\n\tfunction log(bool p0, bool p1, bool p2, address p3) internal view {\n\t\t_sendLogPayload(abi.encodeWithSignature(\"log(bool,bool,bool,address)\", p0, p1, p2, p3));\n\t}\n\n\tfunction log(bool p0, bool p1, address p2, uint p3) internal view {\n\t\t_sendLogPayload(abi.encodeWithSignature(\"log(bool,bool,address,uint)\", p0, p1, p2, p3));\n\t}\n\n\tfunction log(bool p0, bool p1, address p2, string memory p3) internal view {\n\t\t_sendLogPayload(abi.encodeWithSignature(\"log(bool,bool,address,string)\", p0, p1, p2, p3));\n\t}\n\n\tfunction log(bool p0, bool p1, address p2, bool p3) internal view {\n\t\t_sendLogPayload(abi.encodeWithSignature(\"log(bool,bool,address,bool)\", p0, p1, p2, p3));\n\t}\n\n\tfunction log(bool p0, bool p1, address p2, address p3) internal view {\n\t\t_sendLogPayload(abi.encodeWithSignature(\"log(bool,bool,address,address)\", p0, p1, p2, p3));\n\t}\n\n\tfunction log(bool p0, address p1, uint p2, uint p3) internal view {\n\t\t_sendLogPayload(abi.encodeWithSignature(\"log(bool,address,uint,uint)\", p0, p1, p2, p3));\n\t}\n\n\tfunction log(bool p0, address p1, uint p2, string memory p3) internal view {\n\t\t_sendLogPayload(abi.encodeWithSignature(\"log(bool,address,uint,string)\", p0, p1, p2, p3));\n\t}\n\n\tfunction log(bool p0, address p1, uint p2, bool p3) internal view {\n\t\t_sendLogPayload(abi.encodeWithSignature(\"log(bool,address,uint,bool)\", p0, p1, p2, p3));\n\t}\n\n\tfunction log(bool p0, address p1, uint p2, address p3) internal view {\n\t\t_sendLogPayload(abi.encodeWithSignature(\"log(bool,address,uint,address)\", p0, p1, p2, p3));\n\t}\n\n\tfunction log(bool p0, address p1, string memory p2, uint p3) internal view {\n\t\t_sendLogPayload(abi.encodeWithSignature(\"log(bool,address,string,uint)\", p0, p1, p2, p3));\n\t}\n\n\tfunction log(bool p0, address p1, string memory p2, string memory p3) internal view {\n\t\t_sendLogPayload(abi.encodeWithSignature(\"log(bool,address,string,string)\", p0, p1, p2, p3));\n\t}\n\n\tfunction log(bool p0, address p1, string memory p2, bool p3) internal view {\n\t\t_sendLogPayload(abi.encodeWithSignature(\"log(bool,address,string,bool)\", p0, p1, p2, p3));\n\t}\n\n\tfunction log(bool p0, address p1, string memory p2, address p3) internal view {\n\t\t_sendLogPayload(abi.encodeWithSignature(\"log(bool,address,string,address)\", p0, p1, p2, p3));\n\t}\n\n\tfunction log(bool p0, address p1, bool p2, uint p3) internal view {\n\t\t_sendLogPayload(abi.encodeWithSignature(\"log(bool,address,bool,uint)\", p0, p1, p2, p3));\n\t}\n\n\tfunction log(bool p0, address p1, bool p2, string memory p3) internal view {\n\t\t_sendLogPayload(abi.encodeWithSignature(\"log(bool,address,bool,string)\", p0, p1, p2, p3));\n\t}\n\n\tfunction log(bool p0, address p1, bool p2, bool p3) internal view {\n\t\t_sendLogPayload(abi.encodeWithSignature(\"log(bool,address,bool,bool)\", p0, p1, p2, p3));\n\t}\n\n\tfunction log(bool p0, address p1, bool p2, address p3) internal view {\n\t\t_sendLogPayload(abi.encodeWithSignature(\"log(bool,address,bool,address)\", p0, p1, p2, p3));\n\t}\n\n\tfunction log(bool p0, address p1, address p2, uint p3) internal view {\n\t\t_sendLogPayload(abi.encodeWithSignature(\"log(bool,address,address,uint)\", p0, p1, p2, p3));\n\t}\n\n\tfunction log(bool p0, address p1, address p2, string memory p3) internal view {\n\t\t_sendLogPayload(abi.encodeWithSignature(\"log(bool,address,address,string)\", p0, p1, p2, p3));\n\t}\n\n\tfunction log(bool p0, address p1, address p2, bool p3) internal view {\n\t\t_sendLogPayload(abi.encodeWithSignature(\"log(bool,address,address,bool)\", p0, p1, p2, p3));\n\t}\n\n\tfunction log(bool p0, address p1, address p2, address p3) internal view {\n\t\t_sendLogPayload(abi.encodeWithSignature(\"log(bool,address,address,address)\", p0, p1, p2, p3));\n\t}\n\n\tfunction log(address p0, uint p1, uint p2, uint p3) internal view {\n\t\t_sendLogPayload(abi.encodeWithSignature(\"log(address,uint,uint,uint)\", p0, p1, p2, p3));\n\t}\n\n\tfunction log(address p0, uint p1, uint p2, string memory p3) internal view {\n\t\t_sendLogPayload(abi.encodeWithSignature(\"log(address,uint,uint,string)\", p0, p1, p2, p3));\n\t}\n\n\tfunction log(address p0, uint p1, uint p2, bool p3) internal view {\n\t\t_sendLogPayload(abi.encodeWithSignature(\"log(address,uint,uint,bool)\", p0, p1, p2, p3));\n\t}\n\n\tfunction log(address p0, uint p1, uint p2, address p3) internal view {\n\t\t_sendLogPayload(abi.encodeWithSignature(\"log(address,uint,uint,address)\", p0, p1, p2, p3));\n\t}\n\n\tfunction log(address p0, uint p1, string memory p2, uint p3) internal view {\n\t\t_sendLogPayload(abi.encodeWithSignature(\"log(address,uint,string,uint)\", p0, p1, p2, p3));\n\t}\n\n\tfunction log(address p0, uint p1, string memory p2, string memory p3) internal view {\n\t\t_sendLogPayload(abi.encodeWithSignature(\"log(address,uint,string,string)\", p0, p1, p2, p3));\n\t}\n\n\tfunction log(address p0, uint p1, string memory p2, bool p3) internal view {\n\t\t_sendLogPayload(abi.encodeWithSignature(\"log(address,uint,string,bool)\", p0, p1, p2, p3));\n\t}\n\n\tfunction log(address p0, uint p1, string memory p2, address p3) internal view {\n\t\t_sendLogPayload(abi.encodeWithSignature(\"log(address,uint,string,address)\", p0, p1, p2, p3));\n\t}\n\n\tfunction log(address p0, uint p1, bool p2, uint p3) internal view {\n\t\t_sendLogPayload(abi.encodeWithSignature(\"log(address,uint,bool,uint)\", p0, p1, p2, p3));\n\t}\n\n\tfunction log(address p0, uint p1, bool p2, string memory p3) internal view {\n\t\t_sendLogPayload(abi.encodeWithSignature(\"log(address,uint,bool,string)\", p0, p1, p2, p3));\n\t}\n\n\tfunction log(address p0, uint p1, bool p2, bool p3) internal view {\n\t\t_sendLogPayload(abi.encodeWithSignature(\"log(address,uint,bool,bool)\", p0, p1, p2, p3));\n\t}\n\n\tfunction log(address p0, uint p1, bool p2, address p3) internal view {\n\t\t_sendLogPayload(abi.encodeWithSignature(\"log(address,uint,bool,address)\", p0, p1, p2, p3));\n\t}\n\n\tfunction log(address p0, uint p1, address p2, uint p3) internal view {\n\t\t_sendLogPayload(abi.encodeWithSignature(\"log(address,uint,address,uint)\", p0, p1, p2, p3));\n\t}\n\n\tfunction log(address p0, uint p1, address p2, string memory p3) internal view {\n\t\t_sendLogPayload(abi.encodeWithSignature(\"log(address,uint,address,string)\", p0, p1, p2, p3));\n\t}\n\n\tfunction log(address p0, uint p1, address p2, bool p3) internal view {\n\t\t_sendLogPayload(abi.encodeWithSignature(\"log(address,uint,address,bool)\", p0, p1, p2, p3));\n\t}\n\n\tfunction log(address p0, uint p1, address p2, address p3) internal view {\n\t\t_sendLogPayload(abi.encodeWithSignature(\"log(address,uint,address,address)\", p0, p1, p2, p3));\n\t}\n\n\tfunction log(address p0, string memory p1, uint p2, uint p3) internal view {\n\t\t_sendLogPayload(abi.encodeWithSignature(\"log(address,string,uint,uint)\", p0, p1, p2, p3));\n\t}\n\n\tfunction log(address p0, string memory p1, uint p2, string memory p3) internal view {\n\t\t_sendLogPayload(abi.encodeWithSignature(\"log(address,string,uint,string)\", p0, p1, p2, p3));\n\t}\n\n\tfunction log(address p0, string memory p1, uint p2, bool p3) internal view {\n\t\t_sendLogPayload(abi.encodeWithSignature(\"log(address,string,uint,bool)\", p0, p1, p2, p3));\n\t}\n\n\tfunction log(address p0, string memory p1, uint p2, address p3) internal view {\n\t\t_sendLogPayload(abi.encodeWithSignature(\"log(address,string,uint,address)\", p0, p1, p2, p3));\n\t}\n\n\tfunction log(address p0, string memory p1, string memory p2, uint p3) internal view {\n\t\t_sendLogPayload(abi.encodeWithSignature(\"log(address,string,string,uint)\", p0, p1, p2, p3));\n\t}\n\n\tfunction log(address p0, string memory p1, string memory p2, string memory p3) internal view {\n\t\t_sendLogPayload(abi.encodeWithSignature(\"log(address,string,string,string)\", p0, p1, p2, p3));\n\t}\n\n\tfunction log(address p0, string memory p1, string memory p2, bool p3) internal view {\n\t\t_sendLogPayload(abi.encodeWithSignature(\"log(address,string,string,bool)\", p0, p1, p2, p3));\n\t}\n\n\tfunction log(address p0, string memory p1, string memory p2, address p3) internal view {\n\t\t_sendLogPayload(abi.encodeWithSignature(\"log(address,string,string,address)\", p0, p1, p2, p3));\n\t}\n\n\tfunction log(address p0, string memory p1, bool p2, uint p3) internal view {\n\t\t_sendLogPayload(abi.encodeWithSignature(\"log(address,string,bool,uint)\", p0, p1, p2, p3));\n\t}\n\n\tfunction log(address p0, string memory p1, bool p2, string memory p3) internal view {\n\t\t_sendLogPayload(abi.encodeWithSignature(\"log(address,string,bool,string)\", p0, p1, p2, p3));\n\t}\n\n\tfunction log(address p0, string memory p1, bool p2, bool p3) internal view {\n\t\t_sendLogPayload(abi.encodeWithSignature(\"log(address,string,bool,bool)\", p0, p1, p2, p3));\n\t}\n\n\tfunction log(address p0, string memory p1, bool p2, address p3) internal view {\n\t\t_sendLogPayload(abi.encodeWithSignature(\"log(address,string,bool,address)\", p0, p1, p2, p3));\n\t}\n\n\tfunction log(address p0, string memory p1, address p2, uint p3) internal view {\n\t\t_sendLogPayload(abi.encodeWithSignature(\"log(address,string,address,uint)\", p0, p1, p2, p3));\n\t}\n\n\tfunction log(address p0, string memory p1, address p2, string memory p3) internal view {\n\t\t_sendLogPayload(abi.encodeWithSignature(\"log(address,string,address,string)\", p0, p1, p2, p3));\n\t}\n\n\tfunction log(address p0, string memory p1, address p2, bool p3) internal view {\n\t\t_sendLogPayload(abi.encodeWithSignature(\"log(address,string,address,bool)\", p0, p1, p2, p3));\n\t}\n\n\tfunction log(address p0, string memory p1, address p2, address p3) internal view {\n\t\t_sendLogPayload(abi.encodeWithSignature(\"log(address,string,address,address)\", p0, p1, p2, p3));\n\t}\n\n\tfunction log(address p0, bool p1, uint p2, uint p3) internal view {\n\t\t_sendLogPayload(abi.encodeWithSignature(\"log(address,bool,uint,uint)\", p0, p1, p2, p3));\n\t}\n\n\tfunction log(address p0, bool p1, uint p2, string memory p3) internal view {\n\t\t_sendLogPayload(abi.encodeWithSignature(\"log(address,bool,uint,string)\", p0, p1, p2, p3));\n\t}\n\n\tfunction log(address p0, bool p1, uint p2, bool p3) internal view {\n\t\t_sendLogPayload(abi.encodeWithSignature(\"log(address,bool,uint,bool)\", p0, p1, p2, p3));\n\t}\n\n\tfunction log(address p0, bool p1, uint p2, address p3) internal view {\n\t\t_sendLogPayload(abi.encodeWithSignature(\"log(address,bool,uint,address)\", p0, p1, p2, p3));\n\t}\n\n\tfunction log(address p0, bool p1, string memory p2, uint p3) internal view {\n\t\t_sendLogPayload(abi.encodeWithSignature(\"log(address,bool,string,uint)\", p0, p1, p2, p3));\n\t}\n\n\tfunction log(address p0, bool p1, string memory p2, string memory p3) internal view {\n\t\t_sendLogPayload(abi.encodeWithSignature(\"log(address,bool,string,string)\", p0, p1, p2, p3));\n\t}\n\n\tfunction log(address p0, bool p1, string memory p2, bool p3) internal view {\n\t\t_sendLogPayload(abi.encodeWithSignature(\"log(address,bool,string,bool)\", p0, p1, p2, p3));\n\t}\n\n\tfunction log(address p0, bool p1, string memory p2, address p3) internal view {\n\t\t_sendLogPayload(abi.encodeWithSignature(\"log(address,bool,string,address)\", p0, p1, p2, p3));\n\t}\n\n\tfunction log(address p0, bool p1, bool p2, uint p3) internal view {\n\t\t_sendLogPayload(abi.encodeWithSignature(\"log(address,bool,bool,uint)\", p0, p1, p2, p3));\n\t}\n\n\tfunction log(address p0, bool p1, bool p2, string memory p3) internal view {\n\t\t_sendLogPayload(abi.encodeWithSignature(\"log(address,bool,bool,string)\", p0, p1, p2, p3));\n\t}\n\n\tfunction log(address p0, bool p1, bool p2, bool p3) internal view {\n\t\t_sendLogPayload(abi.encodeWithSignature(\"log(address,bool,bool,bool)\", p0, p1, p2, p3));\n\t}\n\n\tfunction log(address p0, bool p1, bool p2, address p3) internal view {\n\t\t_sendLogPayload(abi.encodeWithSignature(\"log(address,bool,bool,address)\", p0, p1, p2, p3));\n\t}\n\n\tfunction log(address p0, bool p1, address p2, uint p3) internal view {\n\t\t_sendLogPayload(abi.encodeWithSignature(\"log(address,bool,address,uint)\", p0, p1, p2, p3));\n\t}\n\n\tfunction log(address p0, bool p1, address p2, string memory p3) internal view {\n\t\t_sendLogPayload(abi.encodeWithSignature(\"log(address,bool,address,string)\", p0, p1, p2, p3));\n\t}\n\n\tfunction log(address p0, bool p1, address p2, bool p3) internal view {\n\t\t_sendLogPayload(abi.encodeWithSignature(\"log(address,bool,address,bool)\", p0, p1, p2, p3));\n\t}\n\n\tfunction log(address p0, bool p1, address p2, address p3) internal view {\n\t\t_sendLogPayload(abi.encodeWithSignature(\"log(address,bool,address,address)\", p0, p1, p2, p3));\n\t}\n\n\tfunction log(address p0, address p1, uint p2, uint p3) internal view {\n\t\t_sendLogPayload(abi.encodeWithSignature(\"log(address,address,uint,uint)\", p0, p1, p2, p3));\n\t}\n\n\tfunction log(address p0, address p1, uint p2, string memory p3) internal view {\n\t\t_sendLogPayload(abi.encodeWithSignature(\"log(address,address,uint,string)\", p0, p1, p2, p3));\n\t}\n\n\tfunction log(address p0, address p1, uint p2, bool p3) internal view {\n\t\t_sendLogPayload(abi.encodeWithSignature(\"log(address,address,uint,bool)\", p0, p1, p2, p3));\n\t}\n\n\tfunction log(address p0, address p1, uint p2, address p3) internal view {\n\t\t_sendLogPayload(abi.encodeWithSignature(\"log(address,address,uint,address)\", p0, p1, p2, p3));\n\t}\n\n\tfunction log(address p0, address p1, string memory p2, uint p3) internal view {\n\t\t_sendLogPayload(abi.encodeWithSignature(\"log(address,address,string,uint)\", p0, p1, p2, p3));\n\t}\n\n\tfunction log(address p0, address p1, string memory p2, string memory p3) internal view {\n\t\t_sendLogPayload(abi.encodeWithSignature(\"log(address,address,string,string)\", p0, p1, p2, p3));\n\t}\n\n\tfunction log(address p0, address p1, string memory p2, bool p3) internal view {\n\t\t_sendLogPayload(abi.encodeWithSignature(\"log(address,address,string,bool)\", p0, p1, p2, p3));\n\t}\n\n\tfunction log(address p0, address p1, string memory p2, address p3) internal view {\n\t\t_sendLogPayload(abi.encodeWithSignature(\"log(address,address,string,address)\", p0, p1, p2, p3));\n\t}\n\n\tfunction log(address p0, address p1, bool p2, uint p3) internal view {\n\t\t_sendLogPayload(abi.encodeWithSignature(\"log(address,address,bool,uint)\", p0, p1, p2, p3));\n\t}\n\n\tfunction log(address p0, address p1, bool p2, string memory p3) internal view {\n\t\t_sendLogPayload(abi.encodeWithSignature(\"log(address,address,bool,string)\", p0, p1, p2, p3));\n\t}\n\n\tfunction log(address p0, address p1, bool p2, bool p3) internal view {\n\t\t_sendLogPayload(abi.encodeWithSignature(\"log(address,address,bool,bool)\", p0, p1, p2, p3));\n\t}\n\n\tfunction log(address p0, address p1, bool p2, address p3) internal view {\n\t\t_sendLogPayload(abi.encodeWithSignature(\"log(address,address,bool,address)\", p0, p1, p2, p3));\n\t}\n\n\tfunction log(address p0, address p1, address p2, uint p3) internal view {\n\t\t_sendLogPayload(abi.encodeWithSignature(\"log(address,address,address,uint)\", p0, p1, p2, p3));\n\t}\n\n\tfunction log(address p0, address p1, address p2, string memory p3) internal view {\n\t\t_sendLogPayload(abi.encodeWithSignature(\"log(address,address,address,string)\", p0, p1, p2, p3));\n\t}\n\n\tfunction log(address p0, address p1, address p2, bool p3) internal view {\n\t\t_sendLogPayload(abi.encodeWithSignature(\"log(address,address,address,bool)\", p0, p1, p2, p3));\n\t}\n\n\tfunction log(address p0, address p1, address p2, address p3) internal view {\n\t\t_sendLogPayload(abi.encodeWithSignature(\"log(address,address,address,address)\", p0, p1, p2, p3));\n\t}\n\n}\n",
    "sourcePath": "hardhat/console.sol",
    "ast": {
        "absolutePath": "hardhat/console.sol",
        "exportedSymbols": {
            "console": [
                20920
            ]
        },
        "id": 20921,
        "license": "MIT",
        "nodeType": "SourceUnit",
        "nodes": [
            {
                "id": 12858,
                "literals": [
                    "solidity",
                    ">=",
                    "0.4",
                    ".22",
                    "<",
                    "0.9",
                    ".0"
                ],
                "nodeType": "PragmaDirective",
                "src": "32:33:62"
            },
            {
                "abstract": false,
                "baseContracts": [],
                "contractDependencies": [],
                "contractKind": "library",
                "fullyImplemented": true,
                "id": 20920,
                "linearizedBaseContracts": [
                    20920
                ],
                "name": "console",
                "nameLocation": "75:7:62",
                "nodeType": "ContractDefinition",
                "nodes": [
                    {
                        "constant": true,
                        "id": 12864,
                        "mutability": "constant",
                        "name": "CONSOLE_ADDRESS",
                        "nameLocation": "103:15:62",
                        "nodeType": "VariableDeclaration",
                        "scope": 20920,
                        "src": "86:86:62",
                        "stateVariable": true,
                        "storageLocation": "default",
                        "typeDescriptions": {
                            "typeIdentifier": "t_address",
                            "typeString": "address"
                        },
                        "typeName": {
                            "id": 12859,
                            "name": "address",
                            "nodeType": "ElementaryTypeName",
                            "src": "86:7:62",
                            "stateMutability": "nonpayable",
                            "typeDescriptions": {
                                "typeIdentifier": "t_address",
                                "typeString": "address"
                            }
                        },
                        "value": {
                            "arguments": [
                                {
                                    "hexValue": "307830303030303030303030303030303030303036333646366537333646366336353265366336663637",
                                    "id": 12862,
                                    "isConstant": false,
                                    "isLValue": false,
                                    "isPure": true,
                                    "kind": "number",
                                    "lValueRequested": false,
                                    "nodeType": "Literal",
                                    "src": "129:42:62",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_address",
                                        "typeString": "address"
                                    },
                                    "value": "0x000000000000000000636F6e736F6c652e6c6f67"
                                }
                            ],
                            "expression": {
                                "argumentTypes": [
                                    {
                                        "typeIdentifier": "t_address",
                                        "typeString": "address"
                                    }
                                ],
                                "id": 12861,
                                "isConstant": false,
                                "isLValue": false,
                                "isPure": true,
                                "lValueRequested": false,
                                "nodeType": "ElementaryTypeNameExpression",
                                "src": "121:7:62",
                                "typeDescriptions": {
                                    "typeIdentifier": "t_type$_t_address_$",
                                    "typeString": "type(address)"
                                },
                                "typeName": {
                                    "id": 12860,
                                    "name": "address",
                                    "nodeType": "ElementaryTypeName",
                                    "src": "121:7:62",
                                    "typeDescriptions": {}
                                }
                            },
                            "id": 12863,
                            "isConstant": false,
                            "isLValue": false,
                            "isPure": true,
                            "kind": "typeConversion",
                            "lValueRequested": false,
                            "names": [],
                            "nodeType": "FunctionCall",
                            "src": "121:51:62",
                            "tryCall": false,
                            "typeDescriptions": {
                                "typeIdentifier": "t_address",
                                "typeString": "address"
                            }
                        },
                        "visibility": "internal"
                    },
                    {
                        "body": {
                            "id": 12879,
                            "nodeType": "Block",
                            "src": "236:228:62",
                            "statements": [
                                {
                                    "assignments": [
                                        12870
                                    ],
                                    "declarations": [
                                        {
                                            "constant": false,
                                            "id": 12870,
                                            "mutability": "mutable",
                                            "name": "payloadLength",
                                            "nameLocation": "248:13:62",
                                            "nodeType": "VariableDeclaration",
                                            "scope": 12879,
                                            "src": "240:21:62",
                                            "stateVariable": false,
                                            "storageLocation": "default",
                                            "typeDescriptions": {
                                                "typeIdentifier": "t_uint256",
                                                "typeString": "uint256"
                                            },
                                            "typeName": {
                                                "id": 12869,
                                                "name": "uint256",
                                                "nodeType": "ElementaryTypeName",
                                                "src": "240:7:62",
                                                "typeDescriptions": {
                                                    "typeIdentifier": "t_uint256",
                                                    "typeString": "uint256"
                                                }
                                            },
                                            "visibility": "internal"
                                        }
                                    ],
                                    "id": 12873,
                                    "initialValue": {
                                        "expression": {
                                            "id": 12871,
                                            "name": "payload",
                                            "nodeType": "Identifier",
                                            "overloadedDeclarations": [],
                                            "referencedDeclaration": 12866,
                                            "src": "264:7:62",
                                            "typeDescriptions": {
                                                "typeIdentifier": "t_bytes_memory_ptr",
                                                "typeString": "bytes memory"
                                            }
                                        },
                                        "id": 12872,
                                        "isConstant": false,
                                        "isLValue": false,
                                        "isPure": false,
                                        "lValueRequested": false,
                                        "memberName": "length",
                                        "nodeType": "MemberAccess",
                                        "src": "264:14:62",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_uint256",
                                            "typeString": "uint256"
                                        }
                                    },
                                    "nodeType": "VariableDeclarationStatement",
                                    "src": "240:38:62"
                                },
                                {
                                    "assignments": [
                                        12875
                                    ],
                                    "declarations": [
                                        {
                                            "constant": false,
                                            "id": 12875,
                                            "mutability": "mutable",
                                            "name": "consoleAddress",
                                            "nameLocation": "290:14:62",
                                            "nodeType": "VariableDeclaration",
                                            "scope": 12879,
                                            "src": "282:22:62",
                                            "stateVariable": false,
                                            "storageLocation": "default",
                                            "typeDescriptions": {
                                                "typeIdentifier": "t_address",
                                                "typeString": "address"
                                            },
                                            "typeName": {
                                                "id": 12874,
                                                "name": "address",
                                                "nodeType": "ElementaryTypeName",
                                                "src": "282:7:62",
                                                "stateMutability": "nonpayable",
                                                "typeDescriptions": {
                                                    "typeIdentifier": "t_address",
                                                    "typeString": "address"
                                                }
                                            },
                                            "visibility": "internal"
                                        }
                                    ],
                                    "id": 12877,
                                    "initialValue": {
                                        "id": 12876,
                                        "name": "CONSOLE_ADDRESS",
                                        "nodeType": "Identifier",
                                        "overloadedDeclarations": [],
                                        "referencedDeclaration": 12864,
                                        "src": "307:15:62",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_address",
                                            "typeString": "address"
                                        }
                                    },
                                    "nodeType": "VariableDeclarationStatement",
                                    "src": "282:40:62"
                                },
                                {
                                    "AST": {
                                        "nodeType": "YulBlock",
                                        "src": "335:126:62",
                                        "statements": [
                                            {
                                                "nodeType": "YulVariableDeclaration",
                                                "src": "340:36:62",
                                                "value": {
                                                    "arguments": [
                                                        {
                                                            "name": "payload",
                                                            "nodeType": "YulIdentifier",
                                                            "src": "364:7:62"
                                                        },
                                                        {
                                                            "kind": "number",
                                                            "nodeType": "YulLiteral",
                                                            "src": "373:2:62",
                                                            "type": "",
                                                            "value": "32"
                                                        }
                                                    ],
                                                    "functionName": {
                                                        "name": "add",
                                                        "nodeType": "YulIdentifier",
                                                        "src": "360:3:62"
                                                    },
                                                    "nodeType": "YulFunctionCall",
                                                    "src": "360:16:62"
                                                },
                                                "variables": [
                                                    {
                                                        "name": "payloadStart",
                                                        "nodeType": "YulTypedName",
                                                        "src": "344:12:62",
                                                        "type": ""
                                                    }
                                                ]
                                            },
                                            {
                                                "nodeType": "YulVariableDeclaration",
                                                "src": "380:77:62",
                                                "value": {
                                                    "arguments": [
                                                        {
                                                            "arguments": [],
                                                            "functionName": {
                                                                "name": "gas",
                                                                "nodeType": "YulIdentifier",
                                                                "src": "400:3:62"
                                                            },
                                                            "nodeType": "YulFunctionCall",
                                                            "src": "400:5:62"
                                                        },
                                                        {
                                                            "name": "consoleAddress",
                                                            "nodeType": "YulIdentifier",
                                                            "src": "407:14:62"
                                                        },
                                                        {
                                                            "name": "payloadStart",
                                                            "nodeType": "YulIdentifier",
                                                            "src": "423:12:62"
                                                        },
                                                        {
                                                            "name": "payloadLength",
                                                            "nodeType": "YulIdentifier",
                                                            "src": "437:13:62"
                                                        },
                                                        {
                                                            "kind": "number",
                                                            "nodeType": "YulLiteral",
                                                            "src": "452:1:62",
                                                            "type": "",
                                                            "value": "0"
                                                        },
                                                        {
                                                            "kind": "number",
                                                            "nodeType": "YulLiteral",
                                                            "src": "455:1:62",
                                                            "type": "",
                                                            "value": "0"
                                                        }
                                                    ],
                                                    "functionName": {
                                                        "name": "staticcall",
                                                        "nodeType": "YulIdentifier",
                                                        "src": "389:10:62"
                                                    },
                                                    "nodeType": "YulFunctionCall",
                                                    "src": "389:68:62"
                                                },
                                                "variables": [
                                                    {
                                                        "name": "r",
                                                        "nodeType": "YulTypedName",
                                                        "src": "384:1:62",
                                                        "type": ""
                                                    }
                                                ]
                                            }
                                        ]
                                    },
                                    "evmVersion": "london",
                                    "externalReferences": [
                                        {
                                            "declaration": 12875,
                                            "isOffset": false,
                                            "isSlot": false,
                                            "src": "407:14:62",
                                            "valueSize": 1
                                        },
                                        {
                                            "declaration": 12866,
                                            "isOffset": false,
                                            "isSlot": false,
                                            "src": "364:7:62",
                                            "valueSize": 1
                                        },
                                        {
                                            "declaration": 12870,
                                            "isOffset": false,
                                            "isSlot": false,
                                            "src": "437:13:62",
                                            "valueSize": 1
                                        }
                                    ],
                                    "id": 12878,
                                    "nodeType": "InlineAssembly",
                                    "src": "326:135:62"
                                }
                            ]
                        },
                        "id": 12880,
                        "implemented": true,
                        "kind": "function",
                        "modifiers": [],
                        "name": "_sendLogPayload",
                        "nameLocation": "185:15:62",
                        "nodeType": "FunctionDefinition",
                        "parameters": {
                            "id": 12867,
                            "nodeType": "ParameterList",
                            "parameters": [
                                {
                                    "constant": false,
                                    "id": 12866,
                                    "mutability": "mutable",
                                    "name": "payload",
                                    "nameLocation": "214:7:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 12880,
                                    "src": "201:20:62",
                                    "stateVariable": false,
                                    "storageLocation": "memory",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_bytes_memory_ptr",
                                        "typeString": "bytes"
                                    },
                                    "typeName": {
                                        "id": 12865,
                                        "name": "bytes",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "201:5:62",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_bytes_storage_ptr",
                                            "typeString": "bytes"
                                        }
                                    },
                                    "visibility": "internal"
                                }
                            ],
                            "src": "200:22:62"
                        },
                        "returnParameters": {
                            "id": 12868,
                            "nodeType": "ParameterList",
                            "parameters": [],
                            "src": "236:0:62"
                        },
                        "scope": 20920,
                        "src": "176:288:62",
                        "stateMutability": "view",
                        "virtual": false,
                        "visibility": "private"
                    },
                    {
                        "body": {
                            "id": 12890,
                            "nodeType": "Block",
                            "src": "496:57:62",
                            "statements": [
                                {
                                    "expression": {
                                        "arguments": [
                                            {
                                                "arguments": [
                                                    {
                                                        "hexValue": "6c6f672829",
                                                        "id": 12886,
                                                        "isConstant": false,
                                                        "isLValue": false,
                                                        "isPure": true,
                                                        "kind": "string",
                                                        "lValueRequested": false,
                                                        "nodeType": "Literal",
                                                        "src": "540:7:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_stringliteral_51973ec9d4c1929bdd5b149c064d46aee47e92a7e2bb5f7a20c7b9cfb0d13b39",
                                                            "typeString": "literal_string \"log()\""
                                                        },
                                                        "value": "log()"
                                                    }
                                                ],
                                                "expression": {
                                                    "argumentTypes": [
                                                        {
                                                            "typeIdentifier": "t_stringliteral_51973ec9d4c1929bdd5b149c064d46aee47e92a7e2bb5f7a20c7b9cfb0d13b39",
                                                            "typeString": "literal_string \"log()\""
                                                        }
                                                    ],
                                                    "expression": {
                                                        "id": 12884,
                                                        "name": "abi",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 4294967295,
                                                        "src": "516:3:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_magic_abi",
                                                            "typeString": "abi"
                                                        }
                                                    },
                                                    "id": 12885,
                                                    "isConstant": false,
                                                    "isLValue": false,
                                                    "isPure": true,
                                                    "lValueRequested": false,
                                                    "memberName": "encodeWithSignature",
                                                    "nodeType": "MemberAccess",
                                                    "src": "516:23:62",
                                                    "typeDescriptions": {
                                                        "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$",
                                                        "typeString": "function (string memory) pure returns (bytes memory)"
                                                    }
                                                },
                                                "id": 12887,
                                                "isConstant": false,
                                                "isLValue": false,
                                                "isPure": true,
                                                "kind": "functionCall",
                                                "lValueRequested": false,
                                                "names": [],
                                                "nodeType": "FunctionCall",
                                                "src": "516:32:62",
                                                "tryCall": false,
                                                "typeDescriptions": {
                                                    "typeIdentifier": "t_bytes_memory_ptr",
                                                    "typeString": "bytes memory"
                                                }
                                            }
                                        ],
                                        "expression": {
                                            "argumentTypes": [
                                                {
                                                    "typeIdentifier": "t_bytes_memory_ptr",
                                                    "typeString": "bytes memory"
                                                }
                                            ],
                                            "id": 12883,
                                            "name": "_sendLogPayload",
                                            "nodeType": "Identifier",
                                            "overloadedDeclarations": [],
                                            "referencedDeclaration": 12880,
                                            "src": "500:15:62",
                                            "typeDescriptions": {
                                                "typeIdentifier": "t_function_internal_view$_t_bytes_memory_ptr_$returns$__$",
                                                "typeString": "function (bytes memory) view"
                                            }
                                        },
                                        "id": 12888,
                                        "isConstant": false,
                                        "isLValue": false,
                                        "isPure": false,
                                        "kind": "functionCall",
                                        "lValueRequested": false,
                                        "names": [],
                                        "nodeType": "FunctionCall",
                                        "src": "500:49:62",
                                        "tryCall": false,
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_tuple$__$",
                                            "typeString": "tuple()"
                                        }
                                    },
                                    "id": 12889,
                                    "nodeType": "ExpressionStatement",
                                    "src": "500:49:62"
                                }
                            ]
                        },
                        "id": 12891,
                        "implemented": true,
                        "kind": "function",
                        "modifiers": [],
                        "name": "log",
                        "nameLocation": "476:3:62",
                        "nodeType": "FunctionDefinition",
                        "parameters": {
                            "id": 12881,
                            "nodeType": "ParameterList",
                            "parameters": [],
                            "src": "479:2:62"
                        },
                        "returnParameters": {
                            "id": 12882,
                            "nodeType": "ParameterList",
                            "parameters": [],
                            "src": "496:0:62"
                        },
                        "scope": 20920,
                        "src": "467:86:62",
                        "stateMutability": "view",
                        "virtual": false,
                        "visibility": "internal"
                    },
                    {
                        "body": {
                            "id": 12904,
                            "nodeType": "Block",
                            "src": "594:64:62",
                            "statements": [
                                {
                                    "expression": {
                                        "arguments": [
                                            {
                                                "arguments": [
                                                    {
                                                        "hexValue": "6c6f6728696e7429",
                                                        "id": 12899,
                                                        "isConstant": false,
                                                        "isLValue": false,
                                                        "isPure": true,
                                                        "kind": "string",
                                                        "lValueRequested": false,
                                                        "nodeType": "Literal",
                                                        "src": "638:10:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_stringliteral_4e0c1d1dcf573259576e2a7e591d366143f88fb7f7e57df09852da9c36797f2e",
                                                            "typeString": "literal_string \"log(int)\""
                                                        },
                                                        "value": "log(int)"
                                                    },
                                                    {
                                                        "id": 12900,
                                                        "name": "p0",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 12893,
                                                        "src": "650:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_int256",
                                                            "typeString": "int256"
                                                        }
                                                    }
                                                ],
                                                "expression": {
                                                    "argumentTypes": [
                                                        {
                                                            "typeIdentifier": "t_stringliteral_4e0c1d1dcf573259576e2a7e591d366143f88fb7f7e57df09852da9c36797f2e",
                                                            "typeString": "literal_string \"log(int)\""
                                                        },
                                                        {
                                                            "typeIdentifier": "t_int256",
                                                            "typeString": "int256"
                                                        }
                                                    ],
                                                    "expression": {
                                                        "id": 12897,
                                                        "name": "abi",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 4294967295,
                                                        "src": "614:3:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_magic_abi",
                                                            "typeString": "abi"
                                                        }
                                                    },
                                                    "id": 12898,
                                                    "isConstant": false,
                                                    "isLValue": false,
                                                    "isPure": true,
                                                    "lValueRequested": false,
                                                    "memberName": "encodeWithSignature",
                                                    "nodeType": "MemberAccess",
                                                    "src": "614:23:62",
                                                    "typeDescriptions": {
                                                        "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$",
                                                        "typeString": "function (string memory) pure returns (bytes memory)"
                                                    }
                                                },
                                                "id": 12901,
                                                "isConstant": false,
                                                "isLValue": false,
                                                "isPure": false,
                                                "kind": "functionCall",
                                                "lValueRequested": false,
                                                "names": [],
                                                "nodeType": "FunctionCall",
                                                "src": "614:39:62",
                                                "tryCall": false,
                                                "typeDescriptions": {
                                                    "typeIdentifier": "t_bytes_memory_ptr",
                                                    "typeString": "bytes memory"
                                                }
                                            }
                                        ],
                                        "expression": {
                                            "argumentTypes": [
                                                {
                                                    "typeIdentifier": "t_bytes_memory_ptr",
                                                    "typeString": "bytes memory"
                                                }
                                            ],
                                            "id": 12896,
                                            "name": "_sendLogPayload",
                                            "nodeType": "Identifier",
                                            "overloadedDeclarations": [],
                                            "referencedDeclaration": 12880,
                                            "src": "598:15:62",
                                            "typeDescriptions": {
                                                "typeIdentifier": "t_function_internal_view$_t_bytes_memory_ptr_$returns$__$",
                                                "typeString": "function (bytes memory) view"
                                            }
                                        },
                                        "id": 12902,
                                        "isConstant": false,
                                        "isLValue": false,
                                        "isPure": false,
                                        "kind": "functionCall",
                                        "lValueRequested": false,
                                        "names": [],
                                        "nodeType": "FunctionCall",
                                        "src": "598:56:62",
                                        "tryCall": false,
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_tuple$__$",
                                            "typeString": "tuple()"
                                        }
                                    },
                                    "id": 12903,
                                    "nodeType": "ExpressionStatement",
                                    "src": "598:56:62"
                                }
                            ]
                        },
                        "id": 12905,
                        "implemented": true,
                        "kind": "function",
                        "modifiers": [],
                        "name": "logInt",
                        "nameLocation": "565:6:62",
                        "nodeType": "FunctionDefinition",
                        "parameters": {
                            "id": 12894,
                            "nodeType": "ParameterList",
                            "parameters": [
                                {
                                    "constant": false,
                                    "id": 12893,
                                    "mutability": "mutable",
                                    "name": "p0",
                                    "nameLocation": "576:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 12905,
                                    "src": "572:6:62",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_int256",
                                        "typeString": "int256"
                                    },
                                    "typeName": {
                                        "id": 12892,
                                        "name": "int",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "572:3:62",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_int256",
                                            "typeString": "int256"
                                        }
                                    },
                                    "visibility": "internal"
                                }
                            ],
                            "src": "571:8:62"
                        },
                        "returnParameters": {
                            "id": 12895,
                            "nodeType": "ParameterList",
                            "parameters": [],
                            "src": "594:0:62"
                        },
                        "scope": 20920,
                        "src": "556:102:62",
                        "stateMutability": "view",
                        "virtual": false,
                        "visibility": "internal"
                    },
                    {
                        "body": {
                            "id": 12918,
                            "nodeType": "Block",
                            "src": "701:65:62",
                            "statements": [
                                {
                                    "expression": {
                                        "arguments": [
                                            {
                                                "arguments": [
                                                    {
                                                        "hexValue": "6c6f672875696e7429",
                                                        "id": 12913,
                                                        "isConstant": false,
                                                        "isLValue": false,
                                                        "isPure": true,
                                                        "kind": "string",
                                                        "lValueRequested": false,
                                                        "nodeType": "Literal",
                                                        "src": "745:11:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_stringliteral_f5b1bba92d8f98cf25e27c94d7fc7cbfbae95a49dfe5ab0cdf64ddd7181bb984",
                                                            "typeString": "literal_string \"log(uint)\""
                                                        },
                                                        "value": "log(uint)"
                                                    },
                                                    {
                                                        "id": 12914,
                                                        "name": "p0",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 12907,
                                                        "src": "758:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_uint256",
                                                            "typeString": "uint256"
                                                        }
                                                    }
                                                ],
                                                "expression": {
                                                    "argumentTypes": [
                                                        {
                                                            "typeIdentifier": "t_stringliteral_f5b1bba92d8f98cf25e27c94d7fc7cbfbae95a49dfe5ab0cdf64ddd7181bb984",
                                                            "typeString": "literal_string \"log(uint)\""
                                                        },
                                                        {
                                                            "typeIdentifier": "t_uint256",
                                                            "typeString": "uint256"
                                                        }
                                                    ],
                                                    "expression": {
                                                        "id": 12911,
                                                        "name": "abi",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 4294967295,
                                                        "src": "721:3:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_magic_abi",
                                                            "typeString": "abi"
                                                        }
                                                    },
                                                    "id": 12912,
                                                    "isConstant": false,
                                                    "isLValue": false,
                                                    "isPure": true,
                                                    "lValueRequested": false,
                                                    "memberName": "encodeWithSignature",
                                                    "nodeType": "MemberAccess",
                                                    "src": "721:23:62",
                                                    "typeDescriptions": {
                                                        "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$",
                                                        "typeString": "function (string memory) pure returns (bytes memory)"
                                                    }
                                                },
                                                "id": 12915,
                                                "isConstant": false,
                                                "isLValue": false,
                                                "isPure": false,
                                                "kind": "functionCall",
                                                "lValueRequested": false,
                                                "names": [],
                                                "nodeType": "FunctionCall",
                                                "src": "721:40:62",
                                                "tryCall": false,
                                                "typeDescriptions": {
                                                    "typeIdentifier": "t_bytes_memory_ptr",
                                                    "typeString": "bytes memory"
                                                }
                                            }
                                        ],
                                        "expression": {
                                            "argumentTypes": [
                                                {
                                                    "typeIdentifier": "t_bytes_memory_ptr",
                                                    "typeString": "bytes memory"
                                                }
                                            ],
                                            "id": 12910,
                                            "name": "_sendLogPayload",
                                            "nodeType": "Identifier",
                                            "overloadedDeclarations": [],
                                            "referencedDeclaration": 12880,
                                            "src": "705:15:62",
                                            "typeDescriptions": {
                                                "typeIdentifier": "t_function_internal_view$_t_bytes_memory_ptr_$returns$__$",
                                                "typeString": "function (bytes memory) view"
                                            }
                                        },
                                        "id": 12916,
                                        "isConstant": false,
                                        "isLValue": false,
                                        "isPure": false,
                                        "kind": "functionCall",
                                        "lValueRequested": false,
                                        "names": [],
                                        "nodeType": "FunctionCall",
                                        "src": "705:57:62",
                                        "tryCall": false,
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_tuple$__$",
                                            "typeString": "tuple()"
                                        }
                                    },
                                    "id": 12917,
                                    "nodeType": "ExpressionStatement",
                                    "src": "705:57:62"
                                }
                            ]
                        },
                        "id": 12919,
                        "implemented": true,
                        "kind": "function",
                        "modifiers": [],
                        "name": "logUint",
                        "nameLocation": "670:7:62",
                        "nodeType": "FunctionDefinition",
                        "parameters": {
                            "id": 12908,
                            "nodeType": "ParameterList",
                            "parameters": [
                                {
                                    "constant": false,
                                    "id": 12907,
                                    "mutability": "mutable",
                                    "name": "p0",
                                    "nameLocation": "683:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 12919,
                                    "src": "678:7:62",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_uint256",
                                        "typeString": "uint256"
                                    },
                                    "typeName": {
                                        "id": 12906,
                                        "name": "uint",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "678:4:62",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_uint256",
                                            "typeString": "uint256"
                                        }
                                    },
                                    "visibility": "internal"
                                }
                            ],
                            "src": "677:9:62"
                        },
                        "returnParameters": {
                            "id": 12909,
                            "nodeType": "ParameterList",
                            "parameters": [],
                            "src": "701:0:62"
                        },
                        "scope": 20920,
                        "src": "661:105:62",
                        "stateMutability": "view",
                        "virtual": false,
                        "visibility": "internal"
                    },
                    {
                        "body": {
                            "id": 12932,
                            "nodeType": "Block",
                            "src": "820:67:62",
                            "statements": [
                                {
                                    "expression": {
                                        "arguments": [
                                            {
                                                "arguments": [
                                                    {
                                                        "hexValue": "6c6f6728737472696e6729",
                                                        "id": 12927,
                                                        "isConstant": false,
                                                        "isLValue": false,
                                                        "isPure": true,
                                                        "kind": "string",
                                                        "lValueRequested": false,
                                                        "nodeType": "Literal",
                                                        "src": "864:13:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_stringliteral_41304facd9323d75b11bcdd609cb38effffdb05710f7caf0e9b16c6d9d709f50",
                                                            "typeString": "literal_string \"log(string)\""
                                                        },
                                                        "value": "log(string)"
                                                    },
                                                    {
                                                        "id": 12928,
                                                        "name": "p0",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 12921,
                                                        "src": "879:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_string_memory_ptr",
                                                            "typeString": "string memory"
                                                        }
                                                    }
                                                ],
                                                "expression": {
                                                    "argumentTypes": [
                                                        {
                                                            "typeIdentifier": "t_stringliteral_41304facd9323d75b11bcdd609cb38effffdb05710f7caf0e9b16c6d9d709f50",
                                                            "typeString": "literal_string \"log(string)\""
                                                        },
                                                        {
                                                            "typeIdentifier": "t_string_memory_ptr",
                                                            "typeString": "string memory"
                                                        }
                                                    ],
                                                    "expression": {
                                                        "id": 12925,
                                                        "name": "abi",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 4294967295,
                                                        "src": "840:3:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_magic_abi",
                                                            "typeString": "abi"
                                                        }
                                                    },
                                                    "id": 12926,
                                                    "isConstant": false,
                                                    "isLValue": false,
                                                    "isPure": true,
                                                    "lValueRequested": false,
                                                    "memberName": "encodeWithSignature",
                                                    "nodeType": "MemberAccess",
                                                    "src": "840:23:62",
                                                    "typeDescriptions": {
                                                        "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$",
                                                        "typeString": "function (string memory) pure returns (bytes memory)"
                                                    }
                                                },
                                                "id": 12929,
                                                "isConstant": false,
                                                "isLValue": false,
                                                "isPure": false,
                                                "kind": "functionCall",
                                                "lValueRequested": false,
                                                "names": [],
                                                "nodeType": "FunctionCall",
                                                "src": "840:42:62",
                                                "tryCall": false,
                                                "typeDescriptions": {
                                                    "typeIdentifier": "t_bytes_memory_ptr",
                                                    "typeString": "bytes memory"
                                                }
                                            }
                                        ],
                                        "expression": {
                                            "argumentTypes": [
                                                {
                                                    "typeIdentifier": "t_bytes_memory_ptr",
                                                    "typeString": "bytes memory"
                                                }
                                            ],
                                            "id": 12924,
                                            "name": "_sendLogPayload",
                                            "nodeType": "Identifier",
                                            "overloadedDeclarations": [],
                                            "referencedDeclaration": 12880,
                                            "src": "824:15:62",
                                            "typeDescriptions": {
                                                "typeIdentifier": "t_function_internal_view$_t_bytes_memory_ptr_$returns$__$",
                                                "typeString": "function (bytes memory) view"
                                            }
                                        },
                                        "id": 12930,
                                        "isConstant": false,
                                        "isLValue": false,
                                        "isPure": false,
                                        "kind": "functionCall",
                                        "lValueRequested": false,
                                        "names": [],
                                        "nodeType": "FunctionCall",
                                        "src": "824:59:62",
                                        "tryCall": false,
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_tuple$__$",
                                            "typeString": "tuple()"
                                        }
                                    },
                                    "id": 12931,
                                    "nodeType": "ExpressionStatement",
                                    "src": "824:59:62"
                                }
                            ]
                        },
                        "id": 12933,
                        "implemented": true,
                        "kind": "function",
                        "modifiers": [],
                        "name": "logString",
                        "nameLocation": "778:9:62",
                        "nodeType": "FunctionDefinition",
                        "parameters": {
                            "id": 12922,
                            "nodeType": "ParameterList",
                            "parameters": [
                                {
                                    "constant": false,
                                    "id": 12921,
                                    "mutability": "mutable",
                                    "name": "p0",
                                    "nameLocation": "802:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 12933,
                                    "src": "788:16:62",
                                    "stateVariable": false,
                                    "storageLocation": "memory",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_string_memory_ptr",
                                        "typeString": "string"
                                    },
                                    "typeName": {
                                        "id": 12920,
                                        "name": "string",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "788:6:62",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_string_storage_ptr",
                                            "typeString": "string"
                                        }
                                    },
                                    "visibility": "internal"
                                }
                            ],
                            "src": "787:18:62"
                        },
                        "returnParameters": {
                            "id": 12923,
                            "nodeType": "ParameterList",
                            "parameters": [],
                            "src": "820:0:62"
                        },
                        "scope": 20920,
                        "src": "769:118:62",
                        "stateMutability": "view",
                        "virtual": false,
                        "visibility": "internal"
                    },
                    {
                        "body": {
                            "id": 12946,
                            "nodeType": "Block",
                            "src": "930:65:62",
                            "statements": [
                                {
                                    "expression": {
                                        "arguments": [
                                            {
                                                "arguments": [
                                                    {
                                                        "hexValue": "6c6f6728626f6f6c29",
                                                        "id": 12941,
                                                        "isConstant": false,
                                                        "isLValue": false,
                                                        "isPure": true,
                                                        "kind": "string",
                                                        "lValueRequested": false,
                                                        "nodeType": "Literal",
                                                        "src": "974:11:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_stringliteral_32458eed3feca62a69292a55ca8a755ae4e6cdc57a38d15c298330064467fdd7",
                                                            "typeString": "literal_string \"log(bool)\""
                                                        },
                                                        "value": "log(bool)"
                                                    },
                                                    {
                                                        "id": 12942,
                                                        "name": "p0",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 12935,
                                                        "src": "987:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_bool",
                                                            "typeString": "bool"
                                                        }
                                                    }
                                                ],
                                                "expression": {
                                                    "argumentTypes": [
                                                        {
                                                            "typeIdentifier": "t_stringliteral_32458eed3feca62a69292a55ca8a755ae4e6cdc57a38d15c298330064467fdd7",
                                                            "typeString": "literal_string \"log(bool)\""
                                                        },
                                                        {
                                                            "typeIdentifier": "t_bool",
                                                            "typeString": "bool"
                                                        }
                                                    ],
                                                    "expression": {
                                                        "id": 12939,
                                                        "name": "abi",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 4294967295,
                                                        "src": "950:3:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_magic_abi",
                                                            "typeString": "abi"
                                                        }
                                                    },
                                                    "id": 12940,
                                                    "isConstant": false,
                                                    "isLValue": false,
                                                    "isPure": true,
                                                    "lValueRequested": false,
                                                    "memberName": "encodeWithSignature",
                                                    "nodeType": "MemberAccess",
                                                    "src": "950:23:62",
                                                    "typeDescriptions": {
                                                        "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$",
                                                        "typeString": "function (string memory) pure returns (bytes memory)"
                                                    }
                                                },
                                                "id": 12943,
                                                "isConstant": false,
                                                "isLValue": false,
                                                "isPure": false,
                                                "kind": "functionCall",
                                                "lValueRequested": false,
                                                "names": [],
                                                "nodeType": "FunctionCall",
                                                "src": "950:40:62",
                                                "tryCall": false,
                                                "typeDescriptions": {
                                                    "typeIdentifier": "t_bytes_memory_ptr",
                                                    "typeString": "bytes memory"
                                                }
                                            }
                                        ],
                                        "expression": {
                                            "argumentTypes": [
                                                {
                                                    "typeIdentifier": "t_bytes_memory_ptr",
                                                    "typeString": "bytes memory"
                                                }
                                            ],
                                            "id": 12938,
                                            "name": "_sendLogPayload",
                                            "nodeType": "Identifier",
                                            "overloadedDeclarations": [],
                                            "referencedDeclaration": 12880,
                                            "src": "934:15:62",
                                            "typeDescriptions": {
                                                "typeIdentifier": "t_function_internal_view$_t_bytes_memory_ptr_$returns$__$",
                                                "typeString": "function (bytes memory) view"
                                            }
                                        },
                                        "id": 12944,
                                        "isConstant": false,
                                        "isLValue": false,
                                        "isPure": false,
                                        "kind": "functionCall",
                                        "lValueRequested": false,
                                        "names": [],
                                        "nodeType": "FunctionCall",
                                        "src": "934:57:62",
                                        "tryCall": false,
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_tuple$__$",
                                            "typeString": "tuple()"
                                        }
                                    },
                                    "id": 12945,
                                    "nodeType": "ExpressionStatement",
                                    "src": "934:57:62"
                                }
                            ]
                        },
                        "id": 12947,
                        "implemented": true,
                        "kind": "function",
                        "modifiers": [],
                        "name": "logBool",
                        "nameLocation": "899:7:62",
                        "nodeType": "FunctionDefinition",
                        "parameters": {
                            "id": 12936,
                            "nodeType": "ParameterList",
                            "parameters": [
                                {
                                    "constant": false,
                                    "id": 12935,
                                    "mutability": "mutable",
                                    "name": "p0",
                                    "nameLocation": "912:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 12947,
                                    "src": "907:7:62",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_bool",
                                        "typeString": "bool"
                                    },
                                    "typeName": {
                                        "id": 12934,
                                        "name": "bool",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "907:4:62",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_bool",
                                            "typeString": "bool"
                                        }
                                    },
                                    "visibility": "internal"
                                }
                            ],
                            "src": "906:9:62"
                        },
                        "returnParameters": {
                            "id": 12937,
                            "nodeType": "ParameterList",
                            "parameters": [],
                            "src": "930:0:62"
                        },
                        "scope": 20920,
                        "src": "890:105:62",
                        "stateMutability": "view",
                        "virtual": false,
                        "visibility": "internal"
                    },
                    {
                        "body": {
                            "id": 12960,
                            "nodeType": "Block",
                            "src": "1044:68:62",
                            "statements": [
                                {
                                    "expression": {
                                        "arguments": [
                                            {
                                                "arguments": [
                                                    {
                                                        "hexValue": "6c6f67286164647265737329",
                                                        "id": 12955,
                                                        "isConstant": false,
                                                        "isLValue": false,
                                                        "isPure": true,
                                                        "kind": "string",
                                                        "lValueRequested": false,
                                                        "nodeType": "Literal",
                                                        "src": "1088:14:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_stringliteral_2c2ecbc2212ac38c2f9ec89aa5fcef7f532a5db24dbf7cad1f48bc82843b7428",
                                                            "typeString": "literal_string \"log(address)\""
                                                        },
                                                        "value": "log(address)"
                                                    },
                                                    {
                                                        "id": 12956,
                                                        "name": "p0",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 12949,
                                                        "src": "1104:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_address",
                                                            "typeString": "address"
                                                        }
                                                    }
                                                ],
                                                "expression": {
                                                    "argumentTypes": [
                                                        {
                                                            "typeIdentifier": "t_stringliteral_2c2ecbc2212ac38c2f9ec89aa5fcef7f532a5db24dbf7cad1f48bc82843b7428",
                                                            "typeString": "literal_string \"log(address)\""
                                                        },
                                                        {
                                                            "typeIdentifier": "t_address",
                                                            "typeString": "address"
                                                        }
                                                    ],
                                                    "expression": {
                                                        "id": 12953,
                                                        "name": "abi",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 4294967295,
                                                        "src": "1064:3:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_magic_abi",
                                                            "typeString": "abi"
                                                        }
                                                    },
                                                    "id": 12954,
                                                    "isConstant": false,
                                                    "isLValue": false,
                                                    "isPure": true,
                                                    "lValueRequested": false,
                                                    "memberName": "encodeWithSignature",
                                                    "nodeType": "MemberAccess",
                                                    "src": "1064:23:62",
                                                    "typeDescriptions": {
                                                        "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$",
                                                        "typeString": "function (string memory) pure returns (bytes memory)"
                                                    }
                                                },
                                                "id": 12957,
                                                "isConstant": false,
                                                "isLValue": false,
                                                "isPure": false,
                                                "kind": "functionCall",
                                                "lValueRequested": false,
                                                "names": [],
                                                "nodeType": "FunctionCall",
                                                "src": "1064:43:62",
                                                "tryCall": false,
                                                "typeDescriptions": {
                                                    "typeIdentifier": "t_bytes_memory_ptr",
                                                    "typeString": "bytes memory"
                                                }
                                            }
                                        ],
                                        "expression": {
                                            "argumentTypes": [
                                                {
                                                    "typeIdentifier": "t_bytes_memory_ptr",
                                                    "typeString": "bytes memory"
                                                }
                                            ],
                                            "id": 12952,
                                            "name": "_sendLogPayload",
                                            "nodeType": "Identifier",
                                            "overloadedDeclarations": [],
                                            "referencedDeclaration": 12880,
                                            "src": "1048:15:62",
                                            "typeDescriptions": {
                                                "typeIdentifier": "t_function_internal_view$_t_bytes_memory_ptr_$returns$__$",
                                                "typeString": "function (bytes memory) view"
                                            }
                                        },
                                        "id": 12958,
                                        "isConstant": false,
                                        "isLValue": false,
                                        "isPure": false,
                                        "kind": "functionCall",
                                        "lValueRequested": false,
                                        "names": [],
                                        "nodeType": "FunctionCall",
                                        "src": "1048:60:62",
                                        "tryCall": false,
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_tuple$__$",
                                            "typeString": "tuple()"
                                        }
                                    },
                                    "id": 12959,
                                    "nodeType": "ExpressionStatement",
                                    "src": "1048:60:62"
                                }
                            ]
                        },
                        "id": 12961,
                        "implemented": true,
                        "kind": "function",
                        "modifiers": [],
                        "name": "logAddress",
                        "nameLocation": "1007:10:62",
                        "nodeType": "FunctionDefinition",
                        "parameters": {
                            "id": 12950,
                            "nodeType": "ParameterList",
                            "parameters": [
                                {
                                    "constant": false,
                                    "id": 12949,
                                    "mutability": "mutable",
                                    "name": "p0",
                                    "nameLocation": "1026:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 12961,
                                    "src": "1018:10:62",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_address",
                                        "typeString": "address"
                                    },
                                    "typeName": {
                                        "id": 12948,
                                        "name": "address",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "1018:7:62",
                                        "stateMutability": "nonpayable",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_address",
                                            "typeString": "address"
                                        }
                                    },
                                    "visibility": "internal"
                                }
                            ],
                            "src": "1017:12:62"
                        },
                        "returnParameters": {
                            "id": 12951,
                            "nodeType": "ParameterList",
                            "parameters": [],
                            "src": "1044:0:62"
                        },
                        "scope": 20920,
                        "src": "998:114:62",
                        "stateMutability": "view",
                        "virtual": false,
                        "visibility": "internal"
                    },
                    {
                        "body": {
                            "id": 12974,
                            "nodeType": "Block",
                            "src": "1164:66:62",
                            "statements": [
                                {
                                    "expression": {
                                        "arguments": [
                                            {
                                                "arguments": [
                                                    {
                                                        "hexValue": "6c6f6728627974657329",
                                                        "id": 12969,
                                                        "isConstant": false,
                                                        "isLValue": false,
                                                        "isPure": true,
                                                        "kind": "string",
                                                        "lValueRequested": false,
                                                        "nodeType": "Literal",
                                                        "src": "1208:12:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_stringliteral_0be77f5642494da7d212b92a3472c4f471abb24e17467f41788e7de7915d6238",
                                                            "typeString": "literal_string \"log(bytes)\""
                                                        },
                                                        "value": "log(bytes)"
                                                    },
                                                    {
                                                        "id": 12970,
                                                        "name": "p0",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 12963,
                                                        "src": "1222:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_bytes_memory_ptr",
                                                            "typeString": "bytes memory"
                                                        }
                                                    }
                                                ],
                                                "expression": {
                                                    "argumentTypes": [
                                                        {
                                                            "typeIdentifier": "t_stringliteral_0be77f5642494da7d212b92a3472c4f471abb24e17467f41788e7de7915d6238",
                                                            "typeString": "literal_string \"log(bytes)\""
                                                        },
                                                        {
                                                            "typeIdentifier": "t_bytes_memory_ptr",
                                                            "typeString": "bytes memory"
                                                        }
                                                    ],
                                                    "expression": {
                                                        "id": 12967,
                                                        "name": "abi",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 4294967295,
                                                        "src": "1184:3:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_magic_abi",
                                                            "typeString": "abi"
                                                        }
                                                    },
                                                    "id": 12968,
                                                    "isConstant": false,
                                                    "isLValue": false,
                                                    "isPure": true,
                                                    "lValueRequested": false,
                                                    "memberName": "encodeWithSignature",
                                                    "nodeType": "MemberAccess",
                                                    "src": "1184:23:62",
                                                    "typeDescriptions": {
                                                        "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$",
                                                        "typeString": "function (string memory) pure returns (bytes memory)"
                                                    }
                                                },
                                                "id": 12971,
                                                "isConstant": false,
                                                "isLValue": false,
                                                "isPure": false,
                                                "kind": "functionCall",
                                                "lValueRequested": false,
                                                "names": [],
                                                "nodeType": "FunctionCall",
                                                "src": "1184:41:62",
                                                "tryCall": false,
                                                "typeDescriptions": {
                                                    "typeIdentifier": "t_bytes_memory_ptr",
                                                    "typeString": "bytes memory"
                                                }
                                            }
                                        ],
                                        "expression": {
                                            "argumentTypes": [
                                                {
                                                    "typeIdentifier": "t_bytes_memory_ptr",
                                                    "typeString": "bytes memory"
                                                }
                                            ],
                                            "id": 12966,
                                            "name": "_sendLogPayload",
                                            "nodeType": "Identifier",
                                            "overloadedDeclarations": [],
                                            "referencedDeclaration": 12880,
                                            "src": "1168:15:62",
                                            "typeDescriptions": {
                                                "typeIdentifier": "t_function_internal_view$_t_bytes_memory_ptr_$returns$__$",
                                                "typeString": "function (bytes memory) view"
                                            }
                                        },
                                        "id": 12972,
                                        "isConstant": false,
                                        "isLValue": false,
                                        "isPure": false,
                                        "kind": "functionCall",
                                        "lValueRequested": false,
                                        "names": [],
                                        "nodeType": "FunctionCall",
                                        "src": "1168:58:62",
                                        "tryCall": false,
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_tuple$__$",
                                            "typeString": "tuple()"
                                        }
                                    },
                                    "id": 12973,
                                    "nodeType": "ExpressionStatement",
                                    "src": "1168:58:62"
                                }
                            ]
                        },
                        "id": 12975,
                        "implemented": true,
                        "kind": "function",
                        "modifiers": [],
                        "name": "logBytes",
                        "nameLocation": "1124:8:62",
                        "nodeType": "FunctionDefinition",
                        "parameters": {
                            "id": 12964,
                            "nodeType": "ParameterList",
                            "parameters": [
                                {
                                    "constant": false,
                                    "id": 12963,
                                    "mutability": "mutable",
                                    "name": "p0",
                                    "nameLocation": "1146:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 12975,
                                    "src": "1133:15:62",
                                    "stateVariable": false,
                                    "storageLocation": "memory",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_bytes_memory_ptr",
                                        "typeString": "bytes"
                                    },
                                    "typeName": {
                                        "id": 12962,
                                        "name": "bytes",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "1133:5:62",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_bytes_storage_ptr",
                                            "typeString": "bytes"
                                        }
                                    },
                                    "visibility": "internal"
                                }
                            ],
                            "src": "1132:17:62"
                        },
                        "returnParameters": {
                            "id": 12965,
                            "nodeType": "ParameterList",
                            "parameters": [],
                            "src": "1164:0:62"
                        },
                        "scope": 20920,
                        "src": "1115:115:62",
                        "stateMutability": "view",
                        "virtual": false,
                        "visibility": "internal"
                    },
                    {
                        "body": {
                            "id": 12988,
                            "nodeType": "Block",
                            "src": "1277:67:62",
                            "statements": [
                                {
                                    "expression": {
                                        "arguments": [
                                            {
                                                "arguments": [
                                                    {
                                                        "hexValue": "6c6f672862797465733129",
                                                        "id": 12983,
                                                        "isConstant": false,
                                                        "isLValue": false,
                                                        "isPure": true,
                                                        "kind": "string",
                                                        "lValueRequested": false,
                                                        "nodeType": "Literal",
                                                        "src": "1321:13:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_stringliteral_6e18a1285e3dfba09579e846ff83d5e4ffae1b869c8fc4323752bab794e41041",
                                                            "typeString": "literal_string \"log(bytes1)\""
                                                        },
                                                        "value": "log(bytes1)"
                                                    },
                                                    {
                                                        "id": 12984,
                                                        "name": "p0",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 12977,
                                                        "src": "1336:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_bytes1",
                                                            "typeString": "bytes1"
                                                        }
                                                    }
                                                ],
                                                "expression": {
                                                    "argumentTypes": [
                                                        {
                                                            "typeIdentifier": "t_stringliteral_6e18a1285e3dfba09579e846ff83d5e4ffae1b869c8fc4323752bab794e41041",
                                                            "typeString": "literal_string \"log(bytes1)\""
                                                        },
                                                        {
                                                            "typeIdentifier": "t_bytes1",
                                                            "typeString": "bytes1"
                                                        }
                                                    ],
                                                    "expression": {
                                                        "id": 12981,
                                                        "name": "abi",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 4294967295,
                                                        "src": "1297:3:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_magic_abi",
                                                            "typeString": "abi"
                                                        }
                                                    },
                                                    "id": 12982,
                                                    "isConstant": false,
                                                    "isLValue": false,
                                                    "isPure": true,
                                                    "lValueRequested": false,
                                                    "memberName": "encodeWithSignature",
                                                    "nodeType": "MemberAccess",
                                                    "src": "1297:23:62",
                                                    "typeDescriptions": {
                                                        "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$",
                                                        "typeString": "function (string memory) pure returns (bytes memory)"
                                                    }
                                                },
                                                "id": 12985,
                                                "isConstant": false,
                                                "isLValue": false,
                                                "isPure": false,
                                                "kind": "functionCall",
                                                "lValueRequested": false,
                                                "names": [],
                                                "nodeType": "FunctionCall",
                                                "src": "1297:42:62",
                                                "tryCall": false,
                                                "typeDescriptions": {
                                                    "typeIdentifier": "t_bytes_memory_ptr",
                                                    "typeString": "bytes memory"
                                                }
                                            }
                                        ],
                                        "expression": {
                                            "argumentTypes": [
                                                {
                                                    "typeIdentifier": "t_bytes_memory_ptr",
                                                    "typeString": "bytes memory"
                                                }
                                            ],
                                            "id": 12980,
                                            "name": "_sendLogPayload",
                                            "nodeType": "Identifier",
                                            "overloadedDeclarations": [],
                                            "referencedDeclaration": 12880,
                                            "src": "1281:15:62",
                                            "typeDescriptions": {
                                                "typeIdentifier": "t_function_internal_view$_t_bytes_memory_ptr_$returns$__$",
                                                "typeString": "function (bytes memory) view"
                                            }
                                        },
                                        "id": 12986,
                                        "isConstant": false,
                                        "isLValue": false,
                                        "isPure": false,
                                        "kind": "functionCall",
                                        "lValueRequested": false,
                                        "names": [],
                                        "nodeType": "FunctionCall",
                                        "src": "1281:59:62",
                                        "tryCall": false,
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_tuple$__$",
                                            "typeString": "tuple()"
                                        }
                                    },
                                    "id": 12987,
                                    "nodeType": "ExpressionStatement",
                                    "src": "1281:59:62"
                                }
                            ]
                        },
                        "id": 12989,
                        "implemented": true,
                        "kind": "function",
                        "modifiers": [],
                        "name": "logBytes1",
                        "nameLocation": "1242:9:62",
                        "nodeType": "FunctionDefinition",
                        "parameters": {
                            "id": 12978,
                            "nodeType": "ParameterList",
                            "parameters": [
                                {
                                    "constant": false,
                                    "id": 12977,
                                    "mutability": "mutable",
                                    "name": "p0",
                                    "nameLocation": "1259:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 12989,
                                    "src": "1252:9:62",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_bytes1",
                                        "typeString": "bytes1"
                                    },
                                    "typeName": {
                                        "id": 12976,
                                        "name": "bytes1",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "1252:6:62",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_bytes1",
                                            "typeString": "bytes1"
                                        }
                                    },
                                    "visibility": "internal"
                                }
                            ],
                            "src": "1251:11:62"
                        },
                        "returnParameters": {
                            "id": 12979,
                            "nodeType": "ParameterList",
                            "parameters": [],
                            "src": "1277:0:62"
                        },
                        "scope": 20920,
                        "src": "1233:111:62",
                        "stateMutability": "view",
                        "virtual": false,
                        "visibility": "internal"
                    },
                    {
                        "body": {
                            "id": 13002,
                            "nodeType": "Block",
                            "src": "1391:67:62",
                            "statements": [
                                {
                                    "expression": {
                                        "arguments": [
                                            {
                                                "arguments": [
                                                    {
                                                        "hexValue": "6c6f672862797465733229",
                                                        "id": 12997,
                                                        "isConstant": false,
                                                        "isLValue": false,
                                                        "isPure": true,
                                                        "kind": "string",
                                                        "lValueRequested": false,
                                                        "nodeType": "Literal",
                                                        "src": "1435:13:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_stringliteral_e9b622960ff3a0e86d35e876bfeba445fab6c5686604aa116c47c1e106921224",
                                                            "typeString": "literal_string \"log(bytes2)\""
                                                        },
                                                        "value": "log(bytes2)"
                                                    },
                                                    {
                                                        "id": 12998,
                                                        "name": "p0",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 12991,
                                                        "src": "1450:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_bytes2",
                                                            "typeString": "bytes2"
                                                        }
                                                    }
                                                ],
                                                "expression": {
                                                    "argumentTypes": [
                                                        {
                                                            "typeIdentifier": "t_stringliteral_e9b622960ff3a0e86d35e876bfeba445fab6c5686604aa116c47c1e106921224",
                                                            "typeString": "literal_string \"log(bytes2)\""
                                                        },
                                                        {
                                                            "typeIdentifier": "t_bytes2",
                                                            "typeString": "bytes2"
                                                        }
                                                    ],
                                                    "expression": {
                                                        "id": 12995,
                                                        "name": "abi",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 4294967295,
                                                        "src": "1411:3:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_magic_abi",
                                                            "typeString": "abi"
                                                        }
                                                    },
                                                    "id": 12996,
                                                    "isConstant": false,
                                                    "isLValue": false,
                                                    "isPure": true,
                                                    "lValueRequested": false,
                                                    "memberName": "encodeWithSignature",
                                                    "nodeType": "MemberAccess",
                                                    "src": "1411:23:62",
                                                    "typeDescriptions": {
                                                        "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$",
                                                        "typeString": "function (string memory) pure returns (bytes memory)"
                                                    }
                                                },
                                                "id": 12999,
                                                "isConstant": false,
                                                "isLValue": false,
                                                "isPure": false,
                                                "kind": "functionCall",
                                                "lValueRequested": false,
                                                "names": [],
                                                "nodeType": "FunctionCall",
                                                "src": "1411:42:62",
                                                "tryCall": false,
                                                "typeDescriptions": {
                                                    "typeIdentifier": "t_bytes_memory_ptr",
                                                    "typeString": "bytes memory"
                                                }
                                            }
                                        ],
                                        "expression": {
                                            "argumentTypes": [
                                                {
                                                    "typeIdentifier": "t_bytes_memory_ptr",
                                                    "typeString": "bytes memory"
                                                }
                                            ],
                                            "id": 12994,
                                            "name": "_sendLogPayload",
                                            "nodeType": "Identifier",
                                            "overloadedDeclarations": [],
                                            "referencedDeclaration": 12880,
                                            "src": "1395:15:62",
                                            "typeDescriptions": {
                                                "typeIdentifier": "t_function_internal_view$_t_bytes_memory_ptr_$returns$__$",
                                                "typeString": "function (bytes memory) view"
                                            }
                                        },
                                        "id": 13000,
                                        "isConstant": false,
                                        "isLValue": false,
                                        "isPure": false,
                                        "kind": "functionCall",
                                        "lValueRequested": false,
                                        "names": [],
                                        "nodeType": "FunctionCall",
                                        "src": "1395:59:62",
                                        "tryCall": false,
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_tuple$__$",
                                            "typeString": "tuple()"
                                        }
                                    },
                                    "id": 13001,
                                    "nodeType": "ExpressionStatement",
                                    "src": "1395:59:62"
                                }
                            ]
                        },
                        "id": 13003,
                        "implemented": true,
                        "kind": "function",
                        "modifiers": [],
                        "name": "logBytes2",
                        "nameLocation": "1356:9:62",
                        "nodeType": "FunctionDefinition",
                        "parameters": {
                            "id": 12992,
                            "nodeType": "ParameterList",
                            "parameters": [
                                {
                                    "constant": false,
                                    "id": 12991,
                                    "mutability": "mutable",
                                    "name": "p0",
                                    "nameLocation": "1373:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 13003,
                                    "src": "1366:9:62",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_bytes2",
                                        "typeString": "bytes2"
                                    },
                                    "typeName": {
                                        "id": 12990,
                                        "name": "bytes2",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "1366:6:62",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_bytes2",
                                            "typeString": "bytes2"
                                        }
                                    },
                                    "visibility": "internal"
                                }
                            ],
                            "src": "1365:11:62"
                        },
                        "returnParameters": {
                            "id": 12993,
                            "nodeType": "ParameterList",
                            "parameters": [],
                            "src": "1391:0:62"
                        },
                        "scope": 20920,
                        "src": "1347:111:62",
                        "stateMutability": "view",
                        "virtual": false,
                        "visibility": "internal"
                    },
                    {
                        "body": {
                            "id": 13016,
                            "nodeType": "Block",
                            "src": "1505:67:62",
                            "statements": [
                                {
                                    "expression": {
                                        "arguments": [
                                            {
                                                "arguments": [
                                                    {
                                                        "hexValue": "6c6f672862797465733329",
                                                        "id": 13011,
                                                        "isConstant": false,
                                                        "isLValue": false,
                                                        "isPure": true,
                                                        "kind": "string",
                                                        "lValueRequested": false,
                                                        "nodeType": "Literal",
                                                        "src": "1549:13:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_stringliteral_2d8349266851a1d92746f90a9696920643311d6bf462d9fa11e69718a636cbee",
                                                            "typeString": "literal_string \"log(bytes3)\""
                                                        },
                                                        "value": "log(bytes3)"
                                                    },
                                                    {
                                                        "id": 13012,
                                                        "name": "p0",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 13005,
                                                        "src": "1564:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_bytes3",
                                                            "typeString": "bytes3"
                                                        }
                                                    }
                                                ],
                                                "expression": {
                                                    "argumentTypes": [
                                                        {
                                                            "typeIdentifier": "t_stringliteral_2d8349266851a1d92746f90a9696920643311d6bf462d9fa11e69718a636cbee",
                                                            "typeString": "literal_string \"log(bytes3)\""
                                                        },
                                                        {
                                                            "typeIdentifier": "t_bytes3",
                                                            "typeString": "bytes3"
                                                        }
                                                    ],
                                                    "expression": {
                                                        "id": 13009,
                                                        "name": "abi",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 4294967295,
                                                        "src": "1525:3:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_magic_abi",
                                                            "typeString": "abi"
                                                        }
                                                    },
                                                    "id": 13010,
                                                    "isConstant": false,
                                                    "isLValue": false,
                                                    "isPure": true,
                                                    "lValueRequested": false,
                                                    "memberName": "encodeWithSignature",
                                                    "nodeType": "MemberAccess",
                                                    "src": "1525:23:62",
                                                    "typeDescriptions": {
                                                        "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$",
                                                        "typeString": "function (string memory) pure returns (bytes memory)"
                                                    }
                                                },
                                                "id": 13013,
                                                "isConstant": false,
                                                "isLValue": false,
                                                "isPure": false,
                                                "kind": "functionCall",
                                                "lValueRequested": false,
                                                "names": [],
                                                "nodeType": "FunctionCall",
                                                "src": "1525:42:62",
                                                "tryCall": false,
                                                "typeDescriptions": {
                                                    "typeIdentifier": "t_bytes_memory_ptr",
                                                    "typeString": "bytes memory"
                                                }
                                            }
                                        ],
                                        "expression": {
                                            "argumentTypes": [
                                                {
                                                    "typeIdentifier": "t_bytes_memory_ptr",
                                                    "typeString": "bytes memory"
                                                }
                                            ],
                                            "id": 13008,
                                            "name": "_sendLogPayload",
                                            "nodeType": "Identifier",
                                            "overloadedDeclarations": [],
                                            "referencedDeclaration": 12880,
                                            "src": "1509:15:62",
                                            "typeDescriptions": {
                                                "typeIdentifier": "t_function_internal_view$_t_bytes_memory_ptr_$returns$__$",
                                                "typeString": "function (bytes memory) view"
                                            }
                                        },
                                        "id": 13014,
                                        "isConstant": false,
                                        "isLValue": false,
                                        "isPure": false,
                                        "kind": "functionCall",
                                        "lValueRequested": false,
                                        "names": [],
                                        "nodeType": "FunctionCall",
                                        "src": "1509:59:62",
                                        "tryCall": false,
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_tuple$__$",
                                            "typeString": "tuple()"
                                        }
                                    },
                                    "id": 13015,
                                    "nodeType": "ExpressionStatement",
                                    "src": "1509:59:62"
                                }
                            ]
                        },
                        "id": 13017,
                        "implemented": true,
                        "kind": "function",
                        "modifiers": [],
                        "name": "logBytes3",
                        "nameLocation": "1470:9:62",
                        "nodeType": "FunctionDefinition",
                        "parameters": {
                            "id": 13006,
                            "nodeType": "ParameterList",
                            "parameters": [
                                {
                                    "constant": false,
                                    "id": 13005,
                                    "mutability": "mutable",
                                    "name": "p0",
                                    "nameLocation": "1487:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 13017,
                                    "src": "1480:9:62",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_bytes3",
                                        "typeString": "bytes3"
                                    },
                                    "typeName": {
                                        "id": 13004,
                                        "name": "bytes3",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "1480:6:62",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_bytes3",
                                            "typeString": "bytes3"
                                        }
                                    },
                                    "visibility": "internal"
                                }
                            ],
                            "src": "1479:11:62"
                        },
                        "returnParameters": {
                            "id": 13007,
                            "nodeType": "ParameterList",
                            "parameters": [],
                            "src": "1505:0:62"
                        },
                        "scope": 20920,
                        "src": "1461:111:62",
                        "stateMutability": "view",
                        "virtual": false,
                        "visibility": "internal"
                    },
                    {
                        "body": {
                            "id": 13030,
                            "nodeType": "Block",
                            "src": "1619:67:62",
                            "statements": [
                                {
                                    "expression": {
                                        "arguments": [
                                            {
                                                "arguments": [
                                                    {
                                                        "hexValue": "6c6f672862797465733429",
                                                        "id": 13025,
                                                        "isConstant": false,
                                                        "isLValue": false,
                                                        "isPure": true,
                                                        "kind": "string",
                                                        "lValueRequested": false,
                                                        "nodeType": "Literal",
                                                        "src": "1663:13:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_stringliteral_e05f48d17f80c0f06e82dc14f4be9f0f654dde2e722a8d8796ad7e07f5308d55",
                                                            "typeString": "literal_string \"log(bytes4)\""
                                                        },
                                                        "value": "log(bytes4)"
                                                    },
                                                    {
                                                        "id": 13026,
                                                        "name": "p0",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 13019,
                                                        "src": "1678:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_bytes4",
                                                            "typeString": "bytes4"
                                                        }
                                                    }
                                                ],
                                                "expression": {
                                                    "argumentTypes": [
                                                        {
                                                            "typeIdentifier": "t_stringliteral_e05f48d17f80c0f06e82dc14f4be9f0f654dde2e722a8d8796ad7e07f5308d55",
                                                            "typeString": "literal_string \"log(bytes4)\""
                                                        },
                                                        {
                                                            "typeIdentifier": "t_bytes4",
                                                            "typeString": "bytes4"
                                                        }
                                                    ],
                                                    "expression": {
                                                        "id": 13023,
                                                        "name": "abi",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 4294967295,
                                                        "src": "1639:3:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_magic_abi",
                                                            "typeString": "abi"
                                                        }
                                                    },
                                                    "id": 13024,
                                                    "isConstant": false,
                                                    "isLValue": false,
                                                    "isPure": true,
                                                    "lValueRequested": false,
                                                    "memberName": "encodeWithSignature",
                                                    "nodeType": "MemberAccess",
                                                    "src": "1639:23:62",
                                                    "typeDescriptions": {
                                                        "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$",
                                                        "typeString": "function (string memory) pure returns (bytes memory)"
                                                    }
                                                },
                                                "id": 13027,
                                                "isConstant": false,
                                                "isLValue": false,
                                                "isPure": false,
                                                "kind": "functionCall",
                                                "lValueRequested": false,
                                                "names": [],
                                                "nodeType": "FunctionCall",
                                                "src": "1639:42:62",
                                                "tryCall": false,
                                                "typeDescriptions": {
                                                    "typeIdentifier": "t_bytes_memory_ptr",
                                                    "typeString": "bytes memory"
                                                }
                                            }
                                        ],
                                        "expression": {
                                            "argumentTypes": [
                                                {
                                                    "typeIdentifier": "t_bytes_memory_ptr",
                                                    "typeString": "bytes memory"
                                                }
                                            ],
                                            "id": 13022,
                                            "name": "_sendLogPayload",
                                            "nodeType": "Identifier",
                                            "overloadedDeclarations": [],
                                            "referencedDeclaration": 12880,
                                            "src": "1623:15:62",
                                            "typeDescriptions": {
                                                "typeIdentifier": "t_function_internal_view$_t_bytes_memory_ptr_$returns$__$",
                                                "typeString": "function (bytes memory) view"
                                            }
                                        },
                                        "id": 13028,
                                        "isConstant": false,
                                        "isLValue": false,
                                        "isPure": false,
                                        "kind": "functionCall",
                                        "lValueRequested": false,
                                        "names": [],
                                        "nodeType": "FunctionCall",
                                        "src": "1623:59:62",
                                        "tryCall": false,
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_tuple$__$",
                                            "typeString": "tuple()"
                                        }
                                    },
                                    "id": 13029,
                                    "nodeType": "ExpressionStatement",
                                    "src": "1623:59:62"
                                }
                            ]
                        },
                        "id": 13031,
                        "implemented": true,
                        "kind": "function",
                        "modifiers": [],
                        "name": "logBytes4",
                        "nameLocation": "1584:9:62",
                        "nodeType": "FunctionDefinition",
                        "parameters": {
                            "id": 13020,
                            "nodeType": "ParameterList",
                            "parameters": [
                                {
                                    "constant": false,
                                    "id": 13019,
                                    "mutability": "mutable",
                                    "name": "p0",
                                    "nameLocation": "1601:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 13031,
                                    "src": "1594:9:62",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_bytes4",
                                        "typeString": "bytes4"
                                    },
                                    "typeName": {
                                        "id": 13018,
                                        "name": "bytes4",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "1594:6:62",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_bytes4",
                                            "typeString": "bytes4"
                                        }
                                    },
                                    "visibility": "internal"
                                }
                            ],
                            "src": "1593:11:62"
                        },
                        "returnParameters": {
                            "id": 13021,
                            "nodeType": "ParameterList",
                            "parameters": [],
                            "src": "1619:0:62"
                        },
                        "scope": 20920,
                        "src": "1575:111:62",
                        "stateMutability": "view",
                        "virtual": false,
                        "visibility": "internal"
                    },
                    {
                        "body": {
                            "id": 13044,
                            "nodeType": "Block",
                            "src": "1733:67:62",
                            "statements": [
                                {
                                    "expression": {
                                        "arguments": [
                                            {
                                                "arguments": [
                                                    {
                                                        "hexValue": "6c6f672862797465733529",
                                                        "id": 13039,
                                                        "isConstant": false,
                                                        "isLValue": false,
                                                        "isPure": true,
                                                        "kind": "string",
                                                        "lValueRequested": false,
                                                        "nodeType": "Literal",
                                                        "src": "1777:13:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_stringliteral_a684808d222f8a67c08dd13085391d5e9d1825d9fb6e2da44a91b1a07d07401a",
                                                            "typeString": "literal_string \"log(bytes5)\""
                                                        },
                                                        "value": "log(bytes5)"
                                                    },
                                                    {
                                                        "id": 13040,
                                                        "name": "p0",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 13033,
                                                        "src": "1792:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_bytes5",
                                                            "typeString": "bytes5"
                                                        }
                                                    }
                                                ],
                                                "expression": {
                                                    "argumentTypes": [
                                                        {
                                                            "typeIdentifier": "t_stringliteral_a684808d222f8a67c08dd13085391d5e9d1825d9fb6e2da44a91b1a07d07401a",
                                                            "typeString": "literal_string \"log(bytes5)\""
                                                        },
                                                        {
                                                            "typeIdentifier": "t_bytes5",
                                                            "typeString": "bytes5"
                                                        }
                                                    ],
                                                    "expression": {
                                                        "id": 13037,
                                                        "name": "abi",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 4294967295,
                                                        "src": "1753:3:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_magic_abi",
                                                            "typeString": "abi"
                                                        }
                                                    },
                                                    "id": 13038,
                                                    "isConstant": false,
                                                    "isLValue": false,
                                                    "isPure": true,
                                                    "lValueRequested": false,
                                                    "memberName": "encodeWithSignature",
                                                    "nodeType": "MemberAccess",
                                                    "src": "1753:23:62",
                                                    "typeDescriptions": {
                                                        "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$",
                                                        "typeString": "function (string memory) pure returns (bytes memory)"
                                                    }
                                                },
                                                "id": 13041,
                                                "isConstant": false,
                                                "isLValue": false,
                                                "isPure": false,
                                                "kind": "functionCall",
                                                "lValueRequested": false,
                                                "names": [],
                                                "nodeType": "FunctionCall",
                                                "src": "1753:42:62",
                                                "tryCall": false,
                                                "typeDescriptions": {
                                                    "typeIdentifier": "t_bytes_memory_ptr",
                                                    "typeString": "bytes memory"
                                                }
                                            }
                                        ],
                                        "expression": {
                                            "argumentTypes": [
                                                {
                                                    "typeIdentifier": "t_bytes_memory_ptr",
                                                    "typeString": "bytes memory"
                                                }
                                            ],
                                            "id": 13036,
                                            "name": "_sendLogPayload",
                                            "nodeType": "Identifier",
                                            "overloadedDeclarations": [],
                                            "referencedDeclaration": 12880,
                                            "src": "1737:15:62",
                                            "typeDescriptions": {
                                                "typeIdentifier": "t_function_internal_view$_t_bytes_memory_ptr_$returns$__$",
                                                "typeString": "function (bytes memory) view"
                                            }
                                        },
                                        "id": 13042,
                                        "isConstant": false,
                                        "isLValue": false,
                                        "isPure": false,
                                        "kind": "functionCall",
                                        "lValueRequested": false,
                                        "names": [],
                                        "nodeType": "FunctionCall",
                                        "src": "1737:59:62",
                                        "tryCall": false,
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_tuple$__$",
                                            "typeString": "tuple()"
                                        }
                                    },
                                    "id": 13043,
                                    "nodeType": "ExpressionStatement",
                                    "src": "1737:59:62"
                                }
                            ]
                        },
                        "id": 13045,
                        "implemented": true,
                        "kind": "function",
                        "modifiers": [],
                        "name": "logBytes5",
                        "nameLocation": "1698:9:62",
                        "nodeType": "FunctionDefinition",
                        "parameters": {
                            "id": 13034,
                            "nodeType": "ParameterList",
                            "parameters": [
                                {
                                    "constant": false,
                                    "id": 13033,
                                    "mutability": "mutable",
                                    "name": "p0",
                                    "nameLocation": "1715:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 13045,
                                    "src": "1708:9:62",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_bytes5",
                                        "typeString": "bytes5"
                                    },
                                    "typeName": {
                                        "id": 13032,
                                        "name": "bytes5",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "1708:6:62",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_bytes5",
                                            "typeString": "bytes5"
                                        }
                                    },
                                    "visibility": "internal"
                                }
                            ],
                            "src": "1707:11:62"
                        },
                        "returnParameters": {
                            "id": 13035,
                            "nodeType": "ParameterList",
                            "parameters": [],
                            "src": "1733:0:62"
                        },
                        "scope": 20920,
                        "src": "1689:111:62",
                        "stateMutability": "view",
                        "virtual": false,
                        "visibility": "internal"
                    },
                    {
                        "body": {
                            "id": 13058,
                            "nodeType": "Block",
                            "src": "1847:67:62",
                            "statements": [
                                {
                                    "expression": {
                                        "arguments": [
                                            {
                                                "arguments": [
                                                    {
                                                        "hexValue": "6c6f672862797465733629",
                                                        "id": 13053,
                                                        "isConstant": false,
                                                        "isLValue": false,
                                                        "isPure": true,
                                                        "kind": "string",
                                                        "lValueRequested": false,
                                                        "nodeType": "Literal",
                                                        "src": "1891:13:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_stringliteral_ae84a5910824668818be6031303edf0f6f3694b35d5e6f9683950d57ef12d330",
                                                            "typeString": "literal_string \"log(bytes6)\""
                                                        },
                                                        "value": "log(bytes6)"
                                                    },
                                                    {
                                                        "id": 13054,
                                                        "name": "p0",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 13047,
                                                        "src": "1906:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_bytes6",
                                                            "typeString": "bytes6"
                                                        }
                                                    }
                                                ],
                                                "expression": {
                                                    "argumentTypes": [
                                                        {
                                                            "typeIdentifier": "t_stringliteral_ae84a5910824668818be6031303edf0f6f3694b35d5e6f9683950d57ef12d330",
                                                            "typeString": "literal_string \"log(bytes6)\""
                                                        },
                                                        {
                                                            "typeIdentifier": "t_bytes6",
                                                            "typeString": "bytes6"
                                                        }
                                                    ],
                                                    "expression": {
                                                        "id": 13051,
                                                        "name": "abi",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 4294967295,
                                                        "src": "1867:3:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_magic_abi",
                                                            "typeString": "abi"
                                                        }
                                                    },
                                                    "id": 13052,
                                                    "isConstant": false,
                                                    "isLValue": false,
                                                    "isPure": true,
                                                    "lValueRequested": false,
                                                    "memberName": "encodeWithSignature",
                                                    "nodeType": "MemberAccess",
                                                    "src": "1867:23:62",
                                                    "typeDescriptions": {
                                                        "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$",
                                                        "typeString": "function (string memory) pure returns (bytes memory)"
                                                    }
                                                },
                                                "id": 13055,
                                                "isConstant": false,
                                                "isLValue": false,
                                                "isPure": false,
                                                "kind": "functionCall",
                                                "lValueRequested": false,
                                                "names": [],
                                                "nodeType": "FunctionCall",
                                                "src": "1867:42:62",
                                                "tryCall": false,
                                                "typeDescriptions": {
                                                    "typeIdentifier": "t_bytes_memory_ptr",
                                                    "typeString": "bytes memory"
                                                }
                                            }
                                        ],
                                        "expression": {
                                            "argumentTypes": [
                                                {
                                                    "typeIdentifier": "t_bytes_memory_ptr",
                                                    "typeString": "bytes memory"
                                                }
                                            ],
                                            "id": 13050,
                                            "name": "_sendLogPayload",
                                            "nodeType": "Identifier",
                                            "overloadedDeclarations": [],
                                            "referencedDeclaration": 12880,
                                            "src": "1851:15:62",
                                            "typeDescriptions": {
                                                "typeIdentifier": "t_function_internal_view$_t_bytes_memory_ptr_$returns$__$",
                                                "typeString": "function (bytes memory) view"
                                            }
                                        },
                                        "id": 13056,
                                        "isConstant": false,
                                        "isLValue": false,
                                        "isPure": false,
                                        "kind": "functionCall",
                                        "lValueRequested": false,
                                        "names": [],
                                        "nodeType": "FunctionCall",
                                        "src": "1851:59:62",
                                        "tryCall": false,
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_tuple$__$",
                                            "typeString": "tuple()"
                                        }
                                    },
                                    "id": 13057,
                                    "nodeType": "ExpressionStatement",
                                    "src": "1851:59:62"
                                }
                            ]
                        },
                        "id": 13059,
                        "implemented": true,
                        "kind": "function",
                        "modifiers": [],
                        "name": "logBytes6",
                        "nameLocation": "1812:9:62",
                        "nodeType": "FunctionDefinition",
                        "parameters": {
                            "id": 13048,
                            "nodeType": "ParameterList",
                            "parameters": [
                                {
                                    "constant": false,
                                    "id": 13047,
                                    "mutability": "mutable",
                                    "name": "p0",
                                    "nameLocation": "1829:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 13059,
                                    "src": "1822:9:62",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_bytes6",
                                        "typeString": "bytes6"
                                    },
                                    "typeName": {
                                        "id": 13046,
                                        "name": "bytes6",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "1822:6:62",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_bytes6",
                                            "typeString": "bytes6"
                                        }
                                    },
                                    "visibility": "internal"
                                }
                            ],
                            "src": "1821:11:62"
                        },
                        "returnParameters": {
                            "id": 13049,
                            "nodeType": "ParameterList",
                            "parameters": [],
                            "src": "1847:0:62"
                        },
                        "scope": 20920,
                        "src": "1803:111:62",
                        "stateMutability": "view",
                        "virtual": false,
                        "visibility": "internal"
                    },
                    {
                        "body": {
                            "id": 13072,
                            "nodeType": "Block",
                            "src": "1961:67:62",
                            "statements": [
                                {
                                    "expression": {
                                        "arguments": [
                                            {
                                                "arguments": [
                                                    {
                                                        "hexValue": "6c6f672862797465733729",
                                                        "id": 13067,
                                                        "isConstant": false,
                                                        "isLValue": false,
                                                        "isPure": true,
                                                        "kind": "string",
                                                        "lValueRequested": false,
                                                        "nodeType": "Literal",
                                                        "src": "2005:13:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_stringliteral_4ed57e28813457436949e4ec0a834b3c8262cd6cebd21953ee0da3400ce2de29",
                                                            "typeString": "literal_string \"log(bytes7)\""
                                                        },
                                                        "value": "log(bytes7)"
                                                    },
                                                    {
                                                        "id": 13068,
                                                        "name": "p0",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 13061,
                                                        "src": "2020:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_bytes7",
                                                            "typeString": "bytes7"
                                                        }
                                                    }
                                                ],
                                                "expression": {
                                                    "argumentTypes": [
                                                        {
                                                            "typeIdentifier": "t_stringliteral_4ed57e28813457436949e4ec0a834b3c8262cd6cebd21953ee0da3400ce2de29",
                                                            "typeString": "literal_string \"log(bytes7)\""
                                                        },
                                                        {
                                                            "typeIdentifier": "t_bytes7",
                                                            "typeString": "bytes7"
                                                        }
                                                    ],
                                                    "expression": {
                                                        "id": 13065,
                                                        "name": "abi",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 4294967295,
                                                        "src": "1981:3:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_magic_abi",
                                                            "typeString": "abi"
                                                        }
                                                    },
                                                    "id": 13066,
                                                    "isConstant": false,
                                                    "isLValue": false,
                                                    "isPure": true,
                                                    "lValueRequested": false,
                                                    "memberName": "encodeWithSignature",
                                                    "nodeType": "MemberAccess",
                                                    "src": "1981:23:62",
                                                    "typeDescriptions": {
                                                        "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$",
                                                        "typeString": "function (string memory) pure returns (bytes memory)"
                                                    }
                                                },
                                                "id": 13069,
                                                "isConstant": false,
                                                "isLValue": false,
                                                "isPure": false,
                                                "kind": "functionCall",
                                                "lValueRequested": false,
                                                "names": [],
                                                "nodeType": "FunctionCall",
                                                "src": "1981:42:62",
                                                "tryCall": false,
                                                "typeDescriptions": {
                                                    "typeIdentifier": "t_bytes_memory_ptr",
                                                    "typeString": "bytes memory"
                                                }
                                            }
                                        ],
                                        "expression": {
                                            "argumentTypes": [
                                                {
                                                    "typeIdentifier": "t_bytes_memory_ptr",
                                                    "typeString": "bytes memory"
                                                }
                                            ],
                                            "id": 13064,
                                            "name": "_sendLogPayload",
                                            "nodeType": "Identifier",
                                            "overloadedDeclarations": [],
                                            "referencedDeclaration": 12880,
                                            "src": "1965:15:62",
                                            "typeDescriptions": {
                                                "typeIdentifier": "t_function_internal_view$_t_bytes_memory_ptr_$returns$__$",
                                                "typeString": "function (bytes memory) view"
                                            }
                                        },
                                        "id": 13070,
                                        "isConstant": false,
                                        "isLValue": false,
                                        "isPure": false,
                                        "kind": "functionCall",
                                        "lValueRequested": false,
                                        "names": [],
                                        "nodeType": "FunctionCall",
                                        "src": "1965:59:62",
                                        "tryCall": false,
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_tuple$__$",
                                            "typeString": "tuple()"
                                        }
                                    },
                                    "id": 13071,
                                    "nodeType": "ExpressionStatement",
                                    "src": "1965:59:62"
                                }
                            ]
                        },
                        "id": 13073,
                        "implemented": true,
                        "kind": "function",
                        "modifiers": [],
                        "name": "logBytes7",
                        "nameLocation": "1926:9:62",
                        "nodeType": "FunctionDefinition",
                        "parameters": {
                            "id": 13062,
                            "nodeType": "ParameterList",
                            "parameters": [
                                {
                                    "constant": false,
                                    "id": 13061,
                                    "mutability": "mutable",
                                    "name": "p0",
                                    "nameLocation": "1943:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 13073,
                                    "src": "1936:9:62",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_bytes7",
                                        "typeString": "bytes7"
                                    },
                                    "typeName": {
                                        "id": 13060,
                                        "name": "bytes7",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "1936:6:62",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_bytes7",
                                            "typeString": "bytes7"
                                        }
                                    },
                                    "visibility": "internal"
                                }
                            ],
                            "src": "1935:11:62"
                        },
                        "returnParameters": {
                            "id": 13063,
                            "nodeType": "ParameterList",
                            "parameters": [],
                            "src": "1961:0:62"
                        },
                        "scope": 20920,
                        "src": "1917:111:62",
                        "stateMutability": "view",
                        "virtual": false,
                        "visibility": "internal"
                    },
                    {
                        "body": {
                            "id": 13086,
                            "nodeType": "Block",
                            "src": "2075:67:62",
                            "statements": [
                                {
                                    "expression": {
                                        "arguments": [
                                            {
                                                "arguments": [
                                                    {
                                                        "hexValue": "6c6f672862797465733829",
                                                        "id": 13081,
                                                        "isConstant": false,
                                                        "isLValue": false,
                                                        "isPure": true,
                                                        "kind": "string",
                                                        "lValueRequested": false,
                                                        "nodeType": "Literal",
                                                        "src": "2119:13:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_stringliteral_4f84252e5b28e1a0064346c7cd13650e2dd6020728ca468281bb2a28b42654b3",
                                                            "typeString": "literal_string \"log(bytes8)\""
                                                        },
                                                        "value": "log(bytes8)"
                                                    },
                                                    {
                                                        "id": 13082,
                                                        "name": "p0",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 13075,
                                                        "src": "2134:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_bytes8",
                                                            "typeString": "bytes8"
                                                        }
                                                    }
                                                ],
                                                "expression": {
                                                    "argumentTypes": [
                                                        {
                                                            "typeIdentifier": "t_stringliteral_4f84252e5b28e1a0064346c7cd13650e2dd6020728ca468281bb2a28b42654b3",
                                                            "typeString": "literal_string \"log(bytes8)\""
                                                        },
                                                        {
                                                            "typeIdentifier": "t_bytes8",
                                                            "typeString": "bytes8"
                                                        }
                                                    ],
                                                    "expression": {
                                                        "id": 13079,
                                                        "name": "abi",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 4294967295,
                                                        "src": "2095:3:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_magic_abi",
                                                            "typeString": "abi"
                                                        }
                                                    },
                                                    "id": 13080,
                                                    "isConstant": false,
                                                    "isLValue": false,
                                                    "isPure": true,
                                                    "lValueRequested": false,
                                                    "memberName": "encodeWithSignature",
                                                    "nodeType": "MemberAccess",
                                                    "src": "2095:23:62",
                                                    "typeDescriptions": {
                                                        "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$",
                                                        "typeString": "function (string memory) pure returns (bytes memory)"
                                                    }
                                                },
                                                "id": 13083,
                                                "isConstant": false,
                                                "isLValue": false,
                                                "isPure": false,
                                                "kind": "functionCall",
                                                "lValueRequested": false,
                                                "names": [],
                                                "nodeType": "FunctionCall",
                                                "src": "2095:42:62",
                                                "tryCall": false,
                                                "typeDescriptions": {
                                                    "typeIdentifier": "t_bytes_memory_ptr",
                                                    "typeString": "bytes memory"
                                                }
                                            }
                                        ],
                                        "expression": {
                                            "argumentTypes": [
                                                {
                                                    "typeIdentifier": "t_bytes_memory_ptr",
                                                    "typeString": "bytes memory"
                                                }
                                            ],
                                            "id": 13078,
                                            "name": "_sendLogPayload",
                                            "nodeType": "Identifier",
                                            "overloadedDeclarations": [],
                                            "referencedDeclaration": 12880,
                                            "src": "2079:15:62",
                                            "typeDescriptions": {
                                                "typeIdentifier": "t_function_internal_view$_t_bytes_memory_ptr_$returns$__$",
                                                "typeString": "function (bytes memory) view"
                                            }
                                        },
                                        "id": 13084,
                                        "isConstant": false,
                                        "isLValue": false,
                                        "isPure": false,
                                        "kind": "functionCall",
                                        "lValueRequested": false,
                                        "names": [],
                                        "nodeType": "FunctionCall",
                                        "src": "2079:59:62",
                                        "tryCall": false,
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_tuple$__$",
                                            "typeString": "tuple()"
                                        }
                                    },
                                    "id": 13085,
                                    "nodeType": "ExpressionStatement",
                                    "src": "2079:59:62"
                                }
                            ]
                        },
                        "id": 13087,
                        "implemented": true,
                        "kind": "function",
                        "modifiers": [],
                        "name": "logBytes8",
                        "nameLocation": "2040:9:62",
                        "nodeType": "FunctionDefinition",
                        "parameters": {
                            "id": 13076,
                            "nodeType": "ParameterList",
                            "parameters": [
                                {
                                    "constant": false,
                                    "id": 13075,
                                    "mutability": "mutable",
                                    "name": "p0",
                                    "nameLocation": "2057:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 13087,
                                    "src": "2050:9:62",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_bytes8",
                                        "typeString": "bytes8"
                                    },
                                    "typeName": {
                                        "id": 13074,
                                        "name": "bytes8",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "2050:6:62",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_bytes8",
                                            "typeString": "bytes8"
                                        }
                                    },
                                    "visibility": "internal"
                                }
                            ],
                            "src": "2049:11:62"
                        },
                        "returnParameters": {
                            "id": 13077,
                            "nodeType": "ParameterList",
                            "parameters": [],
                            "src": "2075:0:62"
                        },
                        "scope": 20920,
                        "src": "2031:111:62",
                        "stateMutability": "view",
                        "virtual": false,
                        "visibility": "internal"
                    },
                    {
                        "body": {
                            "id": 13100,
                            "nodeType": "Block",
                            "src": "2189:67:62",
                            "statements": [
                                {
                                    "expression": {
                                        "arguments": [
                                            {
                                                "arguments": [
                                                    {
                                                        "hexValue": "6c6f672862797465733929",
                                                        "id": 13095,
                                                        "isConstant": false,
                                                        "isLValue": false,
                                                        "isPure": true,
                                                        "kind": "string",
                                                        "lValueRequested": false,
                                                        "nodeType": "Literal",
                                                        "src": "2233:13:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_stringliteral_90bd8cd0463fe91d31e59db57ee4cf8d778374c422b4b50e841266d9c2cc6667",
                                                            "typeString": "literal_string \"log(bytes9)\""
                                                        },
                                                        "value": "log(bytes9)"
                                                    },
                                                    {
                                                        "id": 13096,
                                                        "name": "p0",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 13089,
                                                        "src": "2248:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_bytes9",
                                                            "typeString": "bytes9"
                                                        }
                                                    }
                                                ],
                                                "expression": {
                                                    "argumentTypes": [
                                                        {
                                                            "typeIdentifier": "t_stringliteral_90bd8cd0463fe91d31e59db57ee4cf8d778374c422b4b50e841266d9c2cc6667",
                                                            "typeString": "literal_string \"log(bytes9)\""
                                                        },
                                                        {
                                                            "typeIdentifier": "t_bytes9",
                                                            "typeString": "bytes9"
                                                        }
                                                    ],
                                                    "expression": {
                                                        "id": 13093,
                                                        "name": "abi",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 4294967295,
                                                        "src": "2209:3:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_magic_abi",
                                                            "typeString": "abi"
                                                        }
                                                    },
                                                    "id": 13094,
                                                    "isConstant": false,
                                                    "isLValue": false,
                                                    "isPure": true,
                                                    "lValueRequested": false,
                                                    "memberName": "encodeWithSignature",
                                                    "nodeType": "MemberAccess",
                                                    "src": "2209:23:62",
                                                    "typeDescriptions": {
                                                        "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$",
                                                        "typeString": "function (string memory) pure returns (bytes memory)"
                                                    }
                                                },
                                                "id": 13097,
                                                "isConstant": false,
                                                "isLValue": false,
                                                "isPure": false,
                                                "kind": "functionCall",
                                                "lValueRequested": false,
                                                "names": [],
                                                "nodeType": "FunctionCall",
                                                "src": "2209:42:62",
                                                "tryCall": false,
                                                "typeDescriptions": {
                                                    "typeIdentifier": "t_bytes_memory_ptr",
                                                    "typeString": "bytes memory"
                                                }
                                            }
                                        ],
                                        "expression": {
                                            "argumentTypes": [
                                                {
                                                    "typeIdentifier": "t_bytes_memory_ptr",
                                                    "typeString": "bytes memory"
                                                }
                                            ],
                                            "id": 13092,
                                            "name": "_sendLogPayload",
                                            "nodeType": "Identifier",
                                            "overloadedDeclarations": [],
                                            "referencedDeclaration": 12880,
                                            "src": "2193:15:62",
                                            "typeDescriptions": {
                                                "typeIdentifier": "t_function_internal_view$_t_bytes_memory_ptr_$returns$__$",
                                                "typeString": "function (bytes memory) view"
                                            }
                                        },
                                        "id": 13098,
                                        "isConstant": false,
                                        "isLValue": false,
                                        "isPure": false,
                                        "kind": "functionCall",
                                        "lValueRequested": false,
                                        "names": [],
                                        "nodeType": "FunctionCall",
                                        "src": "2193:59:62",
                                        "tryCall": false,
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_tuple$__$",
                                            "typeString": "tuple()"
                                        }
                                    },
                                    "id": 13099,
                                    "nodeType": "ExpressionStatement",
                                    "src": "2193:59:62"
                                }
                            ]
                        },
                        "id": 13101,
                        "implemented": true,
                        "kind": "function",
                        "modifiers": [],
                        "name": "logBytes9",
                        "nameLocation": "2154:9:62",
                        "nodeType": "FunctionDefinition",
                        "parameters": {
                            "id": 13090,
                            "nodeType": "ParameterList",
                            "parameters": [
                                {
                                    "constant": false,
                                    "id": 13089,
                                    "mutability": "mutable",
                                    "name": "p0",
                                    "nameLocation": "2171:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 13101,
                                    "src": "2164:9:62",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_bytes9",
                                        "typeString": "bytes9"
                                    },
                                    "typeName": {
                                        "id": 13088,
                                        "name": "bytes9",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "2164:6:62",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_bytes9",
                                            "typeString": "bytes9"
                                        }
                                    },
                                    "visibility": "internal"
                                }
                            ],
                            "src": "2163:11:62"
                        },
                        "returnParameters": {
                            "id": 13091,
                            "nodeType": "ParameterList",
                            "parameters": [],
                            "src": "2189:0:62"
                        },
                        "scope": 20920,
                        "src": "2145:111:62",
                        "stateMutability": "view",
                        "virtual": false,
                        "visibility": "internal"
                    },
                    {
                        "body": {
                            "id": 13114,
                            "nodeType": "Block",
                            "src": "2305:68:62",
                            "statements": [
                                {
                                    "expression": {
                                        "arguments": [
                                            {
                                                "arguments": [
                                                    {
                                                        "hexValue": "6c6f67286279746573313029",
                                                        "id": 13109,
                                                        "isConstant": false,
                                                        "isLValue": false,
                                                        "isPure": true,
                                                        "kind": "string",
                                                        "lValueRequested": false,
                                                        "nodeType": "Literal",
                                                        "src": "2349:14:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_stringliteral_013d178bb749cf32d0f7243763667360eb91576261efe5ed9be72b4a2800fd66",
                                                            "typeString": "literal_string \"log(bytes10)\""
                                                        },
                                                        "value": "log(bytes10)"
                                                    },
                                                    {
                                                        "id": 13110,
                                                        "name": "p0",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 13103,
                                                        "src": "2365:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_bytes10",
                                                            "typeString": "bytes10"
                                                        }
                                                    }
                                                ],
                                                "expression": {
                                                    "argumentTypes": [
                                                        {
                                                            "typeIdentifier": "t_stringliteral_013d178bb749cf32d0f7243763667360eb91576261efe5ed9be72b4a2800fd66",
                                                            "typeString": "literal_string \"log(bytes10)\""
                                                        },
                                                        {
                                                            "typeIdentifier": "t_bytes10",
                                                            "typeString": "bytes10"
                                                        }
                                                    ],
                                                    "expression": {
                                                        "id": 13107,
                                                        "name": "abi",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 4294967295,
                                                        "src": "2325:3:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_magic_abi",
                                                            "typeString": "abi"
                                                        }
                                                    },
                                                    "id": 13108,
                                                    "isConstant": false,
                                                    "isLValue": false,
                                                    "isPure": true,
                                                    "lValueRequested": false,
                                                    "memberName": "encodeWithSignature",
                                                    "nodeType": "MemberAccess",
                                                    "src": "2325:23:62",
                                                    "typeDescriptions": {
                                                        "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$",
                                                        "typeString": "function (string memory) pure returns (bytes memory)"
                                                    }
                                                },
                                                "id": 13111,
                                                "isConstant": false,
                                                "isLValue": false,
                                                "isPure": false,
                                                "kind": "functionCall",
                                                "lValueRequested": false,
                                                "names": [],
                                                "nodeType": "FunctionCall",
                                                "src": "2325:43:62",
                                                "tryCall": false,
                                                "typeDescriptions": {
                                                    "typeIdentifier": "t_bytes_memory_ptr",
                                                    "typeString": "bytes memory"
                                                }
                                            }
                                        ],
                                        "expression": {
                                            "argumentTypes": [
                                                {
                                                    "typeIdentifier": "t_bytes_memory_ptr",
                                                    "typeString": "bytes memory"
                                                }
                                            ],
                                            "id": 13106,
                                            "name": "_sendLogPayload",
                                            "nodeType": "Identifier",
                                            "overloadedDeclarations": [],
                                            "referencedDeclaration": 12880,
                                            "src": "2309:15:62",
                                            "typeDescriptions": {
                                                "typeIdentifier": "t_function_internal_view$_t_bytes_memory_ptr_$returns$__$",
                                                "typeString": "function (bytes memory) view"
                                            }
                                        },
                                        "id": 13112,
                                        "isConstant": false,
                                        "isLValue": false,
                                        "isPure": false,
                                        "kind": "functionCall",
                                        "lValueRequested": false,
                                        "names": [],
                                        "nodeType": "FunctionCall",
                                        "src": "2309:60:62",
                                        "tryCall": false,
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_tuple$__$",
                                            "typeString": "tuple()"
                                        }
                                    },
                                    "id": 13113,
                                    "nodeType": "ExpressionStatement",
                                    "src": "2309:60:62"
                                }
                            ]
                        },
                        "id": 13115,
                        "implemented": true,
                        "kind": "function",
                        "modifiers": [],
                        "name": "logBytes10",
                        "nameLocation": "2268:10:62",
                        "nodeType": "FunctionDefinition",
                        "parameters": {
                            "id": 13104,
                            "nodeType": "ParameterList",
                            "parameters": [
                                {
                                    "constant": false,
                                    "id": 13103,
                                    "mutability": "mutable",
                                    "name": "p0",
                                    "nameLocation": "2287:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 13115,
                                    "src": "2279:10:62",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_bytes10",
                                        "typeString": "bytes10"
                                    },
                                    "typeName": {
                                        "id": 13102,
                                        "name": "bytes10",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "2279:7:62",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_bytes10",
                                            "typeString": "bytes10"
                                        }
                                    },
                                    "visibility": "internal"
                                }
                            ],
                            "src": "2278:12:62"
                        },
                        "returnParameters": {
                            "id": 13105,
                            "nodeType": "ParameterList",
                            "parameters": [],
                            "src": "2305:0:62"
                        },
                        "scope": 20920,
                        "src": "2259:114:62",
                        "stateMutability": "view",
                        "virtual": false,
                        "visibility": "internal"
                    },
                    {
                        "body": {
                            "id": 13128,
                            "nodeType": "Block",
                            "src": "2422:68:62",
                            "statements": [
                                {
                                    "expression": {
                                        "arguments": [
                                            {
                                                "arguments": [
                                                    {
                                                        "hexValue": "6c6f67286279746573313129",
                                                        "id": 13123,
                                                        "isConstant": false,
                                                        "isLValue": false,
                                                        "isPure": true,
                                                        "kind": "string",
                                                        "lValueRequested": false,
                                                        "nodeType": "Literal",
                                                        "src": "2466:14:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_stringliteral_04004a2e5bef8ca2e7ffd661b519aec3d9c1b8d0aa1e11656aab73b2726922d9",
                                                            "typeString": "literal_string \"log(bytes11)\""
                                                        },
                                                        "value": "log(bytes11)"
                                                    },
                                                    {
                                                        "id": 13124,
                                                        "name": "p0",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 13117,
                                                        "src": "2482:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_bytes11",
                                                            "typeString": "bytes11"
                                                        }
                                                    }
                                                ],
                                                "expression": {
                                                    "argumentTypes": [
                                                        {
                                                            "typeIdentifier": "t_stringliteral_04004a2e5bef8ca2e7ffd661b519aec3d9c1b8d0aa1e11656aab73b2726922d9",
                                                            "typeString": "literal_string \"log(bytes11)\""
                                                        },
                                                        {
                                                            "typeIdentifier": "t_bytes11",
                                                            "typeString": "bytes11"
                                                        }
                                                    ],
                                                    "expression": {
                                                        "id": 13121,
                                                        "name": "abi",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 4294967295,
                                                        "src": "2442:3:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_magic_abi",
                                                            "typeString": "abi"
                                                        }
                                                    },
                                                    "id": 13122,
                                                    "isConstant": false,
                                                    "isLValue": false,
                                                    "isPure": true,
                                                    "lValueRequested": false,
                                                    "memberName": "encodeWithSignature",
                                                    "nodeType": "MemberAccess",
                                                    "src": "2442:23:62",
                                                    "typeDescriptions": {
                                                        "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$",
                                                        "typeString": "function (string memory) pure returns (bytes memory)"
                                                    }
                                                },
                                                "id": 13125,
                                                "isConstant": false,
                                                "isLValue": false,
                                                "isPure": false,
                                                "kind": "functionCall",
                                                "lValueRequested": false,
                                                "names": [],
                                                "nodeType": "FunctionCall",
                                                "src": "2442:43:62",
                                                "tryCall": false,
                                                "typeDescriptions": {
                                                    "typeIdentifier": "t_bytes_memory_ptr",
                                                    "typeString": "bytes memory"
                                                }
                                            }
                                        ],
                                        "expression": {
                                            "argumentTypes": [
                                                {
                                                    "typeIdentifier": "t_bytes_memory_ptr",
                                                    "typeString": "bytes memory"
                                                }
                                            ],
                                            "id": 13120,
                                            "name": "_sendLogPayload",
                                            "nodeType": "Identifier",
                                            "overloadedDeclarations": [],
                                            "referencedDeclaration": 12880,
                                            "src": "2426:15:62",
                                            "typeDescriptions": {
                                                "typeIdentifier": "t_function_internal_view$_t_bytes_memory_ptr_$returns$__$",
                                                "typeString": "function (bytes memory) view"
                                            }
                                        },
                                        "id": 13126,
                                        "isConstant": false,
                                        "isLValue": false,
                                        "isPure": false,
                                        "kind": "functionCall",
                                        "lValueRequested": false,
                                        "names": [],
                                        "nodeType": "FunctionCall",
                                        "src": "2426:60:62",
                                        "tryCall": false,
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_tuple$__$",
                                            "typeString": "tuple()"
                                        }
                                    },
                                    "id": 13127,
                                    "nodeType": "ExpressionStatement",
                                    "src": "2426:60:62"
                                }
                            ]
                        },
                        "id": 13129,
                        "implemented": true,
                        "kind": "function",
                        "modifiers": [],
                        "name": "logBytes11",
                        "nameLocation": "2385:10:62",
                        "nodeType": "FunctionDefinition",
                        "parameters": {
                            "id": 13118,
                            "nodeType": "ParameterList",
                            "parameters": [
                                {
                                    "constant": false,
                                    "id": 13117,
                                    "mutability": "mutable",
                                    "name": "p0",
                                    "nameLocation": "2404:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 13129,
                                    "src": "2396:10:62",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_bytes11",
                                        "typeString": "bytes11"
                                    },
                                    "typeName": {
                                        "id": 13116,
                                        "name": "bytes11",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "2396:7:62",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_bytes11",
                                            "typeString": "bytes11"
                                        }
                                    },
                                    "visibility": "internal"
                                }
                            ],
                            "src": "2395:12:62"
                        },
                        "returnParameters": {
                            "id": 13119,
                            "nodeType": "ParameterList",
                            "parameters": [],
                            "src": "2422:0:62"
                        },
                        "scope": 20920,
                        "src": "2376:114:62",
                        "stateMutability": "view",
                        "virtual": false,
                        "visibility": "internal"
                    },
                    {
                        "body": {
                            "id": 13142,
                            "nodeType": "Block",
                            "src": "2539:68:62",
                            "statements": [
                                {
                                    "expression": {
                                        "arguments": [
                                            {
                                                "arguments": [
                                                    {
                                                        "hexValue": "6c6f67286279746573313229",
                                                        "id": 13137,
                                                        "isConstant": false,
                                                        "isLValue": false,
                                                        "isPure": true,
                                                        "kind": "string",
                                                        "lValueRequested": false,
                                                        "nodeType": "Literal",
                                                        "src": "2583:14:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_stringliteral_86a06abd704b9e5bab2216d456863046355f2def5304d8276c140d0d454fddf2",
                                                            "typeString": "literal_string \"log(bytes12)\""
                                                        },
                                                        "value": "log(bytes12)"
                                                    },
                                                    {
                                                        "id": 13138,
                                                        "name": "p0",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 13131,
                                                        "src": "2599:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_bytes12",
                                                            "typeString": "bytes12"
                                                        }
                                                    }
                                                ],
                                                "expression": {
                                                    "argumentTypes": [
                                                        {
                                                            "typeIdentifier": "t_stringliteral_86a06abd704b9e5bab2216d456863046355f2def5304d8276c140d0d454fddf2",
                                                            "typeString": "literal_string \"log(bytes12)\""
                                                        },
                                                        {
                                                            "typeIdentifier": "t_bytes12",
                                                            "typeString": "bytes12"
                                                        }
                                                    ],
                                                    "expression": {
                                                        "id": 13135,
                                                        "name": "abi",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 4294967295,
                                                        "src": "2559:3:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_magic_abi",
                                                            "typeString": "abi"
                                                        }
                                                    },
                                                    "id": 13136,
                                                    "isConstant": false,
                                                    "isLValue": false,
                                                    "isPure": true,
                                                    "lValueRequested": false,
                                                    "memberName": "encodeWithSignature",
                                                    "nodeType": "MemberAccess",
                                                    "src": "2559:23:62",
                                                    "typeDescriptions": {
                                                        "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$",
                                                        "typeString": "function (string memory) pure returns (bytes memory)"
                                                    }
                                                },
                                                "id": 13139,
                                                "isConstant": false,
                                                "isLValue": false,
                                                "isPure": false,
                                                "kind": "functionCall",
                                                "lValueRequested": false,
                                                "names": [],
                                                "nodeType": "FunctionCall",
                                                "src": "2559:43:62",
                                                "tryCall": false,
                                                "typeDescriptions": {
                                                    "typeIdentifier": "t_bytes_memory_ptr",
                                                    "typeString": "bytes memory"
                                                }
                                            }
                                        ],
                                        "expression": {
                                            "argumentTypes": [
                                                {
                                                    "typeIdentifier": "t_bytes_memory_ptr",
                                                    "typeString": "bytes memory"
                                                }
                                            ],
                                            "id": 13134,
                                            "name": "_sendLogPayload",
                                            "nodeType": "Identifier",
                                            "overloadedDeclarations": [],
                                            "referencedDeclaration": 12880,
                                            "src": "2543:15:62",
                                            "typeDescriptions": {
                                                "typeIdentifier": "t_function_internal_view$_t_bytes_memory_ptr_$returns$__$",
                                                "typeString": "function (bytes memory) view"
                                            }
                                        },
                                        "id": 13140,
                                        "isConstant": false,
                                        "isLValue": false,
                                        "isPure": false,
                                        "kind": "functionCall",
                                        "lValueRequested": false,
                                        "names": [],
                                        "nodeType": "FunctionCall",
                                        "src": "2543:60:62",
                                        "tryCall": false,
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_tuple$__$",
                                            "typeString": "tuple()"
                                        }
                                    },
                                    "id": 13141,
                                    "nodeType": "ExpressionStatement",
                                    "src": "2543:60:62"
                                }
                            ]
                        },
                        "id": 13143,
                        "implemented": true,
                        "kind": "function",
                        "modifiers": [],
                        "name": "logBytes12",
                        "nameLocation": "2502:10:62",
                        "nodeType": "FunctionDefinition",
                        "parameters": {
                            "id": 13132,
                            "nodeType": "ParameterList",
                            "parameters": [
                                {
                                    "constant": false,
                                    "id": 13131,
                                    "mutability": "mutable",
                                    "name": "p0",
                                    "nameLocation": "2521:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 13143,
                                    "src": "2513:10:62",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_bytes12",
                                        "typeString": "bytes12"
                                    },
                                    "typeName": {
                                        "id": 13130,
                                        "name": "bytes12",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "2513:7:62",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_bytes12",
                                            "typeString": "bytes12"
                                        }
                                    },
                                    "visibility": "internal"
                                }
                            ],
                            "src": "2512:12:62"
                        },
                        "returnParameters": {
                            "id": 13133,
                            "nodeType": "ParameterList",
                            "parameters": [],
                            "src": "2539:0:62"
                        },
                        "scope": 20920,
                        "src": "2493:114:62",
                        "stateMutability": "view",
                        "virtual": false,
                        "visibility": "internal"
                    },
                    {
                        "body": {
                            "id": 13156,
                            "nodeType": "Block",
                            "src": "2656:68:62",
                            "statements": [
                                {
                                    "expression": {
                                        "arguments": [
                                            {
                                                "arguments": [
                                                    {
                                                        "hexValue": "6c6f67286279746573313329",
                                                        "id": 13151,
                                                        "isConstant": false,
                                                        "isLValue": false,
                                                        "isPure": true,
                                                        "kind": "string",
                                                        "lValueRequested": false,
                                                        "nodeType": "Literal",
                                                        "src": "2700:14:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_stringliteral_94529e34a43ac6de2c3a0df402eee6114eb0f2ad065baefde0230cd3cf90e2ec",
                                                            "typeString": "literal_string \"log(bytes13)\""
                                                        },
                                                        "value": "log(bytes13)"
                                                    },
                                                    {
                                                        "id": 13152,
                                                        "name": "p0",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 13145,
                                                        "src": "2716:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_bytes13",
                                                            "typeString": "bytes13"
                                                        }
                                                    }
                                                ],
                                                "expression": {
                                                    "argumentTypes": [
                                                        {
                                                            "typeIdentifier": "t_stringliteral_94529e34a43ac6de2c3a0df402eee6114eb0f2ad065baefde0230cd3cf90e2ec",
                                                            "typeString": "literal_string \"log(bytes13)\""
                                                        },
                                                        {
                                                            "typeIdentifier": "t_bytes13",
                                                            "typeString": "bytes13"
                                                        }
                                                    ],
                                                    "expression": {
                                                        "id": 13149,
                                                        "name": "abi",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 4294967295,
                                                        "src": "2676:3:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_magic_abi",
                                                            "typeString": "abi"
                                                        }
                                                    },
                                                    "id": 13150,
                                                    "isConstant": false,
                                                    "isLValue": false,
                                                    "isPure": true,
                                                    "lValueRequested": false,
                                                    "memberName": "encodeWithSignature",
                                                    "nodeType": "MemberAccess",
                                                    "src": "2676:23:62",
                                                    "typeDescriptions": {
                                                        "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$",
                                                        "typeString": "function (string memory) pure returns (bytes memory)"
                                                    }
                                                },
                                                "id": 13153,
                                                "isConstant": false,
                                                "isLValue": false,
                                                "isPure": false,
                                                "kind": "functionCall",
                                                "lValueRequested": false,
                                                "names": [],
                                                "nodeType": "FunctionCall",
                                                "src": "2676:43:62",
                                                "tryCall": false,
                                                "typeDescriptions": {
                                                    "typeIdentifier": "t_bytes_memory_ptr",
                                                    "typeString": "bytes memory"
                                                }
                                            }
                                        ],
                                        "expression": {
                                            "argumentTypes": [
                                                {
                                                    "typeIdentifier": "t_bytes_memory_ptr",
                                                    "typeString": "bytes memory"
                                                }
                                            ],
                                            "id": 13148,
                                            "name": "_sendLogPayload",
                                            "nodeType": "Identifier",
                                            "overloadedDeclarations": [],
                                            "referencedDeclaration": 12880,
                                            "src": "2660:15:62",
                                            "typeDescriptions": {
                                                "typeIdentifier": "t_function_internal_view$_t_bytes_memory_ptr_$returns$__$",
                                                "typeString": "function (bytes memory) view"
                                            }
                                        },
                                        "id": 13154,
                                        "isConstant": false,
                                        "isLValue": false,
                                        "isPure": false,
                                        "kind": "functionCall",
                                        "lValueRequested": false,
                                        "names": [],
                                        "nodeType": "FunctionCall",
                                        "src": "2660:60:62",
                                        "tryCall": false,
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_tuple$__$",
                                            "typeString": "tuple()"
                                        }
                                    },
                                    "id": 13155,
                                    "nodeType": "ExpressionStatement",
                                    "src": "2660:60:62"
                                }
                            ]
                        },
                        "id": 13157,
                        "implemented": true,
                        "kind": "function",
                        "modifiers": [],
                        "name": "logBytes13",
                        "nameLocation": "2619:10:62",
                        "nodeType": "FunctionDefinition",
                        "parameters": {
                            "id": 13146,
                            "nodeType": "ParameterList",
                            "parameters": [
                                {
                                    "constant": false,
                                    "id": 13145,
                                    "mutability": "mutable",
                                    "name": "p0",
                                    "nameLocation": "2638:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 13157,
                                    "src": "2630:10:62",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_bytes13",
                                        "typeString": "bytes13"
                                    },
                                    "typeName": {
                                        "id": 13144,
                                        "name": "bytes13",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "2630:7:62",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_bytes13",
                                            "typeString": "bytes13"
                                        }
                                    },
                                    "visibility": "internal"
                                }
                            ],
                            "src": "2629:12:62"
                        },
                        "returnParameters": {
                            "id": 13147,
                            "nodeType": "ParameterList",
                            "parameters": [],
                            "src": "2656:0:62"
                        },
                        "scope": 20920,
                        "src": "2610:114:62",
                        "stateMutability": "view",
                        "virtual": false,
                        "visibility": "internal"
                    },
                    {
                        "body": {
                            "id": 13170,
                            "nodeType": "Block",
                            "src": "2773:68:62",
                            "statements": [
                                {
                                    "expression": {
                                        "arguments": [
                                            {
                                                "arguments": [
                                                    {
                                                        "hexValue": "6c6f67286279746573313429",
                                                        "id": 13165,
                                                        "isConstant": false,
                                                        "isLValue": false,
                                                        "isPure": true,
                                                        "kind": "string",
                                                        "lValueRequested": false,
                                                        "nodeType": "Literal",
                                                        "src": "2817:14:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_stringliteral_9266f07faf32c88bbdb01ce418243acbc1c63e15d6e3afa16078186ba711f278",
                                                            "typeString": "literal_string \"log(bytes14)\""
                                                        },
                                                        "value": "log(bytes14)"
                                                    },
                                                    {
                                                        "id": 13166,
                                                        "name": "p0",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 13159,
                                                        "src": "2833:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_bytes14",
                                                            "typeString": "bytes14"
                                                        }
                                                    }
                                                ],
                                                "expression": {
                                                    "argumentTypes": [
                                                        {
                                                            "typeIdentifier": "t_stringliteral_9266f07faf32c88bbdb01ce418243acbc1c63e15d6e3afa16078186ba711f278",
                                                            "typeString": "literal_string \"log(bytes14)\""
                                                        },
                                                        {
                                                            "typeIdentifier": "t_bytes14",
                                                            "typeString": "bytes14"
                                                        }
                                                    ],
                                                    "expression": {
                                                        "id": 13163,
                                                        "name": "abi",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 4294967295,
                                                        "src": "2793:3:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_magic_abi",
                                                            "typeString": "abi"
                                                        }
                                                    },
                                                    "id": 13164,
                                                    "isConstant": false,
                                                    "isLValue": false,
                                                    "isPure": true,
                                                    "lValueRequested": false,
                                                    "memberName": "encodeWithSignature",
                                                    "nodeType": "MemberAccess",
                                                    "src": "2793:23:62",
                                                    "typeDescriptions": {
                                                        "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$",
                                                        "typeString": "function (string memory) pure returns (bytes memory)"
                                                    }
                                                },
                                                "id": 13167,
                                                "isConstant": false,
                                                "isLValue": false,
                                                "isPure": false,
                                                "kind": "functionCall",
                                                "lValueRequested": false,
                                                "names": [],
                                                "nodeType": "FunctionCall",
                                                "src": "2793:43:62",
                                                "tryCall": false,
                                                "typeDescriptions": {
                                                    "typeIdentifier": "t_bytes_memory_ptr",
                                                    "typeString": "bytes memory"
                                                }
                                            }
                                        ],
                                        "expression": {
                                            "argumentTypes": [
                                                {
                                                    "typeIdentifier": "t_bytes_memory_ptr",
                                                    "typeString": "bytes memory"
                                                }
                                            ],
                                            "id": 13162,
                                            "name": "_sendLogPayload",
                                            "nodeType": "Identifier",
                                            "overloadedDeclarations": [],
                                            "referencedDeclaration": 12880,
                                            "src": "2777:15:62",
                                            "typeDescriptions": {
                                                "typeIdentifier": "t_function_internal_view$_t_bytes_memory_ptr_$returns$__$",
                                                "typeString": "function (bytes memory) view"
                                            }
                                        },
                                        "id": 13168,
                                        "isConstant": false,
                                        "isLValue": false,
                                        "isPure": false,
                                        "kind": "functionCall",
                                        "lValueRequested": false,
                                        "names": [],
                                        "nodeType": "FunctionCall",
                                        "src": "2777:60:62",
                                        "tryCall": false,
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_tuple$__$",
                                            "typeString": "tuple()"
                                        }
                                    },
                                    "id": 13169,
                                    "nodeType": "ExpressionStatement",
                                    "src": "2777:60:62"
                                }
                            ]
                        },
                        "id": 13171,
                        "implemented": true,
                        "kind": "function",
                        "modifiers": [],
                        "name": "logBytes14",
                        "nameLocation": "2736:10:62",
                        "nodeType": "FunctionDefinition",
                        "parameters": {
                            "id": 13160,
                            "nodeType": "ParameterList",
                            "parameters": [
                                {
                                    "constant": false,
                                    "id": 13159,
                                    "mutability": "mutable",
                                    "name": "p0",
                                    "nameLocation": "2755:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 13171,
                                    "src": "2747:10:62",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_bytes14",
                                        "typeString": "bytes14"
                                    },
                                    "typeName": {
                                        "id": 13158,
                                        "name": "bytes14",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "2747:7:62",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_bytes14",
                                            "typeString": "bytes14"
                                        }
                                    },
                                    "visibility": "internal"
                                }
                            ],
                            "src": "2746:12:62"
                        },
                        "returnParameters": {
                            "id": 13161,
                            "nodeType": "ParameterList",
                            "parameters": [],
                            "src": "2773:0:62"
                        },
                        "scope": 20920,
                        "src": "2727:114:62",
                        "stateMutability": "view",
                        "virtual": false,
                        "visibility": "internal"
                    },
                    {
                        "body": {
                            "id": 13184,
                            "nodeType": "Block",
                            "src": "2890:68:62",
                            "statements": [
                                {
                                    "expression": {
                                        "arguments": [
                                            {
                                                "arguments": [
                                                    {
                                                        "hexValue": "6c6f67286279746573313529",
                                                        "id": 13179,
                                                        "isConstant": false,
                                                        "isLValue": false,
                                                        "isPure": true,
                                                        "kind": "string",
                                                        "lValueRequested": false,
                                                        "nodeType": "Literal",
                                                        "src": "2934:14:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_stringliteral_da9574e0bf3f23e09c3d85c9f5226065bb36281f2a5d78c7e38f6ffd58919606",
                                                            "typeString": "literal_string \"log(bytes15)\""
                                                        },
                                                        "value": "log(bytes15)"
                                                    },
                                                    {
                                                        "id": 13180,
                                                        "name": "p0",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 13173,
                                                        "src": "2950:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_bytes15",
                                                            "typeString": "bytes15"
                                                        }
                                                    }
                                                ],
                                                "expression": {
                                                    "argumentTypes": [
                                                        {
                                                            "typeIdentifier": "t_stringliteral_da9574e0bf3f23e09c3d85c9f5226065bb36281f2a5d78c7e38f6ffd58919606",
                                                            "typeString": "literal_string \"log(bytes15)\""
                                                        },
                                                        {
                                                            "typeIdentifier": "t_bytes15",
                                                            "typeString": "bytes15"
                                                        }
                                                    ],
                                                    "expression": {
                                                        "id": 13177,
                                                        "name": "abi",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 4294967295,
                                                        "src": "2910:3:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_magic_abi",
                                                            "typeString": "abi"
                                                        }
                                                    },
                                                    "id": 13178,
                                                    "isConstant": false,
                                                    "isLValue": false,
                                                    "isPure": true,
                                                    "lValueRequested": false,
                                                    "memberName": "encodeWithSignature",
                                                    "nodeType": "MemberAccess",
                                                    "src": "2910:23:62",
                                                    "typeDescriptions": {
                                                        "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$",
                                                        "typeString": "function (string memory) pure returns (bytes memory)"
                                                    }
                                                },
                                                "id": 13181,
                                                "isConstant": false,
                                                "isLValue": false,
                                                "isPure": false,
                                                "kind": "functionCall",
                                                "lValueRequested": false,
                                                "names": [],
                                                "nodeType": "FunctionCall",
                                                "src": "2910:43:62",
                                                "tryCall": false,
                                                "typeDescriptions": {
                                                    "typeIdentifier": "t_bytes_memory_ptr",
                                                    "typeString": "bytes memory"
                                                }
                                            }
                                        ],
                                        "expression": {
                                            "argumentTypes": [
                                                {
                                                    "typeIdentifier": "t_bytes_memory_ptr",
                                                    "typeString": "bytes memory"
                                                }
                                            ],
                                            "id": 13176,
                                            "name": "_sendLogPayload",
                                            "nodeType": "Identifier",
                                            "overloadedDeclarations": [],
                                            "referencedDeclaration": 12880,
                                            "src": "2894:15:62",
                                            "typeDescriptions": {
                                                "typeIdentifier": "t_function_internal_view$_t_bytes_memory_ptr_$returns$__$",
                                                "typeString": "function (bytes memory) view"
                                            }
                                        },
                                        "id": 13182,
                                        "isConstant": false,
                                        "isLValue": false,
                                        "isPure": false,
                                        "kind": "functionCall",
                                        "lValueRequested": false,
                                        "names": [],
                                        "nodeType": "FunctionCall",
                                        "src": "2894:60:62",
                                        "tryCall": false,
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_tuple$__$",
                                            "typeString": "tuple()"
                                        }
                                    },
                                    "id": 13183,
                                    "nodeType": "ExpressionStatement",
                                    "src": "2894:60:62"
                                }
                            ]
                        },
                        "id": 13185,
                        "implemented": true,
                        "kind": "function",
                        "modifiers": [],
                        "name": "logBytes15",
                        "nameLocation": "2853:10:62",
                        "nodeType": "FunctionDefinition",
                        "parameters": {
                            "id": 13174,
                            "nodeType": "ParameterList",
                            "parameters": [
                                {
                                    "constant": false,
                                    "id": 13173,
                                    "mutability": "mutable",
                                    "name": "p0",
                                    "nameLocation": "2872:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 13185,
                                    "src": "2864:10:62",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_bytes15",
                                        "typeString": "bytes15"
                                    },
                                    "typeName": {
                                        "id": 13172,
                                        "name": "bytes15",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "2864:7:62",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_bytes15",
                                            "typeString": "bytes15"
                                        }
                                    },
                                    "visibility": "internal"
                                }
                            ],
                            "src": "2863:12:62"
                        },
                        "returnParameters": {
                            "id": 13175,
                            "nodeType": "ParameterList",
                            "parameters": [],
                            "src": "2890:0:62"
                        },
                        "scope": 20920,
                        "src": "2844:114:62",
                        "stateMutability": "view",
                        "virtual": false,
                        "visibility": "internal"
                    },
                    {
                        "body": {
                            "id": 13198,
                            "nodeType": "Block",
                            "src": "3007:68:62",
                            "statements": [
                                {
                                    "expression": {
                                        "arguments": [
                                            {
                                                "arguments": [
                                                    {
                                                        "hexValue": "6c6f67286279746573313629",
                                                        "id": 13193,
                                                        "isConstant": false,
                                                        "isLValue": false,
                                                        "isPure": true,
                                                        "kind": "string",
                                                        "lValueRequested": false,
                                                        "nodeType": "Literal",
                                                        "src": "3051:14:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_stringliteral_665c61046af0adc4969f9d2f111b654775bd58f112b63e5ce7dfff29c000e9f3",
                                                            "typeString": "literal_string \"log(bytes16)\""
                                                        },
                                                        "value": "log(bytes16)"
                                                    },
                                                    {
                                                        "id": 13194,
                                                        "name": "p0",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 13187,
                                                        "src": "3067:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_bytes16",
                                                            "typeString": "bytes16"
                                                        }
                                                    }
                                                ],
                                                "expression": {
                                                    "argumentTypes": [
                                                        {
                                                            "typeIdentifier": "t_stringliteral_665c61046af0adc4969f9d2f111b654775bd58f112b63e5ce7dfff29c000e9f3",
                                                            "typeString": "literal_string \"log(bytes16)\""
                                                        },
                                                        {
                                                            "typeIdentifier": "t_bytes16",
                                                            "typeString": "bytes16"
                                                        }
                                                    ],
                                                    "expression": {
                                                        "id": 13191,
                                                        "name": "abi",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 4294967295,
                                                        "src": "3027:3:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_magic_abi",
                                                            "typeString": "abi"
                                                        }
                                                    },
                                                    "id": 13192,
                                                    "isConstant": false,
                                                    "isLValue": false,
                                                    "isPure": true,
                                                    "lValueRequested": false,
                                                    "memberName": "encodeWithSignature",
                                                    "nodeType": "MemberAccess",
                                                    "src": "3027:23:62",
                                                    "typeDescriptions": {
                                                        "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$",
                                                        "typeString": "function (string memory) pure returns (bytes memory)"
                                                    }
                                                },
                                                "id": 13195,
                                                "isConstant": false,
                                                "isLValue": false,
                                                "isPure": false,
                                                "kind": "functionCall",
                                                "lValueRequested": false,
                                                "names": [],
                                                "nodeType": "FunctionCall",
                                                "src": "3027:43:62",
                                                "tryCall": false,
                                                "typeDescriptions": {
                                                    "typeIdentifier": "t_bytes_memory_ptr",
                                                    "typeString": "bytes memory"
                                                }
                                            }
                                        ],
                                        "expression": {
                                            "argumentTypes": [
                                                {
                                                    "typeIdentifier": "t_bytes_memory_ptr",
                                                    "typeString": "bytes memory"
                                                }
                                            ],
                                            "id": 13190,
                                            "name": "_sendLogPayload",
                                            "nodeType": "Identifier",
                                            "overloadedDeclarations": [],
                                            "referencedDeclaration": 12880,
                                            "src": "3011:15:62",
                                            "typeDescriptions": {
                                                "typeIdentifier": "t_function_internal_view$_t_bytes_memory_ptr_$returns$__$",
                                                "typeString": "function (bytes memory) view"
                                            }
                                        },
                                        "id": 13196,
                                        "isConstant": false,
                                        "isLValue": false,
                                        "isPure": false,
                                        "kind": "functionCall",
                                        "lValueRequested": false,
                                        "names": [],
                                        "nodeType": "FunctionCall",
                                        "src": "3011:60:62",
                                        "tryCall": false,
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_tuple$__$",
                                            "typeString": "tuple()"
                                        }
                                    },
                                    "id": 13197,
                                    "nodeType": "ExpressionStatement",
                                    "src": "3011:60:62"
                                }
                            ]
                        },
                        "id": 13199,
                        "implemented": true,
                        "kind": "function",
                        "modifiers": [],
                        "name": "logBytes16",
                        "nameLocation": "2970:10:62",
                        "nodeType": "FunctionDefinition",
                        "parameters": {
                            "id": 13188,
                            "nodeType": "ParameterList",
                            "parameters": [
                                {
                                    "constant": false,
                                    "id": 13187,
                                    "mutability": "mutable",
                                    "name": "p0",
                                    "nameLocation": "2989:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 13199,
                                    "src": "2981:10:62",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_bytes16",
                                        "typeString": "bytes16"
                                    },
                                    "typeName": {
                                        "id": 13186,
                                        "name": "bytes16",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "2981:7:62",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_bytes16",
                                            "typeString": "bytes16"
                                        }
                                    },
                                    "visibility": "internal"
                                }
                            ],
                            "src": "2980:12:62"
                        },
                        "returnParameters": {
                            "id": 13189,
                            "nodeType": "ParameterList",
                            "parameters": [],
                            "src": "3007:0:62"
                        },
                        "scope": 20920,
                        "src": "2961:114:62",
                        "stateMutability": "view",
                        "virtual": false,
                        "visibility": "internal"
                    },
                    {
                        "body": {
                            "id": 13212,
                            "nodeType": "Block",
                            "src": "3124:68:62",
                            "statements": [
                                {
                                    "expression": {
                                        "arguments": [
                                            {
                                                "arguments": [
                                                    {
                                                        "hexValue": "6c6f67286279746573313729",
                                                        "id": 13207,
                                                        "isConstant": false,
                                                        "isLValue": false,
                                                        "isPure": true,
                                                        "kind": "string",
                                                        "lValueRequested": false,
                                                        "nodeType": "Literal",
                                                        "src": "3168:14:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_stringliteral_339f673a0c008974259a0022c9b150cc5d1af8c58584412fe373d84bd08d4ea3",
                                                            "typeString": "literal_string \"log(bytes17)\""
                                                        },
                                                        "value": "log(bytes17)"
                                                    },
                                                    {
                                                        "id": 13208,
                                                        "name": "p0",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 13201,
                                                        "src": "3184:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_bytes17",
                                                            "typeString": "bytes17"
                                                        }
                                                    }
                                                ],
                                                "expression": {
                                                    "argumentTypes": [
                                                        {
                                                            "typeIdentifier": "t_stringliteral_339f673a0c008974259a0022c9b150cc5d1af8c58584412fe373d84bd08d4ea3",
                                                            "typeString": "literal_string \"log(bytes17)\""
                                                        },
                                                        {
                                                            "typeIdentifier": "t_bytes17",
                                                            "typeString": "bytes17"
                                                        }
                                                    ],
                                                    "expression": {
                                                        "id": 13205,
                                                        "name": "abi",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 4294967295,
                                                        "src": "3144:3:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_magic_abi",
                                                            "typeString": "abi"
                                                        }
                                                    },
                                                    "id": 13206,
                                                    "isConstant": false,
                                                    "isLValue": false,
                                                    "isPure": true,
                                                    "lValueRequested": false,
                                                    "memberName": "encodeWithSignature",
                                                    "nodeType": "MemberAccess",
                                                    "src": "3144:23:62",
                                                    "typeDescriptions": {
                                                        "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$",
                                                        "typeString": "function (string memory) pure returns (bytes memory)"
                                                    }
                                                },
                                                "id": 13209,
                                                "isConstant": false,
                                                "isLValue": false,
                                                "isPure": false,
                                                "kind": "functionCall",
                                                "lValueRequested": false,
                                                "names": [],
                                                "nodeType": "FunctionCall",
                                                "src": "3144:43:62",
                                                "tryCall": false,
                                                "typeDescriptions": {
                                                    "typeIdentifier": "t_bytes_memory_ptr",
                                                    "typeString": "bytes memory"
                                                }
                                            }
                                        ],
                                        "expression": {
                                            "argumentTypes": [
                                                {
                                                    "typeIdentifier": "t_bytes_memory_ptr",
                                                    "typeString": "bytes memory"
                                                }
                                            ],
                                            "id": 13204,
                                            "name": "_sendLogPayload",
                                            "nodeType": "Identifier",
                                            "overloadedDeclarations": [],
                                            "referencedDeclaration": 12880,
                                            "src": "3128:15:62",
                                            "typeDescriptions": {
                                                "typeIdentifier": "t_function_internal_view$_t_bytes_memory_ptr_$returns$__$",
                                                "typeString": "function (bytes memory) view"
                                            }
                                        },
                                        "id": 13210,
                                        "isConstant": false,
                                        "isLValue": false,
                                        "isPure": false,
                                        "kind": "functionCall",
                                        "lValueRequested": false,
                                        "names": [],
                                        "nodeType": "FunctionCall",
                                        "src": "3128:60:62",
                                        "tryCall": false,
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_tuple$__$",
                                            "typeString": "tuple()"
                                        }
                                    },
                                    "id": 13211,
                                    "nodeType": "ExpressionStatement",
                                    "src": "3128:60:62"
                                }
                            ]
                        },
                        "id": 13213,
                        "implemented": true,
                        "kind": "function",
                        "modifiers": [],
                        "name": "logBytes17",
                        "nameLocation": "3087:10:62",
                        "nodeType": "FunctionDefinition",
                        "parameters": {
                            "id": 13202,
                            "nodeType": "ParameterList",
                            "parameters": [
                                {
                                    "constant": false,
                                    "id": 13201,
                                    "mutability": "mutable",
                                    "name": "p0",
                                    "nameLocation": "3106:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 13213,
                                    "src": "3098:10:62",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_bytes17",
                                        "typeString": "bytes17"
                                    },
                                    "typeName": {
                                        "id": 13200,
                                        "name": "bytes17",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "3098:7:62",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_bytes17",
                                            "typeString": "bytes17"
                                        }
                                    },
                                    "visibility": "internal"
                                }
                            ],
                            "src": "3097:12:62"
                        },
                        "returnParameters": {
                            "id": 13203,
                            "nodeType": "ParameterList",
                            "parameters": [],
                            "src": "3124:0:62"
                        },
                        "scope": 20920,
                        "src": "3078:114:62",
                        "stateMutability": "view",
                        "virtual": false,
                        "visibility": "internal"
                    },
                    {
                        "body": {
                            "id": 13226,
                            "nodeType": "Block",
                            "src": "3241:68:62",
                            "statements": [
                                {
                                    "expression": {
                                        "arguments": [
                                            {
                                                "arguments": [
                                                    {
                                                        "hexValue": "6c6f67286279746573313829",
                                                        "id": 13221,
                                                        "isConstant": false,
                                                        "isLValue": false,
                                                        "isPure": true,
                                                        "kind": "string",
                                                        "lValueRequested": false,
                                                        "nodeType": "Literal",
                                                        "src": "3285:14:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_stringliteral_c4d23d9af6458d5ddc7cb8128a2f36bf147c9db4fe277dfe0fe7be41def62116",
                                                            "typeString": "literal_string \"log(bytes18)\""
                                                        },
                                                        "value": "log(bytes18)"
                                                    },
                                                    {
                                                        "id": 13222,
                                                        "name": "p0",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 13215,
                                                        "src": "3301:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_bytes18",
                                                            "typeString": "bytes18"
                                                        }
                                                    }
                                                ],
                                                "expression": {
                                                    "argumentTypes": [
                                                        {
                                                            "typeIdentifier": "t_stringliteral_c4d23d9af6458d5ddc7cb8128a2f36bf147c9db4fe277dfe0fe7be41def62116",
                                                            "typeString": "literal_string \"log(bytes18)\""
                                                        },
                                                        {
                                                            "typeIdentifier": "t_bytes18",
                                                            "typeString": "bytes18"
                                                        }
                                                    ],
                                                    "expression": {
                                                        "id": 13219,
                                                        "name": "abi",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 4294967295,
                                                        "src": "3261:3:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_magic_abi",
                                                            "typeString": "abi"
                                                        }
                                                    },
                                                    "id": 13220,
                                                    "isConstant": false,
                                                    "isLValue": false,
                                                    "isPure": true,
                                                    "lValueRequested": false,
                                                    "memberName": "encodeWithSignature",
                                                    "nodeType": "MemberAccess",
                                                    "src": "3261:23:62",
                                                    "typeDescriptions": {
                                                        "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$",
                                                        "typeString": "function (string memory) pure returns (bytes memory)"
                                                    }
                                                },
                                                "id": 13223,
                                                "isConstant": false,
                                                "isLValue": false,
                                                "isPure": false,
                                                "kind": "functionCall",
                                                "lValueRequested": false,
                                                "names": [],
                                                "nodeType": "FunctionCall",
                                                "src": "3261:43:62",
                                                "tryCall": false,
                                                "typeDescriptions": {
                                                    "typeIdentifier": "t_bytes_memory_ptr",
                                                    "typeString": "bytes memory"
                                                }
                                            }
                                        ],
                                        "expression": {
                                            "argumentTypes": [
                                                {
                                                    "typeIdentifier": "t_bytes_memory_ptr",
                                                    "typeString": "bytes memory"
                                                }
                                            ],
                                            "id": 13218,
                                            "name": "_sendLogPayload",
                                            "nodeType": "Identifier",
                                            "overloadedDeclarations": [],
                                            "referencedDeclaration": 12880,
                                            "src": "3245:15:62",
                                            "typeDescriptions": {
                                                "typeIdentifier": "t_function_internal_view$_t_bytes_memory_ptr_$returns$__$",
                                                "typeString": "function (bytes memory) view"
                                            }
                                        },
                                        "id": 13224,
                                        "isConstant": false,
                                        "isLValue": false,
                                        "isPure": false,
                                        "kind": "functionCall",
                                        "lValueRequested": false,
                                        "names": [],
                                        "nodeType": "FunctionCall",
                                        "src": "3245:60:62",
                                        "tryCall": false,
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_tuple$__$",
                                            "typeString": "tuple()"
                                        }
                                    },
                                    "id": 13225,
                                    "nodeType": "ExpressionStatement",
                                    "src": "3245:60:62"
                                }
                            ]
                        },
                        "id": 13227,
                        "implemented": true,
                        "kind": "function",
                        "modifiers": [],
                        "name": "logBytes18",
                        "nameLocation": "3204:10:62",
                        "nodeType": "FunctionDefinition",
                        "parameters": {
                            "id": 13216,
                            "nodeType": "ParameterList",
                            "parameters": [
                                {
                                    "constant": false,
                                    "id": 13215,
                                    "mutability": "mutable",
                                    "name": "p0",
                                    "nameLocation": "3223:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 13227,
                                    "src": "3215:10:62",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_bytes18",
                                        "typeString": "bytes18"
                                    },
                                    "typeName": {
                                        "id": 13214,
                                        "name": "bytes18",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "3215:7:62",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_bytes18",
                                            "typeString": "bytes18"
                                        }
                                    },
                                    "visibility": "internal"
                                }
                            ],
                            "src": "3214:12:62"
                        },
                        "returnParameters": {
                            "id": 13217,
                            "nodeType": "ParameterList",
                            "parameters": [],
                            "src": "3241:0:62"
                        },
                        "scope": 20920,
                        "src": "3195:114:62",
                        "stateMutability": "view",
                        "virtual": false,
                        "visibility": "internal"
                    },
                    {
                        "body": {
                            "id": 13240,
                            "nodeType": "Block",
                            "src": "3358:68:62",
                            "statements": [
                                {
                                    "expression": {
                                        "arguments": [
                                            {
                                                "arguments": [
                                                    {
                                                        "hexValue": "6c6f67286279746573313929",
                                                        "id": 13235,
                                                        "isConstant": false,
                                                        "isLValue": false,
                                                        "isPure": true,
                                                        "kind": "string",
                                                        "lValueRequested": false,
                                                        "nodeType": "Literal",
                                                        "src": "3402:14:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_stringliteral_5e6b5a33524ca650028e2fad735b4ab50285bba37658119d2da303bee98aeada",
                                                            "typeString": "literal_string \"log(bytes19)\""
                                                        },
                                                        "value": "log(bytes19)"
                                                    },
                                                    {
                                                        "id": 13236,
                                                        "name": "p0",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 13229,
                                                        "src": "3418:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_bytes19",
                                                            "typeString": "bytes19"
                                                        }
                                                    }
                                                ],
                                                "expression": {
                                                    "argumentTypes": [
                                                        {
                                                            "typeIdentifier": "t_stringliteral_5e6b5a33524ca650028e2fad735b4ab50285bba37658119d2da303bee98aeada",
                                                            "typeString": "literal_string \"log(bytes19)\""
                                                        },
                                                        {
                                                            "typeIdentifier": "t_bytes19",
                                                            "typeString": "bytes19"
                                                        }
                                                    ],
                                                    "expression": {
                                                        "id": 13233,
                                                        "name": "abi",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 4294967295,
                                                        "src": "3378:3:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_magic_abi",
                                                            "typeString": "abi"
                                                        }
                                                    },
                                                    "id": 13234,
                                                    "isConstant": false,
                                                    "isLValue": false,
                                                    "isPure": true,
                                                    "lValueRequested": false,
                                                    "memberName": "encodeWithSignature",
                                                    "nodeType": "MemberAccess",
                                                    "src": "3378:23:62",
                                                    "typeDescriptions": {
                                                        "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$",
                                                        "typeString": "function (string memory) pure returns (bytes memory)"
                                                    }
                                                },
                                                "id": 13237,
                                                "isConstant": false,
                                                "isLValue": false,
                                                "isPure": false,
                                                "kind": "functionCall",
                                                "lValueRequested": false,
                                                "names": [],
                                                "nodeType": "FunctionCall",
                                                "src": "3378:43:62",
                                                "tryCall": false,
                                                "typeDescriptions": {
                                                    "typeIdentifier": "t_bytes_memory_ptr",
                                                    "typeString": "bytes memory"
                                                }
                                            }
                                        ],
                                        "expression": {
                                            "argumentTypes": [
                                                {
                                                    "typeIdentifier": "t_bytes_memory_ptr",
                                                    "typeString": "bytes memory"
                                                }
                                            ],
                                            "id": 13232,
                                            "name": "_sendLogPayload",
                                            "nodeType": "Identifier",
                                            "overloadedDeclarations": [],
                                            "referencedDeclaration": 12880,
                                            "src": "3362:15:62",
                                            "typeDescriptions": {
                                                "typeIdentifier": "t_function_internal_view$_t_bytes_memory_ptr_$returns$__$",
                                                "typeString": "function (bytes memory) view"
                                            }
                                        },
                                        "id": 13238,
                                        "isConstant": false,
                                        "isLValue": false,
                                        "isPure": false,
                                        "kind": "functionCall",
                                        "lValueRequested": false,
                                        "names": [],
                                        "nodeType": "FunctionCall",
                                        "src": "3362:60:62",
                                        "tryCall": false,
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_tuple$__$",
                                            "typeString": "tuple()"
                                        }
                                    },
                                    "id": 13239,
                                    "nodeType": "ExpressionStatement",
                                    "src": "3362:60:62"
                                }
                            ]
                        },
                        "id": 13241,
                        "implemented": true,
                        "kind": "function",
                        "modifiers": [],
                        "name": "logBytes19",
                        "nameLocation": "3321:10:62",
                        "nodeType": "FunctionDefinition",
                        "parameters": {
                            "id": 13230,
                            "nodeType": "ParameterList",
                            "parameters": [
                                {
                                    "constant": false,
                                    "id": 13229,
                                    "mutability": "mutable",
                                    "name": "p0",
                                    "nameLocation": "3340:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 13241,
                                    "src": "3332:10:62",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_bytes19",
                                        "typeString": "bytes19"
                                    },
                                    "typeName": {
                                        "id": 13228,
                                        "name": "bytes19",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "3332:7:62",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_bytes19",
                                            "typeString": "bytes19"
                                        }
                                    },
                                    "visibility": "internal"
                                }
                            ],
                            "src": "3331:12:62"
                        },
                        "returnParameters": {
                            "id": 13231,
                            "nodeType": "ParameterList",
                            "parameters": [],
                            "src": "3358:0:62"
                        },
                        "scope": 20920,
                        "src": "3312:114:62",
                        "stateMutability": "view",
                        "virtual": false,
                        "visibility": "internal"
                    },
                    {
                        "body": {
                            "id": 13254,
                            "nodeType": "Block",
                            "src": "3475:68:62",
                            "statements": [
                                {
                                    "expression": {
                                        "arguments": [
                                            {
                                                "arguments": [
                                                    {
                                                        "hexValue": "6c6f67286279746573323029",
                                                        "id": 13249,
                                                        "isConstant": false,
                                                        "isLValue": false,
                                                        "isPure": true,
                                                        "kind": "string",
                                                        "lValueRequested": false,
                                                        "nodeType": "Literal",
                                                        "src": "3519:14:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_stringliteral_5188e3e9b3f117a223e2e428d0e13d089f3a53913e479000b94b85266ecf8231",
                                                            "typeString": "literal_string \"log(bytes20)\""
                                                        },
                                                        "value": "log(bytes20)"
                                                    },
                                                    {
                                                        "id": 13250,
                                                        "name": "p0",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 13243,
                                                        "src": "3535:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_bytes20",
                                                            "typeString": "bytes20"
                                                        }
                                                    }
                                                ],
                                                "expression": {
                                                    "argumentTypes": [
                                                        {
                                                            "typeIdentifier": "t_stringliteral_5188e3e9b3f117a223e2e428d0e13d089f3a53913e479000b94b85266ecf8231",
                                                            "typeString": "literal_string \"log(bytes20)\""
                                                        },
                                                        {
                                                            "typeIdentifier": "t_bytes20",
                                                            "typeString": "bytes20"
                                                        }
                                                    ],
                                                    "expression": {
                                                        "id": 13247,
                                                        "name": "abi",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 4294967295,
                                                        "src": "3495:3:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_magic_abi",
                                                            "typeString": "abi"
                                                        }
                                                    },
                                                    "id": 13248,
                                                    "isConstant": false,
                                                    "isLValue": false,
                                                    "isPure": true,
                                                    "lValueRequested": false,
                                                    "memberName": "encodeWithSignature",
                                                    "nodeType": "MemberAccess",
                                                    "src": "3495:23:62",
                                                    "typeDescriptions": {
                                                        "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$",
                                                        "typeString": "function (string memory) pure returns (bytes memory)"
                                                    }
                                                },
                                                "id": 13251,
                                                "isConstant": false,
                                                "isLValue": false,
                                                "isPure": false,
                                                "kind": "functionCall",
                                                "lValueRequested": false,
                                                "names": [],
                                                "nodeType": "FunctionCall",
                                                "src": "3495:43:62",
                                                "tryCall": false,
                                                "typeDescriptions": {
                                                    "typeIdentifier": "t_bytes_memory_ptr",
                                                    "typeString": "bytes memory"
                                                }
                                            }
                                        ],
                                        "expression": {
                                            "argumentTypes": [
                                                {
                                                    "typeIdentifier": "t_bytes_memory_ptr",
                                                    "typeString": "bytes memory"
                                                }
                                            ],
                                            "id": 13246,
                                            "name": "_sendLogPayload",
                                            "nodeType": "Identifier",
                                            "overloadedDeclarations": [],
                                            "referencedDeclaration": 12880,
                                            "src": "3479:15:62",
                                            "typeDescriptions": {
                                                "typeIdentifier": "t_function_internal_view$_t_bytes_memory_ptr_$returns$__$",
                                                "typeString": "function (bytes memory) view"
                                            }
                                        },
                                        "id": 13252,
                                        "isConstant": false,
                                        "isLValue": false,
                                        "isPure": false,
                                        "kind": "functionCall",
                                        "lValueRequested": false,
                                        "names": [],
                                        "nodeType": "FunctionCall",
                                        "src": "3479:60:62",
                                        "tryCall": false,
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_tuple$__$",
                                            "typeString": "tuple()"
                                        }
                                    },
                                    "id": 13253,
                                    "nodeType": "ExpressionStatement",
                                    "src": "3479:60:62"
                                }
                            ]
                        },
                        "id": 13255,
                        "implemented": true,
                        "kind": "function",
                        "modifiers": [],
                        "name": "logBytes20",
                        "nameLocation": "3438:10:62",
                        "nodeType": "FunctionDefinition",
                        "parameters": {
                            "id": 13244,
                            "nodeType": "ParameterList",
                            "parameters": [
                                {
                                    "constant": false,
                                    "id": 13243,
                                    "mutability": "mutable",
                                    "name": "p0",
                                    "nameLocation": "3457:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 13255,
                                    "src": "3449:10:62",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_bytes20",
                                        "typeString": "bytes20"
                                    },
                                    "typeName": {
                                        "id": 13242,
                                        "name": "bytes20",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "3449:7:62",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_bytes20",
                                            "typeString": "bytes20"
                                        }
                                    },
                                    "visibility": "internal"
                                }
                            ],
                            "src": "3448:12:62"
                        },
                        "returnParameters": {
                            "id": 13245,
                            "nodeType": "ParameterList",
                            "parameters": [],
                            "src": "3475:0:62"
                        },
                        "scope": 20920,
                        "src": "3429:114:62",
                        "stateMutability": "view",
                        "virtual": false,
                        "visibility": "internal"
                    },
                    {
                        "body": {
                            "id": 13268,
                            "nodeType": "Block",
                            "src": "3592:68:62",
                            "statements": [
                                {
                                    "expression": {
                                        "arguments": [
                                            {
                                                "arguments": [
                                                    {
                                                        "hexValue": "6c6f67286279746573323129",
                                                        "id": 13263,
                                                        "isConstant": false,
                                                        "isLValue": false,
                                                        "isPure": true,
                                                        "kind": "string",
                                                        "lValueRequested": false,
                                                        "nodeType": "Literal",
                                                        "src": "3636:14:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_stringliteral_e9da35608192a6b38ad5ef62cf738886973b011b8cdb7e81cdd51b4c3dfe8ad7",
                                                            "typeString": "literal_string \"log(bytes21)\""
                                                        },
                                                        "value": "log(bytes21)"
                                                    },
                                                    {
                                                        "id": 13264,
                                                        "name": "p0",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 13257,
                                                        "src": "3652:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_bytes21",
                                                            "typeString": "bytes21"
                                                        }
                                                    }
                                                ],
                                                "expression": {
                                                    "argumentTypes": [
                                                        {
                                                            "typeIdentifier": "t_stringliteral_e9da35608192a6b38ad5ef62cf738886973b011b8cdb7e81cdd51b4c3dfe8ad7",
                                                            "typeString": "literal_string \"log(bytes21)\""
                                                        },
                                                        {
                                                            "typeIdentifier": "t_bytes21",
                                                            "typeString": "bytes21"
                                                        }
                                                    ],
                                                    "expression": {
                                                        "id": 13261,
                                                        "name": "abi",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 4294967295,
                                                        "src": "3612:3:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_magic_abi",
                                                            "typeString": "abi"
                                                        }
                                                    },
                                                    "id": 13262,
                                                    "isConstant": false,
                                                    "isLValue": false,
                                                    "isPure": true,
                                                    "lValueRequested": false,
                                                    "memberName": "encodeWithSignature",
                                                    "nodeType": "MemberAccess",
                                                    "src": "3612:23:62",
                                                    "typeDescriptions": {
                                                        "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$",
                                                        "typeString": "function (string memory) pure returns (bytes memory)"
                                                    }
                                                },
                                                "id": 13265,
                                                "isConstant": false,
                                                "isLValue": false,
                                                "isPure": false,
                                                "kind": "functionCall",
                                                "lValueRequested": false,
                                                "names": [],
                                                "nodeType": "FunctionCall",
                                                "src": "3612:43:62",
                                                "tryCall": false,
                                                "typeDescriptions": {
                                                    "typeIdentifier": "t_bytes_memory_ptr",
                                                    "typeString": "bytes memory"
                                                }
                                            }
                                        ],
                                        "expression": {
                                            "argumentTypes": [
                                                {
                                                    "typeIdentifier": "t_bytes_memory_ptr",
                                                    "typeString": "bytes memory"
                                                }
                                            ],
                                            "id": 13260,
                                            "name": "_sendLogPayload",
                                            "nodeType": "Identifier",
                                            "overloadedDeclarations": [],
                                            "referencedDeclaration": 12880,
                                            "src": "3596:15:62",
                                            "typeDescriptions": {
                                                "typeIdentifier": "t_function_internal_view$_t_bytes_memory_ptr_$returns$__$",
                                                "typeString": "function (bytes memory) view"
                                            }
                                        },
                                        "id": 13266,
                                        "isConstant": false,
                                        "isLValue": false,
                                        "isPure": false,
                                        "kind": "functionCall",
                                        "lValueRequested": false,
                                        "names": [],
                                        "nodeType": "FunctionCall",
                                        "src": "3596:60:62",
                                        "tryCall": false,
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_tuple$__$",
                                            "typeString": "tuple()"
                                        }
                                    },
                                    "id": 13267,
                                    "nodeType": "ExpressionStatement",
                                    "src": "3596:60:62"
                                }
                            ]
                        },
                        "id": 13269,
                        "implemented": true,
                        "kind": "function",
                        "modifiers": [],
                        "name": "logBytes21",
                        "nameLocation": "3555:10:62",
                        "nodeType": "FunctionDefinition",
                        "parameters": {
                            "id": 13258,
                            "nodeType": "ParameterList",
                            "parameters": [
                                {
                                    "constant": false,
                                    "id": 13257,
                                    "mutability": "mutable",
                                    "name": "p0",
                                    "nameLocation": "3574:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 13269,
                                    "src": "3566:10:62",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_bytes21",
                                        "typeString": "bytes21"
                                    },
                                    "typeName": {
                                        "id": 13256,
                                        "name": "bytes21",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "3566:7:62",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_bytes21",
                                            "typeString": "bytes21"
                                        }
                                    },
                                    "visibility": "internal"
                                }
                            ],
                            "src": "3565:12:62"
                        },
                        "returnParameters": {
                            "id": 13259,
                            "nodeType": "ParameterList",
                            "parameters": [],
                            "src": "3592:0:62"
                        },
                        "scope": 20920,
                        "src": "3546:114:62",
                        "stateMutability": "view",
                        "virtual": false,
                        "visibility": "internal"
                    },
                    {
                        "body": {
                            "id": 13282,
                            "nodeType": "Block",
                            "src": "3709:68:62",
                            "statements": [
                                {
                                    "expression": {
                                        "arguments": [
                                            {
                                                "arguments": [
                                                    {
                                                        "hexValue": "6c6f67286279746573323229",
                                                        "id": 13277,
                                                        "isConstant": false,
                                                        "isLValue": false,
                                                        "isPure": true,
                                                        "kind": "string",
                                                        "lValueRequested": false,
                                                        "nodeType": "Literal",
                                                        "src": "3753:14:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_stringliteral_d5fae89c25bed6f12b105f52db0a0ff6f5c8313613e12eccd3059bb7f7ea6575",
                                                            "typeString": "literal_string \"log(bytes22)\""
                                                        },
                                                        "value": "log(bytes22)"
                                                    },
                                                    {
                                                        "id": 13278,
                                                        "name": "p0",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 13271,
                                                        "src": "3769:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_bytes22",
                                                            "typeString": "bytes22"
                                                        }
                                                    }
                                                ],
                                                "expression": {
                                                    "argumentTypes": [
                                                        {
                                                            "typeIdentifier": "t_stringliteral_d5fae89c25bed6f12b105f52db0a0ff6f5c8313613e12eccd3059bb7f7ea6575",
                                                            "typeString": "literal_string \"log(bytes22)\""
                                                        },
                                                        {
                                                            "typeIdentifier": "t_bytes22",
                                                            "typeString": "bytes22"
                                                        }
                                                    ],
                                                    "expression": {
                                                        "id": 13275,
                                                        "name": "abi",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 4294967295,
                                                        "src": "3729:3:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_magic_abi",
                                                            "typeString": "abi"
                                                        }
                                                    },
                                                    "id": 13276,
                                                    "isConstant": false,
                                                    "isLValue": false,
                                                    "isPure": true,
                                                    "lValueRequested": false,
                                                    "memberName": "encodeWithSignature",
                                                    "nodeType": "MemberAccess",
                                                    "src": "3729:23:62",
                                                    "typeDescriptions": {
                                                        "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$",
                                                        "typeString": "function (string memory) pure returns (bytes memory)"
                                                    }
                                                },
                                                "id": 13279,
                                                "isConstant": false,
                                                "isLValue": false,
                                                "isPure": false,
                                                "kind": "functionCall",
                                                "lValueRequested": false,
                                                "names": [],
                                                "nodeType": "FunctionCall",
                                                "src": "3729:43:62",
                                                "tryCall": false,
                                                "typeDescriptions": {
                                                    "typeIdentifier": "t_bytes_memory_ptr",
                                                    "typeString": "bytes memory"
                                                }
                                            }
                                        ],
                                        "expression": {
                                            "argumentTypes": [
                                                {
                                                    "typeIdentifier": "t_bytes_memory_ptr",
                                                    "typeString": "bytes memory"
                                                }
                                            ],
                                            "id": 13274,
                                            "name": "_sendLogPayload",
                                            "nodeType": "Identifier",
                                            "overloadedDeclarations": [],
                                            "referencedDeclaration": 12880,
                                            "src": "3713:15:62",
                                            "typeDescriptions": {
                                                "typeIdentifier": "t_function_internal_view$_t_bytes_memory_ptr_$returns$__$",
                                                "typeString": "function (bytes memory) view"
                                            }
                                        },
                                        "id": 13280,
                                        "isConstant": false,
                                        "isLValue": false,
                                        "isPure": false,
                                        "kind": "functionCall",
                                        "lValueRequested": false,
                                        "names": [],
                                        "nodeType": "FunctionCall",
                                        "src": "3713:60:62",
                                        "tryCall": false,
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_tuple$__$",
                                            "typeString": "tuple()"
                                        }
                                    },
                                    "id": 13281,
                                    "nodeType": "ExpressionStatement",
                                    "src": "3713:60:62"
                                }
                            ]
                        },
                        "id": 13283,
                        "implemented": true,
                        "kind": "function",
                        "modifiers": [],
                        "name": "logBytes22",
                        "nameLocation": "3672:10:62",
                        "nodeType": "FunctionDefinition",
                        "parameters": {
                            "id": 13272,
                            "nodeType": "ParameterList",
                            "parameters": [
                                {
                                    "constant": false,
                                    "id": 13271,
                                    "mutability": "mutable",
                                    "name": "p0",
                                    "nameLocation": "3691:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 13283,
                                    "src": "3683:10:62",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_bytes22",
                                        "typeString": "bytes22"
                                    },
                                    "typeName": {
                                        "id": 13270,
                                        "name": "bytes22",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "3683:7:62",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_bytes22",
                                            "typeString": "bytes22"
                                        }
                                    },
                                    "visibility": "internal"
                                }
                            ],
                            "src": "3682:12:62"
                        },
                        "returnParameters": {
                            "id": 13273,
                            "nodeType": "ParameterList",
                            "parameters": [],
                            "src": "3709:0:62"
                        },
                        "scope": 20920,
                        "src": "3663:114:62",
                        "stateMutability": "view",
                        "virtual": false,
                        "visibility": "internal"
                    },
                    {
                        "body": {
                            "id": 13296,
                            "nodeType": "Block",
                            "src": "3826:68:62",
                            "statements": [
                                {
                                    "expression": {
                                        "arguments": [
                                            {
                                                "arguments": [
                                                    {
                                                        "hexValue": "6c6f67286279746573323329",
                                                        "id": 13291,
                                                        "isConstant": false,
                                                        "isLValue": false,
                                                        "isPure": true,
                                                        "kind": "string",
                                                        "lValueRequested": false,
                                                        "nodeType": "Literal",
                                                        "src": "3870:14:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_stringliteral_aba1cf0dcd316c862bc06d4cf532375fed11c1e0897ba81a04ee0b22d3f14061",
                                                            "typeString": "literal_string \"log(bytes23)\""
                                                        },
                                                        "value": "log(bytes23)"
                                                    },
                                                    {
                                                        "id": 13292,
                                                        "name": "p0",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 13285,
                                                        "src": "3886:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_bytes23",
                                                            "typeString": "bytes23"
                                                        }
                                                    }
                                                ],
                                                "expression": {
                                                    "argumentTypes": [
                                                        {
                                                            "typeIdentifier": "t_stringliteral_aba1cf0dcd316c862bc06d4cf532375fed11c1e0897ba81a04ee0b22d3f14061",
                                                            "typeString": "literal_string \"log(bytes23)\""
                                                        },
                                                        {
                                                            "typeIdentifier": "t_bytes23",
                                                            "typeString": "bytes23"
                                                        }
                                                    ],
                                                    "expression": {
                                                        "id": 13289,
                                                        "name": "abi",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 4294967295,
                                                        "src": "3846:3:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_magic_abi",
                                                            "typeString": "abi"
                                                        }
                                                    },
                                                    "id": 13290,
                                                    "isConstant": false,
                                                    "isLValue": false,
                                                    "isPure": true,
                                                    "lValueRequested": false,
                                                    "memberName": "encodeWithSignature",
                                                    "nodeType": "MemberAccess",
                                                    "src": "3846:23:62",
                                                    "typeDescriptions": {
                                                        "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$",
                                                        "typeString": "function (string memory) pure returns (bytes memory)"
                                                    }
                                                },
                                                "id": 13293,
                                                "isConstant": false,
                                                "isLValue": false,
                                                "isPure": false,
                                                "kind": "functionCall",
                                                "lValueRequested": false,
                                                "names": [],
                                                "nodeType": "FunctionCall",
                                                "src": "3846:43:62",
                                                "tryCall": false,
                                                "typeDescriptions": {
                                                    "typeIdentifier": "t_bytes_memory_ptr",
                                                    "typeString": "bytes memory"
                                                }
                                            }
                                        ],
                                        "expression": {
                                            "argumentTypes": [
                                                {
                                                    "typeIdentifier": "t_bytes_memory_ptr",
                                                    "typeString": "bytes memory"
                                                }
                                            ],
                                            "id": 13288,
                                            "name": "_sendLogPayload",
                                            "nodeType": "Identifier",
                                            "overloadedDeclarations": [],
                                            "referencedDeclaration": 12880,
                                            "src": "3830:15:62",
                                            "typeDescriptions": {
                                                "typeIdentifier": "t_function_internal_view$_t_bytes_memory_ptr_$returns$__$",
                                                "typeString": "function (bytes memory) view"
                                            }
                                        },
                                        "id": 13294,
                                        "isConstant": false,
                                        "isLValue": false,
                                        "isPure": false,
                                        "kind": "functionCall",
                                        "lValueRequested": false,
                                        "names": [],
                                        "nodeType": "FunctionCall",
                                        "src": "3830:60:62",
                                        "tryCall": false,
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_tuple$__$",
                                            "typeString": "tuple()"
                                        }
                                    },
                                    "id": 13295,
                                    "nodeType": "ExpressionStatement",
                                    "src": "3830:60:62"
                                }
                            ]
                        },
                        "id": 13297,
                        "implemented": true,
                        "kind": "function",
                        "modifiers": [],
                        "name": "logBytes23",
                        "nameLocation": "3789:10:62",
                        "nodeType": "FunctionDefinition",
                        "parameters": {
                            "id": 13286,
                            "nodeType": "ParameterList",
                            "parameters": [
                                {
                                    "constant": false,
                                    "id": 13285,
                                    "mutability": "mutable",
                                    "name": "p0",
                                    "nameLocation": "3808:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 13297,
                                    "src": "3800:10:62",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_bytes23",
                                        "typeString": "bytes23"
                                    },
                                    "typeName": {
                                        "id": 13284,
                                        "name": "bytes23",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "3800:7:62",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_bytes23",
                                            "typeString": "bytes23"
                                        }
                                    },
                                    "visibility": "internal"
                                }
                            ],
                            "src": "3799:12:62"
                        },
                        "returnParameters": {
                            "id": 13287,
                            "nodeType": "ParameterList",
                            "parameters": [],
                            "src": "3826:0:62"
                        },
                        "scope": 20920,
                        "src": "3780:114:62",
                        "stateMutability": "view",
                        "virtual": false,
                        "visibility": "internal"
                    },
                    {
                        "body": {
                            "id": 13310,
                            "nodeType": "Block",
                            "src": "3943:68:62",
                            "statements": [
                                {
                                    "expression": {
                                        "arguments": [
                                            {
                                                "arguments": [
                                                    {
                                                        "hexValue": "6c6f67286279746573323429",
                                                        "id": 13305,
                                                        "isConstant": false,
                                                        "isLValue": false,
                                                        "isPure": true,
                                                        "kind": "string",
                                                        "lValueRequested": false,
                                                        "nodeType": "Literal",
                                                        "src": "3987:14:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_stringliteral_f1b35b3488a5452bceb48624d6ba2a791e58f0e9c0f4b86b8f51186ec7a7edf4",
                                                            "typeString": "literal_string \"log(bytes24)\""
                                                        },
                                                        "value": "log(bytes24)"
                                                    },
                                                    {
                                                        "id": 13306,
                                                        "name": "p0",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 13299,
                                                        "src": "4003:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_bytes24",
                                                            "typeString": "bytes24"
                                                        }
                                                    }
                                                ],
                                                "expression": {
                                                    "argumentTypes": [
                                                        {
                                                            "typeIdentifier": "t_stringliteral_f1b35b3488a5452bceb48624d6ba2a791e58f0e9c0f4b86b8f51186ec7a7edf4",
                                                            "typeString": "literal_string \"log(bytes24)\""
                                                        },
                                                        {
                                                            "typeIdentifier": "t_bytes24",
                                                            "typeString": "bytes24"
                                                        }
                                                    ],
                                                    "expression": {
                                                        "id": 13303,
                                                        "name": "abi",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 4294967295,
                                                        "src": "3963:3:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_magic_abi",
                                                            "typeString": "abi"
                                                        }
                                                    },
                                                    "id": 13304,
                                                    "isConstant": false,
                                                    "isLValue": false,
                                                    "isPure": true,
                                                    "lValueRequested": false,
                                                    "memberName": "encodeWithSignature",
                                                    "nodeType": "MemberAccess",
                                                    "src": "3963:23:62",
                                                    "typeDescriptions": {
                                                        "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$",
                                                        "typeString": "function (string memory) pure returns (bytes memory)"
                                                    }
                                                },
                                                "id": 13307,
                                                "isConstant": false,
                                                "isLValue": false,
                                                "isPure": false,
                                                "kind": "functionCall",
                                                "lValueRequested": false,
                                                "names": [],
                                                "nodeType": "FunctionCall",
                                                "src": "3963:43:62",
                                                "tryCall": false,
                                                "typeDescriptions": {
                                                    "typeIdentifier": "t_bytes_memory_ptr",
                                                    "typeString": "bytes memory"
                                                }
                                            }
                                        ],
                                        "expression": {
                                            "argumentTypes": [
                                                {
                                                    "typeIdentifier": "t_bytes_memory_ptr",
                                                    "typeString": "bytes memory"
                                                }
                                            ],
                                            "id": 13302,
                                            "name": "_sendLogPayload",
                                            "nodeType": "Identifier",
                                            "overloadedDeclarations": [],
                                            "referencedDeclaration": 12880,
                                            "src": "3947:15:62",
                                            "typeDescriptions": {
                                                "typeIdentifier": "t_function_internal_view$_t_bytes_memory_ptr_$returns$__$",
                                                "typeString": "function (bytes memory) view"
                                            }
                                        },
                                        "id": 13308,
                                        "isConstant": false,
                                        "isLValue": false,
                                        "isPure": false,
                                        "kind": "functionCall",
                                        "lValueRequested": false,
                                        "names": [],
                                        "nodeType": "FunctionCall",
                                        "src": "3947:60:62",
                                        "tryCall": false,
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_tuple$__$",
                                            "typeString": "tuple()"
                                        }
                                    },
                                    "id": 13309,
                                    "nodeType": "ExpressionStatement",
                                    "src": "3947:60:62"
                                }
                            ]
                        },
                        "id": 13311,
                        "implemented": true,
                        "kind": "function",
                        "modifiers": [],
                        "name": "logBytes24",
                        "nameLocation": "3906:10:62",
                        "nodeType": "FunctionDefinition",
                        "parameters": {
                            "id": 13300,
                            "nodeType": "ParameterList",
                            "parameters": [
                                {
                                    "constant": false,
                                    "id": 13299,
                                    "mutability": "mutable",
                                    "name": "p0",
                                    "nameLocation": "3925:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 13311,
                                    "src": "3917:10:62",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_bytes24",
                                        "typeString": "bytes24"
                                    },
                                    "typeName": {
                                        "id": 13298,
                                        "name": "bytes24",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "3917:7:62",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_bytes24",
                                            "typeString": "bytes24"
                                        }
                                    },
                                    "visibility": "internal"
                                }
                            ],
                            "src": "3916:12:62"
                        },
                        "returnParameters": {
                            "id": 13301,
                            "nodeType": "ParameterList",
                            "parameters": [],
                            "src": "3943:0:62"
                        },
                        "scope": 20920,
                        "src": "3897:114:62",
                        "stateMutability": "view",
                        "virtual": false,
                        "visibility": "internal"
                    },
                    {
                        "body": {
                            "id": 13324,
                            "nodeType": "Block",
                            "src": "4060:68:62",
                            "statements": [
                                {
                                    "expression": {
                                        "arguments": [
                                            {
                                                "arguments": [
                                                    {
                                                        "hexValue": "6c6f67286279746573323529",
                                                        "id": 13319,
                                                        "isConstant": false,
                                                        "isLValue": false,
                                                        "isPure": true,
                                                        "kind": "string",
                                                        "lValueRequested": false,
                                                        "nodeType": "Literal",
                                                        "src": "4104:14:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_stringliteral_0b84bc580db9be1295ee23dff6122da1f70381c83abf9a74953cca11238eda25",
                                                            "typeString": "literal_string \"log(bytes25)\""
                                                        },
                                                        "value": "log(bytes25)"
                                                    },
                                                    {
                                                        "id": 13320,
                                                        "name": "p0",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 13313,
                                                        "src": "4120:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_bytes25",
                                                            "typeString": "bytes25"
                                                        }
                                                    }
                                                ],
                                                "expression": {
                                                    "argumentTypes": [
                                                        {
                                                            "typeIdentifier": "t_stringliteral_0b84bc580db9be1295ee23dff6122da1f70381c83abf9a74953cca11238eda25",
                                                            "typeString": "literal_string \"log(bytes25)\""
                                                        },
                                                        {
                                                            "typeIdentifier": "t_bytes25",
                                                            "typeString": "bytes25"
                                                        }
                                                    ],
                                                    "expression": {
                                                        "id": 13317,
                                                        "name": "abi",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 4294967295,
                                                        "src": "4080:3:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_magic_abi",
                                                            "typeString": "abi"
                                                        }
                                                    },
                                                    "id": 13318,
                                                    "isConstant": false,
                                                    "isLValue": false,
                                                    "isPure": true,
                                                    "lValueRequested": false,
                                                    "memberName": "encodeWithSignature",
                                                    "nodeType": "MemberAccess",
                                                    "src": "4080:23:62",
                                                    "typeDescriptions": {
                                                        "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$",
                                                        "typeString": "function (string memory) pure returns (bytes memory)"
                                                    }
                                                },
                                                "id": 13321,
                                                "isConstant": false,
                                                "isLValue": false,
                                                "isPure": false,
                                                "kind": "functionCall",
                                                "lValueRequested": false,
                                                "names": [],
                                                "nodeType": "FunctionCall",
                                                "src": "4080:43:62",
                                                "tryCall": false,
                                                "typeDescriptions": {
                                                    "typeIdentifier": "t_bytes_memory_ptr",
                                                    "typeString": "bytes memory"
                                                }
                                            }
                                        ],
                                        "expression": {
                                            "argumentTypes": [
                                                {
                                                    "typeIdentifier": "t_bytes_memory_ptr",
                                                    "typeString": "bytes memory"
                                                }
                                            ],
                                            "id": 13316,
                                            "name": "_sendLogPayload",
                                            "nodeType": "Identifier",
                                            "overloadedDeclarations": [],
                                            "referencedDeclaration": 12880,
                                            "src": "4064:15:62",
                                            "typeDescriptions": {
                                                "typeIdentifier": "t_function_internal_view$_t_bytes_memory_ptr_$returns$__$",
                                                "typeString": "function (bytes memory) view"
                                            }
                                        },
                                        "id": 13322,
                                        "isConstant": false,
                                        "isLValue": false,
                                        "isPure": false,
                                        "kind": "functionCall",
                                        "lValueRequested": false,
                                        "names": [],
                                        "nodeType": "FunctionCall",
                                        "src": "4064:60:62",
                                        "tryCall": false,
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_tuple$__$",
                                            "typeString": "tuple()"
                                        }
                                    },
                                    "id": 13323,
                                    "nodeType": "ExpressionStatement",
                                    "src": "4064:60:62"
                                }
                            ]
                        },
                        "id": 13325,
                        "implemented": true,
                        "kind": "function",
                        "modifiers": [],
                        "name": "logBytes25",
                        "nameLocation": "4023:10:62",
                        "nodeType": "FunctionDefinition",
                        "parameters": {
                            "id": 13314,
                            "nodeType": "ParameterList",
                            "parameters": [
                                {
                                    "constant": false,
                                    "id": 13313,
                                    "mutability": "mutable",
                                    "name": "p0",
                                    "nameLocation": "4042:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 13325,
                                    "src": "4034:10:62",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_bytes25",
                                        "typeString": "bytes25"
                                    },
                                    "typeName": {
                                        "id": 13312,
                                        "name": "bytes25",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "4034:7:62",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_bytes25",
                                            "typeString": "bytes25"
                                        }
                                    },
                                    "visibility": "internal"
                                }
                            ],
                            "src": "4033:12:62"
                        },
                        "returnParameters": {
                            "id": 13315,
                            "nodeType": "ParameterList",
                            "parameters": [],
                            "src": "4060:0:62"
                        },
                        "scope": 20920,
                        "src": "4014:114:62",
                        "stateMutability": "view",
                        "virtual": false,
                        "visibility": "internal"
                    },
                    {
                        "body": {
                            "id": 13338,
                            "nodeType": "Block",
                            "src": "4177:68:62",
                            "statements": [
                                {
                                    "expression": {
                                        "arguments": [
                                            {
                                                "arguments": [
                                                    {
                                                        "hexValue": "6c6f67286279746573323629",
                                                        "id": 13333,
                                                        "isConstant": false,
                                                        "isLValue": false,
                                                        "isPure": true,
                                                        "kind": "string",
                                                        "lValueRequested": false,
                                                        "nodeType": "Literal",
                                                        "src": "4221:14:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_stringliteral_f8b149f18dc341f1a56e26c6c24a5233eec3bbb2ab017e9e86e663aae743965b",
                                                            "typeString": "literal_string \"log(bytes26)\""
                                                        },
                                                        "value": "log(bytes26)"
                                                    },
                                                    {
                                                        "id": 13334,
                                                        "name": "p0",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 13327,
                                                        "src": "4237:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_bytes26",
                                                            "typeString": "bytes26"
                                                        }
                                                    }
                                                ],
                                                "expression": {
                                                    "argumentTypes": [
                                                        {
                                                            "typeIdentifier": "t_stringliteral_f8b149f18dc341f1a56e26c6c24a5233eec3bbb2ab017e9e86e663aae743965b",
                                                            "typeString": "literal_string \"log(bytes26)\""
                                                        },
                                                        {
                                                            "typeIdentifier": "t_bytes26",
                                                            "typeString": "bytes26"
                                                        }
                                                    ],
                                                    "expression": {
                                                        "id": 13331,
                                                        "name": "abi",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 4294967295,
                                                        "src": "4197:3:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_magic_abi",
                                                            "typeString": "abi"
                                                        }
                                                    },
                                                    "id": 13332,
                                                    "isConstant": false,
                                                    "isLValue": false,
                                                    "isPure": true,
                                                    "lValueRequested": false,
                                                    "memberName": "encodeWithSignature",
                                                    "nodeType": "MemberAccess",
                                                    "src": "4197:23:62",
                                                    "typeDescriptions": {
                                                        "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$",
                                                        "typeString": "function (string memory) pure returns (bytes memory)"
                                                    }
                                                },
                                                "id": 13335,
                                                "isConstant": false,
                                                "isLValue": false,
                                                "isPure": false,
                                                "kind": "functionCall",
                                                "lValueRequested": false,
                                                "names": [],
                                                "nodeType": "FunctionCall",
                                                "src": "4197:43:62",
                                                "tryCall": false,
                                                "typeDescriptions": {
                                                    "typeIdentifier": "t_bytes_memory_ptr",
                                                    "typeString": "bytes memory"
                                                }
                                            }
                                        ],
                                        "expression": {
                                            "argumentTypes": [
                                                {
                                                    "typeIdentifier": "t_bytes_memory_ptr",
                                                    "typeString": "bytes memory"
                                                }
                                            ],
                                            "id": 13330,
                                            "name": "_sendLogPayload",
                                            "nodeType": "Identifier",
                                            "overloadedDeclarations": [],
                                            "referencedDeclaration": 12880,
                                            "src": "4181:15:62",
                                            "typeDescriptions": {
                                                "typeIdentifier": "t_function_internal_view$_t_bytes_memory_ptr_$returns$__$",
                                                "typeString": "function (bytes memory) view"
                                            }
                                        },
                                        "id": 13336,
                                        "isConstant": false,
                                        "isLValue": false,
                                        "isPure": false,
                                        "kind": "functionCall",
                                        "lValueRequested": false,
                                        "names": [],
                                        "nodeType": "FunctionCall",
                                        "src": "4181:60:62",
                                        "tryCall": false,
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_tuple$__$",
                                            "typeString": "tuple()"
                                        }
                                    },
                                    "id": 13337,
                                    "nodeType": "ExpressionStatement",
                                    "src": "4181:60:62"
                                }
                            ]
                        },
                        "id": 13339,
                        "implemented": true,
                        "kind": "function",
                        "modifiers": [],
                        "name": "logBytes26",
                        "nameLocation": "4140:10:62",
                        "nodeType": "FunctionDefinition",
                        "parameters": {
                            "id": 13328,
                            "nodeType": "ParameterList",
                            "parameters": [
                                {
                                    "constant": false,
                                    "id": 13327,
                                    "mutability": "mutable",
                                    "name": "p0",
                                    "nameLocation": "4159:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 13339,
                                    "src": "4151:10:62",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_bytes26",
                                        "typeString": "bytes26"
                                    },
                                    "typeName": {
                                        "id": 13326,
                                        "name": "bytes26",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "4151:7:62",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_bytes26",
                                            "typeString": "bytes26"
                                        }
                                    },
                                    "visibility": "internal"
                                }
                            ],
                            "src": "4150:12:62"
                        },
                        "returnParameters": {
                            "id": 13329,
                            "nodeType": "ParameterList",
                            "parameters": [],
                            "src": "4177:0:62"
                        },
                        "scope": 20920,
                        "src": "4131:114:62",
                        "stateMutability": "view",
                        "virtual": false,
                        "visibility": "internal"
                    },
                    {
                        "body": {
                            "id": 13352,
                            "nodeType": "Block",
                            "src": "4294:68:62",
                            "statements": [
                                {
                                    "expression": {
                                        "arguments": [
                                            {
                                                "arguments": [
                                                    {
                                                        "hexValue": "6c6f67286279746573323729",
                                                        "id": 13347,
                                                        "isConstant": false,
                                                        "isLValue": false,
                                                        "isPure": true,
                                                        "kind": "string",
                                                        "lValueRequested": false,
                                                        "nodeType": "Literal",
                                                        "src": "4338:14:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_stringliteral_3a3757dda92e8e238aa23ff7f6f62e31074f6acccca8986ec1286b5a835236b6",
                                                            "typeString": "literal_string \"log(bytes27)\""
                                                        },
                                                        "value": "log(bytes27)"
                                                    },
                                                    {
                                                        "id": 13348,
                                                        "name": "p0",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 13341,
                                                        "src": "4354:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_bytes27",
                                                            "typeString": "bytes27"
                                                        }
                                                    }
                                                ],
                                                "expression": {
                                                    "argumentTypes": [
                                                        {
                                                            "typeIdentifier": "t_stringliteral_3a3757dda92e8e238aa23ff7f6f62e31074f6acccca8986ec1286b5a835236b6",
                                                            "typeString": "literal_string \"log(bytes27)\""
                                                        },
                                                        {
                                                            "typeIdentifier": "t_bytes27",
                                                            "typeString": "bytes27"
                                                        }
                                                    ],
                                                    "expression": {
                                                        "id": 13345,
                                                        "name": "abi",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 4294967295,
                                                        "src": "4314:3:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_magic_abi",
                                                            "typeString": "abi"
                                                        }
                                                    },
                                                    "id": 13346,
                                                    "isConstant": false,
                                                    "isLValue": false,
                                                    "isPure": true,
                                                    "lValueRequested": false,
                                                    "memberName": "encodeWithSignature",
                                                    "nodeType": "MemberAccess",
                                                    "src": "4314:23:62",
                                                    "typeDescriptions": {
                                                        "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$",
                                                        "typeString": "function (string memory) pure returns (bytes memory)"
                                                    }
                                                },
                                                "id": 13349,
                                                "isConstant": false,
                                                "isLValue": false,
                                                "isPure": false,
                                                "kind": "functionCall",
                                                "lValueRequested": false,
                                                "names": [],
                                                "nodeType": "FunctionCall",
                                                "src": "4314:43:62",
                                                "tryCall": false,
                                                "typeDescriptions": {
                                                    "typeIdentifier": "t_bytes_memory_ptr",
                                                    "typeString": "bytes memory"
                                                }
                                            }
                                        ],
                                        "expression": {
                                            "argumentTypes": [
                                                {
                                                    "typeIdentifier": "t_bytes_memory_ptr",
                                                    "typeString": "bytes memory"
                                                }
                                            ],
                                            "id": 13344,
                                            "name": "_sendLogPayload",
                                            "nodeType": "Identifier",
                                            "overloadedDeclarations": [],
                                            "referencedDeclaration": 12880,
                                            "src": "4298:15:62",
                                            "typeDescriptions": {
                                                "typeIdentifier": "t_function_internal_view$_t_bytes_memory_ptr_$returns$__$",
                                                "typeString": "function (bytes memory) view"
                                            }
                                        },
                                        "id": 13350,
                                        "isConstant": false,
                                        "isLValue": false,
                                        "isPure": false,
                                        "kind": "functionCall",
                                        "lValueRequested": false,
                                        "names": [],
                                        "nodeType": "FunctionCall",
                                        "src": "4298:60:62",
                                        "tryCall": false,
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_tuple$__$",
                                            "typeString": "tuple()"
                                        }
                                    },
                                    "id": 13351,
                                    "nodeType": "ExpressionStatement",
                                    "src": "4298:60:62"
                                }
                            ]
                        },
                        "id": 13353,
                        "implemented": true,
                        "kind": "function",
                        "modifiers": [],
                        "name": "logBytes27",
                        "nameLocation": "4257:10:62",
                        "nodeType": "FunctionDefinition",
                        "parameters": {
                            "id": 13342,
                            "nodeType": "ParameterList",
                            "parameters": [
                                {
                                    "constant": false,
                                    "id": 13341,
                                    "mutability": "mutable",
                                    "name": "p0",
                                    "nameLocation": "4276:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 13353,
                                    "src": "4268:10:62",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_bytes27",
                                        "typeString": "bytes27"
                                    },
                                    "typeName": {
                                        "id": 13340,
                                        "name": "bytes27",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "4268:7:62",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_bytes27",
                                            "typeString": "bytes27"
                                        }
                                    },
                                    "visibility": "internal"
                                }
                            ],
                            "src": "4267:12:62"
                        },
                        "returnParameters": {
                            "id": 13343,
                            "nodeType": "ParameterList",
                            "parameters": [],
                            "src": "4294:0:62"
                        },
                        "scope": 20920,
                        "src": "4248:114:62",
                        "stateMutability": "view",
                        "virtual": false,
                        "visibility": "internal"
                    },
                    {
                        "body": {
                            "id": 13366,
                            "nodeType": "Block",
                            "src": "4411:68:62",
                            "statements": [
                                {
                                    "expression": {
                                        "arguments": [
                                            {
                                                "arguments": [
                                                    {
                                                        "hexValue": "6c6f67286279746573323829",
                                                        "id": 13361,
                                                        "isConstant": false,
                                                        "isLValue": false,
                                                        "isPure": true,
                                                        "kind": "string",
                                                        "lValueRequested": false,
                                                        "nodeType": "Literal",
                                                        "src": "4455:14:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_stringliteral_c82aeaee74a6ddec4ccd5cfe60e816752c02c70838f0908bd4a6e82866b3a042",
                                                            "typeString": "literal_string \"log(bytes28)\""
                                                        },
                                                        "value": "log(bytes28)"
                                                    },
                                                    {
                                                        "id": 13362,
                                                        "name": "p0",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 13355,
                                                        "src": "4471:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_bytes28",
                                                            "typeString": "bytes28"
                                                        }
                                                    }
                                                ],
                                                "expression": {
                                                    "argumentTypes": [
                                                        {
                                                            "typeIdentifier": "t_stringliteral_c82aeaee74a6ddec4ccd5cfe60e816752c02c70838f0908bd4a6e82866b3a042",
                                                            "typeString": "literal_string \"log(bytes28)\""
                                                        },
                                                        {
                                                            "typeIdentifier": "t_bytes28",
                                                            "typeString": "bytes28"
                                                        }
                                                    ],
                                                    "expression": {
                                                        "id": 13359,
                                                        "name": "abi",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 4294967295,
                                                        "src": "4431:3:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_magic_abi",
                                                            "typeString": "abi"
                                                        }
                                                    },
                                                    "id": 13360,
                                                    "isConstant": false,
                                                    "isLValue": false,
                                                    "isPure": true,
                                                    "lValueRequested": false,
                                                    "memberName": "encodeWithSignature",
                                                    "nodeType": "MemberAccess",
                                                    "src": "4431:23:62",
                                                    "typeDescriptions": {
                                                        "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$",
                                                        "typeString": "function (string memory) pure returns (bytes memory)"
                                                    }
                                                },
                                                "id": 13363,
                                                "isConstant": false,
                                                "isLValue": false,
                                                "isPure": false,
                                                "kind": "functionCall",
                                                "lValueRequested": false,
                                                "names": [],
                                                "nodeType": "FunctionCall",
                                                "src": "4431:43:62",
                                                "tryCall": false,
                                                "typeDescriptions": {
                                                    "typeIdentifier": "t_bytes_memory_ptr",
                                                    "typeString": "bytes memory"
                                                }
                                            }
                                        ],
                                        "expression": {
                                            "argumentTypes": [
                                                {
                                                    "typeIdentifier": "t_bytes_memory_ptr",
                                                    "typeString": "bytes memory"
                                                }
                                            ],
                                            "id": 13358,
                                            "name": "_sendLogPayload",
                                            "nodeType": "Identifier",
                                            "overloadedDeclarations": [],
                                            "referencedDeclaration": 12880,
                                            "src": "4415:15:62",
                                            "typeDescriptions": {
                                                "typeIdentifier": "t_function_internal_view$_t_bytes_memory_ptr_$returns$__$",
                                                "typeString": "function (bytes memory) view"
                                            }
                                        },
                                        "id": 13364,
                                        "isConstant": false,
                                        "isLValue": false,
                                        "isPure": false,
                                        "kind": "functionCall",
                                        "lValueRequested": false,
                                        "names": [],
                                        "nodeType": "FunctionCall",
                                        "src": "4415:60:62",
                                        "tryCall": false,
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_tuple$__$",
                                            "typeString": "tuple()"
                                        }
                                    },
                                    "id": 13365,
                                    "nodeType": "ExpressionStatement",
                                    "src": "4415:60:62"
                                }
                            ]
                        },
                        "id": 13367,
                        "implemented": true,
                        "kind": "function",
                        "modifiers": [],
                        "name": "logBytes28",
                        "nameLocation": "4374:10:62",
                        "nodeType": "FunctionDefinition",
                        "parameters": {
                            "id": 13356,
                            "nodeType": "ParameterList",
                            "parameters": [
                                {
                                    "constant": false,
                                    "id": 13355,
                                    "mutability": "mutable",
                                    "name": "p0",
                                    "nameLocation": "4393:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 13367,
                                    "src": "4385:10:62",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_bytes28",
                                        "typeString": "bytes28"
                                    },
                                    "typeName": {
                                        "id": 13354,
                                        "name": "bytes28",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "4385:7:62",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_bytes28",
                                            "typeString": "bytes28"
                                        }
                                    },
                                    "visibility": "internal"
                                }
                            ],
                            "src": "4384:12:62"
                        },
                        "returnParameters": {
                            "id": 13357,
                            "nodeType": "ParameterList",
                            "parameters": [],
                            "src": "4411:0:62"
                        },
                        "scope": 20920,
                        "src": "4365:114:62",
                        "stateMutability": "view",
                        "virtual": false,
                        "visibility": "internal"
                    },
                    {
                        "body": {
                            "id": 13380,
                            "nodeType": "Block",
                            "src": "4528:68:62",
                            "statements": [
                                {
                                    "expression": {
                                        "arguments": [
                                            {
                                                "arguments": [
                                                    {
                                                        "hexValue": "6c6f67286279746573323929",
                                                        "id": 13375,
                                                        "isConstant": false,
                                                        "isLValue": false,
                                                        "isPure": true,
                                                        "kind": "string",
                                                        "lValueRequested": false,
                                                        "nodeType": "Literal",
                                                        "src": "4572:14:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_stringliteral_4b69c3d5f782ef1bdb62d5bb42d4987f16799030ba447bb153d465bd3a3a5667",
                                                            "typeString": "literal_string \"log(bytes29)\""
                                                        },
                                                        "value": "log(bytes29)"
                                                    },
                                                    {
                                                        "id": 13376,
                                                        "name": "p0",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 13369,
                                                        "src": "4588:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_bytes29",
                                                            "typeString": "bytes29"
                                                        }
                                                    }
                                                ],
                                                "expression": {
                                                    "argumentTypes": [
                                                        {
                                                            "typeIdentifier": "t_stringliteral_4b69c3d5f782ef1bdb62d5bb42d4987f16799030ba447bb153d465bd3a3a5667",
                                                            "typeString": "literal_string \"log(bytes29)\""
                                                        },
                                                        {
                                                            "typeIdentifier": "t_bytes29",
                                                            "typeString": "bytes29"
                                                        }
                                                    ],
                                                    "expression": {
                                                        "id": 13373,
                                                        "name": "abi",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 4294967295,
                                                        "src": "4548:3:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_magic_abi",
                                                            "typeString": "abi"
                                                        }
                                                    },
                                                    "id": 13374,
                                                    "isConstant": false,
                                                    "isLValue": false,
                                                    "isPure": true,
                                                    "lValueRequested": false,
                                                    "memberName": "encodeWithSignature",
                                                    "nodeType": "MemberAccess",
                                                    "src": "4548:23:62",
                                                    "typeDescriptions": {
                                                        "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$",
                                                        "typeString": "function (string memory) pure returns (bytes memory)"
                                                    }
                                                },
                                                "id": 13377,
                                                "isConstant": false,
                                                "isLValue": false,
                                                "isPure": false,
                                                "kind": "functionCall",
                                                "lValueRequested": false,
                                                "names": [],
                                                "nodeType": "FunctionCall",
                                                "src": "4548:43:62",
                                                "tryCall": false,
                                                "typeDescriptions": {
                                                    "typeIdentifier": "t_bytes_memory_ptr",
                                                    "typeString": "bytes memory"
                                                }
                                            }
                                        ],
                                        "expression": {
                                            "argumentTypes": [
                                                {
                                                    "typeIdentifier": "t_bytes_memory_ptr",
                                                    "typeString": "bytes memory"
                                                }
                                            ],
                                            "id": 13372,
                                            "name": "_sendLogPayload",
                                            "nodeType": "Identifier",
                                            "overloadedDeclarations": [],
                                            "referencedDeclaration": 12880,
                                            "src": "4532:15:62",
                                            "typeDescriptions": {
                                                "typeIdentifier": "t_function_internal_view$_t_bytes_memory_ptr_$returns$__$",
                                                "typeString": "function (bytes memory) view"
                                            }
                                        },
                                        "id": 13378,
                                        "isConstant": false,
                                        "isLValue": false,
                                        "isPure": false,
                                        "kind": "functionCall",
                                        "lValueRequested": false,
                                        "names": [],
                                        "nodeType": "FunctionCall",
                                        "src": "4532:60:62",
                                        "tryCall": false,
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_tuple$__$",
                                            "typeString": "tuple()"
                                        }
                                    },
                                    "id": 13379,
                                    "nodeType": "ExpressionStatement",
                                    "src": "4532:60:62"
                                }
                            ]
                        },
                        "id": 13381,
                        "implemented": true,
                        "kind": "function",
                        "modifiers": [],
                        "name": "logBytes29",
                        "nameLocation": "4491:10:62",
                        "nodeType": "FunctionDefinition",
                        "parameters": {
                            "id": 13370,
                            "nodeType": "ParameterList",
                            "parameters": [
                                {
                                    "constant": false,
                                    "id": 13369,
                                    "mutability": "mutable",
                                    "name": "p0",
                                    "nameLocation": "4510:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 13381,
                                    "src": "4502:10:62",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_bytes29",
                                        "typeString": "bytes29"
                                    },
                                    "typeName": {
                                        "id": 13368,
                                        "name": "bytes29",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "4502:7:62",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_bytes29",
                                            "typeString": "bytes29"
                                        }
                                    },
                                    "visibility": "internal"
                                }
                            ],
                            "src": "4501:12:62"
                        },
                        "returnParameters": {
                            "id": 13371,
                            "nodeType": "ParameterList",
                            "parameters": [],
                            "src": "4528:0:62"
                        },
                        "scope": 20920,
                        "src": "4482:114:62",
                        "stateMutability": "view",
                        "virtual": false,
                        "visibility": "internal"
                    },
                    {
                        "body": {
                            "id": 13394,
                            "nodeType": "Block",
                            "src": "4645:68:62",
                            "statements": [
                                {
                                    "expression": {
                                        "arguments": [
                                            {
                                                "arguments": [
                                                    {
                                                        "hexValue": "6c6f67286279746573333029",
                                                        "id": 13389,
                                                        "isConstant": false,
                                                        "isLValue": false,
                                                        "isPure": true,
                                                        "kind": "string",
                                                        "lValueRequested": false,
                                                        "nodeType": "Literal",
                                                        "src": "4689:14:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_stringliteral_ee12c4edbd73d98174a6bf3454562c4874f59cb381176b662ca65f625f97d6ad",
                                                            "typeString": "literal_string \"log(bytes30)\""
                                                        },
                                                        "value": "log(bytes30)"
                                                    },
                                                    {
                                                        "id": 13390,
                                                        "name": "p0",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 13383,
                                                        "src": "4705:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_bytes30",
                                                            "typeString": "bytes30"
                                                        }
                                                    }
                                                ],
                                                "expression": {
                                                    "argumentTypes": [
                                                        {
                                                            "typeIdentifier": "t_stringliteral_ee12c4edbd73d98174a6bf3454562c4874f59cb381176b662ca65f625f97d6ad",
                                                            "typeString": "literal_string \"log(bytes30)\""
                                                        },
                                                        {
                                                            "typeIdentifier": "t_bytes30",
                                                            "typeString": "bytes30"
                                                        }
                                                    ],
                                                    "expression": {
                                                        "id": 13387,
                                                        "name": "abi",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 4294967295,
                                                        "src": "4665:3:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_magic_abi",
                                                            "typeString": "abi"
                                                        }
                                                    },
                                                    "id": 13388,
                                                    "isConstant": false,
                                                    "isLValue": false,
                                                    "isPure": true,
                                                    "lValueRequested": false,
                                                    "memberName": "encodeWithSignature",
                                                    "nodeType": "MemberAccess",
                                                    "src": "4665:23:62",
                                                    "typeDescriptions": {
                                                        "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$",
                                                        "typeString": "function (string memory) pure returns (bytes memory)"
                                                    }
                                                },
                                                "id": 13391,
                                                "isConstant": false,
                                                "isLValue": false,
                                                "isPure": false,
                                                "kind": "functionCall",
                                                "lValueRequested": false,
                                                "names": [],
                                                "nodeType": "FunctionCall",
                                                "src": "4665:43:62",
                                                "tryCall": false,
                                                "typeDescriptions": {
                                                    "typeIdentifier": "t_bytes_memory_ptr",
                                                    "typeString": "bytes memory"
                                                }
                                            }
                                        ],
                                        "expression": {
                                            "argumentTypes": [
                                                {
                                                    "typeIdentifier": "t_bytes_memory_ptr",
                                                    "typeString": "bytes memory"
                                                }
                                            ],
                                            "id": 13386,
                                            "name": "_sendLogPayload",
                                            "nodeType": "Identifier",
                                            "overloadedDeclarations": [],
                                            "referencedDeclaration": 12880,
                                            "src": "4649:15:62",
                                            "typeDescriptions": {
                                                "typeIdentifier": "t_function_internal_view$_t_bytes_memory_ptr_$returns$__$",
                                                "typeString": "function (bytes memory) view"
                                            }
                                        },
                                        "id": 13392,
                                        "isConstant": false,
                                        "isLValue": false,
                                        "isPure": false,
                                        "kind": "functionCall",
                                        "lValueRequested": false,
                                        "names": [],
                                        "nodeType": "FunctionCall",
                                        "src": "4649:60:62",
                                        "tryCall": false,
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_tuple$__$",
                                            "typeString": "tuple()"
                                        }
                                    },
                                    "id": 13393,
                                    "nodeType": "ExpressionStatement",
                                    "src": "4649:60:62"
                                }
                            ]
                        },
                        "id": 13395,
                        "implemented": true,
                        "kind": "function",
                        "modifiers": [],
                        "name": "logBytes30",
                        "nameLocation": "4608:10:62",
                        "nodeType": "FunctionDefinition",
                        "parameters": {
                            "id": 13384,
                            "nodeType": "ParameterList",
                            "parameters": [
                                {
                                    "constant": false,
                                    "id": 13383,
                                    "mutability": "mutable",
                                    "name": "p0",
                                    "nameLocation": "4627:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 13395,
                                    "src": "4619:10:62",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_bytes30",
                                        "typeString": "bytes30"
                                    },
                                    "typeName": {
                                        "id": 13382,
                                        "name": "bytes30",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "4619:7:62",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_bytes30",
                                            "typeString": "bytes30"
                                        }
                                    },
                                    "visibility": "internal"
                                }
                            ],
                            "src": "4618:12:62"
                        },
                        "returnParameters": {
                            "id": 13385,
                            "nodeType": "ParameterList",
                            "parameters": [],
                            "src": "4645:0:62"
                        },
                        "scope": 20920,
                        "src": "4599:114:62",
                        "stateMutability": "view",
                        "virtual": false,
                        "visibility": "internal"
                    },
                    {
                        "body": {
                            "id": 13408,
                            "nodeType": "Block",
                            "src": "4762:68:62",
                            "statements": [
                                {
                                    "expression": {
                                        "arguments": [
                                            {
                                                "arguments": [
                                                    {
                                                        "hexValue": "6c6f67286279746573333129",
                                                        "id": 13403,
                                                        "isConstant": false,
                                                        "isLValue": false,
                                                        "isPure": true,
                                                        "kind": "string",
                                                        "lValueRequested": false,
                                                        "nodeType": "Literal",
                                                        "src": "4806:14:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_stringliteral_c2854d92a0707e582e2710f9c9d3f148fdcf7e7da3b4270c2cfa3e223a2c50ce",
                                                            "typeString": "literal_string \"log(bytes31)\""
                                                        },
                                                        "value": "log(bytes31)"
                                                    },
                                                    {
                                                        "id": 13404,
                                                        "name": "p0",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 13397,
                                                        "src": "4822:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_bytes31",
                                                            "typeString": "bytes31"
                                                        }
                                                    }
                                                ],
                                                "expression": {
                                                    "argumentTypes": [
                                                        {
                                                            "typeIdentifier": "t_stringliteral_c2854d92a0707e582e2710f9c9d3f148fdcf7e7da3b4270c2cfa3e223a2c50ce",
                                                            "typeString": "literal_string \"log(bytes31)\""
                                                        },
                                                        {
                                                            "typeIdentifier": "t_bytes31",
                                                            "typeString": "bytes31"
                                                        }
                                                    ],
                                                    "expression": {
                                                        "id": 13401,
                                                        "name": "abi",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 4294967295,
                                                        "src": "4782:3:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_magic_abi",
                                                            "typeString": "abi"
                                                        }
                                                    },
                                                    "id": 13402,
                                                    "isConstant": false,
                                                    "isLValue": false,
                                                    "isPure": true,
                                                    "lValueRequested": false,
                                                    "memberName": "encodeWithSignature",
                                                    "nodeType": "MemberAccess",
                                                    "src": "4782:23:62",
                                                    "typeDescriptions": {
                                                        "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$",
                                                        "typeString": "function (string memory) pure returns (bytes memory)"
                                                    }
                                                },
                                                "id": 13405,
                                                "isConstant": false,
                                                "isLValue": false,
                                                "isPure": false,
                                                "kind": "functionCall",
                                                "lValueRequested": false,
                                                "names": [],
                                                "nodeType": "FunctionCall",
                                                "src": "4782:43:62",
                                                "tryCall": false,
                                                "typeDescriptions": {
                                                    "typeIdentifier": "t_bytes_memory_ptr",
                                                    "typeString": "bytes memory"
                                                }
                                            }
                                        ],
                                        "expression": {
                                            "argumentTypes": [
                                                {
                                                    "typeIdentifier": "t_bytes_memory_ptr",
                                                    "typeString": "bytes memory"
                                                }
                                            ],
                                            "id": 13400,
                                            "name": "_sendLogPayload",
                                            "nodeType": "Identifier",
                                            "overloadedDeclarations": [],
                                            "referencedDeclaration": 12880,
                                            "src": "4766:15:62",
                                            "typeDescriptions": {
                                                "typeIdentifier": "t_function_internal_view$_t_bytes_memory_ptr_$returns$__$",
                                                "typeString": "function (bytes memory) view"
                                            }
                                        },
                                        "id": 13406,
                                        "isConstant": false,
                                        "isLValue": false,
                                        "isPure": false,
                                        "kind": "functionCall",
                                        "lValueRequested": false,
                                        "names": [],
                                        "nodeType": "FunctionCall",
                                        "src": "4766:60:62",
                                        "tryCall": false,
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_tuple$__$",
                                            "typeString": "tuple()"
                                        }
                                    },
                                    "id": 13407,
                                    "nodeType": "ExpressionStatement",
                                    "src": "4766:60:62"
                                }
                            ]
                        },
                        "id": 13409,
                        "implemented": true,
                        "kind": "function",
                        "modifiers": [],
                        "name": "logBytes31",
                        "nameLocation": "4725:10:62",
                        "nodeType": "FunctionDefinition",
                        "parameters": {
                            "id": 13398,
                            "nodeType": "ParameterList",
                            "parameters": [
                                {
                                    "constant": false,
                                    "id": 13397,
                                    "mutability": "mutable",
                                    "name": "p0",
                                    "nameLocation": "4744:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 13409,
                                    "src": "4736:10:62",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_bytes31",
                                        "typeString": "bytes31"
                                    },
                                    "typeName": {
                                        "id": 13396,
                                        "name": "bytes31",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "4736:7:62",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_bytes31",
                                            "typeString": "bytes31"
                                        }
                                    },
                                    "visibility": "internal"
                                }
                            ],
                            "src": "4735:12:62"
                        },
                        "returnParameters": {
                            "id": 13399,
                            "nodeType": "ParameterList",
                            "parameters": [],
                            "src": "4762:0:62"
                        },
                        "scope": 20920,
                        "src": "4716:114:62",
                        "stateMutability": "view",
                        "virtual": false,
                        "visibility": "internal"
                    },
                    {
                        "body": {
                            "id": 13422,
                            "nodeType": "Block",
                            "src": "4879:68:62",
                            "statements": [
                                {
                                    "expression": {
                                        "arguments": [
                                            {
                                                "arguments": [
                                                    {
                                                        "hexValue": "6c6f67286279746573333229",
                                                        "id": 13417,
                                                        "isConstant": false,
                                                        "isLValue": false,
                                                        "isPure": true,
                                                        "kind": "string",
                                                        "lValueRequested": false,
                                                        "nodeType": "Literal",
                                                        "src": "4923:14:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_stringliteral_27b7cf8513ac6b65cae720183e1e60e67f8a9d92c01286c19d51d4e30aa269da",
                                                            "typeString": "literal_string \"log(bytes32)\""
                                                        },
                                                        "value": "log(bytes32)"
                                                    },
                                                    {
                                                        "id": 13418,
                                                        "name": "p0",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 13411,
                                                        "src": "4939:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_bytes32",
                                                            "typeString": "bytes32"
                                                        }
                                                    }
                                                ],
                                                "expression": {
                                                    "argumentTypes": [
                                                        {
                                                            "typeIdentifier": "t_stringliteral_27b7cf8513ac6b65cae720183e1e60e67f8a9d92c01286c19d51d4e30aa269da",
                                                            "typeString": "literal_string \"log(bytes32)\""
                                                        },
                                                        {
                                                            "typeIdentifier": "t_bytes32",
                                                            "typeString": "bytes32"
                                                        }
                                                    ],
                                                    "expression": {
                                                        "id": 13415,
                                                        "name": "abi",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 4294967295,
                                                        "src": "4899:3:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_magic_abi",
                                                            "typeString": "abi"
                                                        }
                                                    },
                                                    "id": 13416,
                                                    "isConstant": false,
                                                    "isLValue": false,
                                                    "isPure": true,
                                                    "lValueRequested": false,
                                                    "memberName": "encodeWithSignature",
                                                    "nodeType": "MemberAccess",
                                                    "src": "4899:23:62",
                                                    "typeDescriptions": {
                                                        "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$",
                                                        "typeString": "function (string memory) pure returns (bytes memory)"
                                                    }
                                                },
                                                "id": 13419,
                                                "isConstant": false,
                                                "isLValue": false,
                                                "isPure": false,
                                                "kind": "functionCall",
                                                "lValueRequested": false,
                                                "names": [],
                                                "nodeType": "FunctionCall",
                                                "src": "4899:43:62",
                                                "tryCall": false,
                                                "typeDescriptions": {
                                                    "typeIdentifier": "t_bytes_memory_ptr",
                                                    "typeString": "bytes memory"
                                                }
                                            }
                                        ],
                                        "expression": {
                                            "argumentTypes": [
                                                {
                                                    "typeIdentifier": "t_bytes_memory_ptr",
                                                    "typeString": "bytes memory"
                                                }
                                            ],
                                            "id": 13414,
                                            "name": "_sendLogPayload",
                                            "nodeType": "Identifier",
                                            "overloadedDeclarations": [],
                                            "referencedDeclaration": 12880,
                                            "src": "4883:15:62",
                                            "typeDescriptions": {
                                                "typeIdentifier": "t_function_internal_view$_t_bytes_memory_ptr_$returns$__$",
                                                "typeString": "function (bytes memory) view"
                                            }
                                        },
                                        "id": 13420,
                                        "isConstant": false,
                                        "isLValue": false,
                                        "isPure": false,
                                        "kind": "functionCall",
                                        "lValueRequested": false,
                                        "names": [],
                                        "nodeType": "FunctionCall",
                                        "src": "4883:60:62",
                                        "tryCall": false,
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_tuple$__$",
                                            "typeString": "tuple()"
                                        }
                                    },
                                    "id": 13421,
                                    "nodeType": "ExpressionStatement",
                                    "src": "4883:60:62"
                                }
                            ]
                        },
                        "id": 13423,
                        "implemented": true,
                        "kind": "function",
                        "modifiers": [],
                        "name": "logBytes32",
                        "nameLocation": "4842:10:62",
                        "nodeType": "FunctionDefinition",
                        "parameters": {
                            "id": 13412,
                            "nodeType": "ParameterList",
                            "parameters": [
                                {
                                    "constant": false,
                                    "id": 13411,
                                    "mutability": "mutable",
                                    "name": "p0",
                                    "nameLocation": "4861:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 13423,
                                    "src": "4853:10:62",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_bytes32",
                                        "typeString": "bytes32"
                                    },
                                    "typeName": {
                                        "id": 13410,
                                        "name": "bytes32",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "4853:7:62",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_bytes32",
                                            "typeString": "bytes32"
                                        }
                                    },
                                    "visibility": "internal"
                                }
                            ],
                            "src": "4852:12:62"
                        },
                        "returnParameters": {
                            "id": 13413,
                            "nodeType": "ParameterList",
                            "parameters": [],
                            "src": "4879:0:62"
                        },
                        "scope": 20920,
                        "src": "4833:114:62",
                        "stateMutability": "view",
                        "virtual": false,
                        "visibility": "internal"
                    },
                    {
                        "body": {
                            "id": 13436,
                            "nodeType": "Block",
                            "src": "4986:65:62",
                            "statements": [
                                {
                                    "expression": {
                                        "arguments": [
                                            {
                                                "arguments": [
                                                    {
                                                        "hexValue": "6c6f672875696e7429",
                                                        "id": 13431,
                                                        "isConstant": false,
                                                        "isLValue": false,
                                                        "isPure": true,
                                                        "kind": "string",
                                                        "lValueRequested": false,
                                                        "nodeType": "Literal",
                                                        "src": "5030:11:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_stringliteral_f5b1bba92d8f98cf25e27c94d7fc7cbfbae95a49dfe5ab0cdf64ddd7181bb984",
                                                            "typeString": "literal_string \"log(uint)\""
                                                        },
                                                        "value": "log(uint)"
                                                    },
                                                    {
                                                        "id": 13432,
                                                        "name": "p0",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 13425,
                                                        "src": "5043:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_uint256",
                                                            "typeString": "uint256"
                                                        }
                                                    }
                                                ],
                                                "expression": {
                                                    "argumentTypes": [
                                                        {
                                                            "typeIdentifier": "t_stringliteral_f5b1bba92d8f98cf25e27c94d7fc7cbfbae95a49dfe5ab0cdf64ddd7181bb984",
                                                            "typeString": "literal_string \"log(uint)\""
                                                        },
                                                        {
                                                            "typeIdentifier": "t_uint256",
                                                            "typeString": "uint256"
                                                        }
                                                    ],
                                                    "expression": {
                                                        "id": 13429,
                                                        "name": "abi",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 4294967295,
                                                        "src": "5006:3:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_magic_abi",
                                                            "typeString": "abi"
                                                        }
                                                    },
                                                    "id": 13430,
                                                    "isConstant": false,
                                                    "isLValue": false,
                                                    "isPure": true,
                                                    "lValueRequested": false,
                                                    "memberName": "encodeWithSignature",
                                                    "nodeType": "MemberAccess",
                                                    "src": "5006:23:62",
                                                    "typeDescriptions": {
                                                        "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$",
                                                        "typeString": "function (string memory) pure returns (bytes memory)"
                                                    }
                                                },
                                                "id": 13433,
                                                "isConstant": false,
                                                "isLValue": false,
                                                "isPure": false,
                                                "kind": "functionCall",
                                                "lValueRequested": false,
                                                "names": [],
                                                "nodeType": "FunctionCall",
                                                "src": "5006:40:62",
                                                "tryCall": false,
                                                "typeDescriptions": {
                                                    "typeIdentifier": "t_bytes_memory_ptr",
                                                    "typeString": "bytes memory"
                                                }
                                            }
                                        ],
                                        "expression": {
                                            "argumentTypes": [
                                                {
                                                    "typeIdentifier": "t_bytes_memory_ptr",
                                                    "typeString": "bytes memory"
                                                }
                                            ],
                                            "id": 13428,
                                            "name": "_sendLogPayload",
                                            "nodeType": "Identifier",
                                            "overloadedDeclarations": [],
                                            "referencedDeclaration": 12880,
                                            "src": "4990:15:62",
                                            "typeDescriptions": {
                                                "typeIdentifier": "t_function_internal_view$_t_bytes_memory_ptr_$returns$__$",
                                                "typeString": "function (bytes memory) view"
                                            }
                                        },
                                        "id": 13434,
                                        "isConstant": false,
                                        "isLValue": false,
                                        "isPure": false,
                                        "kind": "functionCall",
                                        "lValueRequested": false,
                                        "names": [],
                                        "nodeType": "FunctionCall",
                                        "src": "4990:57:62",
                                        "tryCall": false,
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_tuple$__$",
                                            "typeString": "tuple()"
                                        }
                                    },
                                    "id": 13435,
                                    "nodeType": "ExpressionStatement",
                                    "src": "4990:57:62"
                                }
                            ]
                        },
                        "id": 13437,
                        "implemented": true,
                        "kind": "function",
                        "modifiers": [],
                        "name": "log",
                        "nameLocation": "4959:3:62",
                        "nodeType": "FunctionDefinition",
                        "parameters": {
                            "id": 13426,
                            "nodeType": "ParameterList",
                            "parameters": [
                                {
                                    "constant": false,
                                    "id": 13425,
                                    "mutability": "mutable",
                                    "name": "p0",
                                    "nameLocation": "4968:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 13437,
                                    "src": "4963:7:62",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_uint256",
                                        "typeString": "uint256"
                                    },
                                    "typeName": {
                                        "id": 13424,
                                        "name": "uint",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "4963:4:62",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_uint256",
                                            "typeString": "uint256"
                                        }
                                    },
                                    "visibility": "internal"
                                }
                            ],
                            "src": "4962:9:62"
                        },
                        "returnParameters": {
                            "id": 13427,
                            "nodeType": "ParameterList",
                            "parameters": [],
                            "src": "4986:0:62"
                        },
                        "scope": 20920,
                        "src": "4950:101:62",
                        "stateMutability": "view",
                        "virtual": false,
                        "visibility": "internal"
                    },
                    {
                        "body": {
                            "id": 13450,
                            "nodeType": "Block",
                            "src": "5099:67:62",
                            "statements": [
                                {
                                    "expression": {
                                        "arguments": [
                                            {
                                                "arguments": [
                                                    {
                                                        "hexValue": "6c6f6728737472696e6729",
                                                        "id": 13445,
                                                        "isConstant": false,
                                                        "isLValue": false,
                                                        "isPure": true,
                                                        "kind": "string",
                                                        "lValueRequested": false,
                                                        "nodeType": "Literal",
                                                        "src": "5143:13:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_stringliteral_41304facd9323d75b11bcdd609cb38effffdb05710f7caf0e9b16c6d9d709f50",
                                                            "typeString": "literal_string \"log(string)\""
                                                        },
                                                        "value": "log(string)"
                                                    },
                                                    {
                                                        "id": 13446,
                                                        "name": "p0",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 13439,
                                                        "src": "5158:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_string_memory_ptr",
                                                            "typeString": "string memory"
                                                        }
                                                    }
                                                ],
                                                "expression": {
                                                    "argumentTypes": [
                                                        {
                                                            "typeIdentifier": "t_stringliteral_41304facd9323d75b11bcdd609cb38effffdb05710f7caf0e9b16c6d9d709f50",
                                                            "typeString": "literal_string \"log(string)\""
                                                        },
                                                        {
                                                            "typeIdentifier": "t_string_memory_ptr",
                                                            "typeString": "string memory"
                                                        }
                                                    ],
                                                    "expression": {
                                                        "id": 13443,
                                                        "name": "abi",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 4294967295,
                                                        "src": "5119:3:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_magic_abi",
                                                            "typeString": "abi"
                                                        }
                                                    },
                                                    "id": 13444,
                                                    "isConstant": false,
                                                    "isLValue": false,
                                                    "isPure": true,
                                                    "lValueRequested": false,
                                                    "memberName": "encodeWithSignature",
                                                    "nodeType": "MemberAccess",
                                                    "src": "5119:23:62",
                                                    "typeDescriptions": {
                                                        "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$",
                                                        "typeString": "function (string memory) pure returns (bytes memory)"
                                                    }
                                                },
                                                "id": 13447,
                                                "isConstant": false,
                                                "isLValue": false,
                                                "isPure": false,
                                                "kind": "functionCall",
                                                "lValueRequested": false,
                                                "names": [],
                                                "nodeType": "FunctionCall",
                                                "src": "5119:42:62",
                                                "tryCall": false,
                                                "typeDescriptions": {
                                                    "typeIdentifier": "t_bytes_memory_ptr",
                                                    "typeString": "bytes memory"
                                                }
                                            }
                                        ],
                                        "expression": {
                                            "argumentTypes": [
                                                {
                                                    "typeIdentifier": "t_bytes_memory_ptr",
                                                    "typeString": "bytes memory"
                                                }
                                            ],
                                            "id": 13442,
                                            "name": "_sendLogPayload",
                                            "nodeType": "Identifier",
                                            "overloadedDeclarations": [],
                                            "referencedDeclaration": 12880,
                                            "src": "5103:15:62",
                                            "typeDescriptions": {
                                                "typeIdentifier": "t_function_internal_view$_t_bytes_memory_ptr_$returns$__$",
                                                "typeString": "function (bytes memory) view"
                                            }
                                        },
                                        "id": 13448,
                                        "isConstant": false,
                                        "isLValue": false,
                                        "isPure": false,
                                        "kind": "functionCall",
                                        "lValueRequested": false,
                                        "names": [],
                                        "nodeType": "FunctionCall",
                                        "src": "5103:59:62",
                                        "tryCall": false,
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_tuple$__$",
                                            "typeString": "tuple()"
                                        }
                                    },
                                    "id": 13449,
                                    "nodeType": "ExpressionStatement",
                                    "src": "5103:59:62"
                                }
                            ]
                        },
                        "id": 13451,
                        "implemented": true,
                        "kind": "function",
                        "modifiers": [],
                        "name": "log",
                        "nameLocation": "5063:3:62",
                        "nodeType": "FunctionDefinition",
                        "parameters": {
                            "id": 13440,
                            "nodeType": "ParameterList",
                            "parameters": [
                                {
                                    "constant": false,
                                    "id": 13439,
                                    "mutability": "mutable",
                                    "name": "p0",
                                    "nameLocation": "5081:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 13451,
                                    "src": "5067:16:62",
                                    "stateVariable": false,
                                    "storageLocation": "memory",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_string_memory_ptr",
                                        "typeString": "string"
                                    },
                                    "typeName": {
                                        "id": 13438,
                                        "name": "string",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "5067:6:62",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_string_storage_ptr",
                                            "typeString": "string"
                                        }
                                    },
                                    "visibility": "internal"
                                }
                            ],
                            "src": "5066:18:62"
                        },
                        "returnParameters": {
                            "id": 13441,
                            "nodeType": "ParameterList",
                            "parameters": [],
                            "src": "5099:0:62"
                        },
                        "scope": 20920,
                        "src": "5054:112:62",
                        "stateMutability": "view",
                        "virtual": false,
                        "visibility": "internal"
                    },
                    {
                        "body": {
                            "id": 13464,
                            "nodeType": "Block",
                            "src": "5205:65:62",
                            "statements": [
                                {
                                    "expression": {
                                        "arguments": [
                                            {
                                                "arguments": [
                                                    {
                                                        "hexValue": "6c6f6728626f6f6c29",
                                                        "id": 13459,
                                                        "isConstant": false,
                                                        "isLValue": false,
                                                        "isPure": true,
                                                        "kind": "string",
                                                        "lValueRequested": false,
                                                        "nodeType": "Literal",
                                                        "src": "5249:11:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_stringliteral_32458eed3feca62a69292a55ca8a755ae4e6cdc57a38d15c298330064467fdd7",
                                                            "typeString": "literal_string \"log(bool)\""
                                                        },
                                                        "value": "log(bool)"
                                                    },
                                                    {
                                                        "id": 13460,
                                                        "name": "p0",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 13453,
                                                        "src": "5262:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_bool",
                                                            "typeString": "bool"
                                                        }
                                                    }
                                                ],
                                                "expression": {
                                                    "argumentTypes": [
                                                        {
                                                            "typeIdentifier": "t_stringliteral_32458eed3feca62a69292a55ca8a755ae4e6cdc57a38d15c298330064467fdd7",
                                                            "typeString": "literal_string \"log(bool)\""
                                                        },
                                                        {
                                                            "typeIdentifier": "t_bool",
                                                            "typeString": "bool"
                                                        }
                                                    ],
                                                    "expression": {
                                                        "id": 13457,
                                                        "name": "abi",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 4294967295,
                                                        "src": "5225:3:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_magic_abi",
                                                            "typeString": "abi"
                                                        }
                                                    },
                                                    "id": 13458,
                                                    "isConstant": false,
                                                    "isLValue": false,
                                                    "isPure": true,
                                                    "lValueRequested": false,
                                                    "memberName": "encodeWithSignature",
                                                    "nodeType": "MemberAccess",
                                                    "src": "5225:23:62",
                                                    "typeDescriptions": {
                                                        "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$",
                                                        "typeString": "function (string memory) pure returns (bytes memory)"
                                                    }
                                                },
                                                "id": 13461,
                                                "isConstant": false,
                                                "isLValue": false,
                                                "isPure": false,
                                                "kind": "functionCall",
                                                "lValueRequested": false,
                                                "names": [],
                                                "nodeType": "FunctionCall",
                                                "src": "5225:40:62",
                                                "tryCall": false,
                                                "typeDescriptions": {
                                                    "typeIdentifier": "t_bytes_memory_ptr",
                                                    "typeString": "bytes memory"
                                                }
                                            }
                                        ],
                                        "expression": {
                                            "argumentTypes": [
                                                {
                                                    "typeIdentifier": "t_bytes_memory_ptr",
                                                    "typeString": "bytes memory"
                                                }
                                            ],
                                            "id": 13456,
                                            "name": "_sendLogPayload",
                                            "nodeType": "Identifier",
                                            "overloadedDeclarations": [],
                                            "referencedDeclaration": 12880,
                                            "src": "5209:15:62",
                                            "typeDescriptions": {
                                                "typeIdentifier": "t_function_internal_view$_t_bytes_memory_ptr_$returns$__$",
                                                "typeString": "function (bytes memory) view"
                                            }
                                        },
                                        "id": 13462,
                                        "isConstant": false,
                                        "isLValue": false,
                                        "isPure": false,
                                        "kind": "functionCall",
                                        "lValueRequested": false,
                                        "names": [],
                                        "nodeType": "FunctionCall",
                                        "src": "5209:57:62",
                                        "tryCall": false,
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_tuple$__$",
                                            "typeString": "tuple()"
                                        }
                                    },
                                    "id": 13463,
                                    "nodeType": "ExpressionStatement",
                                    "src": "5209:57:62"
                                }
                            ]
                        },
                        "id": 13465,
                        "implemented": true,
                        "kind": "function",
                        "modifiers": [],
                        "name": "log",
                        "nameLocation": "5178:3:62",
                        "nodeType": "FunctionDefinition",
                        "parameters": {
                            "id": 13454,
                            "nodeType": "ParameterList",
                            "parameters": [
                                {
                                    "constant": false,
                                    "id": 13453,
                                    "mutability": "mutable",
                                    "name": "p0",
                                    "nameLocation": "5187:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 13465,
                                    "src": "5182:7:62",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_bool",
                                        "typeString": "bool"
                                    },
                                    "typeName": {
                                        "id": 13452,
                                        "name": "bool",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "5182:4:62",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_bool",
                                            "typeString": "bool"
                                        }
                                    },
                                    "visibility": "internal"
                                }
                            ],
                            "src": "5181:9:62"
                        },
                        "returnParameters": {
                            "id": 13455,
                            "nodeType": "ParameterList",
                            "parameters": [],
                            "src": "5205:0:62"
                        },
                        "scope": 20920,
                        "src": "5169:101:62",
                        "stateMutability": "view",
                        "virtual": false,
                        "visibility": "internal"
                    },
                    {
                        "body": {
                            "id": 13478,
                            "nodeType": "Block",
                            "src": "5312:68:62",
                            "statements": [
                                {
                                    "expression": {
                                        "arguments": [
                                            {
                                                "arguments": [
                                                    {
                                                        "hexValue": "6c6f67286164647265737329",
                                                        "id": 13473,
                                                        "isConstant": false,
                                                        "isLValue": false,
                                                        "isPure": true,
                                                        "kind": "string",
                                                        "lValueRequested": false,
                                                        "nodeType": "Literal",
                                                        "src": "5356:14:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_stringliteral_2c2ecbc2212ac38c2f9ec89aa5fcef7f532a5db24dbf7cad1f48bc82843b7428",
                                                            "typeString": "literal_string \"log(address)\""
                                                        },
                                                        "value": "log(address)"
                                                    },
                                                    {
                                                        "id": 13474,
                                                        "name": "p0",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 13467,
                                                        "src": "5372:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_address",
                                                            "typeString": "address"
                                                        }
                                                    }
                                                ],
                                                "expression": {
                                                    "argumentTypes": [
                                                        {
                                                            "typeIdentifier": "t_stringliteral_2c2ecbc2212ac38c2f9ec89aa5fcef7f532a5db24dbf7cad1f48bc82843b7428",
                                                            "typeString": "literal_string \"log(address)\""
                                                        },
                                                        {
                                                            "typeIdentifier": "t_address",
                                                            "typeString": "address"
                                                        }
                                                    ],
                                                    "expression": {
                                                        "id": 13471,
                                                        "name": "abi",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 4294967295,
                                                        "src": "5332:3:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_magic_abi",
                                                            "typeString": "abi"
                                                        }
                                                    },
                                                    "id": 13472,
                                                    "isConstant": false,
                                                    "isLValue": false,
                                                    "isPure": true,
                                                    "lValueRequested": false,
                                                    "memberName": "encodeWithSignature",
                                                    "nodeType": "MemberAccess",
                                                    "src": "5332:23:62",
                                                    "typeDescriptions": {
                                                        "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$",
                                                        "typeString": "function (string memory) pure returns (bytes memory)"
                                                    }
                                                },
                                                "id": 13475,
                                                "isConstant": false,
                                                "isLValue": false,
                                                "isPure": false,
                                                "kind": "functionCall",
                                                "lValueRequested": false,
                                                "names": [],
                                                "nodeType": "FunctionCall",
                                                "src": "5332:43:62",
                                                "tryCall": false,
                                                "typeDescriptions": {
                                                    "typeIdentifier": "t_bytes_memory_ptr",
                                                    "typeString": "bytes memory"
                                                }
                                            }
                                        ],
                                        "expression": {
                                            "argumentTypes": [
                                                {
                                                    "typeIdentifier": "t_bytes_memory_ptr",
                                                    "typeString": "bytes memory"
                                                }
                                            ],
                                            "id": 13470,
                                            "name": "_sendLogPayload",
                                            "nodeType": "Identifier",
                                            "overloadedDeclarations": [],
                                            "referencedDeclaration": 12880,
                                            "src": "5316:15:62",
                                            "typeDescriptions": {
                                                "typeIdentifier": "t_function_internal_view$_t_bytes_memory_ptr_$returns$__$",
                                                "typeString": "function (bytes memory) view"
                                            }
                                        },
                                        "id": 13476,
                                        "isConstant": false,
                                        "isLValue": false,
                                        "isPure": false,
                                        "kind": "functionCall",
                                        "lValueRequested": false,
                                        "names": [],
                                        "nodeType": "FunctionCall",
                                        "src": "5316:60:62",
                                        "tryCall": false,
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_tuple$__$",
                                            "typeString": "tuple()"
                                        }
                                    },
                                    "id": 13477,
                                    "nodeType": "ExpressionStatement",
                                    "src": "5316:60:62"
                                }
                            ]
                        },
                        "id": 13479,
                        "implemented": true,
                        "kind": "function",
                        "modifiers": [],
                        "name": "log",
                        "nameLocation": "5282:3:62",
                        "nodeType": "FunctionDefinition",
                        "parameters": {
                            "id": 13468,
                            "nodeType": "ParameterList",
                            "parameters": [
                                {
                                    "constant": false,
                                    "id": 13467,
                                    "mutability": "mutable",
                                    "name": "p0",
                                    "nameLocation": "5294:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 13479,
                                    "src": "5286:10:62",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_address",
                                        "typeString": "address"
                                    },
                                    "typeName": {
                                        "id": 13466,
                                        "name": "address",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "5286:7:62",
                                        "stateMutability": "nonpayable",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_address",
                                            "typeString": "address"
                                        }
                                    },
                                    "visibility": "internal"
                                }
                            ],
                            "src": "5285:12:62"
                        },
                        "returnParameters": {
                            "id": 13469,
                            "nodeType": "ParameterList",
                            "parameters": [],
                            "src": "5312:0:62"
                        },
                        "scope": 20920,
                        "src": "5273:107:62",
                        "stateMutability": "view",
                        "virtual": false,
                        "visibility": "internal"
                    },
                    {
                        "body": {
                            "id": 13495,
                            "nodeType": "Block",
                            "src": "5428:74:62",
                            "statements": [
                                {
                                    "expression": {
                                        "arguments": [
                                            {
                                                "arguments": [
                                                    {
                                                        "hexValue": "6c6f672875696e742c75696e7429",
                                                        "id": 13489,
                                                        "isConstant": false,
                                                        "isLValue": false,
                                                        "isPure": true,
                                                        "kind": "string",
                                                        "lValueRequested": false,
                                                        "nodeType": "Literal",
                                                        "src": "5472:16:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_stringliteral_6c0f69806b714804c91bc48c3b408dde7373841a86e55c9ea3ee0c5945b4bc32",
                                                            "typeString": "literal_string \"log(uint,uint)\""
                                                        },
                                                        "value": "log(uint,uint)"
                                                    },
                                                    {
                                                        "id": 13490,
                                                        "name": "p0",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 13481,
                                                        "src": "5490:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_uint256",
                                                            "typeString": "uint256"
                                                        }
                                                    },
                                                    {
                                                        "id": 13491,
                                                        "name": "p1",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 13483,
                                                        "src": "5494:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_uint256",
                                                            "typeString": "uint256"
                                                        }
                                                    }
                                                ],
                                                "expression": {
                                                    "argumentTypes": [
                                                        {
                                                            "typeIdentifier": "t_stringliteral_6c0f69806b714804c91bc48c3b408dde7373841a86e55c9ea3ee0c5945b4bc32",
                                                            "typeString": "literal_string \"log(uint,uint)\""
                                                        },
                                                        {
                                                            "typeIdentifier": "t_uint256",
                                                            "typeString": "uint256"
                                                        },
                                                        {
                                                            "typeIdentifier": "t_uint256",
                                                            "typeString": "uint256"
                                                        }
                                                    ],
                                                    "expression": {
                                                        "id": 13487,
                                                        "name": "abi",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 4294967295,
                                                        "src": "5448:3:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_magic_abi",
                                                            "typeString": "abi"
                                                        }
                                                    },
                                                    "id": 13488,
                                                    "isConstant": false,
                                                    "isLValue": false,
                                                    "isPure": true,
                                                    "lValueRequested": false,
                                                    "memberName": "encodeWithSignature",
                                                    "nodeType": "MemberAccess",
                                                    "src": "5448:23:62",
                                                    "typeDescriptions": {
                                                        "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$",
                                                        "typeString": "function (string memory) pure returns (bytes memory)"
                                                    }
                                                },
                                                "id": 13492,
                                                "isConstant": false,
                                                "isLValue": false,
                                                "isPure": false,
                                                "kind": "functionCall",
                                                "lValueRequested": false,
                                                "names": [],
                                                "nodeType": "FunctionCall",
                                                "src": "5448:49:62",
                                                "tryCall": false,
                                                "typeDescriptions": {
                                                    "typeIdentifier": "t_bytes_memory_ptr",
                                                    "typeString": "bytes memory"
                                                }
                                            }
                                        ],
                                        "expression": {
                                            "argumentTypes": [
                                                {
                                                    "typeIdentifier": "t_bytes_memory_ptr",
                                                    "typeString": "bytes memory"
                                                }
                                            ],
                                            "id": 13486,
                                            "name": "_sendLogPayload",
                                            "nodeType": "Identifier",
                                            "overloadedDeclarations": [],
                                            "referencedDeclaration": 12880,
                                            "src": "5432:15:62",
                                            "typeDescriptions": {
                                                "typeIdentifier": "t_function_internal_view$_t_bytes_memory_ptr_$returns$__$",
                                                "typeString": "function (bytes memory) view"
                                            }
                                        },
                                        "id": 13493,
                                        "isConstant": false,
                                        "isLValue": false,
                                        "isPure": false,
                                        "kind": "functionCall",
                                        "lValueRequested": false,
                                        "names": [],
                                        "nodeType": "FunctionCall",
                                        "src": "5432:66:62",
                                        "tryCall": false,
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_tuple$__$",
                                            "typeString": "tuple()"
                                        }
                                    },
                                    "id": 13494,
                                    "nodeType": "ExpressionStatement",
                                    "src": "5432:66:62"
                                }
                            ]
                        },
                        "id": 13496,
                        "implemented": true,
                        "kind": "function",
                        "modifiers": [],
                        "name": "log",
                        "nameLocation": "5392:3:62",
                        "nodeType": "FunctionDefinition",
                        "parameters": {
                            "id": 13484,
                            "nodeType": "ParameterList",
                            "parameters": [
                                {
                                    "constant": false,
                                    "id": 13481,
                                    "mutability": "mutable",
                                    "name": "p0",
                                    "nameLocation": "5401:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 13496,
                                    "src": "5396:7:62",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_uint256",
                                        "typeString": "uint256"
                                    },
                                    "typeName": {
                                        "id": 13480,
                                        "name": "uint",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "5396:4:62",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_uint256",
                                            "typeString": "uint256"
                                        }
                                    },
                                    "visibility": "internal"
                                },
                                {
                                    "constant": false,
                                    "id": 13483,
                                    "mutability": "mutable",
                                    "name": "p1",
                                    "nameLocation": "5410:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 13496,
                                    "src": "5405:7:62",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_uint256",
                                        "typeString": "uint256"
                                    },
                                    "typeName": {
                                        "id": 13482,
                                        "name": "uint",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "5405:4:62",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_uint256",
                                            "typeString": "uint256"
                                        }
                                    },
                                    "visibility": "internal"
                                }
                            ],
                            "src": "5395:18:62"
                        },
                        "returnParameters": {
                            "id": 13485,
                            "nodeType": "ParameterList",
                            "parameters": [],
                            "src": "5428:0:62"
                        },
                        "scope": 20920,
                        "src": "5383:119:62",
                        "stateMutability": "view",
                        "virtual": false,
                        "visibility": "internal"
                    },
                    {
                        "body": {
                            "id": 13512,
                            "nodeType": "Block",
                            "src": "5559:76:62",
                            "statements": [
                                {
                                    "expression": {
                                        "arguments": [
                                            {
                                                "arguments": [
                                                    {
                                                        "hexValue": "6c6f672875696e742c737472696e6729",
                                                        "id": 13506,
                                                        "isConstant": false,
                                                        "isLValue": false,
                                                        "isPure": true,
                                                        "kind": "string",
                                                        "lValueRequested": false,
                                                        "nodeType": "Literal",
                                                        "src": "5603:18:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_stringliteral_0fa3f345ed69310615f27bede4ec80a963e2134dd287fa93c82b0c1eefe029a8",
                                                            "typeString": "literal_string \"log(uint,string)\""
                                                        },
                                                        "value": "log(uint,string)"
                                                    },
                                                    {
                                                        "id": 13507,
                                                        "name": "p0",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 13498,
                                                        "src": "5623:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_uint256",
                                                            "typeString": "uint256"
                                                        }
                                                    },
                                                    {
                                                        "id": 13508,
                                                        "name": "p1",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 13500,
                                                        "src": "5627:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_string_memory_ptr",
                                                            "typeString": "string memory"
                                                        }
                                                    }
                                                ],
                                                "expression": {
                                                    "argumentTypes": [
                                                        {
                                                            "typeIdentifier": "t_stringliteral_0fa3f345ed69310615f27bede4ec80a963e2134dd287fa93c82b0c1eefe029a8",
                                                            "typeString": "literal_string \"log(uint,string)\""
                                                        },
                                                        {
                                                            "typeIdentifier": "t_uint256",
                                                            "typeString": "uint256"
                                                        },
                                                        {
                                                            "typeIdentifier": "t_string_memory_ptr",
                                                            "typeString": "string memory"
                                                        }
                                                    ],
                                                    "expression": {
                                                        "id": 13504,
                                                        "name": "abi",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 4294967295,
                                                        "src": "5579:3:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_magic_abi",
                                                            "typeString": "abi"
                                                        }
                                                    },
                                                    "id": 13505,
                                                    "isConstant": false,
                                                    "isLValue": false,
                                                    "isPure": true,
                                                    "lValueRequested": false,
                                                    "memberName": "encodeWithSignature",
                                                    "nodeType": "MemberAccess",
                                                    "src": "5579:23:62",
                                                    "typeDescriptions": {
                                                        "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$",
                                                        "typeString": "function (string memory) pure returns (bytes memory)"
                                                    }
                                                },
                                                "id": 13509,
                                                "isConstant": false,
                                                "isLValue": false,
                                                "isPure": false,
                                                "kind": "functionCall",
                                                "lValueRequested": false,
                                                "names": [],
                                                "nodeType": "FunctionCall",
                                                "src": "5579:51:62",
                                                "tryCall": false,
                                                "typeDescriptions": {
                                                    "typeIdentifier": "t_bytes_memory_ptr",
                                                    "typeString": "bytes memory"
                                                }
                                            }
                                        ],
                                        "expression": {
                                            "argumentTypes": [
                                                {
                                                    "typeIdentifier": "t_bytes_memory_ptr",
                                                    "typeString": "bytes memory"
                                                }
                                            ],
                                            "id": 13503,
                                            "name": "_sendLogPayload",
                                            "nodeType": "Identifier",
                                            "overloadedDeclarations": [],
                                            "referencedDeclaration": 12880,
                                            "src": "5563:15:62",
                                            "typeDescriptions": {
                                                "typeIdentifier": "t_function_internal_view$_t_bytes_memory_ptr_$returns$__$",
                                                "typeString": "function (bytes memory) view"
                                            }
                                        },
                                        "id": 13510,
                                        "isConstant": false,
                                        "isLValue": false,
                                        "isPure": false,
                                        "kind": "functionCall",
                                        "lValueRequested": false,
                                        "names": [],
                                        "nodeType": "FunctionCall",
                                        "src": "5563:68:62",
                                        "tryCall": false,
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_tuple$__$",
                                            "typeString": "tuple()"
                                        }
                                    },
                                    "id": 13511,
                                    "nodeType": "ExpressionStatement",
                                    "src": "5563:68:62"
                                }
                            ]
                        },
                        "id": 13513,
                        "implemented": true,
                        "kind": "function",
                        "modifiers": [],
                        "name": "log",
                        "nameLocation": "5514:3:62",
                        "nodeType": "FunctionDefinition",
                        "parameters": {
                            "id": 13501,
                            "nodeType": "ParameterList",
                            "parameters": [
                                {
                                    "constant": false,
                                    "id": 13498,
                                    "mutability": "mutable",
                                    "name": "p0",
                                    "nameLocation": "5523:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 13513,
                                    "src": "5518:7:62",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_uint256",
                                        "typeString": "uint256"
                                    },
                                    "typeName": {
                                        "id": 13497,
                                        "name": "uint",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "5518:4:62",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_uint256",
                                            "typeString": "uint256"
                                        }
                                    },
                                    "visibility": "internal"
                                },
                                {
                                    "constant": false,
                                    "id": 13500,
                                    "mutability": "mutable",
                                    "name": "p1",
                                    "nameLocation": "5541:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 13513,
                                    "src": "5527:16:62",
                                    "stateVariable": false,
                                    "storageLocation": "memory",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_string_memory_ptr",
                                        "typeString": "string"
                                    },
                                    "typeName": {
                                        "id": 13499,
                                        "name": "string",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "5527:6:62",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_string_storage_ptr",
                                            "typeString": "string"
                                        }
                                    },
                                    "visibility": "internal"
                                }
                            ],
                            "src": "5517:27:62"
                        },
                        "returnParameters": {
                            "id": 13502,
                            "nodeType": "ParameterList",
                            "parameters": [],
                            "src": "5559:0:62"
                        },
                        "scope": 20920,
                        "src": "5505:130:62",
                        "stateMutability": "view",
                        "virtual": false,
                        "visibility": "internal"
                    },
                    {
                        "body": {
                            "id": 13529,
                            "nodeType": "Block",
                            "src": "5683:74:62",
                            "statements": [
                                {
                                    "expression": {
                                        "arguments": [
                                            {
                                                "arguments": [
                                                    {
                                                        "hexValue": "6c6f672875696e742c626f6f6c29",
                                                        "id": 13523,
                                                        "isConstant": false,
                                                        "isLValue": false,
                                                        "isPure": true,
                                                        "kind": "string",
                                                        "lValueRequested": false,
                                                        "nodeType": "Literal",
                                                        "src": "5727:16:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_stringliteral_1e6dd4ecaf57d2ec6eb02f2f993c53040200a16451fba718b7e8b170825fd172",
                                                            "typeString": "literal_string \"log(uint,bool)\""
                                                        },
                                                        "value": "log(uint,bool)"
                                                    },
                                                    {
                                                        "id": 13524,
                                                        "name": "p0",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 13515,
                                                        "src": "5745:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_uint256",
                                                            "typeString": "uint256"
                                                        }
                                                    },
                                                    {
                                                        "id": 13525,
                                                        "name": "p1",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 13517,
                                                        "src": "5749:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_bool",
                                                            "typeString": "bool"
                                                        }
                                                    }
                                                ],
                                                "expression": {
                                                    "argumentTypes": [
                                                        {
                                                            "typeIdentifier": "t_stringliteral_1e6dd4ecaf57d2ec6eb02f2f993c53040200a16451fba718b7e8b170825fd172",
                                                            "typeString": "literal_string \"log(uint,bool)\""
                                                        },
                                                        {
                                                            "typeIdentifier": "t_uint256",
                                                            "typeString": "uint256"
                                                        },
                                                        {
                                                            "typeIdentifier": "t_bool",
                                                            "typeString": "bool"
                                                        }
                                                    ],
                                                    "expression": {
                                                        "id": 13521,
                                                        "name": "abi",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 4294967295,
                                                        "src": "5703:3:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_magic_abi",
                                                            "typeString": "abi"
                                                        }
                                                    },
                                                    "id": 13522,
                                                    "isConstant": false,
                                                    "isLValue": false,
                                                    "isPure": true,
                                                    "lValueRequested": false,
                                                    "memberName": "encodeWithSignature",
                                                    "nodeType": "MemberAccess",
                                                    "src": "5703:23:62",
                                                    "typeDescriptions": {
                                                        "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$",
                                                        "typeString": "function (string memory) pure returns (bytes memory)"
                                                    }
                                                },
                                                "id": 13526,
                                                "isConstant": false,
                                                "isLValue": false,
                                                "isPure": false,
                                                "kind": "functionCall",
                                                "lValueRequested": false,
                                                "names": [],
                                                "nodeType": "FunctionCall",
                                                "src": "5703:49:62",
                                                "tryCall": false,
                                                "typeDescriptions": {
                                                    "typeIdentifier": "t_bytes_memory_ptr",
                                                    "typeString": "bytes memory"
                                                }
                                            }
                                        ],
                                        "expression": {
                                            "argumentTypes": [
                                                {
                                                    "typeIdentifier": "t_bytes_memory_ptr",
                                                    "typeString": "bytes memory"
                                                }
                                            ],
                                            "id": 13520,
                                            "name": "_sendLogPayload",
                                            "nodeType": "Identifier",
                                            "overloadedDeclarations": [],
                                            "referencedDeclaration": 12880,
                                            "src": "5687:15:62",
                                            "typeDescriptions": {
                                                "typeIdentifier": "t_function_internal_view$_t_bytes_memory_ptr_$returns$__$",
                                                "typeString": "function (bytes memory) view"
                                            }
                                        },
                                        "id": 13527,
                                        "isConstant": false,
                                        "isLValue": false,
                                        "isPure": false,
                                        "kind": "functionCall",
                                        "lValueRequested": false,
                                        "names": [],
                                        "nodeType": "FunctionCall",
                                        "src": "5687:66:62",
                                        "tryCall": false,
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_tuple$__$",
                                            "typeString": "tuple()"
                                        }
                                    },
                                    "id": 13528,
                                    "nodeType": "ExpressionStatement",
                                    "src": "5687:66:62"
                                }
                            ]
                        },
                        "id": 13530,
                        "implemented": true,
                        "kind": "function",
                        "modifiers": [],
                        "name": "log",
                        "nameLocation": "5647:3:62",
                        "nodeType": "FunctionDefinition",
                        "parameters": {
                            "id": 13518,
                            "nodeType": "ParameterList",
                            "parameters": [
                                {
                                    "constant": false,
                                    "id": 13515,
                                    "mutability": "mutable",
                                    "name": "p0",
                                    "nameLocation": "5656:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 13530,
                                    "src": "5651:7:62",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_uint256",
                                        "typeString": "uint256"
                                    },
                                    "typeName": {
                                        "id": 13514,
                                        "name": "uint",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "5651:4:62",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_uint256",
                                            "typeString": "uint256"
                                        }
                                    },
                                    "visibility": "internal"
                                },
                                {
                                    "constant": false,
                                    "id": 13517,
                                    "mutability": "mutable",
                                    "name": "p1",
                                    "nameLocation": "5665:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 13530,
                                    "src": "5660:7:62",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_bool",
                                        "typeString": "bool"
                                    },
                                    "typeName": {
                                        "id": 13516,
                                        "name": "bool",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "5660:4:62",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_bool",
                                            "typeString": "bool"
                                        }
                                    },
                                    "visibility": "internal"
                                }
                            ],
                            "src": "5650:18:62"
                        },
                        "returnParameters": {
                            "id": 13519,
                            "nodeType": "ParameterList",
                            "parameters": [],
                            "src": "5683:0:62"
                        },
                        "scope": 20920,
                        "src": "5638:119:62",
                        "stateMutability": "view",
                        "virtual": false,
                        "visibility": "internal"
                    },
                    {
                        "body": {
                            "id": 13546,
                            "nodeType": "Block",
                            "src": "5808:77:62",
                            "statements": [
                                {
                                    "expression": {
                                        "arguments": [
                                            {
                                                "arguments": [
                                                    {
                                                        "hexValue": "6c6f672875696e742c6164647265737329",
                                                        "id": 13540,
                                                        "isConstant": false,
                                                        "isLValue": false,
                                                        "isPure": true,
                                                        "kind": "string",
                                                        "lValueRequested": false,
                                                        "nodeType": "Literal",
                                                        "src": "5852:19:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_stringliteral_58eb860cb5df2c2db83667a7ce62ef14d1323e0f3e304ea316fb64cd2c6fd3b2",
                                                            "typeString": "literal_string \"log(uint,address)\""
                                                        },
                                                        "value": "log(uint,address)"
                                                    },
                                                    {
                                                        "id": 13541,
                                                        "name": "p0",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 13532,
                                                        "src": "5873:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_uint256",
                                                            "typeString": "uint256"
                                                        }
                                                    },
                                                    {
                                                        "id": 13542,
                                                        "name": "p1",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 13534,
                                                        "src": "5877:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_address",
                                                            "typeString": "address"
                                                        }
                                                    }
                                                ],
                                                "expression": {
                                                    "argumentTypes": [
                                                        {
                                                            "typeIdentifier": "t_stringliteral_58eb860cb5df2c2db83667a7ce62ef14d1323e0f3e304ea316fb64cd2c6fd3b2",
                                                            "typeString": "literal_string \"log(uint,address)\""
                                                        },
                                                        {
                                                            "typeIdentifier": "t_uint256",
                                                            "typeString": "uint256"
                                                        },
                                                        {
                                                            "typeIdentifier": "t_address",
                                                            "typeString": "address"
                                                        }
                                                    ],
                                                    "expression": {
                                                        "id": 13538,
                                                        "name": "abi",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 4294967295,
                                                        "src": "5828:3:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_magic_abi",
                                                            "typeString": "abi"
                                                        }
                                                    },
                                                    "id": 13539,
                                                    "isConstant": false,
                                                    "isLValue": false,
                                                    "isPure": true,
                                                    "lValueRequested": false,
                                                    "memberName": "encodeWithSignature",
                                                    "nodeType": "MemberAccess",
                                                    "src": "5828:23:62",
                                                    "typeDescriptions": {
                                                        "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$",
                                                        "typeString": "function (string memory) pure returns (bytes memory)"
                                                    }
                                                },
                                                "id": 13543,
                                                "isConstant": false,
                                                "isLValue": false,
                                                "isPure": false,
                                                "kind": "functionCall",
                                                "lValueRequested": false,
                                                "names": [],
                                                "nodeType": "FunctionCall",
                                                "src": "5828:52:62",
                                                "tryCall": false,
                                                "typeDescriptions": {
                                                    "typeIdentifier": "t_bytes_memory_ptr",
                                                    "typeString": "bytes memory"
                                                }
                                            }
                                        ],
                                        "expression": {
                                            "argumentTypes": [
                                                {
                                                    "typeIdentifier": "t_bytes_memory_ptr",
                                                    "typeString": "bytes memory"
                                                }
                                            ],
                                            "id": 13537,
                                            "name": "_sendLogPayload",
                                            "nodeType": "Identifier",
                                            "overloadedDeclarations": [],
                                            "referencedDeclaration": 12880,
                                            "src": "5812:15:62",
                                            "typeDescriptions": {
                                                "typeIdentifier": "t_function_internal_view$_t_bytes_memory_ptr_$returns$__$",
                                                "typeString": "function (bytes memory) view"
                                            }
                                        },
                                        "id": 13544,
                                        "isConstant": false,
                                        "isLValue": false,
                                        "isPure": false,
                                        "kind": "functionCall",
                                        "lValueRequested": false,
                                        "names": [],
                                        "nodeType": "FunctionCall",
                                        "src": "5812:69:62",
                                        "tryCall": false,
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_tuple$__$",
                                            "typeString": "tuple()"
                                        }
                                    },
                                    "id": 13545,
                                    "nodeType": "ExpressionStatement",
                                    "src": "5812:69:62"
                                }
                            ]
                        },
                        "id": 13547,
                        "implemented": true,
                        "kind": "function",
                        "modifiers": [],
                        "name": "log",
                        "nameLocation": "5769:3:62",
                        "nodeType": "FunctionDefinition",
                        "parameters": {
                            "id": 13535,
                            "nodeType": "ParameterList",
                            "parameters": [
                                {
                                    "constant": false,
                                    "id": 13532,
                                    "mutability": "mutable",
                                    "name": "p0",
                                    "nameLocation": "5778:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 13547,
                                    "src": "5773:7:62",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_uint256",
                                        "typeString": "uint256"
                                    },
                                    "typeName": {
                                        "id": 13531,
                                        "name": "uint",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "5773:4:62",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_uint256",
                                            "typeString": "uint256"
                                        }
                                    },
                                    "visibility": "internal"
                                },
                                {
                                    "constant": false,
                                    "id": 13534,
                                    "mutability": "mutable",
                                    "name": "p1",
                                    "nameLocation": "5790:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 13547,
                                    "src": "5782:10:62",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_address",
                                        "typeString": "address"
                                    },
                                    "typeName": {
                                        "id": 13533,
                                        "name": "address",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "5782:7:62",
                                        "stateMutability": "nonpayable",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_address",
                                            "typeString": "address"
                                        }
                                    },
                                    "visibility": "internal"
                                }
                            ],
                            "src": "5772:21:62"
                        },
                        "returnParameters": {
                            "id": 13536,
                            "nodeType": "ParameterList",
                            "parameters": [],
                            "src": "5808:0:62"
                        },
                        "scope": 20920,
                        "src": "5760:125:62",
                        "stateMutability": "view",
                        "virtual": false,
                        "visibility": "internal"
                    },
                    {
                        "body": {
                            "id": 13563,
                            "nodeType": "Block",
                            "src": "5942:76:62",
                            "statements": [
                                {
                                    "expression": {
                                        "arguments": [
                                            {
                                                "arguments": [
                                                    {
                                                        "hexValue": "6c6f6728737472696e672c75696e7429",
                                                        "id": 13557,
                                                        "isConstant": false,
                                                        "isLValue": false,
                                                        "isPure": true,
                                                        "kind": "string",
                                                        "lValueRequested": false,
                                                        "nodeType": "Literal",
                                                        "src": "5986:18:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_stringliteral_9710a9d00d210736b1ce918b483e56000e2885769da8118b2fbf9fe33949d3bd",
                                                            "typeString": "literal_string \"log(string,uint)\""
                                                        },
                                                        "value": "log(string,uint)"
                                                    },
                                                    {
                                                        "id": 13558,
                                                        "name": "p0",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 13549,
                                                        "src": "6006:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_string_memory_ptr",
                                                            "typeString": "string memory"
                                                        }
                                                    },
                                                    {
                                                        "id": 13559,
                                                        "name": "p1",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 13551,
                                                        "src": "6010:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_uint256",
                                                            "typeString": "uint256"
                                                        }
                                                    }
                                                ],
                                                "expression": {
                                                    "argumentTypes": [
                                                        {
                                                            "typeIdentifier": "t_stringliteral_9710a9d00d210736b1ce918b483e56000e2885769da8118b2fbf9fe33949d3bd",
                                                            "typeString": "literal_string \"log(string,uint)\""
                                                        },
                                                        {
                                                            "typeIdentifier": "t_string_memory_ptr",
                                                            "typeString": "string memory"
                                                        },
                                                        {
                                                            "typeIdentifier": "t_uint256",
                                                            "typeString": "uint256"
                                                        }
                                                    ],
                                                    "expression": {
                                                        "id": 13555,
                                                        "name": "abi",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 4294967295,
                                                        "src": "5962:3:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_magic_abi",
                                                            "typeString": "abi"
                                                        }
                                                    },
                                                    "id": 13556,
                                                    "isConstant": false,
                                                    "isLValue": false,
                                                    "isPure": true,
                                                    "lValueRequested": false,
                                                    "memberName": "encodeWithSignature",
                                                    "nodeType": "MemberAccess",
                                                    "src": "5962:23:62",
                                                    "typeDescriptions": {
                                                        "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$",
                                                        "typeString": "function (string memory) pure returns (bytes memory)"
                                                    }
                                                },
                                                "id": 13560,
                                                "isConstant": false,
                                                "isLValue": false,
                                                "isPure": false,
                                                "kind": "functionCall",
                                                "lValueRequested": false,
                                                "names": [],
                                                "nodeType": "FunctionCall",
                                                "src": "5962:51:62",
                                                "tryCall": false,
                                                "typeDescriptions": {
                                                    "typeIdentifier": "t_bytes_memory_ptr",
                                                    "typeString": "bytes memory"
                                                }
                                            }
                                        ],
                                        "expression": {
                                            "argumentTypes": [
                                                {
                                                    "typeIdentifier": "t_bytes_memory_ptr",
                                                    "typeString": "bytes memory"
                                                }
                                            ],
                                            "id": 13554,
                                            "name": "_sendLogPayload",
                                            "nodeType": "Identifier",
                                            "overloadedDeclarations": [],
                                            "referencedDeclaration": 12880,
                                            "src": "5946:15:62",
                                            "typeDescriptions": {
                                                "typeIdentifier": "t_function_internal_view$_t_bytes_memory_ptr_$returns$__$",
                                                "typeString": "function (bytes memory) view"
                                            }
                                        },
                                        "id": 13561,
                                        "isConstant": false,
                                        "isLValue": false,
                                        "isPure": false,
                                        "kind": "functionCall",
                                        "lValueRequested": false,
                                        "names": [],
                                        "nodeType": "FunctionCall",
                                        "src": "5946:68:62",
                                        "tryCall": false,
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_tuple$__$",
                                            "typeString": "tuple()"
                                        }
                                    },
                                    "id": 13562,
                                    "nodeType": "ExpressionStatement",
                                    "src": "5946:68:62"
                                }
                            ]
                        },
                        "id": 13564,
                        "implemented": true,
                        "kind": "function",
                        "modifiers": [],
                        "name": "log",
                        "nameLocation": "5897:3:62",
                        "nodeType": "FunctionDefinition",
                        "parameters": {
                            "id": 13552,
                            "nodeType": "ParameterList",
                            "parameters": [
                                {
                                    "constant": false,
                                    "id": 13549,
                                    "mutability": "mutable",
                                    "name": "p0",
                                    "nameLocation": "5915:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 13564,
                                    "src": "5901:16:62",
                                    "stateVariable": false,
                                    "storageLocation": "memory",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_string_memory_ptr",
                                        "typeString": "string"
                                    },
                                    "typeName": {
                                        "id": 13548,
                                        "name": "string",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "5901:6:62",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_string_storage_ptr",
                                            "typeString": "string"
                                        }
                                    },
                                    "visibility": "internal"
                                },
                                {
                                    "constant": false,
                                    "id": 13551,
                                    "mutability": "mutable",
                                    "name": "p1",
                                    "nameLocation": "5924:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 13564,
                                    "src": "5919:7:62",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_uint256",
                                        "typeString": "uint256"
                                    },
                                    "typeName": {
                                        "id": 13550,
                                        "name": "uint",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "5919:4:62",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_uint256",
                                            "typeString": "uint256"
                                        }
                                    },
                                    "visibility": "internal"
                                }
                            ],
                            "src": "5900:27:62"
                        },
                        "returnParameters": {
                            "id": 13553,
                            "nodeType": "ParameterList",
                            "parameters": [],
                            "src": "5942:0:62"
                        },
                        "scope": 20920,
                        "src": "5888:130:62",
                        "stateMutability": "view",
                        "virtual": false,
                        "visibility": "internal"
                    },
                    {
                        "body": {
                            "id": 13580,
                            "nodeType": "Block",
                            "src": "6084:78:62",
                            "statements": [
                                {
                                    "expression": {
                                        "arguments": [
                                            {
                                                "arguments": [
                                                    {
                                                        "hexValue": "6c6f6728737472696e672c737472696e6729",
                                                        "id": 13574,
                                                        "isConstant": false,
                                                        "isLValue": false,
                                                        "isPure": true,
                                                        "kind": "string",
                                                        "lValueRequested": false,
                                                        "nodeType": "Literal",
                                                        "src": "6128:20:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_stringliteral_4b5c4277d556d03fbf5ee534fba41dc13982b44f2fa82f1d48fdd8b5b5b692ac",
                                                            "typeString": "literal_string \"log(string,string)\""
                                                        },
                                                        "value": "log(string,string)"
                                                    },
                                                    {
                                                        "id": 13575,
                                                        "name": "p0",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 13566,
                                                        "src": "6150:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_string_memory_ptr",
                                                            "typeString": "string memory"
                                                        }
                                                    },
                                                    {
                                                        "id": 13576,
                                                        "name": "p1",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 13568,
                                                        "src": "6154:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_string_memory_ptr",
                                                            "typeString": "string memory"
                                                        }
                                                    }
                                                ],
                                                "expression": {
                                                    "argumentTypes": [
                                                        {
                                                            "typeIdentifier": "t_stringliteral_4b5c4277d556d03fbf5ee534fba41dc13982b44f2fa82f1d48fdd8b5b5b692ac",
                                                            "typeString": "literal_string \"log(string,string)\""
                                                        },
                                                        {
                                                            "typeIdentifier": "t_string_memory_ptr",
                                                            "typeString": "string memory"
                                                        },
                                                        {
                                                            "typeIdentifier": "t_string_memory_ptr",
                                                            "typeString": "string memory"
                                                        }
                                                    ],
                                                    "expression": {
                                                        "id": 13572,
                                                        "name": "abi",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 4294967295,
                                                        "src": "6104:3:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_magic_abi",
                                                            "typeString": "abi"
                                                        }
                                                    },
                                                    "id": 13573,
                                                    "isConstant": false,
                                                    "isLValue": false,
                                                    "isPure": true,
                                                    "lValueRequested": false,
                                                    "memberName": "encodeWithSignature",
                                                    "nodeType": "MemberAccess",
                                                    "src": "6104:23:62",
                                                    "typeDescriptions": {
                                                        "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$",
                                                        "typeString": "function (string memory) pure returns (bytes memory)"
                                                    }
                                                },
                                                "id": 13577,
                                                "isConstant": false,
                                                "isLValue": false,
                                                "isPure": false,
                                                "kind": "functionCall",
                                                "lValueRequested": false,
                                                "names": [],
                                                "nodeType": "FunctionCall",
                                                "src": "6104:53:62",
                                                "tryCall": false,
                                                "typeDescriptions": {
                                                    "typeIdentifier": "t_bytes_memory_ptr",
                                                    "typeString": "bytes memory"
                                                }
                                            }
                                        ],
                                        "expression": {
                                            "argumentTypes": [
                                                {
                                                    "typeIdentifier": "t_bytes_memory_ptr",
                                                    "typeString": "bytes memory"
                                                }
                                            ],
                                            "id": 13571,
                                            "name": "_sendLogPayload",
                                            "nodeType": "Identifier",
                                            "overloadedDeclarations": [],
                                            "referencedDeclaration": 12880,
                                            "src": "6088:15:62",
                                            "typeDescriptions": {
                                                "typeIdentifier": "t_function_internal_view$_t_bytes_memory_ptr_$returns$__$",
                                                "typeString": "function (bytes memory) view"
                                            }
                                        },
                                        "id": 13578,
                                        "isConstant": false,
                                        "isLValue": false,
                                        "isPure": false,
                                        "kind": "functionCall",
                                        "lValueRequested": false,
                                        "names": [],
                                        "nodeType": "FunctionCall",
                                        "src": "6088:70:62",
                                        "tryCall": false,
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_tuple$__$",
                                            "typeString": "tuple()"
                                        }
                                    },
                                    "id": 13579,
                                    "nodeType": "ExpressionStatement",
                                    "src": "6088:70:62"
                                }
                            ]
                        },
                        "id": 13581,
                        "implemented": true,
                        "kind": "function",
                        "modifiers": [],
                        "name": "log",
                        "nameLocation": "6030:3:62",
                        "nodeType": "FunctionDefinition",
                        "parameters": {
                            "id": 13569,
                            "nodeType": "ParameterList",
                            "parameters": [
                                {
                                    "constant": false,
                                    "id": 13566,
                                    "mutability": "mutable",
                                    "name": "p0",
                                    "nameLocation": "6048:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 13581,
                                    "src": "6034:16:62",
                                    "stateVariable": false,
                                    "storageLocation": "memory",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_string_memory_ptr",
                                        "typeString": "string"
                                    },
                                    "typeName": {
                                        "id": 13565,
                                        "name": "string",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "6034:6:62",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_string_storage_ptr",
                                            "typeString": "string"
                                        }
                                    },
                                    "visibility": "internal"
                                },
                                {
                                    "constant": false,
                                    "id": 13568,
                                    "mutability": "mutable",
                                    "name": "p1",
                                    "nameLocation": "6066:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 13581,
                                    "src": "6052:16:62",
                                    "stateVariable": false,
                                    "storageLocation": "memory",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_string_memory_ptr",
                                        "typeString": "string"
                                    },
                                    "typeName": {
                                        "id": 13567,
                                        "name": "string",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "6052:6:62",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_string_storage_ptr",
                                            "typeString": "string"
                                        }
                                    },
                                    "visibility": "internal"
                                }
                            ],
                            "src": "6033:36:62"
                        },
                        "returnParameters": {
                            "id": 13570,
                            "nodeType": "ParameterList",
                            "parameters": [],
                            "src": "6084:0:62"
                        },
                        "scope": 20920,
                        "src": "6021:141:62",
                        "stateMutability": "view",
                        "virtual": false,
                        "visibility": "internal"
                    },
                    {
                        "body": {
                            "id": 13597,
                            "nodeType": "Block",
                            "src": "6219:76:62",
                            "statements": [
                                {
                                    "expression": {
                                        "arguments": [
                                            {
                                                "arguments": [
                                                    {
                                                        "hexValue": "6c6f6728737472696e672c626f6f6c29",
                                                        "id": 13591,
                                                        "isConstant": false,
                                                        "isLValue": false,
                                                        "isPure": true,
                                                        "kind": "string",
                                                        "lValueRequested": false,
                                                        "nodeType": "Literal",
                                                        "src": "6263:18:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_stringliteral_c3b556354c088fbb43886eb83c2a04bc7089663f964d22be308197a236f5b870",
                                                            "typeString": "literal_string \"log(string,bool)\""
                                                        },
                                                        "value": "log(string,bool)"
                                                    },
                                                    {
                                                        "id": 13592,
                                                        "name": "p0",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 13583,
                                                        "src": "6283:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_string_memory_ptr",
                                                            "typeString": "string memory"
                                                        }
                                                    },
                                                    {
                                                        "id": 13593,
                                                        "name": "p1",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 13585,
                                                        "src": "6287:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_bool",
                                                            "typeString": "bool"
                                                        }
                                                    }
                                                ],
                                                "expression": {
                                                    "argumentTypes": [
                                                        {
                                                            "typeIdentifier": "t_stringliteral_c3b556354c088fbb43886eb83c2a04bc7089663f964d22be308197a236f5b870",
                                                            "typeString": "literal_string \"log(string,bool)\""
                                                        },
                                                        {
                                                            "typeIdentifier": "t_string_memory_ptr",
                                                            "typeString": "string memory"
                                                        },
                                                        {
                                                            "typeIdentifier": "t_bool",
                                                            "typeString": "bool"
                                                        }
                                                    ],
                                                    "expression": {
                                                        "id": 13589,
                                                        "name": "abi",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 4294967295,
                                                        "src": "6239:3:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_magic_abi",
                                                            "typeString": "abi"
                                                        }
                                                    },
                                                    "id": 13590,
                                                    "isConstant": false,
                                                    "isLValue": false,
                                                    "isPure": true,
                                                    "lValueRequested": false,
                                                    "memberName": "encodeWithSignature",
                                                    "nodeType": "MemberAccess",
                                                    "src": "6239:23:62",
                                                    "typeDescriptions": {
                                                        "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$",
                                                        "typeString": "function (string memory) pure returns (bytes memory)"
                                                    }
                                                },
                                                "id": 13594,
                                                "isConstant": false,
                                                "isLValue": false,
                                                "isPure": false,
                                                "kind": "functionCall",
                                                "lValueRequested": false,
                                                "names": [],
                                                "nodeType": "FunctionCall",
                                                "src": "6239:51:62",
                                                "tryCall": false,
                                                "typeDescriptions": {
                                                    "typeIdentifier": "t_bytes_memory_ptr",
                                                    "typeString": "bytes memory"
                                                }
                                            }
                                        ],
                                        "expression": {
                                            "argumentTypes": [
                                                {
                                                    "typeIdentifier": "t_bytes_memory_ptr",
                                                    "typeString": "bytes memory"
                                                }
                                            ],
                                            "id": 13588,
                                            "name": "_sendLogPayload",
                                            "nodeType": "Identifier",
                                            "overloadedDeclarations": [],
                                            "referencedDeclaration": 12880,
                                            "src": "6223:15:62",
                                            "typeDescriptions": {
                                                "typeIdentifier": "t_function_internal_view$_t_bytes_memory_ptr_$returns$__$",
                                                "typeString": "function (bytes memory) view"
                                            }
                                        },
                                        "id": 13595,
                                        "isConstant": false,
                                        "isLValue": false,
                                        "isPure": false,
                                        "kind": "functionCall",
                                        "lValueRequested": false,
                                        "names": [],
                                        "nodeType": "FunctionCall",
                                        "src": "6223:68:62",
                                        "tryCall": false,
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_tuple$__$",
                                            "typeString": "tuple()"
                                        }
                                    },
                                    "id": 13596,
                                    "nodeType": "ExpressionStatement",
                                    "src": "6223:68:62"
                                }
                            ]
                        },
                        "id": 13598,
                        "implemented": true,
                        "kind": "function",
                        "modifiers": [],
                        "name": "log",
                        "nameLocation": "6174:3:62",
                        "nodeType": "FunctionDefinition",
                        "parameters": {
                            "id": 13586,
                            "nodeType": "ParameterList",
                            "parameters": [
                                {
                                    "constant": false,
                                    "id": 13583,
                                    "mutability": "mutable",
                                    "name": "p0",
                                    "nameLocation": "6192:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 13598,
                                    "src": "6178:16:62",
                                    "stateVariable": false,
                                    "storageLocation": "memory",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_string_memory_ptr",
                                        "typeString": "string"
                                    },
                                    "typeName": {
                                        "id": 13582,
                                        "name": "string",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "6178:6:62",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_string_storage_ptr",
                                            "typeString": "string"
                                        }
                                    },
                                    "visibility": "internal"
                                },
                                {
                                    "constant": false,
                                    "id": 13585,
                                    "mutability": "mutable",
                                    "name": "p1",
                                    "nameLocation": "6201:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 13598,
                                    "src": "6196:7:62",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_bool",
                                        "typeString": "bool"
                                    },
                                    "typeName": {
                                        "id": 13584,
                                        "name": "bool",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "6196:4:62",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_bool",
                                            "typeString": "bool"
                                        }
                                    },
                                    "visibility": "internal"
                                }
                            ],
                            "src": "6177:27:62"
                        },
                        "returnParameters": {
                            "id": 13587,
                            "nodeType": "ParameterList",
                            "parameters": [],
                            "src": "6219:0:62"
                        },
                        "scope": 20920,
                        "src": "6165:130:62",
                        "stateMutability": "view",
                        "virtual": false,
                        "visibility": "internal"
                    },
                    {
                        "body": {
                            "id": 13614,
                            "nodeType": "Block",
                            "src": "6355:79:62",
                            "statements": [
                                {
                                    "expression": {
                                        "arguments": [
                                            {
                                                "arguments": [
                                                    {
                                                        "hexValue": "6c6f6728737472696e672c6164647265737329",
                                                        "id": 13608,
                                                        "isConstant": false,
                                                        "isLValue": false,
                                                        "isPure": true,
                                                        "kind": "string",
                                                        "lValueRequested": false,
                                                        "nodeType": "Literal",
                                                        "src": "6399:21:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_stringliteral_319af333460570a1937bf195dd33445c0d0951c59127da6f1f038b9fdce3fd72",
                                                            "typeString": "literal_string \"log(string,address)\""
                                                        },
                                                        "value": "log(string,address)"
                                                    },
                                                    {
                                                        "id": 13609,
                                                        "name": "p0",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 13600,
                                                        "src": "6422:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_string_memory_ptr",
                                                            "typeString": "string memory"
                                                        }
                                                    },
                                                    {
                                                        "id": 13610,
                                                        "name": "p1",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 13602,
                                                        "src": "6426:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_address",
                                                            "typeString": "address"
                                                        }
                                                    }
                                                ],
                                                "expression": {
                                                    "argumentTypes": [
                                                        {
                                                            "typeIdentifier": "t_stringliteral_319af333460570a1937bf195dd33445c0d0951c59127da6f1f038b9fdce3fd72",
                                                            "typeString": "literal_string \"log(string,address)\""
                                                        },
                                                        {
                                                            "typeIdentifier": "t_string_memory_ptr",
                                                            "typeString": "string memory"
                                                        },
                                                        {
                                                            "typeIdentifier": "t_address",
                                                            "typeString": "address"
                                                        }
                                                    ],
                                                    "expression": {
                                                        "id": 13606,
                                                        "name": "abi",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 4294967295,
                                                        "src": "6375:3:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_magic_abi",
                                                            "typeString": "abi"
                                                        }
                                                    },
                                                    "id": 13607,
                                                    "isConstant": false,
                                                    "isLValue": false,
                                                    "isPure": true,
                                                    "lValueRequested": false,
                                                    "memberName": "encodeWithSignature",
                                                    "nodeType": "MemberAccess",
                                                    "src": "6375:23:62",
                                                    "typeDescriptions": {
                                                        "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$",
                                                        "typeString": "function (string memory) pure returns (bytes memory)"
                                                    }
                                                },
                                                "id": 13611,
                                                "isConstant": false,
                                                "isLValue": false,
                                                "isPure": false,
                                                "kind": "functionCall",
                                                "lValueRequested": false,
                                                "names": [],
                                                "nodeType": "FunctionCall",
                                                "src": "6375:54:62",
                                                "tryCall": false,
                                                "typeDescriptions": {
                                                    "typeIdentifier": "t_bytes_memory_ptr",
                                                    "typeString": "bytes memory"
                                                }
                                            }
                                        ],
                                        "expression": {
                                            "argumentTypes": [
                                                {
                                                    "typeIdentifier": "t_bytes_memory_ptr",
                                                    "typeString": "bytes memory"
                                                }
                                            ],
                                            "id": 13605,
                                            "name": "_sendLogPayload",
                                            "nodeType": "Identifier",
                                            "overloadedDeclarations": [],
                                            "referencedDeclaration": 12880,
                                            "src": "6359:15:62",
                                            "typeDescriptions": {
                                                "typeIdentifier": "t_function_internal_view$_t_bytes_memory_ptr_$returns$__$",
                                                "typeString": "function (bytes memory) view"
                                            }
                                        },
                                        "id": 13612,
                                        "isConstant": false,
                                        "isLValue": false,
                                        "isPure": false,
                                        "kind": "functionCall",
                                        "lValueRequested": false,
                                        "names": [],
                                        "nodeType": "FunctionCall",
                                        "src": "6359:71:62",
                                        "tryCall": false,
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_tuple$__$",
                                            "typeString": "tuple()"
                                        }
                                    },
                                    "id": 13613,
                                    "nodeType": "ExpressionStatement",
                                    "src": "6359:71:62"
                                }
                            ]
                        },
                        "id": 13615,
                        "implemented": true,
                        "kind": "function",
                        "modifiers": [],
                        "name": "log",
                        "nameLocation": "6307:3:62",
                        "nodeType": "FunctionDefinition",
                        "parameters": {
                            "id": 13603,
                            "nodeType": "ParameterList",
                            "parameters": [
                                {
                                    "constant": false,
                                    "id": 13600,
                                    "mutability": "mutable",
                                    "name": "p0",
                                    "nameLocation": "6325:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 13615,
                                    "src": "6311:16:62",
                                    "stateVariable": false,
                                    "storageLocation": "memory",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_string_memory_ptr",
                                        "typeString": "string"
                                    },
                                    "typeName": {
                                        "id": 13599,
                                        "name": "string",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "6311:6:62",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_string_storage_ptr",
                                            "typeString": "string"
                                        }
                                    },
                                    "visibility": "internal"
                                },
                                {
                                    "constant": false,
                                    "id": 13602,
                                    "mutability": "mutable",
                                    "name": "p1",
                                    "nameLocation": "6337:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 13615,
                                    "src": "6329:10:62",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_address",
                                        "typeString": "address"
                                    },
                                    "typeName": {
                                        "id": 13601,
                                        "name": "address",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "6329:7:62",
                                        "stateMutability": "nonpayable",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_address",
                                            "typeString": "address"
                                        }
                                    },
                                    "visibility": "internal"
                                }
                            ],
                            "src": "6310:30:62"
                        },
                        "returnParameters": {
                            "id": 13604,
                            "nodeType": "ParameterList",
                            "parameters": [],
                            "src": "6355:0:62"
                        },
                        "scope": 20920,
                        "src": "6298:136:62",
                        "stateMutability": "view",
                        "virtual": false,
                        "visibility": "internal"
                    },
                    {
                        "body": {
                            "id": 13631,
                            "nodeType": "Block",
                            "src": "6482:74:62",
                            "statements": [
                                {
                                    "expression": {
                                        "arguments": [
                                            {
                                                "arguments": [
                                                    {
                                                        "hexValue": "6c6f6728626f6f6c2c75696e7429",
                                                        "id": 13625,
                                                        "isConstant": false,
                                                        "isLValue": false,
                                                        "isPure": true,
                                                        "kind": "string",
                                                        "lValueRequested": false,
                                                        "nodeType": "Literal",
                                                        "src": "6526:16:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_stringliteral_364b6a921e139cbe48176ce2b1f6700c7e568330bc5da26f60350cc33cf2a299",
                                                            "typeString": "literal_string \"log(bool,uint)\""
                                                        },
                                                        "value": "log(bool,uint)"
                                                    },
                                                    {
                                                        "id": 13626,
                                                        "name": "p0",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 13617,
                                                        "src": "6544:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_bool",
                                                            "typeString": "bool"
                                                        }
                                                    },
                                                    {
                                                        "id": 13627,
                                                        "name": "p1",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 13619,
                                                        "src": "6548:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_uint256",
                                                            "typeString": "uint256"
                                                        }
                                                    }
                                                ],
                                                "expression": {
                                                    "argumentTypes": [
                                                        {
                                                            "typeIdentifier": "t_stringliteral_364b6a921e139cbe48176ce2b1f6700c7e568330bc5da26f60350cc33cf2a299",
                                                            "typeString": "literal_string \"log(bool,uint)\""
                                                        },
                                                        {
                                                            "typeIdentifier": "t_bool",
                                                            "typeString": "bool"
                                                        },
                                                        {
                                                            "typeIdentifier": "t_uint256",
                                                            "typeString": "uint256"
                                                        }
                                                    ],
                                                    "expression": {
                                                        "id": 13623,
                                                        "name": "abi",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 4294967295,
                                                        "src": "6502:3:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_magic_abi",
                                                            "typeString": "abi"
                                                        }
                                                    },
                                                    "id": 13624,
                                                    "isConstant": false,
                                                    "isLValue": false,
                                                    "isPure": true,
                                                    "lValueRequested": false,
                                                    "memberName": "encodeWithSignature",
                                                    "nodeType": "MemberAccess",
                                                    "src": "6502:23:62",
                                                    "typeDescriptions": {
                                                        "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$",
                                                        "typeString": "function (string memory) pure returns (bytes memory)"
                                                    }
                                                },
                                                "id": 13628,
                                                "isConstant": false,
                                                "isLValue": false,
                                                "isPure": false,
                                                "kind": "functionCall",
                                                "lValueRequested": false,
                                                "names": [],
                                                "nodeType": "FunctionCall",
                                                "src": "6502:49:62",
                                                "tryCall": false,
                                                "typeDescriptions": {
                                                    "typeIdentifier": "t_bytes_memory_ptr",
                                                    "typeString": "bytes memory"
                                                }
                                            }
                                        ],
                                        "expression": {
                                            "argumentTypes": [
                                                {
                                                    "typeIdentifier": "t_bytes_memory_ptr",
                                                    "typeString": "bytes memory"
                                                }
                                            ],
                                            "id": 13622,
                                            "name": "_sendLogPayload",
                                            "nodeType": "Identifier",
                                            "overloadedDeclarations": [],
                                            "referencedDeclaration": 12880,
                                            "src": "6486:15:62",
                                            "typeDescriptions": {
                                                "typeIdentifier": "t_function_internal_view$_t_bytes_memory_ptr_$returns$__$",
                                                "typeString": "function (bytes memory) view"
                                            }
                                        },
                                        "id": 13629,
                                        "isConstant": false,
                                        "isLValue": false,
                                        "isPure": false,
                                        "kind": "functionCall",
                                        "lValueRequested": false,
                                        "names": [],
                                        "nodeType": "FunctionCall",
                                        "src": "6486:66:62",
                                        "tryCall": false,
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_tuple$__$",
                                            "typeString": "tuple()"
                                        }
                                    },
                                    "id": 13630,
                                    "nodeType": "ExpressionStatement",
                                    "src": "6486:66:62"
                                }
                            ]
                        },
                        "id": 13632,
                        "implemented": true,
                        "kind": "function",
                        "modifiers": [],
                        "name": "log",
                        "nameLocation": "6446:3:62",
                        "nodeType": "FunctionDefinition",
                        "parameters": {
                            "id": 13620,
                            "nodeType": "ParameterList",
                            "parameters": [
                                {
                                    "constant": false,
                                    "id": 13617,
                                    "mutability": "mutable",
                                    "name": "p0",
                                    "nameLocation": "6455:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 13632,
                                    "src": "6450:7:62",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_bool",
                                        "typeString": "bool"
                                    },
                                    "typeName": {
                                        "id": 13616,
                                        "name": "bool",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "6450:4:62",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_bool",
                                            "typeString": "bool"
                                        }
                                    },
                                    "visibility": "internal"
                                },
                                {
                                    "constant": false,
                                    "id": 13619,
                                    "mutability": "mutable",
                                    "name": "p1",
                                    "nameLocation": "6464:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 13632,
                                    "src": "6459:7:62",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_uint256",
                                        "typeString": "uint256"
                                    },
                                    "typeName": {
                                        "id": 13618,
                                        "name": "uint",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "6459:4:62",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_uint256",
                                            "typeString": "uint256"
                                        }
                                    },
                                    "visibility": "internal"
                                }
                            ],
                            "src": "6449:18:62"
                        },
                        "returnParameters": {
                            "id": 13621,
                            "nodeType": "ParameterList",
                            "parameters": [],
                            "src": "6482:0:62"
                        },
                        "scope": 20920,
                        "src": "6437:119:62",
                        "stateMutability": "view",
                        "virtual": false,
                        "visibility": "internal"
                    },
                    {
                        "body": {
                            "id": 13648,
                            "nodeType": "Block",
                            "src": "6613:76:62",
                            "statements": [
                                {
                                    "expression": {
                                        "arguments": [
                                            {
                                                "arguments": [
                                                    {
                                                        "hexValue": "6c6f6728626f6f6c2c737472696e6729",
                                                        "id": 13642,
                                                        "isConstant": false,
                                                        "isLValue": false,
                                                        "isPure": true,
                                                        "kind": "string",
                                                        "lValueRequested": false,
                                                        "nodeType": "Literal",
                                                        "src": "6657:18:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_stringliteral_8feac5256a5b88d7ca0173065b796567ecbc9d75ec022fa0f044eb427f962b84",
                                                            "typeString": "literal_string \"log(bool,string)\""
                                                        },
                                                        "value": "log(bool,string)"
                                                    },
                                                    {
                                                        "id": 13643,
                                                        "name": "p0",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 13634,
                                                        "src": "6677:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_bool",
                                                            "typeString": "bool"
                                                        }
                                                    },
                                                    {
                                                        "id": 13644,
                                                        "name": "p1",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 13636,
                                                        "src": "6681:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_string_memory_ptr",
                                                            "typeString": "string memory"
                                                        }
                                                    }
                                                ],
                                                "expression": {
                                                    "argumentTypes": [
                                                        {
                                                            "typeIdentifier": "t_stringliteral_8feac5256a5b88d7ca0173065b796567ecbc9d75ec022fa0f044eb427f962b84",
                                                            "typeString": "literal_string \"log(bool,string)\""
                                                        },
                                                        {
                                                            "typeIdentifier": "t_bool",
                                                            "typeString": "bool"
                                                        },
                                                        {
                                                            "typeIdentifier": "t_string_memory_ptr",
                                                            "typeString": "string memory"
                                                        }
                                                    ],
                                                    "expression": {
                                                        "id": 13640,
                                                        "name": "abi",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 4294967295,
                                                        "src": "6633:3:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_magic_abi",
                                                            "typeString": "abi"
                                                        }
                                                    },
                                                    "id": 13641,
                                                    "isConstant": false,
                                                    "isLValue": false,
                                                    "isPure": true,
                                                    "lValueRequested": false,
                                                    "memberName": "encodeWithSignature",
                                                    "nodeType": "MemberAccess",
                                                    "src": "6633:23:62",
                                                    "typeDescriptions": {
                                                        "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$",
                                                        "typeString": "function (string memory) pure returns (bytes memory)"
                                                    }
                                                },
                                                "id": 13645,
                                                "isConstant": false,
                                                "isLValue": false,
                                                "isPure": false,
                                                "kind": "functionCall",
                                                "lValueRequested": false,
                                                "names": [],
                                                "nodeType": "FunctionCall",
                                                "src": "6633:51:62",
                                                "tryCall": false,
                                                "typeDescriptions": {
                                                    "typeIdentifier": "t_bytes_memory_ptr",
                                                    "typeString": "bytes memory"
                                                }
                                            }
                                        ],
                                        "expression": {
                                            "argumentTypes": [
                                                {
                                                    "typeIdentifier": "t_bytes_memory_ptr",
                                                    "typeString": "bytes memory"
                                                }
                                            ],
                                            "id": 13639,
                                            "name": "_sendLogPayload",
                                            "nodeType": "Identifier",
                                            "overloadedDeclarations": [],
                                            "referencedDeclaration": 12880,
                                            "src": "6617:15:62",
                                            "typeDescriptions": {
                                                "typeIdentifier": "t_function_internal_view$_t_bytes_memory_ptr_$returns$__$",
                                                "typeString": "function (bytes memory) view"
                                            }
                                        },
                                        "id": 13646,
                                        "isConstant": false,
                                        "isLValue": false,
                                        "isPure": false,
                                        "kind": "functionCall",
                                        "lValueRequested": false,
                                        "names": [],
                                        "nodeType": "FunctionCall",
                                        "src": "6617:68:62",
                                        "tryCall": false,
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_tuple$__$",
                                            "typeString": "tuple()"
                                        }
                                    },
                                    "id": 13647,
                                    "nodeType": "ExpressionStatement",
                                    "src": "6617:68:62"
                                }
                            ]
                        },
                        "id": 13649,
                        "implemented": true,
                        "kind": "function",
                        "modifiers": [],
                        "name": "log",
                        "nameLocation": "6568:3:62",
                        "nodeType": "FunctionDefinition",
                        "parameters": {
                            "id": 13637,
                            "nodeType": "ParameterList",
                            "parameters": [
                                {
                                    "constant": false,
                                    "id": 13634,
                                    "mutability": "mutable",
                                    "name": "p0",
                                    "nameLocation": "6577:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 13649,
                                    "src": "6572:7:62",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_bool",
                                        "typeString": "bool"
                                    },
                                    "typeName": {
                                        "id": 13633,
                                        "name": "bool",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "6572:4:62",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_bool",
                                            "typeString": "bool"
                                        }
                                    },
                                    "visibility": "internal"
                                },
                                {
                                    "constant": false,
                                    "id": 13636,
                                    "mutability": "mutable",
                                    "name": "p1",
                                    "nameLocation": "6595:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 13649,
                                    "src": "6581:16:62",
                                    "stateVariable": false,
                                    "storageLocation": "memory",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_string_memory_ptr",
                                        "typeString": "string"
                                    },
                                    "typeName": {
                                        "id": 13635,
                                        "name": "string",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "6581:6:62",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_string_storage_ptr",
                                            "typeString": "string"
                                        }
                                    },
                                    "visibility": "internal"
                                }
                            ],
                            "src": "6571:27:62"
                        },
                        "returnParameters": {
                            "id": 13638,
                            "nodeType": "ParameterList",
                            "parameters": [],
                            "src": "6613:0:62"
                        },
                        "scope": 20920,
                        "src": "6559:130:62",
                        "stateMutability": "view",
                        "virtual": false,
                        "visibility": "internal"
                    },
                    {
                        "body": {
                            "id": 13665,
                            "nodeType": "Block",
                            "src": "6737:74:62",
                            "statements": [
                                {
                                    "expression": {
                                        "arguments": [
                                            {
                                                "arguments": [
                                                    {
                                                        "hexValue": "6c6f6728626f6f6c2c626f6f6c29",
                                                        "id": 13659,
                                                        "isConstant": false,
                                                        "isLValue": false,
                                                        "isPure": true,
                                                        "kind": "string",
                                                        "lValueRequested": false,
                                                        "nodeType": "Literal",
                                                        "src": "6781:16:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_stringliteral_2a110e83227fbe26ff7524076f2091da3e9aa01d70b93677da53b41d22f4fb15",
                                                            "typeString": "literal_string \"log(bool,bool)\""
                                                        },
                                                        "value": "log(bool,bool)"
                                                    },
                                                    {
                                                        "id": 13660,
                                                        "name": "p0",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 13651,
                                                        "src": "6799:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_bool",
                                                            "typeString": "bool"
                                                        }
                                                    },
                                                    {
                                                        "id": 13661,
                                                        "name": "p1",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 13653,
                                                        "src": "6803:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_bool",
                                                            "typeString": "bool"
                                                        }
                                                    }
                                                ],
                                                "expression": {
                                                    "argumentTypes": [
                                                        {
                                                            "typeIdentifier": "t_stringliteral_2a110e83227fbe26ff7524076f2091da3e9aa01d70b93677da53b41d22f4fb15",
                                                            "typeString": "literal_string \"log(bool,bool)\""
                                                        },
                                                        {
                                                            "typeIdentifier": "t_bool",
                                                            "typeString": "bool"
                                                        },
                                                        {
                                                            "typeIdentifier": "t_bool",
                                                            "typeString": "bool"
                                                        }
                                                    ],
                                                    "expression": {
                                                        "id": 13657,
                                                        "name": "abi",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 4294967295,
                                                        "src": "6757:3:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_magic_abi",
                                                            "typeString": "abi"
                                                        }
                                                    },
                                                    "id": 13658,
                                                    "isConstant": false,
                                                    "isLValue": false,
                                                    "isPure": true,
                                                    "lValueRequested": false,
                                                    "memberName": "encodeWithSignature",
                                                    "nodeType": "MemberAccess",
                                                    "src": "6757:23:62",
                                                    "typeDescriptions": {
                                                        "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$",
                                                        "typeString": "function (string memory) pure returns (bytes memory)"
                                                    }
                                                },
                                                "id": 13662,
                                                "isConstant": false,
                                                "isLValue": false,
                                                "isPure": false,
                                                "kind": "functionCall",
                                                "lValueRequested": false,
                                                "names": [],
                                                "nodeType": "FunctionCall",
                                                "src": "6757:49:62",
                                                "tryCall": false,
                                                "typeDescriptions": {
                                                    "typeIdentifier": "t_bytes_memory_ptr",
                                                    "typeString": "bytes memory"
                                                }
                                            }
                                        ],
                                        "expression": {
                                            "argumentTypes": [
                                                {
                                                    "typeIdentifier": "t_bytes_memory_ptr",
                                                    "typeString": "bytes memory"
                                                }
                                            ],
                                            "id": 13656,
                                            "name": "_sendLogPayload",
                                            "nodeType": "Identifier",
                                            "overloadedDeclarations": [],
                                            "referencedDeclaration": 12880,
                                            "src": "6741:15:62",
                                            "typeDescriptions": {
                                                "typeIdentifier": "t_function_internal_view$_t_bytes_memory_ptr_$returns$__$",
                                                "typeString": "function (bytes memory) view"
                                            }
                                        },
                                        "id": 13663,
                                        "isConstant": false,
                                        "isLValue": false,
                                        "isPure": false,
                                        "kind": "functionCall",
                                        "lValueRequested": false,
                                        "names": [],
                                        "nodeType": "FunctionCall",
                                        "src": "6741:66:62",
                                        "tryCall": false,
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_tuple$__$",
                                            "typeString": "tuple()"
                                        }
                                    },
                                    "id": 13664,
                                    "nodeType": "ExpressionStatement",
                                    "src": "6741:66:62"
                                }
                            ]
                        },
                        "id": 13666,
                        "implemented": true,
                        "kind": "function",
                        "modifiers": [],
                        "name": "log",
                        "nameLocation": "6701:3:62",
                        "nodeType": "FunctionDefinition",
                        "parameters": {
                            "id": 13654,
                            "nodeType": "ParameterList",
                            "parameters": [
                                {
                                    "constant": false,
                                    "id": 13651,
                                    "mutability": "mutable",
                                    "name": "p0",
                                    "nameLocation": "6710:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 13666,
                                    "src": "6705:7:62",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_bool",
                                        "typeString": "bool"
                                    },
                                    "typeName": {
                                        "id": 13650,
                                        "name": "bool",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "6705:4:62",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_bool",
                                            "typeString": "bool"
                                        }
                                    },
                                    "visibility": "internal"
                                },
                                {
                                    "constant": false,
                                    "id": 13653,
                                    "mutability": "mutable",
                                    "name": "p1",
                                    "nameLocation": "6719:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 13666,
                                    "src": "6714:7:62",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_bool",
                                        "typeString": "bool"
                                    },
                                    "typeName": {
                                        "id": 13652,
                                        "name": "bool",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "6714:4:62",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_bool",
                                            "typeString": "bool"
                                        }
                                    },
                                    "visibility": "internal"
                                }
                            ],
                            "src": "6704:18:62"
                        },
                        "returnParameters": {
                            "id": 13655,
                            "nodeType": "ParameterList",
                            "parameters": [],
                            "src": "6737:0:62"
                        },
                        "scope": 20920,
                        "src": "6692:119:62",
                        "stateMutability": "view",
                        "virtual": false,
                        "visibility": "internal"
                    },
                    {
                        "body": {
                            "id": 13682,
                            "nodeType": "Block",
                            "src": "6862:77:62",
                            "statements": [
                                {
                                    "expression": {
                                        "arguments": [
                                            {
                                                "arguments": [
                                                    {
                                                        "hexValue": "6c6f6728626f6f6c2c6164647265737329",
                                                        "id": 13676,
                                                        "isConstant": false,
                                                        "isLValue": false,
                                                        "isPure": true,
                                                        "kind": "string",
                                                        "lValueRequested": false,
                                                        "nodeType": "Literal",
                                                        "src": "6906:19:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_stringliteral_853c4849443241e2249adafa4f69c8bb738b0f17c7a0a9d9997450cd71db4d55",
                                                            "typeString": "literal_string \"log(bool,address)\""
                                                        },
                                                        "value": "log(bool,address)"
                                                    },
                                                    {
                                                        "id": 13677,
                                                        "name": "p0",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 13668,
                                                        "src": "6927:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_bool",
                                                            "typeString": "bool"
                                                        }
                                                    },
                                                    {
                                                        "id": 13678,
                                                        "name": "p1",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 13670,
                                                        "src": "6931:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_address",
                                                            "typeString": "address"
                                                        }
                                                    }
                                                ],
                                                "expression": {
                                                    "argumentTypes": [
                                                        {
                                                            "typeIdentifier": "t_stringliteral_853c4849443241e2249adafa4f69c8bb738b0f17c7a0a9d9997450cd71db4d55",
                                                            "typeString": "literal_string \"log(bool,address)\""
                                                        },
                                                        {
                                                            "typeIdentifier": "t_bool",
                                                            "typeString": "bool"
                                                        },
                                                        {
                                                            "typeIdentifier": "t_address",
                                                            "typeString": "address"
                                                        }
                                                    ],
                                                    "expression": {
                                                        "id": 13674,
                                                        "name": "abi",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 4294967295,
                                                        "src": "6882:3:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_magic_abi",
                                                            "typeString": "abi"
                                                        }
                                                    },
                                                    "id": 13675,
                                                    "isConstant": false,
                                                    "isLValue": false,
                                                    "isPure": true,
                                                    "lValueRequested": false,
                                                    "memberName": "encodeWithSignature",
                                                    "nodeType": "MemberAccess",
                                                    "src": "6882:23:62",
                                                    "typeDescriptions": {
                                                        "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$",
                                                        "typeString": "function (string memory) pure returns (bytes memory)"
                                                    }
                                                },
                                                "id": 13679,
                                                "isConstant": false,
                                                "isLValue": false,
                                                "isPure": false,
                                                "kind": "functionCall",
                                                "lValueRequested": false,
                                                "names": [],
                                                "nodeType": "FunctionCall",
                                                "src": "6882:52:62",
                                                "tryCall": false,
                                                "typeDescriptions": {
                                                    "typeIdentifier": "t_bytes_memory_ptr",
                                                    "typeString": "bytes memory"
                                                }
                                            }
                                        ],
                                        "expression": {
                                            "argumentTypes": [
                                                {
                                                    "typeIdentifier": "t_bytes_memory_ptr",
                                                    "typeString": "bytes memory"
                                                }
                                            ],
                                            "id": 13673,
                                            "name": "_sendLogPayload",
                                            "nodeType": "Identifier",
                                            "overloadedDeclarations": [],
                                            "referencedDeclaration": 12880,
                                            "src": "6866:15:62",
                                            "typeDescriptions": {
                                                "typeIdentifier": "t_function_internal_view$_t_bytes_memory_ptr_$returns$__$",
                                                "typeString": "function (bytes memory) view"
                                            }
                                        },
                                        "id": 13680,
                                        "isConstant": false,
                                        "isLValue": false,
                                        "isPure": false,
                                        "kind": "functionCall",
                                        "lValueRequested": false,
                                        "names": [],
                                        "nodeType": "FunctionCall",
                                        "src": "6866:69:62",
                                        "tryCall": false,
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_tuple$__$",
                                            "typeString": "tuple()"
                                        }
                                    },
                                    "id": 13681,
                                    "nodeType": "ExpressionStatement",
                                    "src": "6866:69:62"
                                }
                            ]
                        },
                        "id": 13683,
                        "implemented": true,
                        "kind": "function",
                        "modifiers": [],
                        "name": "log",
                        "nameLocation": "6823:3:62",
                        "nodeType": "FunctionDefinition",
                        "parameters": {
                            "id": 13671,
                            "nodeType": "ParameterList",
                            "parameters": [
                                {
                                    "constant": false,
                                    "id": 13668,
                                    "mutability": "mutable",
                                    "name": "p0",
                                    "nameLocation": "6832:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 13683,
                                    "src": "6827:7:62",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_bool",
                                        "typeString": "bool"
                                    },
                                    "typeName": {
                                        "id": 13667,
                                        "name": "bool",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "6827:4:62",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_bool",
                                            "typeString": "bool"
                                        }
                                    },
                                    "visibility": "internal"
                                },
                                {
                                    "constant": false,
                                    "id": 13670,
                                    "mutability": "mutable",
                                    "name": "p1",
                                    "nameLocation": "6844:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 13683,
                                    "src": "6836:10:62",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_address",
                                        "typeString": "address"
                                    },
                                    "typeName": {
                                        "id": 13669,
                                        "name": "address",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "6836:7:62",
                                        "stateMutability": "nonpayable",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_address",
                                            "typeString": "address"
                                        }
                                    },
                                    "visibility": "internal"
                                }
                            ],
                            "src": "6826:21:62"
                        },
                        "returnParameters": {
                            "id": 13672,
                            "nodeType": "ParameterList",
                            "parameters": [],
                            "src": "6862:0:62"
                        },
                        "scope": 20920,
                        "src": "6814:125:62",
                        "stateMutability": "view",
                        "virtual": false,
                        "visibility": "internal"
                    },
                    {
                        "body": {
                            "id": 13699,
                            "nodeType": "Block",
                            "src": "6990:77:62",
                            "statements": [
                                {
                                    "expression": {
                                        "arguments": [
                                            {
                                                "arguments": [
                                                    {
                                                        "hexValue": "6c6f6728616464726573732c75696e7429",
                                                        "id": 13693,
                                                        "isConstant": false,
                                                        "isLValue": false,
                                                        "isPure": true,
                                                        "kind": "string",
                                                        "lValueRequested": false,
                                                        "nodeType": "Literal",
                                                        "src": "7034:19:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_stringliteral_2243cfa3a64f0f85afef83b08ba731ebd8a4b1053fdc66eb414b069452c9f133",
                                                            "typeString": "literal_string \"log(address,uint)\""
                                                        },
                                                        "value": "log(address,uint)"
                                                    },
                                                    {
                                                        "id": 13694,
                                                        "name": "p0",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 13685,
                                                        "src": "7055:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_address",
                                                            "typeString": "address"
                                                        }
                                                    },
                                                    {
                                                        "id": 13695,
                                                        "name": "p1",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 13687,
                                                        "src": "7059:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_uint256",
                                                            "typeString": "uint256"
                                                        }
                                                    }
                                                ],
                                                "expression": {
                                                    "argumentTypes": [
                                                        {
                                                            "typeIdentifier": "t_stringliteral_2243cfa3a64f0f85afef83b08ba731ebd8a4b1053fdc66eb414b069452c9f133",
                                                            "typeString": "literal_string \"log(address,uint)\""
                                                        },
                                                        {
                                                            "typeIdentifier": "t_address",
                                                            "typeString": "address"
                                                        },
                                                        {
                                                            "typeIdentifier": "t_uint256",
                                                            "typeString": "uint256"
                                                        }
                                                    ],
                                                    "expression": {
                                                        "id": 13691,
                                                        "name": "abi",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 4294967295,
                                                        "src": "7010:3:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_magic_abi",
                                                            "typeString": "abi"
                                                        }
                                                    },
                                                    "id": 13692,
                                                    "isConstant": false,
                                                    "isLValue": false,
                                                    "isPure": true,
                                                    "lValueRequested": false,
                                                    "memberName": "encodeWithSignature",
                                                    "nodeType": "MemberAccess",
                                                    "src": "7010:23:62",
                                                    "typeDescriptions": {
                                                        "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$",
                                                        "typeString": "function (string memory) pure returns (bytes memory)"
                                                    }
                                                },
                                                "id": 13696,
                                                "isConstant": false,
                                                "isLValue": false,
                                                "isPure": false,
                                                "kind": "functionCall",
                                                "lValueRequested": false,
                                                "names": [],
                                                "nodeType": "FunctionCall",
                                                "src": "7010:52:62",
                                                "tryCall": false,
                                                "typeDescriptions": {
                                                    "typeIdentifier": "t_bytes_memory_ptr",
                                                    "typeString": "bytes memory"
                                                }
                                            }
                                        ],
                                        "expression": {
                                            "argumentTypes": [
                                                {
                                                    "typeIdentifier": "t_bytes_memory_ptr",
                                                    "typeString": "bytes memory"
                                                }
                                            ],
                                            "id": 13690,
                                            "name": "_sendLogPayload",
                                            "nodeType": "Identifier",
                                            "overloadedDeclarations": [],
                                            "referencedDeclaration": 12880,
                                            "src": "6994:15:62",
                                            "typeDescriptions": {
                                                "typeIdentifier": "t_function_internal_view$_t_bytes_memory_ptr_$returns$__$",
                                                "typeString": "function (bytes memory) view"
                                            }
                                        },
                                        "id": 13697,
                                        "isConstant": false,
                                        "isLValue": false,
                                        "isPure": false,
                                        "kind": "functionCall",
                                        "lValueRequested": false,
                                        "names": [],
                                        "nodeType": "FunctionCall",
                                        "src": "6994:69:62",
                                        "tryCall": false,
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_tuple$__$",
                                            "typeString": "tuple()"
                                        }
                                    },
                                    "id": 13698,
                                    "nodeType": "ExpressionStatement",
                                    "src": "6994:69:62"
                                }
                            ]
                        },
                        "id": 13700,
                        "implemented": true,
                        "kind": "function",
                        "modifiers": [],
                        "name": "log",
                        "nameLocation": "6951:3:62",
                        "nodeType": "FunctionDefinition",
                        "parameters": {
                            "id": 13688,
                            "nodeType": "ParameterList",
                            "parameters": [
                                {
                                    "constant": false,
                                    "id": 13685,
                                    "mutability": "mutable",
                                    "name": "p0",
                                    "nameLocation": "6963:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 13700,
                                    "src": "6955:10:62",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_address",
                                        "typeString": "address"
                                    },
                                    "typeName": {
                                        "id": 13684,
                                        "name": "address",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "6955:7:62",
                                        "stateMutability": "nonpayable",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_address",
                                            "typeString": "address"
                                        }
                                    },
                                    "visibility": "internal"
                                },
                                {
                                    "constant": false,
                                    "id": 13687,
                                    "mutability": "mutable",
                                    "name": "p1",
                                    "nameLocation": "6972:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 13700,
                                    "src": "6967:7:62",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_uint256",
                                        "typeString": "uint256"
                                    },
                                    "typeName": {
                                        "id": 13686,
                                        "name": "uint",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "6967:4:62",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_uint256",
                                            "typeString": "uint256"
                                        }
                                    },
                                    "visibility": "internal"
                                }
                            ],
                            "src": "6954:21:62"
                        },
                        "returnParameters": {
                            "id": 13689,
                            "nodeType": "ParameterList",
                            "parameters": [],
                            "src": "6990:0:62"
                        },
                        "scope": 20920,
                        "src": "6942:125:62",
                        "stateMutability": "view",
                        "virtual": false,
                        "visibility": "internal"
                    },
                    {
                        "body": {
                            "id": 13716,
                            "nodeType": "Block",
                            "src": "7127:79:62",
                            "statements": [
                                {
                                    "expression": {
                                        "arguments": [
                                            {
                                                "arguments": [
                                                    {
                                                        "hexValue": "6c6f6728616464726573732c737472696e6729",
                                                        "id": 13710,
                                                        "isConstant": false,
                                                        "isLValue": false,
                                                        "isPure": true,
                                                        "kind": "string",
                                                        "lValueRequested": false,
                                                        "nodeType": "Literal",
                                                        "src": "7171:21:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_stringliteral_759f86bbdd0758679ecefbd32ea620068b2339dddd9e45ee0fa567ee6c81f0ab",
                                                            "typeString": "literal_string \"log(address,string)\""
                                                        },
                                                        "value": "log(address,string)"
                                                    },
                                                    {
                                                        "id": 13711,
                                                        "name": "p0",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 13702,
                                                        "src": "7194:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_address",
                                                            "typeString": "address"
                                                        }
                                                    },
                                                    {
                                                        "id": 13712,
                                                        "name": "p1",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 13704,
                                                        "src": "7198:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_string_memory_ptr",
                                                            "typeString": "string memory"
                                                        }
                                                    }
                                                ],
                                                "expression": {
                                                    "argumentTypes": [
                                                        {
                                                            "typeIdentifier": "t_stringliteral_759f86bbdd0758679ecefbd32ea620068b2339dddd9e45ee0fa567ee6c81f0ab",
                                                            "typeString": "literal_string \"log(address,string)\""
                                                        },
                                                        {
                                                            "typeIdentifier": "t_address",
                                                            "typeString": "address"
                                                        },
                                                        {
                                                            "typeIdentifier": "t_string_memory_ptr",
                                                            "typeString": "string memory"
                                                        }
                                                    ],
                                                    "expression": {
                                                        "id": 13708,
                                                        "name": "abi",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 4294967295,
                                                        "src": "7147:3:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_magic_abi",
                                                            "typeString": "abi"
                                                        }
                                                    },
                                                    "id": 13709,
                                                    "isConstant": false,
                                                    "isLValue": false,
                                                    "isPure": true,
                                                    "lValueRequested": false,
                                                    "memberName": "encodeWithSignature",
                                                    "nodeType": "MemberAccess",
                                                    "src": "7147:23:62",
                                                    "typeDescriptions": {
                                                        "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$",
                                                        "typeString": "function (string memory) pure returns (bytes memory)"
                                                    }
                                                },
                                                "id": 13713,
                                                "isConstant": false,
                                                "isLValue": false,
                                                "isPure": false,
                                                "kind": "functionCall",
                                                "lValueRequested": false,
                                                "names": [],
                                                "nodeType": "FunctionCall",
                                                "src": "7147:54:62",
                                                "tryCall": false,
                                                "typeDescriptions": {
                                                    "typeIdentifier": "t_bytes_memory_ptr",
                                                    "typeString": "bytes memory"
                                                }
                                            }
                                        ],
                                        "expression": {
                                            "argumentTypes": [
                                                {
                                                    "typeIdentifier": "t_bytes_memory_ptr",
                                                    "typeString": "bytes memory"
                                                }
                                            ],
                                            "id": 13707,
                                            "name": "_sendLogPayload",
                                            "nodeType": "Identifier",
                                            "overloadedDeclarations": [],
                                            "referencedDeclaration": 12880,
                                            "src": "7131:15:62",
                                            "typeDescriptions": {
                                                "typeIdentifier": "t_function_internal_view$_t_bytes_memory_ptr_$returns$__$",
                                                "typeString": "function (bytes memory) view"
                                            }
                                        },
                                        "id": 13714,
                                        "isConstant": false,
                                        "isLValue": false,
                                        "isPure": false,
                                        "kind": "functionCall",
                                        "lValueRequested": false,
                                        "names": [],
                                        "nodeType": "FunctionCall",
                                        "src": "7131:71:62",
                                        "tryCall": false,
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_tuple$__$",
                                            "typeString": "tuple()"
                                        }
                                    },
                                    "id": 13715,
                                    "nodeType": "ExpressionStatement",
                                    "src": "7131:71:62"
                                }
                            ]
                        },
                        "id": 13717,
                        "implemented": true,
                        "kind": "function",
                        "modifiers": [],
                        "name": "log",
                        "nameLocation": "7079:3:62",
                        "nodeType": "FunctionDefinition",
                        "parameters": {
                            "id": 13705,
                            "nodeType": "ParameterList",
                            "parameters": [
                                {
                                    "constant": false,
                                    "id": 13702,
                                    "mutability": "mutable",
                                    "name": "p0",
                                    "nameLocation": "7091:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 13717,
                                    "src": "7083:10:62",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_address",
                                        "typeString": "address"
                                    },
                                    "typeName": {
                                        "id": 13701,
                                        "name": "address",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "7083:7:62",
                                        "stateMutability": "nonpayable",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_address",
                                            "typeString": "address"
                                        }
                                    },
                                    "visibility": "internal"
                                },
                                {
                                    "constant": false,
                                    "id": 13704,
                                    "mutability": "mutable",
                                    "name": "p1",
                                    "nameLocation": "7109:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 13717,
                                    "src": "7095:16:62",
                                    "stateVariable": false,
                                    "storageLocation": "memory",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_string_memory_ptr",
                                        "typeString": "string"
                                    },
                                    "typeName": {
                                        "id": 13703,
                                        "name": "string",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "7095:6:62",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_string_storage_ptr",
                                            "typeString": "string"
                                        }
                                    },
                                    "visibility": "internal"
                                }
                            ],
                            "src": "7082:30:62"
                        },
                        "returnParameters": {
                            "id": 13706,
                            "nodeType": "ParameterList",
                            "parameters": [],
                            "src": "7127:0:62"
                        },
                        "scope": 20920,
                        "src": "7070:136:62",
                        "stateMutability": "view",
                        "virtual": false,
                        "visibility": "internal"
                    },
                    {
                        "body": {
                            "id": 13733,
                            "nodeType": "Block",
                            "src": "7257:77:62",
                            "statements": [
                                {
                                    "expression": {
                                        "arguments": [
                                            {
                                                "arguments": [
                                                    {
                                                        "hexValue": "6c6f6728616464726573732c626f6f6c29",
                                                        "id": 13727,
                                                        "isConstant": false,
                                                        "isLValue": false,
                                                        "isPure": true,
                                                        "kind": "string",
                                                        "lValueRequested": false,
                                                        "nodeType": "Literal",
                                                        "src": "7301:19:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_stringliteral_75b605d31a3bf49c8d814696c7c66216d3a7e81348c450078f032e425592f72b",
                                                            "typeString": "literal_string \"log(address,bool)\""
                                                        },
                                                        "value": "log(address,bool)"
                                                    },
                                                    {
                                                        "id": 13728,
                                                        "name": "p0",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 13719,
                                                        "src": "7322:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_address",
                                                            "typeString": "address"
                                                        }
                                                    },
                                                    {
                                                        "id": 13729,
                                                        "name": "p1",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 13721,
                                                        "src": "7326:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_bool",
                                                            "typeString": "bool"
                                                        }
                                                    }
                                                ],
                                                "expression": {
                                                    "argumentTypes": [
                                                        {
                                                            "typeIdentifier": "t_stringliteral_75b605d31a3bf49c8d814696c7c66216d3a7e81348c450078f032e425592f72b",
                                                            "typeString": "literal_string \"log(address,bool)\""
                                                        },
                                                        {
                                                            "typeIdentifier": "t_address",
                                                            "typeString": "address"
                                                        },
                                                        {
                                                            "typeIdentifier": "t_bool",
                                                            "typeString": "bool"
                                                        }
                                                    ],
                                                    "expression": {
                                                        "id": 13725,
                                                        "name": "abi",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 4294967295,
                                                        "src": "7277:3:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_magic_abi",
                                                            "typeString": "abi"
                                                        }
                                                    },
                                                    "id": 13726,
                                                    "isConstant": false,
                                                    "isLValue": false,
                                                    "isPure": true,
                                                    "lValueRequested": false,
                                                    "memberName": "encodeWithSignature",
                                                    "nodeType": "MemberAccess",
                                                    "src": "7277:23:62",
                                                    "typeDescriptions": {
                                                        "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$",
                                                        "typeString": "function (string memory) pure returns (bytes memory)"
                                                    }
                                                },
                                                "id": 13730,
                                                "isConstant": false,
                                                "isLValue": false,
                                                "isPure": false,
                                                "kind": "functionCall",
                                                "lValueRequested": false,
                                                "names": [],
                                                "nodeType": "FunctionCall",
                                                "src": "7277:52:62",
                                                "tryCall": false,
                                                "typeDescriptions": {
                                                    "typeIdentifier": "t_bytes_memory_ptr",
                                                    "typeString": "bytes memory"
                                                }
                                            }
                                        ],
                                        "expression": {
                                            "argumentTypes": [
                                                {
                                                    "typeIdentifier": "t_bytes_memory_ptr",
                                                    "typeString": "bytes memory"
                                                }
                                            ],
                                            "id": 13724,
                                            "name": "_sendLogPayload",
                                            "nodeType": "Identifier",
                                            "overloadedDeclarations": [],
                                            "referencedDeclaration": 12880,
                                            "src": "7261:15:62",
                                            "typeDescriptions": {
                                                "typeIdentifier": "t_function_internal_view$_t_bytes_memory_ptr_$returns$__$",
                                                "typeString": "function (bytes memory) view"
                                            }
                                        },
                                        "id": 13731,
                                        "isConstant": false,
                                        "isLValue": false,
                                        "isPure": false,
                                        "kind": "functionCall",
                                        "lValueRequested": false,
                                        "names": [],
                                        "nodeType": "FunctionCall",
                                        "src": "7261:69:62",
                                        "tryCall": false,
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_tuple$__$",
                                            "typeString": "tuple()"
                                        }
                                    },
                                    "id": 13732,
                                    "nodeType": "ExpressionStatement",
                                    "src": "7261:69:62"
                                }
                            ]
                        },
                        "id": 13734,
                        "implemented": true,
                        "kind": "function",
                        "modifiers": [],
                        "name": "log",
                        "nameLocation": "7218:3:62",
                        "nodeType": "FunctionDefinition",
                        "parameters": {
                            "id": 13722,
                            "nodeType": "ParameterList",
                            "parameters": [
                                {
                                    "constant": false,
                                    "id": 13719,
                                    "mutability": "mutable",
                                    "name": "p0",
                                    "nameLocation": "7230:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 13734,
                                    "src": "7222:10:62",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_address",
                                        "typeString": "address"
                                    },
                                    "typeName": {
                                        "id": 13718,
                                        "name": "address",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "7222:7:62",
                                        "stateMutability": "nonpayable",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_address",
                                            "typeString": "address"
                                        }
                                    },
                                    "visibility": "internal"
                                },
                                {
                                    "constant": false,
                                    "id": 13721,
                                    "mutability": "mutable",
                                    "name": "p1",
                                    "nameLocation": "7239:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 13734,
                                    "src": "7234:7:62",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_bool",
                                        "typeString": "bool"
                                    },
                                    "typeName": {
                                        "id": 13720,
                                        "name": "bool",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "7234:4:62",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_bool",
                                            "typeString": "bool"
                                        }
                                    },
                                    "visibility": "internal"
                                }
                            ],
                            "src": "7221:21:62"
                        },
                        "returnParameters": {
                            "id": 13723,
                            "nodeType": "ParameterList",
                            "parameters": [],
                            "src": "7257:0:62"
                        },
                        "scope": 20920,
                        "src": "7209:125:62",
                        "stateMutability": "view",
                        "virtual": false,
                        "visibility": "internal"
                    },
                    {
                        "body": {
                            "id": 13750,
                            "nodeType": "Block",
                            "src": "7388:80:62",
                            "statements": [
                                {
                                    "expression": {
                                        "arguments": [
                                            {
                                                "arguments": [
                                                    {
                                                        "hexValue": "6c6f6728616464726573732c6164647265737329",
                                                        "id": 13744,
                                                        "isConstant": false,
                                                        "isLValue": false,
                                                        "isPure": true,
                                                        "kind": "string",
                                                        "lValueRequested": false,
                                                        "nodeType": "Literal",
                                                        "src": "7432:22:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_stringliteral_daf0d4aa9a5679e832ac921da67b43572b4326ee2565442d3ed255b48cfb5161",
                                                            "typeString": "literal_string \"log(address,address)\""
                                                        },
                                                        "value": "log(address,address)"
                                                    },
                                                    {
                                                        "id": 13745,
                                                        "name": "p0",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 13736,
                                                        "src": "7456:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_address",
                                                            "typeString": "address"
                                                        }
                                                    },
                                                    {
                                                        "id": 13746,
                                                        "name": "p1",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 13738,
                                                        "src": "7460:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_address",
                                                            "typeString": "address"
                                                        }
                                                    }
                                                ],
                                                "expression": {
                                                    "argumentTypes": [
                                                        {
                                                            "typeIdentifier": "t_stringliteral_daf0d4aa9a5679e832ac921da67b43572b4326ee2565442d3ed255b48cfb5161",
                                                            "typeString": "literal_string \"log(address,address)\""
                                                        },
                                                        {
                                                            "typeIdentifier": "t_address",
                                                            "typeString": "address"
                                                        },
                                                        {
                                                            "typeIdentifier": "t_address",
                                                            "typeString": "address"
                                                        }
                                                    ],
                                                    "expression": {
                                                        "id": 13742,
                                                        "name": "abi",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 4294967295,
                                                        "src": "7408:3:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_magic_abi",
                                                            "typeString": "abi"
                                                        }
                                                    },
                                                    "id": 13743,
                                                    "isConstant": false,
                                                    "isLValue": false,
                                                    "isPure": true,
                                                    "lValueRequested": false,
                                                    "memberName": "encodeWithSignature",
                                                    "nodeType": "MemberAccess",
                                                    "src": "7408:23:62",
                                                    "typeDescriptions": {
                                                        "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$",
                                                        "typeString": "function (string memory) pure returns (bytes memory)"
                                                    }
                                                },
                                                "id": 13747,
                                                "isConstant": false,
                                                "isLValue": false,
                                                "isPure": false,
                                                "kind": "functionCall",
                                                "lValueRequested": false,
                                                "names": [],
                                                "nodeType": "FunctionCall",
                                                "src": "7408:55:62",
                                                "tryCall": false,
                                                "typeDescriptions": {
                                                    "typeIdentifier": "t_bytes_memory_ptr",
                                                    "typeString": "bytes memory"
                                                }
                                            }
                                        ],
                                        "expression": {
                                            "argumentTypes": [
                                                {
                                                    "typeIdentifier": "t_bytes_memory_ptr",
                                                    "typeString": "bytes memory"
                                                }
                                            ],
                                            "id": 13741,
                                            "name": "_sendLogPayload",
                                            "nodeType": "Identifier",
                                            "overloadedDeclarations": [],
                                            "referencedDeclaration": 12880,
                                            "src": "7392:15:62",
                                            "typeDescriptions": {
                                                "typeIdentifier": "t_function_internal_view$_t_bytes_memory_ptr_$returns$__$",
                                                "typeString": "function (bytes memory) view"
                                            }
                                        },
                                        "id": 13748,
                                        "isConstant": false,
                                        "isLValue": false,
                                        "isPure": false,
                                        "kind": "functionCall",
                                        "lValueRequested": false,
                                        "names": [],
                                        "nodeType": "FunctionCall",
                                        "src": "7392:72:62",
                                        "tryCall": false,
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_tuple$__$",
                                            "typeString": "tuple()"
                                        }
                                    },
                                    "id": 13749,
                                    "nodeType": "ExpressionStatement",
                                    "src": "7392:72:62"
                                }
                            ]
                        },
                        "id": 13751,
                        "implemented": true,
                        "kind": "function",
                        "modifiers": [],
                        "name": "log",
                        "nameLocation": "7346:3:62",
                        "nodeType": "FunctionDefinition",
                        "parameters": {
                            "id": 13739,
                            "nodeType": "ParameterList",
                            "parameters": [
                                {
                                    "constant": false,
                                    "id": 13736,
                                    "mutability": "mutable",
                                    "name": "p0",
                                    "nameLocation": "7358:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 13751,
                                    "src": "7350:10:62",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_address",
                                        "typeString": "address"
                                    },
                                    "typeName": {
                                        "id": 13735,
                                        "name": "address",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "7350:7:62",
                                        "stateMutability": "nonpayable",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_address",
                                            "typeString": "address"
                                        }
                                    },
                                    "visibility": "internal"
                                },
                                {
                                    "constant": false,
                                    "id": 13738,
                                    "mutability": "mutable",
                                    "name": "p1",
                                    "nameLocation": "7370:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 13751,
                                    "src": "7362:10:62",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_address",
                                        "typeString": "address"
                                    },
                                    "typeName": {
                                        "id": 13737,
                                        "name": "address",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "7362:7:62",
                                        "stateMutability": "nonpayable",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_address",
                                            "typeString": "address"
                                        }
                                    },
                                    "visibility": "internal"
                                }
                            ],
                            "src": "7349:24:62"
                        },
                        "returnParameters": {
                            "id": 13740,
                            "nodeType": "ParameterList",
                            "parameters": [],
                            "src": "7388:0:62"
                        },
                        "scope": 20920,
                        "src": "7337:131:62",
                        "stateMutability": "view",
                        "virtual": false,
                        "visibility": "internal"
                    },
                    {
                        "body": {
                            "id": 13770,
                            "nodeType": "Block",
                            "src": "7525:83:62",
                            "statements": [
                                {
                                    "expression": {
                                        "arguments": [
                                            {
                                                "arguments": [
                                                    {
                                                        "hexValue": "6c6f672875696e742c75696e742c75696e7429",
                                                        "id": 13763,
                                                        "isConstant": false,
                                                        "isLValue": false,
                                                        "isPure": true,
                                                        "kind": "string",
                                                        "lValueRequested": false,
                                                        "nodeType": "Literal",
                                                        "src": "7569:21:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_stringliteral_e7820a7400e33a94b0ae6f00adee99b97ebef8b77c9e38dd555c2f6b541dee17",
                                                            "typeString": "literal_string \"log(uint,uint,uint)\""
                                                        },
                                                        "value": "log(uint,uint,uint)"
                                                    },
                                                    {
                                                        "id": 13764,
                                                        "name": "p0",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 13753,
                                                        "src": "7592:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_uint256",
                                                            "typeString": "uint256"
                                                        }
                                                    },
                                                    {
                                                        "id": 13765,
                                                        "name": "p1",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 13755,
                                                        "src": "7596:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_uint256",
                                                            "typeString": "uint256"
                                                        }
                                                    },
                                                    {
                                                        "id": 13766,
                                                        "name": "p2",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 13757,
                                                        "src": "7600:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_uint256",
                                                            "typeString": "uint256"
                                                        }
                                                    }
                                                ],
                                                "expression": {
                                                    "argumentTypes": [
                                                        {
                                                            "typeIdentifier": "t_stringliteral_e7820a7400e33a94b0ae6f00adee99b97ebef8b77c9e38dd555c2f6b541dee17",
                                                            "typeString": "literal_string \"log(uint,uint,uint)\""
                                                        },
                                                        {
                                                            "typeIdentifier": "t_uint256",
                                                            "typeString": "uint256"
                                                        },
                                                        {
                                                            "typeIdentifier": "t_uint256",
                                                            "typeString": "uint256"
                                                        },
                                                        {
                                                            "typeIdentifier": "t_uint256",
                                                            "typeString": "uint256"
                                                        }
                                                    ],
                                                    "expression": {
                                                        "id": 13761,
                                                        "name": "abi",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 4294967295,
                                                        "src": "7545:3:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_magic_abi",
                                                            "typeString": "abi"
                                                        }
                                                    },
                                                    "id": 13762,
                                                    "isConstant": false,
                                                    "isLValue": false,
                                                    "isPure": true,
                                                    "lValueRequested": false,
                                                    "memberName": "encodeWithSignature",
                                                    "nodeType": "MemberAccess",
                                                    "src": "7545:23:62",
                                                    "typeDescriptions": {
                                                        "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$",
                                                        "typeString": "function (string memory) pure returns (bytes memory)"
                                                    }
                                                },
                                                "id": 13767,
                                                "isConstant": false,
                                                "isLValue": false,
                                                "isPure": false,
                                                "kind": "functionCall",
                                                "lValueRequested": false,
                                                "names": [],
                                                "nodeType": "FunctionCall",
                                                "src": "7545:58:62",
                                                "tryCall": false,
                                                "typeDescriptions": {
                                                    "typeIdentifier": "t_bytes_memory_ptr",
                                                    "typeString": "bytes memory"
                                                }
                                            }
                                        ],
                                        "expression": {
                                            "argumentTypes": [
                                                {
                                                    "typeIdentifier": "t_bytes_memory_ptr",
                                                    "typeString": "bytes memory"
                                                }
                                            ],
                                            "id": 13760,
                                            "name": "_sendLogPayload",
                                            "nodeType": "Identifier",
                                            "overloadedDeclarations": [],
                                            "referencedDeclaration": 12880,
                                            "src": "7529:15:62",
                                            "typeDescriptions": {
                                                "typeIdentifier": "t_function_internal_view$_t_bytes_memory_ptr_$returns$__$",
                                                "typeString": "function (bytes memory) view"
                                            }
                                        },
                                        "id": 13768,
                                        "isConstant": false,
                                        "isLValue": false,
                                        "isPure": false,
                                        "kind": "functionCall",
                                        "lValueRequested": false,
                                        "names": [],
                                        "nodeType": "FunctionCall",
                                        "src": "7529:75:62",
                                        "tryCall": false,
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_tuple$__$",
                                            "typeString": "tuple()"
                                        }
                                    },
                                    "id": 13769,
                                    "nodeType": "ExpressionStatement",
                                    "src": "7529:75:62"
                                }
                            ]
                        },
                        "id": 13771,
                        "implemented": true,
                        "kind": "function",
                        "modifiers": [],
                        "name": "log",
                        "nameLocation": "7480:3:62",
                        "nodeType": "FunctionDefinition",
                        "parameters": {
                            "id": 13758,
                            "nodeType": "ParameterList",
                            "parameters": [
                                {
                                    "constant": false,
                                    "id": 13753,
                                    "mutability": "mutable",
                                    "name": "p0",
                                    "nameLocation": "7489:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 13771,
                                    "src": "7484:7:62",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_uint256",
                                        "typeString": "uint256"
                                    },
                                    "typeName": {
                                        "id": 13752,
                                        "name": "uint",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "7484:4:62",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_uint256",
                                            "typeString": "uint256"
                                        }
                                    },
                                    "visibility": "internal"
                                },
                                {
                                    "constant": false,
                                    "id": 13755,
                                    "mutability": "mutable",
                                    "name": "p1",
                                    "nameLocation": "7498:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 13771,
                                    "src": "7493:7:62",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_uint256",
                                        "typeString": "uint256"
                                    },
                                    "typeName": {
                                        "id": 13754,
                                        "name": "uint",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "7493:4:62",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_uint256",
                                            "typeString": "uint256"
                                        }
                                    },
                                    "visibility": "internal"
                                },
                                {
                                    "constant": false,
                                    "id": 13757,
                                    "mutability": "mutable",
                                    "name": "p2",
                                    "nameLocation": "7507:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 13771,
                                    "src": "7502:7:62",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_uint256",
                                        "typeString": "uint256"
                                    },
                                    "typeName": {
                                        "id": 13756,
                                        "name": "uint",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "7502:4:62",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_uint256",
                                            "typeString": "uint256"
                                        }
                                    },
                                    "visibility": "internal"
                                }
                            ],
                            "src": "7483:27:62"
                        },
                        "returnParameters": {
                            "id": 13759,
                            "nodeType": "ParameterList",
                            "parameters": [],
                            "src": "7525:0:62"
                        },
                        "scope": 20920,
                        "src": "7471:137:62",
                        "stateMutability": "view",
                        "virtual": false,
                        "visibility": "internal"
                    },
                    {
                        "body": {
                            "id": 13790,
                            "nodeType": "Block",
                            "src": "7674:85:62",
                            "statements": [
                                {
                                    "expression": {
                                        "arguments": [
                                            {
                                                "arguments": [
                                                    {
                                                        "hexValue": "6c6f672875696e742c75696e742c737472696e6729",
                                                        "id": 13783,
                                                        "isConstant": false,
                                                        "isLValue": false,
                                                        "isPure": true,
                                                        "kind": "string",
                                                        "lValueRequested": false,
                                                        "nodeType": "Literal",
                                                        "src": "7718:23:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_stringliteral_7d690ee617a4217569e96b85c815115b0eee15407adaa46490ed719a45458699",
                                                            "typeString": "literal_string \"log(uint,uint,string)\""
                                                        },
                                                        "value": "log(uint,uint,string)"
                                                    },
                                                    {
                                                        "id": 13784,
                                                        "name": "p0",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 13773,
                                                        "src": "7743:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_uint256",
                                                            "typeString": "uint256"
                                                        }
                                                    },
                                                    {
                                                        "id": 13785,
                                                        "name": "p1",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 13775,
                                                        "src": "7747:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_uint256",
                                                            "typeString": "uint256"
                                                        }
                                                    },
                                                    {
                                                        "id": 13786,
                                                        "name": "p2",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 13777,
                                                        "src": "7751:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_string_memory_ptr",
                                                            "typeString": "string memory"
                                                        }
                                                    }
                                                ],
                                                "expression": {
                                                    "argumentTypes": [
                                                        {
                                                            "typeIdentifier": "t_stringliteral_7d690ee617a4217569e96b85c815115b0eee15407adaa46490ed719a45458699",
                                                            "typeString": "literal_string \"log(uint,uint,string)\""
                                                        },
                                                        {
                                                            "typeIdentifier": "t_uint256",
                                                            "typeString": "uint256"
                                                        },
                                                        {
                                                            "typeIdentifier": "t_uint256",
                                                            "typeString": "uint256"
                                                        },
                                                        {
                                                            "typeIdentifier": "t_string_memory_ptr",
                                                            "typeString": "string memory"
                                                        }
                                                    ],
                                                    "expression": {
                                                        "id": 13781,
                                                        "name": "abi",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 4294967295,
                                                        "src": "7694:3:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_magic_abi",
                                                            "typeString": "abi"
                                                        }
                                                    },
                                                    "id": 13782,
                                                    "isConstant": false,
                                                    "isLValue": false,
                                                    "isPure": true,
                                                    "lValueRequested": false,
                                                    "memberName": "encodeWithSignature",
                                                    "nodeType": "MemberAccess",
                                                    "src": "7694:23:62",
                                                    "typeDescriptions": {
                                                        "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$",
                                                        "typeString": "function (string memory) pure returns (bytes memory)"
                                                    }
                                                },
                                                "id": 13787,
                                                "isConstant": false,
                                                "isLValue": false,
                                                "isPure": false,
                                                "kind": "functionCall",
                                                "lValueRequested": false,
                                                "names": [],
                                                "nodeType": "FunctionCall",
                                                "src": "7694:60:62",
                                                "tryCall": false,
                                                "typeDescriptions": {
                                                    "typeIdentifier": "t_bytes_memory_ptr",
                                                    "typeString": "bytes memory"
                                                }
                                            }
                                        ],
                                        "expression": {
                                            "argumentTypes": [
                                                {
                                                    "typeIdentifier": "t_bytes_memory_ptr",
                                                    "typeString": "bytes memory"
                                                }
                                            ],
                                            "id": 13780,
                                            "name": "_sendLogPayload",
                                            "nodeType": "Identifier",
                                            "overloadedDeclarations": [],
                                            "referencedDeclaration": 12880,
                                            "src": "7678:15:62",
                                            "typeDescriptions": {
                                                "typeIdentifier": "t_function_internal_view$_t_bytes_memory_ptr_$returns$__$",
                                                "typeString": "function (bytes memory) view"
                                            }
                                        },
                                        "id": 13788,
                                        "isConstant": false,
                                        "isLValue": false,
                                        "isPure": false,
                                        "kind": "functionCall",
                                        "lValueRequested": false,
                                        "names": [],
                                        "nodeType": "FunctionCall",
                                        "src": "7678:77:62",
                                        "tryCall": false,
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_tuple$__$",
                                            "typeString": "tuple()"
                                        }
                                    },
                                    "id": 13789,
                                    "nodeType": "ExpressionStatement",
                                    "src": "7678:77:62"
                                }
                            ]
                        },
                        "id": 13791,
                        "implemented": true,
                        "kind": "function",
                        "modifiers": [],
                        "name": "log",
                        "nameLocation": "7620:3:62",
                        "nodeType": "FunctionDefinition",
                        "parameters": {
                            "id": 13778,
                            "nodeType": "ParameterList",
                            "parameters": [
                                {
                                    "constant": false,
                                    "id": 13773,
                                    "mutability": "mutable",
                                    "name": "p0",
                                    "nameLocation": "7629:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 13791,
                                    "src": "7624:7:62",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_uint256",
                                        "typeString": "uint256"
                                    },
                                    "typeName": {
                                        "id": 13772,
                                        "name": "uint",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "7624:4:62",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_uint256",
                                            "typeString": "uint256"
                                        }
                                    },
                                    "visibility": "internal"
                                },
                                {
                                    "constant": false,
                                    "id": 13775,
                                    "mutability": "mutable",
                                    "name": "p1",
                                    "nameLocation": "7638:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 13791,
                                    "src": "7633:7:62",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_uint256",
                                        "typeString": "uint256"
                                    },
                                    "typeName": {
                                        "id": 13774,
                                        "name": "uint",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "7633:4:62",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_uint256",
                                            "typeString": "uint256"
                                        }
                                    },
                                    "visibility": "internal"
                                },
                                {
                                    "constant": false,
                                    "id": 13777,
                                    "mutability": "mutable",
                                    "name": "p2",
                                    "nameLocation": "7656:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 13791,
                                    "src": "7642:16:62",
                                    "stateVariable": false,
                                    "storageLocation": "memory",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_string_memory_ptr",
                                        "typeString": "string"
                                    },
                                    "typeName": {
                                        "id": 13776,
                                        "name": "string",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "7642:6:62",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_string_storage_ptr",
                                            "typeString": "string"
                                        }
                                    },
                                    "visibility": "internal"
                                }
                            ],
                            "src": "7623:36:62"
                        },
                        "returnParameters": {
                            "id": 13779,
                            "nodeType": "ParameterList",
                            "parameters": [],
                            "src": "7674:0:62"
                        },
                        "scope": 20920,
                        "src": "7611:148:62",
                        "stateMutability": "view",
                        "virtual": false,
                        "visibility": "internal"
                    },
                    {
                        "body": {
                            "id": 13810,
                            "nodeType": "Block",
                            "src": "7816:83:62",
                            "statements": [
                                {
                                    "expression": {
                                        "arguments": [
                                            {
                                                "arguments": [
                                                    {
                                                        "hexValue": "6c6f672875696e742c75696e742c626f6f6c29",
                                                        "id": 13803,
                                                        "isConstant": false,
                                                        "isLValue": false,
                                                        "isPure": true,
                                                        "kind": "string",
                                                        "lValueRequested": false,
                                                        "nodeType": "Literal",
                                                        "src": "7860:21:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_stringliteral_67570ff704783f5d282b26317dc28aeb4fe23c085020ec6e580604c709916fa8",
                                                            "typeString": "literal_string \"log(uint,uint,bool)\""
                                                        },
                                                        "value": "log(uint,uint,bool)"
                                                    },
                                                    {
                                                        "id": 13804,
                                                        "name": "p0",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 13793,
                                                        "src": "7883:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_uint256",
                                                            "typeString": "uint256"
                                                        }
                                                    },
                                                    {
                                                        "id": 13805,
                                                        "name": "p1",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 13795,
                                                        "src": "7887:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_uint256",
                                                            "typeString": "uint256"
                                                        }
                                                    },
                                                    {
                                                        "id": 13806,
                                                        "name": "p2",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 13797,
                                                        "src": "7891:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_bool",
                                                            "typeString": "bool"
                                                        }
                                                    }
                                                ],
                                                "expression": {
                                                    "argumentTypes": [
                                                        {
                                                            "typeIdentifier": "t_stringliteral_67570ff704783f5d282b26317dc28aeb4fe23c085020ec6e580604c709916fa8",
                                                            "typeString": "literal_string \"log(uint,uint,bool)\""
                                                        },
                                                        {
                                                            "typeIdentifier": "t_uint256",
                                                            "typeString": "uint256"
                                                        },
                                                        {
                                                            "typeIdentifier": "t_uint256",
                                                            "typeString": "uint256"
                                                        },
                                                        {
                                                            "typeIdentifier": "t_bool",
                                                            "typeString": "bool"
                                                        }
                                                    ],
                                                    "expression": {
                                                        "id": 13801,
                                                        "name": "abi",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 4294967295,
                                                        "src": "7836:3:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_magic_abi",
                                                            "typeString": "abi"
                                                        }
                                                    },
                                                    "id": 13802,
                                                    "isConstant": false,
                                                    "isLValue": false,
                                                    "isPure": true,
                                                    "lValueRequested": false,
                                                    "memberName": "encodeWithSignature",
                                                    "nodeType": "MemberAccess",
                                                    "src": "7836:23:62",
                                                    "typeDescriptions": {
                                                        "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$",
                                                        "typeString": "function (string memory) pure returns (bytes memory)"
                                                    }
                                                },
                                                "id": 13807,
                                                "isConstant": false,
                                                "isLValue": false,
                                                "isPure": false,
                                                "kind": "functionCall",
                                                "lValueRequested": false,
                                                "names": [],
                                                "nodeType": "FunctionCall",
                                                "src": "7836:58:62",
                                                "tryCall": false,
                                                "typeDescriptions": {
                                                    "typeIdentifier": "t_bytes_memory_ptr",
                                                    "typeString": "bytes memory"
                                                }
                                            }
                                        ],
                                        "expression": {
                                            "argumentTypes": [
                                                {
                                                    "typeIdentifier": "t_bytes_memory_ptr",
                                                    "typeString": "bytes memory"
                                                }
                                            ],
                                            "id": 13800,
                                            "name": "_sendLogPayload",
                                            "nodeType": "Identifier",
                                            "overloadedDeclarations": [],
                                            "referencedDeclaration": 12880,
                                            "src": "7820:15:62",
                                            "typeDescriptions": {
                                                "typeIdentifier": "t_function_internal_view$_t_bytes_memory_ptr_$returns$__$",
                                                "typeString": "function (bytes memory) view"
                                            }
                                        },
                                        "id": 13808,
                                        "isConstant": false,
                                        "isLValue": false,
                                        "isPure": false,
                                        "kind": "functionCall",
                                        "lValueRequested": false,
                                        "names": [],
                                        "nodeType": "FunctionCall",
                                        "src": "7820:75:62",
                                        "tryCall": false,
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_tuple$__$",
                                            "typeString": "tuple()"
                                        }
                                    },
                                    "id": 13809,
                                    "nodeType": "ExpressionStatement",
                                    "src": "7820:75:62"
                                }
                            ]
                        },
                        "id": 13811,
                        "implemented": true,
                        "kind": "function",
                        "modifiers": [],
                        "name": "log",
                        "nameLocation": "7771:3:62",
                        "nodeType": "FunctionDefinition",
                        "parameters": {
                            "id": 13798,
                            "nodeType": "ParameterList",
                            "parameters": [
                                {
                                    "constant": false,
                                    "id": 13793,
                                    "mutability": "mutable",
                                    "name": "p0",
                                    "nameLocation": "7780:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 13811,
                                    "src": "7775:7:62",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_uint256",
                                        "typeString": "uint256"
                                    },
                                    "typeName": {
                                        "id": 13792,
                                        "name": "uint",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "7775:4:62",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_uint256",
                                            "typeString": "uint256"
                                        }
                                    },
                                    "visibility": "internal"
                                },
                                {
                                    "constant": false,
                                    "id": 13795,
                                    "mutability": "mutable",
                                    "name": "p1",
                                    "nameLocation": "7789:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 13811,
                                    "src": "7784:7:62",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_uint256",
                                        "typeString": "uint256"
                                    },
                                    "typeName": {
                                        "id": 13794,
                                        "name": "uint",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "7784:4:62",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_uint256",
                                            "typeString": "uint256"
                                        }
                                    },
                                    "visibility": "internal"
                                },
                                {
                                    "constant": false,
                                    "id": 13797,
                                    "mutability": "mutable",
                                    "name": "p2",
                                    "nameLocation": "7798:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 13811,
                                    "src": "7793:7:62",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_bool",
                                        "typeString": "bool"
                                    },
                                    "typeName": {
                                        "id": 13796,
                                        "name": "bool",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "7793:4:62",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_bool",
                                            "typeString": "bool"
                                        }
                                    },
                                    "visibility": "internal"
                                }
                            ],
                            "src": "7774:27:62"
                        },
                        "returnParameters": {
                            "id": 13799,
                            "nodeType": "ParameterList",
                            "parameters": [],
                            "src": "7816:0:62"
                        },
                        "scope": 20920,
                        "src": "7762:137:62",
                        "stateMutability": "view",
                        "virtual": false,
                        "visibility": "internal"
                    },
                    {
                        "body": {
                            "id": 13830,
                            "nodeType": "Block",
                            "src": "7959:86:62",
                            "statements": [
                                {
                                    "expression": {
                                        "arguments": [
                                            {
                                                "arguments": [
                                                    {
                                                        "hexValue": "6c6f672875696e742c75696e742c6164647265737329",
                                                        "id": 13823,
                                                        "isConstant": false,
                                                        "isLValue": false,
                                                        "isPure": true,
                                                        "kind": "string",
                                                        "lValueRequested": false,
                                                        "nodeType": "Literal",
                                                        "src": "8003:24:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_stringliteral_be33491b8b53b7f3deae2959d1f4b0a22e6967a778c50f03dc188de84a207616",
                                                            "typeString": "literal_string \"log(uint,uint,address)\""
                                                        },
                                                        "value": "log(uint,uint,address)"
                                                    },
                                                    {
                                                        "id": 13824,
                                                        "name": "p0",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 13813,
                                                        "src": "8029:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_uint256",
                                                            "typeString": "uint256"
                                                        }
                                                    },
                                                    {
                                                        "id": 13825,
                                                        "name": "p1",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 13815,
                                                        "src": "8033:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_uint256",
                                                            "typeString": "uint256"
                                                        }
                                                    },
                                                    {
                                                        "id": 13826,
                                                        "name": "p2",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 13817,
                                                        "src": "8037:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_address",
                                                            "typeString": "address"
                                                        }
                                                    }
                                                ],
                                                "expression": {
                                                    "argumentTypes": [
                                                        {
                                                            "typeIdentifier": "t_stringliteral_be33491b8b53b7f3deae2959d1f4b0a22e6967a778c50f03dc188de84a207616",
                                                            "typeString": "literal_string \"log(uint,uint,address)\""
                                                        },
                                                        {
                                                            "typeIdentifier": "t_uint256",
                                                            "typeString": "uint256"
                                                        },
                                                        {
                                                            "typeIdentifier": "t_uint256",
                                                            "typeString": "uint256"
                                                        },
                                                        {
                                                            "typeIdentifier": "t_address",
                                                            "typeString": "address"
                                                        }
                                                    ],
                                                    "expression": {
                                                        "id": 13821,
                                                        "name": "abi",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 4294967295,
                                                        "src": "7979:3:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_magic_abi",
                                                            "typeString": "abi"
                                                        }
                                                    },
                                                    "id": 13822,
                                                    "isConstant": false,
                                                    "isLValue": false,
                                                    "isPure": true,
                                                    "lValueRequested": false,
                                                    "memberName": "encodeWithSignature",
                                                    "nodeType": "MemberAccess",
                                                    "src": "7979:23:62",
                                                    "typeDescriptions": {
                                                        "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$",
                                                        "typeString": "function (string memory) pure returns (bytes memory)"
                                                    }
                                                },
                                                "id": 13827,
                                                "isConstant": false,
                                                "isLValue": false,
                                                "isPure": false,
                                                "kind": "functionCall",
                                                "lValueRequested": false,
                                                "names": [],
                                                "nodeType": "FunctionCall",
                                                "src": "7979:61:62",
                                                "tryCall": false,
                                                "typeDescriptions": {
                                                    "typeIdentifier": "t_bytes_memory_ptr",
                                                    "typeString": "bytes memory"
                                                }
                                            }
                                        ],
                                        "expression": {
                                            "argumentTypes": [
                                                {
                                                    "typeIdentifier": "t_bytes_memory_ptr",
                                                    "typeString": "bytes memory"
                                                }
                                            ],
                                            "id": 13820,
                                            "name": "_sendLogPayload",
                                            "nodeType": "Identifier",
                                            "overloadedDeclarations": [],
                                            "referencedDeclaration": 12880,
                                            "src": "7963:15:62",
                                            "typeDescriptions": {
                                                "typeIdentifier": "t_function_internal_view$_t_bytes_memory_ptr_$returns$__$",
                                                "typeString": "function (bytes memory) view"
                                            }
                                        },
                                        "id": 13828,
                                        "isConstant": false,
                                        "isLValue": false,
                                        "isPure": false,
                                        "kind": "functionCall",
                                        "lValueRequested": false,
                                        "names": [],
                                        "nodeType": "FunctionCall",
                                        "src": "7963:78:62",
                                        "tryCall": false,
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_tuple$__$",
                                            "typeString": "tuple()"
                                        }
                                    },
                                    "id": 13829,
                                    "nodeType": "ExpressionStatement",
                                    "src": "7963:78:62"
                                }
                            ]
                        },
                        "id": 13831,
                        "implemented": true,
                        "kind": "function",
                        "modifiers": [],
                        "name": "log",
                        "nameLocation": "7911:3:62",
                        "nodeType": "FunctionDefinition",
                        "parameters": {
                            "id": 13818,
                            "nodeType": "ParameterList",
                            "parameters": [
                                {
                                    "constant": false,
                                    "id": 13813,
                                    "mutability": "mutable",
                                    "name": "p0",
                                    "nameLocation": "7920:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 13831,
                                    "src": "7915:7:62",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_uint256",
                                        "typeString": "uint256"
                                    },
                                    "typeName": {
                                        "id": 13812,
                                        "name": "uint",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "7915:4:62",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_uint256",
                                            "typeString": "uint256"
                                        }
                                    },
                                    "visibility": "internal"
                                },
                                {
                                    "constant": false,
                                    "id": 13815,
                                    "mutability": "mutable",
                                    "name": "p1",
                                    "nameLocation": "7929:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 13831,
                                    "src": "7924:7:62",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_uint256",
                                        "typeString": "uint256"
                                    },
                                    "typeName": {
                                        "id": 13814,
                                        "name": "uint",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "7924:4:62",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_uint256",
                                            "typeString": "uint256"
                                        }
                                    },
                                    "visibility": "internal"
                                },
                                {
                                    "constant": false,
                                    "id": 13817,
                                    "mutability": "mutable",
                                    "name": "p2",
                                    "nameLocation": "7941:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 13831,
                                    "src": "7933:10:62",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_address",
                                        "typeString": "address"
                                    },
                                    "typeName": {
                                        "id": 13816,
                                        "name": "address",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "7933:7:62",
                                        "stateMutability": "nonpayable",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_address",
                                            "typeString": "address"
                                        }
                                    },
                                    "visibility": "internal"
                                }
                            ],
                            "src": "7914:30:62"
                        },
                        "returnParameters": {
                            "id": 13819,
                            "nodeType": "ParameterList",
                            "parameters": [],
                            "src": "7959:0:62"
                        },
                        "scope": 20920,
                        "src": "7902:143:62",
                        "stateMutability": "view",
                        "virtual": false,
                        "visibility": "internal"
                    },
                    {
                        "body": {
                            "id": 13850,
                            "nodeType": "Block",
                            "src": "8111:85:62",
                            "statements": [
                                {
                                    "expression": {
                                        "arguments": [
                                            {
                                                "arguments": [
                                                    {
                                                        "hexValue": "6c6f672875696e742c737472696e672c75696e7429",
                                                        "id": 13843,
                                                        "isConstant": false,
                                                        "isLValue": false,
                                                        "isPure": true,
                                                        "kind": "string",
                                                        "lValueRequested": false,
                                                        "nodeType": "Literal",
                                                        "src": "8155:23:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_stringliteral_5b6de83ff0d95cd44df8bb8bfd95aa0a6291cab3b8502d85b1dcfd35a64c81cd",
                                                            "typeString": "literal_string \"log(uint,string,uint)\""
                                                        },
                                                        "value": "log(uint,string,uint)"
                                                    },
                                                    {
                                                        "id": 13844,
                                                        "name": "p0",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 13833,
                                                        "src": "8180:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_uint256",
                                                            "typeString": "uint256"
                                                        }
                                                    },
                                                    {
                                                        "id": 13845,
                                                        "name": "p1",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 13835,
                                                        "src": "8184:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_string_memory_ptr",
                                                            "typeString": "string memory"
                                                        }
                                                    },
                                                    {
                                                        "id": 13846,
                                                        "name": "p2",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 13837,
                                                        "src": "8188:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_uint256",
                                                            "typeString": "uint256"
                                                        }
                                                    }
                                                ],
                                                "expression": {
                                                    "argumentTypes": [
                                                        {
                                                            "typeIdentifier": "t_stringliteral_5b6de83ff0d95cd44df8bb8bfd95aa0a6291cab3b8502d85b1dcfd35a64c81cd",
                                                            "typeString": "literal_string \"log(uint,string,uint)\""
                                                        },
                                                        {
                                                            "typeIdentifier": "t_uint256",
                                                            "typeString": "uint256"
                                                        },
                                                        {
                                                            "typeIdentifier": "t_string_memory_ptr",
                                                            "typeString": "string memory"
                                                        },
                                                        {
                                                            "typeIdentifier": "t_uint256",
                                                            "typeString": "uint256"
                                                        }
                                                    ],
                                                    "expression": {
                                                        "id": 13841,
                                                        "name": "abi",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 4294967295,
                                                        "src": "8131:3:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_magic_abi",
                                                            "typeString": "abi"
                                                        }
                                                    },
                                                    "id": 13842,
                                                    "isConstant": false,
                                                    "isLValue": false,
                                                    "isPure": true,
                                                    "lValueRequested": false,
                                                    "memberName": "encodeWithSignature",
                                                    "nodeType": "MemberAccess",
                                                    "src": "8131:23:62",
                                                    "typeDescriptions": {
                                                        "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$",
                                                        "typeString": "function (string memory) pure returns (bytes memory)"
                                                    }
                                                },
                                                "id": 13847,
                                                "isConstant": false,
                                                "isLValue": false,
                                                "isPure": false,
                                                "kind": "functionCall",
                                                "lValueRequested": false,
                                                "names": [],
                                                "nodeType": "FunctionCall",
                                                "src": "8131:60:62",
                                                "tryCall": false,
                                                "typeDescriptions": {
                                                    "typeIdentifier": "t_bytes_memory_ptr",
                                                    "typeString": "bytes memory"
                                                }
                                            }
                                        ],
                                        "expression": {
                                            "argumentTypes": [
                                                {
                                                    "typeIdentifier": "t_bytes_memory_ptr",
                                                    "typeString": "bytes memory"
                                                }
                                            ],
                                            "id": 13840,
                                            "name": "_sendLogPayload",
                                            "nodeType": "Identifier",
                                            "overloadedDeclarations": [],
                                            "referencedDeclaration": 12880,
                                            "src": "8115:15:62",
                                            "typeDescriptions": {
                                                "typeIdentifier": "t_function_internal_view$_t_bytes_memory_ptr_$returns$__$",
                                                "typeString": "function (bytes memory) view"
                                            }
                                        },
                                        "id": 13848,
                                        "isConstant": false,
                                        "isLValue": false,
                                        "isPure": false,
                                        "kind": "functionCall",
                                        "lValueRequested": false,
                                        "names": [],
                                        "nodeType": "FunctionCall",
                                        "src": "8115:77:62",
                                        "tryCall": false,
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_tuple$__$",
                                            "typeString": "tuple()"
                                        }
                                    },
                                    "id": 13849,
                                    "nodeType": "ExpressionStatement",
                                    "src": "8115:77:62"
                                }
                            ]
                        },
                        "id": 13851,
                        "implemented": true,
                        "kind": "function",
                        "modifiers": [],
                        "name": "log",
                        "nameLocation": "8057:3:62",
                        "nodeType": "FunctionDefinition",
                        "parameters": {
                            "id": 13838,
                            "nodeType": "ParameterList",
                            "parameters": [
                                {
                                    "constant": false,
                                    "id": 13833,
                                    "mutability": "mutable",
                                    "name": "p0",
                                    "nameLocation": "8066:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 13851,
                                    "src": "8061:7:62",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_uint256",
                                        "typeString": "uint256"
                                    },
                                    "typeName": {
                                        "id": 13832,
                                        "name": "uint",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "8061:4:62",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_uint256",
                                            "typeString": "uint256"
                                        }
                                    },
                                    "visibility": "internal"
                                },
                                {
                                    "constant": false,
                                    "id": 13835,
                                    "mutability": "mutable",
                                    "name": "p1",
                                    "nameLocation": "8084:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 13851,
                                    "src": "8070:16:62",
                                    "stateVariable": false,
                                    "storageLocation": "memory",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_string_memory_ptr",
                                        "typeString": "string"
                                    },
                                    "typeName": {
                                        "id": 13834,
                                        "name": "string",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "8070:6:62",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_string_storage_ptr",
                                            "typeString": "string"
                                        }
                                    },
                                    "visibility": "internal"
                                },
                                {
                                    "constant": false,
                                    "id": 13837,
                                    "mutability": "mutable",
                                    "name": "p2",
                                    "nameLocation": "8093:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 13851,
                                    "src": "8088:7:62",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_uint256",
                                        "typeString": "uint256"
                                    },
                                    "typeName": {
                                        "id": 13836,
                                        "name": "uint",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "8088:4:62",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_uint256",
                                            "typeString": "uint256"
                                        }
                                    },
                                    "visibility": "internal"
                                }
                            ],
                            "src": "8060:36:62"
                        },
                        "returnParameters": {
                            "id": 13839,
                            "nodeType": "ParameterList",
                            "parameters": [],
                            "src": "8111:0:62"
                        },
                        "scope": 20920,
                        "src": "8048:148:62",
                        "stateMutability": "view",
                        "virtual": false,
                        "visibility": "internal"
                    },
                    {
                        "body": {
                            "id": 13870,
                            "nodeType": "Block",
                            "src": "8271:87:62",
                            "statements": [
                                {
                                    "expression": {
                                        "arguments": [
                                            {
                                                "arguments": [
                                                    {
                                                        "hexValue": "6c6f672875696e742c737472696e672c737472696e6729",
                                                        "id": 13863,
                                                        "isConstant": false,
                                                        "isLValue": false,
                                                        "isPure": true,
                                                        "kind": "string",
                                                        "lValueRequested": false,
                                                        "nodeType": "Literal",
                                                        "src": "8315:25:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_stringliteral_3f57c295245f8891b303347a08039155dde08dde601649242724a0ce876bcc65",
                                                            "typeString": "literal_string \"log(uint,string,string)\""
                                                        },
                                                        "value": "log(uint,string,string)"
                                                    },
                                                    {
                                                        "id": 13864,
                                                        "name": "p0",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 13853,
                                                        "src": "8342:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_uint256",
                                                            "typeString": "uint256"
                                                        }
                                                    },
                                                    {
                                                        "id": 13865,
                                                        "name": "p1",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 13855,
                                                        "src": "8346:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_string_memory_ptr",
                                                            "typeString": "string memory"
                                                        }
                                                    },
                                                    {
                                                        "id": 13866,
                                                        "name": "p2",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 13857,
                                                        "src": "8350:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_string_memory_ptr",
                                                            "typeString": "string memory"
                                                        }
                                                    }
                                                ],
                                                "expression": {
                                                    "argumentTypes": [
                                                        {
                                                            "typeIdentifier": "t_stringliteral_3f57c295245f8891b303347a08039155dde08dde601649242724a0ce876bcc65",
                                                            "typeString": "literal_string \"log(uint,string,string)\""
                                                        },
                                                        {
                                                            "typeIdentifier": "t_uint256",
                                                            "typeString": "uint256"
                                                        },
                                                        {
                                                            "typeIdentifier": "t_string_memory_ptr",
                                                            "typeString": "string memory"
                                                        },
                                                        {
                                                            "typeIdentifier": "t_string_memory_ptr",
                                                            "typeString": "string memory"
                                                        }
                                                    ],
                                                    "expression": {
                                                        "id": 13861,
                                                        "name": "abi",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 4294967295,
                                                        "src": "8291:3:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_magic_abi",
                                                            "typeString": "abi"
                                                        }
                                                    },
                                                    "id": 13862,
                                                    "isConstant": false,
                                                    "isLValue": false,
                                                    "isPure": true,
                                                    "lValueRequested": false,
                                                    "memberName": "encodeWithSignature",
                                                    "nodeType": "MemberAccess",
                                                    "src": "8291:23:62",
                                                    "typeDescriptions": {
                                                        "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$",
                                                        "typeString": "function (string memory) pure returns (bytes memory)"
                                                    }
                                                },
                                                "id": 13867,
                                                "isConstant": false,
                                                "isLValue": false,
                                                "isPure": false,
                                                "kind": "functionCall",
                                                "lValueRequested": false,
                                                "names": [],
                                                "nodeType": "FunctionCall",
                                                "src": "8291:62:62",
                                                "tryCall": false,
                                                "typeDescriptions": {
                                                    "typeIdentifier": "t_bytes_memory_ptr",
                                                    "typeString": "bytes memory"
                                                }
                                            }
                                        ],
                                        "expression": {
                                            "argumentTypes": [
                                                {
                                                    "typeIdentifier": "t_bytes_memory_ptr",
                                                    "typeString": "bytes memory"
                                                }
                                            ],
                                            "id": 13860,
                                            "name": "_sendLogPayload",
                                            "nodeType": "Identifier",
                                            "overloadedDeclarations": [],
                                            "referencedDeclaration": 12880,
                                            "src": "8275:15:62",
                                            "typeDescriptions": {
                                                "typeIdentifier": "t_function_internal_view$_t_bytes_memory_ptr_$returns$__$",
                                                "typeString": "function (bytes memory) view"
                                            }
                                        },
                                        "id": 13868,
                                        "isConstant": false,
                                        "isLValue": false,
                                        "isPure": false,
                                        "kind": "functionCall",
                                        "lValueRequested": false,
                                        "names": [],
                                        "nodeType": "FunctionCall",
                                        "src": "8275:79:62",
                                        "tryCall": false,
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_tuple$__$",
                                            "typeString": "tuple()"
                                        }
                                    },
                                    "id": 13869,
                                    "nodeType": "ExpressionStatement",
                                    "src": "8275:79:62"
                                }
                            ]
                        },
                        "id": 13871,
                        "implemented": true,
                        "kind": "function",
                        "modifiers": [],
                        "name": "log",
                        "nameLocation": "8208:3:62",
                        "nodeType": "FunctionDefinition",
                        "parameters": {
                            "id": 13858,
                            "nodeType": "ParameterList",
                            "parameters": [
                                {
                                    "constant": false,
                                    "id": 13853,
                                    "mutability": "mutable",
                                    "name": "p0",
                                    "nameLocation": "8217:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 13871,
                                    "src": "8212:7:62",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_uint256",
                                        "typeString": "uint256"
                                    },
                                    "typeName": {
                                        "id": 13852,
                                        "name": "uint",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "8212:4:62",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_uint256",
                                            "typeString": "uint256"
                                        }
                                    },
                                    "visibility": "internal"
                                },
                                {
                                    "constant": false,
                                    "id": 13855,
                                    "mutability": "mutable",
                                    "name": "p1",
                                    "nameLocation": "8235:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 13871,
                                    "src": "8221:16:62",
                                    "stateVariable": false,
                                    "storageLocation": "memory",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_string_memory_ptr",
                                        "typeString": "string"
                                    },
                                    "typeName": {
                                        "id": 13854,
                                        "name": "string",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "8221:6:62",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_string_storage_ptr",
                                            "typeString": "string"
                                        }
                                    },
                                    "visibility": "internal"
                                },
                                {
                                    "constant": false,
                                    "id": 13857,
                                    "mutability": "mutable",
                                    "name": "p2",
                                    "nameLocation": "8253:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 13871,
                                    "src": "8239:16:62",
                                    "stateVariable": false,
                                    "storageLocation": "memory",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_string_memory_ptr",
                                        "typeString": "string"
                                    },
                                    "typeName": {
                                        "id": 13856,
                                        "name": "string",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "8239:6:62",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_string_storage_ptr",
                                            "typeString": "string"
                                        }
                                    },
                                    "visibility": "internal"
                                }
                            ],
                            "src": "8211:45:62"
                        },
                        "returnParameters": {
                            "id": 13859,
                            "nodeType": "ParameterList",
                            "parameters": [],
                            "src": "8271:0:62"
                        },
                        "scope": 20920,
                        "src": "8199:159:62",
                        "stateMutability": "view",
                        "virtual": false,
                        "visibility": "internal"
                    },
                    {
                        "body": {
                            "id": 13890,
                            "nodeType": "Block",
                            "src": "8424:85:62",
                            "statements": [
                                {
                                    "expression": {
                                        "arguments": [
                                            {
                                                "arguments": [
                                                    {
                                                        "hexValue": "6c6f672875696e742c737472696e672c626f6f6c29",
                                                        "id": 13883,
                                                        "isConstant": false,
                                                        "isLValue": false,
                                                        "isPure": true,
                                                        "kind": "string",
                                                        "lValueRequested": false,
                                                        "nodeType": "Literal",
                                                        "src": "8468:23:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_stringliteral_46a7d0ce13c2c26d158d9defa8ce488dbeb81d3c852592fb370bd45953199485",
                                                            "typeString": "literal_string \"log(uint,string,bool)\""
                                                        },
                                                        "value": "log(uint,string,bool)"
                                                    },
                                                    {
                                                        "id": 13884,
                                                        "name": "p0",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 13873,
                                                        "src": "8493:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_uint256",
                                                            "typeString": "uint256"
                                                        }
                                                    },
                                                    {
                                                        "id": 13885,
                                                        "name": "p1",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 13875,
                                                        "src": "8497:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_string_memory_ptr",
                                                            "typeString": "string memory"
                                                        }
                                                    },
                                                    {
                                                        "id": 13886,
                                                        "name": "p2",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 13877,
                                                        "src": "8501:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_bool",
                                                            "typeString": "bool"
                                                        }
                                                    }
                                                ],
                                                "expression": {
                                                    "argumentTypes": [
                                                        {
                                                            "typeIdentifier": "t_stringliteral_46a7d0ce13c2c26d158d9defa8ce488dbeb81d3c852592fb370bd45953199485",
                                                            "typeString": "literal_string \"log(uint,string,bool)\""
                                                        },
                                                        {
                                                            "typeIdentifier": "t_uint256",
                                                            "typeString": "uint256"
                                                        },
                                                        {
                                                            "typeIdentifier": "t_string_memory_ptr",
                                                            "typeString": "string memory"
                                                        },
                                                        {
                                                            "typeIdentifier": "t_bool",
                                                            "typeString": "bool"
                                                        }
                                                    ],
                                                    "expression": {
                                                        "id": 13881,
                                                        "name": "abi",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 4294967295,
                                                        "src": "8444:3:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_magic_abi",
                                                            "typeString": "abi"
                                                        }
                                                    },
                                                    "id": 13882,
                                                    "isConstant": false,
                                                    "isLValue": false,
                                                    "isPure": true,
                                                    "lValueRequested": false,
                                                    "memberName": "encodeWithSignature",
                                                    "nodeType": "MemberAccess",
                                                    "src": "8444:23:62",
                                                    "typeDescriptions": {
                                                        "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$",
                                                        "typeString": "function (string memory) pure returns (bytes memory)"
                                                    }
                                                },
                                                "id": 13887,
                                                "isConstant": false,
                                                "isLValue": false,
                                                "isPure": false,
                                                "kind": "functionCall",
                                                "lValueRequested": false,
                                                "names": [],
                                                "nodeType": "FunctionCall",
                                                "src": "8444:60:62",
                                                "tryCall": false,
                                                "typeDescriptions": {
                                                    "typeIdentifier": "t_bytes_memory_ptr",
                                                    "typeString": "bytes memory"
                                                }
                                            }
                                        ],
                                        "expression": {
                                            "argumentTypes": [
                                                {
                                                    "typeIdentifier": "t_bytes_memory_ptr",
                                                    "typeString": "bytes memory"
                                                }
                                            ],
                                            "id": 13880,
                                            "name": "_sendLogPayload",
                                            "nodeType": "Identifier",
                                            "overloadedDeclarations": [],
                                            "referencedDeclaration": 12880,
                                            "src": "8428:15:62",
                                            "typeDescriptions": {
                                                "typeIdentifier": "t_function_internal_view$_t_bytes_memory_ptr_$returns$__$",
                                                "typeString": "function (bytes memory) view"
                                            }
                                        },
                                        "id": 13888,
                                        "isConstant": false,
                                        "isLValue": false,
                                        "isPure": false,
                                        "kind": "functionCall",
                                        "lValueRequested": false,
                                        "names": [],
                                        "nodeType": "FunctionCall",
                                        "src": "8428:77:62",
                                        "tryCall": false,
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_tuple$__$",
                                            "typeString": "tuple()"
                                        }
                                    },
                                    "id": 13889,
                                    "nodeType": "ExpressionStatement",
                                    "src": "8428:77:62"
                                }
                            ]
                        },
                        "id": 13891,
                        "implemented": true,
                        "kind": "function",
                        "modifiers": [],
                        "name": "log",
                        "nameLocation": "8370:3:62",
                        "nodeType": "FunctionDefinition",
                        "parameters": {
                            "id": 13878,
                            "nodeType": "ParameterList",
                            "parameters": [
                                {
                                    "constant": false,
                                    "id": 13873,
                                    "mutability": "mutable",
                                    "name": "p0",
                                    "nameLocation": "8379:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 13891,
                                    "src": "8374:7:62",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_uint256",
                                        "typeString": "uint256"
                                    },
                                    "typeName": {
                                        "id": 13872,
                                        "name": "uint",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "8374:4:62",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_uint256",
                                            "typeString": "uint256"
                                        }
                                    },
                                    "visibility": "internal"
                                },
                                {
                                    "constant": false,
                                    "id": 13875,
                                    "mutability": "mutable",
                                    "name": "p1",
                                    "nameLocation": "8397:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 13891,
                                    "src": "8383:16:62",
                                    "stateVariable": false,
                                    "storageLocation": "memory",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_string_memory_ptr",
                                        "typeString": "string"
                                    },
                                    "typeName": {
                                        "id": 13874,
                                        "name": "string",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "8383:6:62",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_string_storage_ptr",
                                            "typeString": "string"
                                        }
                                    },
                                    "visibility": "internal"
                                },
                                {
                                    "constant": false,
                                    "id": 13877,
                                    "mutability": "mutable",
                                    "name": "p2",
                                    "nameLocation": "8406:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 13891,
                                    "src": "8401:7:62",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_bool",
                                        "typeString": "bool"
                                    },
                                    "typeName": {
                                        "id": 13876,
                                        "name": "bool",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "8401:4:62",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_bool",
                                            "typeString": "bool"
                                        }
                                    },
                                    "visibility": "internal"
                                }
                            ],
                            "src": "8373:36:62"
                        },
                        "returnParameters": {
                            "id": 13879,
                            "nodeType": "ParameterList",
                            "parameters": [],
                            "src": "8424:0:62"
                        },
                        "scope": 20920,
                        "src": "8361:148:62",
                        "stateMutability": "view",
                        "virtual": false,
                        "visibility": "internal"
                    },
                    {
                        "body": {
                            "id": 13910,
                            "nodeType": "Block",
                            "src": "8578:88:62",
                            "statements": [
                                {
                                    "expression": {
                                        "arguments": [
                                            {
                                                "arguments": [
                                                    {
                                                        "hexValue": "6c6f672875696e742c737472696e672c6164647265737329",
                                                        "id": 13903,
                                                        "isConstant": false,
                                                        "isLValue": false,
                                                        "isPure": true,
                                                        "kind": "string",
                                                        "lValueRequested": false,
                                                        "nodeType": "Literal",
                                                        "src": "8622:26:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_stringliteral_1f90f24a472e5198a9eef41600323c8a476ef0a1db1496125f7d053a74d474ac",
                                                            "typeString": "literal_string \"log(uint,string,address)\""
                                                        },
                                                        "value": "log(uint,string,address)"
                                                    },
                                                    {
                                                        "id": 13904,
                                                        "name": "p0",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 13893,
                                                        "src": "8650:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_uint256",
                                                            "typeString": "uint256"
                                                        }
                                                    },
                                                    {
                                                        "id": 13905,
                                                        "name": "p1",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 13895,
                                                        "src": "8654:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_string_memory_ptr",
                                                            "typeString": "string memory"
                                                        }
                                                    },
                                                    {
                                                        "id": 13906,
                                                        "name": "p2",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 13897,
                                                        "src": "8658:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_address",
                                                            "typeString": "address"
                                                        }
                                                    }
                                                ],
                                                "expression": {
                                                    "argumentTypes": [
                                                        {
                                                            "typeIdentifier": "t_stringliteral_1f90f24a472e5198a9eef41600323c8a476ef0a1db1496125f7d053a74d474ac",
                                                            "typeString": "literal_string \"log(uint,string,address)\""
                                                        },
                                                        {
                                                            "typeIdentifier": "t_uint256",
                                                            "typeString": "uint256"
                                                        },
                                                        {
                                                            "typeIdentifier": "t_string_memory_ptr",
                                                            "typeString": "string memory"
                                                        },
                                                        {
                                                            "typeIdentifier": "t_address",
                                                            "typeString": "address"
                                                        }
                                                    ],
                                                    "expression": {
                                                        "id": 13901,
                                                        "name": "abi",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 4294967295,
                                                        "src": "8598:3:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_magic_abi",
                                                            "typeString": "abi"
                                                        }
                                                    },
                                                    "id": 13902,
                                                    "isConstant": false,
                                                    "isLValue": false,
                                                    "isPure": true,
                                                    "lValueRequested": false,
                                                    "memberName": "encodeWithSignature",
                                                    "nodeType": "MemberAccess",
                                                    "src": "8598:23:62",
                                                    "typeDescriptions": {
                                                        "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$",
                                                        "typeString": "function (string memory) pure returns (bytes memory)"
                                                    }
                                                },
                                                "id": 13907,
                                                "isConstant": false,
                                                "isLValue": false,
                                                "isPure": false,
                                                "kind": "functionCall",
                                                "lValueRequested": false,
                                                "names": [],
                                                "nodeType": "FunctionCall",
                                                "src": "8598:63:62",
                                                "tryCall": false,
                                                "typeDescriptions": {
                                                    "typeIdentifier": "t_bytes_memory_ptr",
                                                    "typeString": "bytes memory"
                                                }
                                            }
                                        ],
                                        "expression": {
                                            "argumentTypes": [
                                                {
                                                    "typeIdentifier": "t_bytes_memory_ptr",
                                                    "typeString": "bytes memory"
                                                }
                                            ],
                                            "id": 13900,
                                            "name": "_sendLogPayload",
                                            "nodeType": "Identifier",
                                            "overloadedDeclarations": [],
                                            "referencedDeclaration": 12880,
                                            "src": "8582:15:62",
                                            "typeDescriptions": {
                                                "typeIdentifier": "t_function_internal_view$_t_bytes_memory_ptr_$returns$__$",
                                                "typeString": "function (bytes memory) view"
                                            }
                                        },
                                        "id": 13908,
                                        "isConstant": false,
                                        "isLValue": false,
                                        "isPure": false,
                                        "kind": "functionCall",
                                        "lValueRequested": false,
                                        "names": [],
                                        "nodeType": "FunctionCall",
                                        "src": "8582:80:62",
                                        "tryCall": false,
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_tuple$__$",
                                            "typeString": "tuple()"
                                        }
                                    },
                                    "id": 13909,
                                    "nodeType": "ExpressionStatement",
                                    "src": "8582:80:62"
                                }
                            ]
                        },
                        "id": 13911,
                        "implemented": true,
                        "kind": "function",
                        "modifiers": [],
                        "name": "log",
                        "nameLocation": "8521:3:62",
                        "nodeType": "FunctionDefinition",
                        "parameters": {
                            "id": 13898,
                            "nodeType": "ParameterList",
                            "parameters": [
                                {
                                    "constant": false,
                                    "id": 13893,
                                    "mutability": "mutable",
                                    "name": "p0",
                                    "nameLocation": "8530:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 13911,
                                    "src": "8525:7:62",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_uint256",
                                        "typeString": "uint256"
                                    },
                                    "typeName": {
                                        "id": 13892,
                                        "name": "uint",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "8525:4:62",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_uint256",
                                            "typeString": "uint256"
                                        }
                                    },
                                    "visibility": "internal"
                                },
                                {
                                    "constant": false,
                                    "id": 13895,
                                    "mutability": "mutable",
                                    "name": "p1",
                                    "nameLocation": "8548:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 13911,
                                    "src": "8534:16:62",
                                    "stateVariable": false,
                                    "storageLocation": "memory",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_string_memory_ptr",
                                        "typeString": "string"
                                    },
                                    "typeName": {
                                        "id": 13894,
                                        "name": "string",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "8534:6:62",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_string_storage_ptr",
                                            "typeString": "string"
                                        }
                                    },
                                    "visibility": "internal"
                                },
                                {
                                    "constant": false,
                                    "id": 13897,
                                    "mutability": "mutable",
                                    "name": "p2",
                                    "nameLocation": "8560:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 13911,
                                    "src": "8552:10:62",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_address",
                                        "typeString": "address"
                                    },
                                    "typeName": {
                                        "id": 13896,
                                        "name": "address",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "8552:7:62",
                                        "stateMutability": "nonpayable",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_address",
                                            "typeString": "address"
                                        }
                                    },
                                    "visibility": "internal"
                                }
                            ],
                            "src": "8524:39:62"
                        },
                        "returnParameters": {
                            "id": 13899,
                            "nodeType": "ParameterList",
                            "parameters": [],
                            "src": "8578:0:62"
                        },
                        "scope": 20920,
                        "src": "8512:154:62",
                        "stateMutability": "view",
                        "virtual": false,
                        "visibility": "internal"
                    },
                    {
                        "body": {
                            "id": 13930,
                            "nodeType": "Block",
                            "src": "8723:83:62",
                            "statements": [
                                {
                                    "expression": {
                                        "arguments": [
                                            {
                                                "arguments": [
                                                    {
                                                        "hexValue": "6c6f672875696e742c626f6f6c2c75696e7429",
                                                        "id": 13923,
                                                        "isConstant": false,
                                                        "isLValue": false,
                                                        "isPure": true,
                                                        "kind": "string",
                                                        "lValueRequested": false,
                                                        "nodeType": "Literal",
                                                        "src": "8767:21:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_stringliteral_5a4d9922ab81f1126dafac21c1ce3fb483db2e4898341fe0758315eb5f3054d6",
                                                            "typeString": "literal_string \"log(uint,bool,uint)\""
                                                        },
                                                        "value": "log(uint,bool,uint)"
                                                    },
                                                    {
                                                        "id": 13924,
                                                        "name": "p0",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 13913,
                                                        "src": "8790:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_uint256",
                                                            "typeString": "uint256"
                                                        }
                                                    },
                                                    {
                                                        "id": 13925,
                                                        "name": "p1",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 13915,
                                                        "src": "8794:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_bool",
                                                            "typeString": "bool"
                                                        }
                                                    },
                                                    {
                                                        "id": 13926,
                                                        "name": "p2",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 13917,
                                                        "src": "8798:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_uint256",
                                                            "typeString": "uint256"
                                                        }
                                                    }
                                                ],
                                                "expression": {
                                                    "argumentTypes": [
                                                        {
                                                            "typeIdentifier": "t_stringliteral_5a4d9922ab81f1126dafac21c1ce3fb483db2e4898341fe0758315eb5f3054d6",
                                                            "typeString": "literal_string \"log(uint,bool,uint)\""
                                                        },
                                                        {
                                                            "typeIdentifier": "t_uint256",
                                                            "typeString": "uint256"
                                                        },
                                                        {
                                                            "typeIdentifier": "t_bool",
                                                            "typeString": "bool"
                                                        },
                                                        {
                                                            "typeIdentifier": "t_uint256",
                                                            "typeString": "uint256"
                                                        }
                                                    ],
                                                    "expression": {
                                                        "id": 13921,
                                                        "name": "abi",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 4294967295,
                                                        "src": "8743:3:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_magic_abi",
                                                            "typeString": "abi"
                                                        }
                                                    },
                                                    "id": 13922,
                                                    "isConstant": false,
                                                    "isLValue": false,
                                                    "isPure": true,
                                                    "lValueRequested": false,
                                                    "memberName": "encodeWithSignature",
                                                    "nodeType": "MemberAccess",
                                                    "src": "8743:23:62",
                                                    "typeDescriptions": {
                                                        "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$",
                                                        "typeString": "function (string memory) pure returns (bytes memory)"
                                                    }
                                                },
                                                "id": 13927,
                                                "isConstant": false,
                                                "isLValue": false,
                                                "isPure": false,
                                                "kind": "functionCall",
                                                "lValueRequested": false,
                                                "names": [],
                                                "nodeType": "FunctionCall",
                                                "src": "8743:58:62",
                                                "tryCall": false,
                                                "typeDescriptions": {
                                                    "typeIdentifier": "t_bytes_memory_ptr",
                                                    "typeString": "bytes memory"
                                                }
                                            }
                                        ],
                                        "expression": {
                                            "argumentTypes": [
                                                {
                                                    "typeIdentifier": "t_bytes_memory_ptr",
                                                    "typeString": "bytes memory"
                                                }
                                            ],
                                            "id": 13920,
                                            "name": "_sendLogPayload",
                                            "nodeType": "Identifier",
                                            "overloadedDeclarations": [],
                                            "referencedDeclaration": 12880,
                                            "src": "8727:15:62",
                                            "typeDescriptions": {
                                                "typeIdentifier": "t_function_internal_view$_t_bytes_memory_ptr_$returns$__$",
                                                "typeString": "function (bytes memory) view"
                                            }
                                        },
                                        "id": 13928,
                                        "isConstant": false,
                                        "isLValue": false,
                                        "isPure": false,
                                        "kind": "functionCall",
                                        "lValueRequested": false,
                                        "names": [],
                                        "nodeType": "FunctionCall",
                                        "src": "8727:75:62",
                                        "tryCall": false,
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_tuple$__$",
                                            "typeString": "tuple()"
                                        }
                                    },
                                    "id": 13929,
                                    "nodeType": "ExpressionStatement",
                                    "src": "8727:75:62"
                                }
                            ]
                        },
                        "id": 13931,
                        "implemented": true,
                        "kind": "function",
                        "modifiers": [],
                        "name": "log",
                        "nameLocation": "8678:3:62",
                        "nodeType": "FunctionDefinition",
                        "parameters": {
                            "id": 13918,
                            "nodeType": "ParameterList",
                            "parameters": [
                                {
                                    "constant": false,
                                    "id": 13913,
                                    "mutability": "mutable",
                                    "name": "p0",
                                    "nameLocation": "8687:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 13931,
                                    "src": "8682:7:62",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_uint256",
                                        "typeString": "uint256"
                                    },
                                    "typeName": {
                                        "id": 13912,
                                        "name": "uint",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "8682:4:62",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_uint256",
                                            "typeString": "uint256"
                                        }
                                    },
                                    "visibility": "internal"
                                },
                                {
                                    "constant": false,
                                    "id": 13915,
                                    "mutability": "mutable",
                                    "name": "p1",
                                    "nameLocation": "8696:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 13931,
                                    "src": "8691:7:62",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_bool",
                                        "typeString": "bool"
                                    },
                                    "typeName": {
                                        "id": 13914,
                                        "name": "bool",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "8691:4:62",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_bool",
                                            "typeString": "bool"
                                        }
                                    },
                                    "visibility": "internal"
                                },
                                {
                                    "constant": false,
                                    "id": 13917,
                                    "mutability": "mutable",
                                    "name": "p2",
                                    "nameLocation": "8705:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 13931,
                                    "src": "8700:7:62",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_uint256",
                                        "typeString": "uint256"
                                    },
                                    "typeName": {
                                        "id": 13916,
                                        "name": "uint",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "8700:4:62",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_uint256",
                                            "typeString": "uint256"
                                        }
                                    },
                                    "visibility": "internal"
                                }
                            ],
                            "src": "8681:27:62"
                        },
                        "returnParameters": {
                            "id": 13919,
                            "nodeType": "ParameterList",
                            "parameters": [],
                            "src": "8723:0:62"
                        },
                        "scope": 20920,
                        "src": "8669:137:62",
                        "stateMutability": "view",
                        "virtual": false,
                        "visibility": "internal"
                    },
                    {
                        "body": {
                            "id": 13950,
                            "nodeType": "Block",
                            "src": "8872:85:62",
                            "statements": [
                                {
                                    "expression": {
                                        "arguments": [
                                            {
                                                "arguments": [
                                                    {
                                                        "hexValue": "6c6f672875696e742c626f6f6c2c737472696e6729",
                                                        "id": 13943,
                                                        "isConstant": false,
                                                        "isLValue": false,
                                                        "isPure": true,
                                                        "kind": "string",
                                                        "lValueRequested": false,
                                                        "nodeType": "Literal",
                                                        "src": "8916:23:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_stringliteral_8b0e14fe247223cbba6a19a2fac250db70b4f126d0f3f63ac9c3f080885b9f82",
                                                            "typeString": "literal_string \"log(uint,bool,string)\""
                                                        },
                                                        "value": "log(uint,bool,string)"
                                                    },
                                                    {
                                                        "id": 13944,
                                                        "name": "p0",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 13933,
                                                        "src": "8941:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_uint256",
                                                            "typeString": "uint256"
                                                        }
                                                    },
                                                    {
                                                        "id": 13945,
                                                        "name": "p1",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 13935,
                                                        "src": "8945:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_bool",
                                                            "typeString": "bool"
                                                        }
                                                    },
                                                    {
                                                        "id": 13946,
                                                        "name": "p2",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 13937,
                                                        "src": "8949:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_string_memory_ptr",
                                                            "typeString": "string memory"
                                                        }
                                                    }
                                                ],
                                                "expression": {
                                                    "argumentTypes": [
                                                        {
                                                            "typeIdentifier": "t_stringliteral_8b0e14fe247223cbba6a19a2fac250db70b4f126d0f3f63ac9c3f080885b9f82",
                                                            "typeString": "literal_string \"log(uint,bool,string)\""
                                                        },
                                                        {
                                                            "typeIdentifier": "t_uint256",
                                                            "typeString": "uint256"
                                                        },
                                                        {
                                                            "typeIdentifier": "t_bool",
                                                            "typeString": "bool"
                                                        },
                                                        {
                                                            "typeIdentifier": "t_string_memory_ptr",
                                                            "typeString": "string memory"
                                                        }
                                                    ],
                                                    "expression": {
                                                        "id": 13941,
                                                        "name": "abi",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 4294967295,
                                                        "src": "8892:3:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_magic_abi",
                                                            "typeString": "abi"
                                                        }
                                                    },
                                                    "id": 13942,
                                                    "isConstant": false,
                                                    "isLValue": false,
                                                    "isPure": true,
                                                    "lValueRequested": false,
                                                    "memberName": "encodeWithSignature",
                                                    "nodeType": "MemberAccess",
                                                    "src": "8892:23:62",
                                                    "typeDescriptions": {
                                                        "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$",
                                                        "typeString": "function (string memory) pure returns (bytes memory)"
                                                    }
                                                },
                                                "id": 13947,
                                                "isConstant": false,
                                                "isLValue": false,
                                                "isPure": false,
                                                "kind": "functionCall",
                                                "lValueRequested": false,
                                                "names": [],
                                                "nodeType": "FunctionCall",
                                                "src": "8892:60:62",
                                                "tryCall": false,
                                                "typeDescriptions": {
                                                    "typeIdentifier": "t_bytes_memory_ptr",
                                                    "typeString": "bytes memory"
                                                }
                                            }
                                        ],
                                        "expression": {
                                            "argumentTypes": [
                                                {
                                                    "typeIdentifier": "t_bytes_memory_ptr",
                                                    "typeString": "bytes memory"
                                                }
                                            ],
                                            "id": 13940,
                                            "name": "_sendLogPayload",
                                            "nodeType": "Identifier",
                                            "overloadedDeclarations": [],
                                            "referencedDeclaration": 12880,
                                            "src": "8876:15:62",
                                            "typeDescriptions": {
                                                "typeIdentifier": "t_function_internal_view$_t_bytes_memory_ptr_$returns$__$",
                                                "typeString": "function (bytes memory) view"
                                            }
                                        },
                                        "id": 13948,
                                        "isConstant": false,
                                        "isLValue": false,
                                        "isPure": false,
                                        "kind": "functionCall",
                                        "lValueRequested": false,
                                        "names": [],
                                        "nodeType": "FunctionCall",
                                        "src": "8876:77:62",
                                        "tryCall": false,
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_tuple$__$",
                                            "typeString": "tuple()"
                                        }
                                    },
                                    "id": 13949,
                                    "nodeType": "ExpressionStatement",
                                    "src": "8876:77:62"
                                }
                            ]
                        },
                        "id": 13951,
                        "implemented": true,
                        "kind": "function",
                        "modifiers": [],
                        "name": "log",
                        "nameLocation": "8818:3:62",
                        "nodeType": "FunctionDefinition",
                        "parameters": {
                            "id": 13938,
                            "nodeType": "ParameterList",
                            "parameters": [
                                {
                                    "constant": false,
                                    "id": 13933,
                                    "mutability": "mutable",
                                    "name": "p0",
                                    "nameLocation": "8827:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 13951,
                                    "src": "8822:7:62",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_uint256",
                                        "typeString": "uint256"
                                    },
                                    "typeName": {
                                        "id": 13932,
                                        "name": "uint",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "8822:4:62",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_uint256",
                                            "typeString": "uint256"
                                        }
                                    },
                                    "visibility": "internal"
                                },
                                {
                                    "constant": false,
                                    "id": 13935,
                                    "mutability": "mutable",
                                    "name": "p1",
                                    "nameLocation": "8836:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 13951,
                                    "src": "8831:7:62",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_bool",
                                        "typeString": "bool"
                                    },
                                    "typeName": {
                                        "id": 13934,
                                        "name": "bool",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "8831:4:62",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_bool",
                                            "typeString": "bool"
                                        }
                                    },
                                    "visibility": "internal"
                                },
                                {
                                    "constant": false,
                                    "id": 13937,
                                    "mutability": "mutable",
                                    "name": "p2",
                                    "nameLocation": "8854:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 13951,
                                    "src": "8840:16:62",
                                    "stateVariable": false,
                                    "storageLocation": "memory",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_string_memory_ptr",
                                        "typeString": "string"
                                    },
                                    "typeName": {
                                        "id": 13936,
                                        "name": "string",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "8840:6:62",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_string_storage_ptr",
                                            "typeString": "string"
                                        }
                                    },
                                    "visibility": "internal"
                                }
                            ],
                            "src": "8821:36:62"
                        },
                        "returnParameters": {
                            "id": 13939,
                            "nodeType": "ParameterList",
                            "parameters": [],
                            "src": "8872:0:62"
                        },
                        "scope": 20920,
                        "src": "8809:148:62",
                        "stateMutability": "view",
                        "virtual": false,
                        "visibility": "internal"
                    },
                    {
                        "body": {
                            "id": 13970,
                            "nodeType": "Block",
                            "src": "9014:83:62",
                            "statements": [
                                {
                                    "expression": {
                                        "arguments": [
                                            {
                                                "arguments": [
                                                    {
                                                        "hexValue": "6c6f672875696e742c626f6f6c2c626f6f6c29",
                                                        "id": 13963,
                                                        "isConstant": false,
                                                        "isLValue": false,
                                                        "isPure": true,
                                                        "kind": "string",
                                                        "lValueRequested": false,
                                                        "nodeType": "Literal",
                                                        "src": "9058:21:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_stringliteral_d5ceace024d24c243571d0b2393ca9fb37aa961a0e028332e72cd7dfb84c0971",
                                                            "typeString": "literal_string \"log(uint,bool,bool)\""
                                                        },
                                                        "value": "log(uint,bool,bool)"
                                                    },
                                                    {
                                                        "id": 13964,
                                                        "name": "p0",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 13953,
                                                        "src": "9081:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_uint256",
                                                            "typeString": "uint256"
                                                        }
                                                    },
                                                    {
                                                        "id": 13965,
                                                        "name": "p1",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 13955,
                                                        "src": "9085:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_bool",
                                                            "typeString": "bool"
                                                        }
                                                    },
                                                    {
                                                        "id": 13966,
                                                        "name": "p2",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 13957,
                                                        "src": "9089:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_bool",
                                                            "typeString": "bool"
                                                        }
                                                    }
                                                ],
                                                "expression": {
                                                    "argumentTypes": [
                                                        {
                                                            "typeIdentifier": "t_stringliteral_d5ceace024d24c243571d0b2393ca9fb37aa961a0e028332e72cd7dfb84c0971",
                                                            "typeString": "literal_string \"log(uint,bool,bool)\""
                                                        },
                                                        {
                                                            "typeIdentifier": "t_uint256",
                                                            "typeString": "uint256"
                                                        },
                                                        {
                                                            "typeIdentifier": "t_bool",
                                                            "typeString": "bool"
                                                        },
                                                        {
                                                            "typeIdentifier": "t_bool",
                                                            "typeString": "bool"
                                                        }
                                                    ],
                                                    "expression": {
                                                        "id": 13961,
                                                        "name": "abi",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 4294967295,
                                                        "src": "9034:3:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_magic_abi",
                                                            "typeString": "abi"
                                                        }
                                                    },
                                                    "id": 13962,
                                                    "isConstant": false,
                                                    "isLValue": false,
                                                    "isPure": true,
                                                    "lValueRequested": false,
                                                    "memberName": "encodeWithSignature",
                                                    "nodeType": "MemberAccess",
                                                    "src": "9034:23:62",
                                                    "typeDescriptions": {
                                                        "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$",
                                                        "typeString": "function (string memory) pure returns (bytes memory)"
                                                    }
                                                },
                                                "id": 13967,
                                                "isConstant": false,
                                                "isLValue": false,
                                                "isPure": false,
                                                "kind": "functionCall",
                                                "lValueRequested": false,
                                                "names": [],
                                                "nodeType": "FunctionCall",
                                                "src": "9034:58:62",
                                                "tryCall": false,
                                                "typeDescriptions": {
                                                    "typeIdentifier": "t_bytes_memory_ptr",
                                                    "typeString": "bytes memory"
                                                }
                                            }
                                        ],
                                        "expression": {
                                            "argumentTypes": [
                                                {
                                                    "typeIdentifier": "t_bytes_memory_ptr",
                                                    "typeString": "bytes memory"
                                                }
                                            ],
                                            "id": 13960,
                                            "name": "_sendLogPayload",
                                            "nodeType": "Identifier",
                                            "overloadedDeclarations": [],
                                            "referencedDeclaration": 12880,
                                            "src": "9018:15:62",
                                            "typeDescriptions": {
                                                "typeIdentifier": "t_function_internal_view$_t_bytes_memory_ptr_$returns$__$",
                                                "typeString": "function (bytes memory) view"
                                            }
                                        },
                                        "id": 13968,
                                        "isConstant": false,
                                        "isLValue": false,
                                        "isPure": false,
                                        "kind": "functionCall",
                                        "lValueRequested": false,
                                        "names": [],
                                        "nodeType": "FunctionCall",
                                        "src": "9018:75:62",
                                        "tryCall": false,
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_tuple$__$",
                                            "typeString": "tuple()"
                                        }
                                    },
                                    "id": 13969,
                                    "nodeType": "ExpressionStatement",
                                    "src": "9018:75:62"
                                }
                            ]
                        },
                        "id": 13971,
                        "implemented": true,
                        "kind": "function",
                        "modifiers": [],
                        "name": "log",
                        "nameLocation": "8969:3:62",
                        "nodeType": "FunctionDefinition",
                        "parameters": {
                            "id": 13958,
                            "nodeType": "ParameterList",
                            "parameters": [
                                {
                                    "constant": false,
                                    "id": 13953,
                                    "mutability": "mutable",
                                    "name": "p0",
                                    "nameLocation": "8978:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 13971,
                                    "src": "8973:7:62",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_uint256",
                                        "typeString": "uint256"
                                    },
                                    "typeName": {
                                        "id": 13952,
                                        "name": "uint",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "8973:4:62",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_uint256",
                                            "typeString": "uint256"
                                        }
                                    },
                                    "visibility": "internal"
                                },
                                {
                                    "constant": false,
                                    "id": 13955,
                                    "mutability": "mutable",
                                    "name": "p1",
                                    "nameLocation": "8987:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 13971,
                                    "src": "8982:7:62",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_bool",
                                        "typeString": "bool"
                                    },
                                    "typeName": {
                                        "id": 13954,
                                        "name": "bool",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "8982:4:62",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_bool",
                                            "typeString": "bool"
                                        }
                                    },
                                    "visibility": "internal"
                                },
                                {
                                    "constant": false,
                                    "id": 13957,
                                    "mutability": "mutable",
                                    "name": "p2",
                                    "nameLocation": "8996:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 13971,
                                    "src": "8991:7:62",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_bool",
                                        "typeString": "bool"
                                    },
                                    "typeName": {
                                        "id": 13956,
                                        "name": "bool",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "8991:4:62",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_bool",
                                            "typeString": "bool"
                                        }
                                    },
                                    "visibility": "internal"
                                }
                            ],
                            "src": "8972:27:62"
                        },
                        "returnParameters": {
                            "id": 13959,
                            "nodeType": "ParameterList",
                            "parameters": [],
                            "src": "9014:0:62"
                        },
                        "scope": 20920,
                        "src": "8960:137:62",
                        "stateMutability": "view",
                        "virtual": false,
                        "visibility": "internal"
                    },
                    {
                        "body": {
                            "id": 13990,
                            "nodeType": "Block",
                            "src": "9157:86:62",
                            "statements": [
                                {
                                    "expression": {
                                        "arguments": [
                                            {
                                                "arguments": [
                                                    {
                                                        "hexValue": "6c6f672875696e742c626f6f6c2c6164647265737329",
                                                        "id": 13983,
                                                        "isConstant": false,
                                                        "isLValue": false,
                                                        "isPure": true,
                                                        "kind": "string",
                                                        "lValueRequested": false,
                                                        "nodeType": "Literal",
                                                        "src": "9201:24:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_stringliteral_424effbf6346b3a7c79debdbad20f804c7961e0193d509136d2bb7c09c7ff9b2",
                                                            "typeString": "literal_string \"log(uint,bool,address)\""
                                                        },
                                                        "value": "log(uint,bool,address)"
                                                    },
                                                    {
                                                        "id": 13984,
                                                        "name": "p0",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 13973,
                                                        "src": "9227:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_uint256",
                                                            "typeString": "uint256"
                                                        }
                                                    },
                                                    {
                                                        "id": 13985,
                                                        "name": "p1",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 13975,
                                                        "src": "9231:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_bool",
                                                            "typeString": "bool"
                                                        }
                                                    },
                                                    {
                                                        "id": 13986,
                                                        "name": "p2",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 13977,
                                                        "src": "9235:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_address",
                                                            "typeString": "address"
                                                        }
                                                    }
                                                ],
                                                "expression": {
                                                    "argumentTypes": [
                                                        {
                                                            "typeIdentifier": "t_stringliteral_424effbf6346b3a7c79debdbad20f804c7961e0193d509136d2bb7c09c7ff9b2",
                                                            "typeString": "literal_string \"log(uint,bool,address)\""
                                                        },
                                                        {
                                                            "typeIdentifier": "t_uint256",
                                                            "typeString": "uint256"
                                                        },
                                                        {
                                                            "typeIdentifier": "t_bool",
                                                            "typeString": "bool"
                                                        },
                                                        {
                                                            "typeIdentifier": "t_address",
                                                            "typeString": "address"
                                                        }
                                                    ],
                                                    "expression": {
                                                        "id": 13981,
                                                        "name": "abi",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 4294967295,
                                                        "src": "9177:3:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_magic_abi",
                                                            "typeString": "abi"
                                                        }
                                                    },
                                                    "id": 13982,
                                                    "isConstant": false,
                                                    "isLValue": false,
                                                    "isPure": true,
                                                    "lValueRequested": false,
                                                    "memberName": "encodeWithSignature",
                                                    "nodeType": "MemberAccess",
                                                    "src": "9177:23:62",
                                                    "typeDescriptions": {
                                                        "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$",
                                                        "typeString": "function (string memory) pure returns (bytes memory)"
                                                    }
                                                },
                                                "id": 13987,
                                                "isConstant": false,
                                                "isLValue": false,
                                                "isPure": false,
                                                "kind": "functionCall",
                                                "lValueRequested": false,
                                                "names": [],
                                                "nodeType": "FunctionCall",
                                                "src": "9177:61:62",
                                                "tryCall": false,
                                                "typeDescriptions": {
                                                    "typeIdentifier": "t_bytes_memory_ptr",
                                                    "typeString": "bytes memory"
                                                }
                                            }
                                        ],
                                        "expression": {
                                            "argumentTypes": [
                                                {
                                                    "typeIdentifier": "t_bytes_memory_ptr",
                                                    "typeString": "bytes memory"
                                                }
                                            ],
                                            "id": 13980,
                                            "name": "_sendLogPayload",
                                            "nodeType": "Identifier",
                                            "overloadedDeclarations": [],
                                            "referencedDeclaration": 12880,
                                            "src": "9161:15:62",
                                            "typeDescriptions": {
                                                "typeIdentifier": "t_function_internal_view$_t_bytes_memory_ptr_$returns$__$",
                                                "typeString": "function (bytes memory) view"
                                            }
                                        },
                                        "id": 13988,
                                        "isConstant": false,
                                        "isLValue": false,
                                        "isPure": false,
                                        "kind": "functionCall",
                                        "lValueRequested": false,
                                        "names": [],
                                        "nodeType": "FunctionCall",
                                        "src": "9161:78:62",
                                        "tryCall": false,
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_tuple$__$",
                                            "typeString": "tuple()"
                                        }
                                    },
                                    "id": 13989,
                                    "nodeType": "ExpressionStatement",
                                    "src": "9161:78:62"
                                }
                            ]
                        },
                        "id": 13991,
                        "implemented": true,
                        "kind": "function",
                        "modifiers": [],
                        "name": "log",
                        "nameLocation": "9109:3:62",
                        "nodeType": "FunctionDefinition",
                        "parameters": {
                            "id": 13978,
                            "nodeType": "ParameterList",
                            "parameters": [
                                {
                                    "constant": false,
                                    "id": 13973,
                                    "mutability": "mutable",
                                    "name": "p0",
                                    "nameLocation": "9118:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 13991,
                                    "src": "9113:7:62",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_uint256",
                                        "typeString": "uint256"
                                    },
                                    "typeName": {
                                        "id": 13972,
                                        "name": "uint",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "9113:4:62",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_uint256",
                                            "typeString": "uint256"
                                        }
                                    },
                                    "visibility": "internal"
                                },
                                {
                                    "constant": false,
                                    "id": 13975,
                                    "mutability": "mutable",
                                    "name": "p1",
                                    "nameLocation": "9127:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 13991,
                                    "src": "9122:7:62",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_bool",
                                        "typeString": "bool"
                                    },
                                    "typeName": {
                                        "id": 13974,
                                        "name": "bool",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "9122:4:62",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_bool",
                                            "typeString": "bool"
                                        }
                                    },
                                    "visibility": "internal"
                                },
                                {
                                    "constant": false,
                                    "id": 13977,
                                    "mutability": "mutable",
                                    "name": "p2",
                                    "nameLocation": "9139:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 13991,
                                    "src": "9131:10:62",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_address",
                                        "typeString": "address"
                                    },
                                    "typeName": {
                                        "id": 13976,
                                        "name": "address",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "9131:7:62",
                                        "stateMutability": "nonpayable",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_address",
                                            "typeString": "address"
                                        }
                                    },
                                    "visibility": "internal"
                                }
                            ],
                            "src": "9112:30:62"
                        },
                        "returnParameters": {
                            "id": 13979,
                            "nodeType": "ParameterList",
                            "parameters": [],
                            "src": "9157:0:62"
                        },
                        "scope": 20920,
                        "src": "9100:143:62",
                        "stateMutability": "view",
                        "virtual": false,
                        "visibility": "internal"
                    },
                    {
                        "body": {
                            "id": 14010,
                            "nodeType": "Block",
                            "src": "9303:86:62",
                            "statements": [
                                {
                                    "expression": {
                                        "arguments": [
                                            {
                                                "arguments": [
                                                    {
                                                        "hexValue": "6c6f672875696e742c616464726573732c75696e7429",
                                                        "id": 14003,
                                                        "isConstant": false,
                                                        "isLValue": false,
                                                        "isPure": true,
                                                        "kind": "string",
                                                        "lValueRequested": false,
                                                        "nodeType": "Literal",
                                                        "src": "9347:24:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_stringliteral_884343aaf095a99f79852cd574543144a9a04148c5eb5687826e5e86a2554617",
                                                            "typeString": "literal_string \"log(uint,address,uint)\""
                                                        },
                                                        "value": "log(uint,address,uint)"
                                                    },
                                                    {
                                                        "id": 14004,
                                                        "name": "p0",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 13993,
                                                        "src": "9373:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_uint256",
                                                            "typeString": "uint256"
                                                        }
                                                    },
                                                    {
                                                        "id": 14005,
                                                        "name": "p1",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 13995,
                                                        "src": "9377:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_address",
                                                            "typeString": "address"
                                                        }
                                                    },
                                                    {
                                                        "id": 14006,
                                                        "name": "p2",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 13997,
                                                        "src": "9381:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_uint256",
                                                            "typeString": "uint256"
                                                        }
                                                    }
                                                ],
                                                "expression": {
                                                    "argumentTypes": [
                                                        {
                                                            "typeIdentifier": "t_stringliteral_884343aaf095a99f79852cd574543144a9a04148c5eb5687826e5e86a2554617",
                                                            "typeString": "literal_string \"log(uint,address,uint)\""
                                                        },
                                                        {
                                                            "typeIdentifier": "t_uint256",
                                                            "typeString": "uint256"
                                                        },
                                                        {
                                                            "typeIdentifier": "t_address",
                                                            "typeString": "address"
                                                        },
                                                        {
                                                            "typeIdentifier": "t_uint256",
                                                            "typeString": "uint256"
                                                        }
                                                    ],
                                                    "expression": {
                                                        "id": 14001,
                                                        "name": "abi",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 4294967295,
                                                        "src": "9323:3:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_magic_abi",
                                                            "typeString": "abi"
                                                        }
                                                    },
                                                    "id": 14002,
                                                    "isConstant": false,
                                                    "isLValue": false,
                                                    "isPure": true,
                                                    "lValueRequested": false,
                                                    "memberName": "encodeWithSignature",
                                                    "nodeType": "MemberAccess",
                                                    "src": "9323:23:62",
                                                    "typeDescriptions": {
                                                        "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$",
                                                        "typeString": "function (string memory) pure returns (bytes memory)"
                                                    }
                                                },
                                                "id": 14007,
                                                "isConstant": false,
                                                "isLValue": false,
                                                "isPure": false,
                                                "kind": "functionCall",
                                                "lValueRequested": false,
                                                "names": [],
                                                "nodeType": "FunctionCall",
                                                "src": "9323:61:62",
                                                "tryCall": false,
                                                "typeDescriptions": {
                                                    "typeIdentifier": "t_bytes_memory_ptr",
                                                    "typeString": "bytes memory"
                                                }
                                            }
                                        ],
                                        "expression": {
                                            "argumentTypes": [
                                                {
                                                    "typeIdentifier": "t_bytes_memory_ptr",
                                                    "typeString": "bytes memory"
                                                }
                                            ],
                                            "id": 14000,
                                            "name": "_sendLogPayload",
                                            "nodeType": "Identifier",
                                            "overloadedDeclarations": [],
                                            "referencedDeclaration": 12880,
                                            "src": "9307:15:62",
                                            "typeDescriptions": {
                                                "typeIdentifier": "t_function_internal_view$_t_bytes_memory_ptr_$returns$__$",
                                                "typeString": "function (bytes memory) view"
                                            }
                                        },
                                        "id": 14008,
                                        "isConstant": false,
                                        "isLValue": false,
                                        "isPure": false,
                                        "kind": "functionCall",
                                        "lValueRequested": false,
                                        "names": [],
                                        "nodeType": "FunctionCall",
                                        "src": "9307:78:62",
                                        "tryCall": false,
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_tuple$__$",
                                            "typeString": "tuple()"
                                        }
                                    },
                                    "id": 14009,
                                    "nodeType": "ExpressionStatement",
                                    "src": "9307:78:62"
                                }
                            ]
                        },
                        "id": 14011,
                        "implemented": true,
                        "kind": "function",
                        "modifiers": [],
                        "name": "log",
                        "nameLocation": "9255:3:62",
                        "nodeType": "FunctionDefinition",
                        "parameters": {
                            "id": 13998,
                            "nodeType": "ParameterList",
                            "parameters": [
                                {
                                    "constant": false,
                                    "id": 13993,
                                    "mutability": "mutable",
                                    "name": "p0",
                                    "nameLocation": "9264:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 14011,
                                    "src": "9259:7:62",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_uint256",
                                        "typeString": "uint256"
                                    },
                                    "typeName": {
                                        "id": 13992,
                                        "name": "uint",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "9259:4:62",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_uint256",
                                            "typeString": "uint256"
                                        }
                                    },
                                    "visibility": "internal"
                                },
                                {
                                    "constant": false,
                                    "id": 13995,
                                    "mutability": "mutable",
                                    "name": "p1",
                                    "nameLocation": "9276:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 14011,
                                    "src": "9268:10:62",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_address",
                                        "typeString": "address"
                                    },
                                    "typeName": {
                                        "id": 13994,
                                        "name": "address",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "9268:7:62",
                                        "stateMutability": "nonpayable",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_address",
                                            "typeString": "address"
                                        }
                                    },
                                    "visibility": "internal"
                                },
                                {
                                    "constant": false,
                                    "id": 13997,
                                    "mutability": "mutable",
                                    "name": "p2",
                                    "nameLocation": "9285:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 14011,
                                    "src": "9280:7:62",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_uint256",
                                        "typeString": "uint256"
                                    },
                                    "typeName": {
                                        "id": 13996,
                                        "name": "uint",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "9280:4:62",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_uint256",
                                            "typeString": "uint256"
                                        }
                                    },
                                    "visibility": "internal"
                                }
                            ],
                            "src": "9258:30:62"
                        },
                        "returnParameters": {
                            "id": 13999,
                            "nodeType": "ParameterList",
                            "parameters": [],
                            "src": "9303:0:62"
                        },
                        "scope": 20920,
                        "src": "9246:143:62",
                        "stateMutability": "view",
                        "virtual": false,
                        "visibility": "internal"
                    },
                    {
                        "body": {
                            "id": 14030,
                            "nodeType": "Block",
                            "src": "9458:88:62",
                            "statements": [
                                {
                                    "expression": {
                                        "arguments": [
                                            {
                                                "arguments": [
                                                    {
                                                        "hexValue": "6c6f672875696e742c616464726573732c737472696e6729",
                                                        "id": 14023,
                                                        "isConstant": false,
                                                        "isLValue": false,
                                                        "isPure": true,
                                                        "kind": "string",
                                                        "lValueRequested": false,
                                                        "nodeType": "Literal",
                                                        "src": "9502:26:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_stringliteral_ce83047b6eeeca52b57db5064e316bb4dc615477077814d1a191d68a4818cbed",
                                                            "typeString": "literal_string \"log(uint,address,string)\""
                                                        },
                                                        "value": "log(uint,address,string)"
                                                    },
                                                    {
                                                        "id": 14024,
                                                        "name": "p0",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 14013,
                                                        "src": "9530:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_uint256",
                                                            "typeString": "uint256"
                                                        }
                                                    },
                                                    {
                                                        "id": 14025,
                                                        "name": "p1",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 14015,
                                                        "src": "9534:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_address",
                                                            "typeString": "address"
                                                        }
                                                    },
                                                    {
                                                        "id": 14026,
                                                        "name": "p2",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 14017,
                                                        "src": "9538:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_string_memory_ptr",
                                                            "typeString": "string memory"
                                                        }
                                                    }
                                                ],
                                                "expression": {
                                                    "argumentTypes": [
                                                        {
                                                            "typeIdentifier": "t_stringliteral_ce83047b6eeeca52b57db5064e316bb4dc615477077814d1a191d68a4818cbed",
                                                            "typeString": "literal_string \"log(uint,address,string)\""
                                                        },
                                                        {
                                                            "typeIdentifier": "t_uint256",
                                                            "typeString": "uint256"
                                                        },
                                                        {
                                                            "typeIdentifier": "t_address",
                                                            "typeString": "address"
                                                        },
                                                        {
                                                            "typeIdentifier": "t_string_memory_ptr",
                                                            "typeString": "string memory"
                                                        }
                                                    ],
                                                    "expression": {
                                                        "id": 14021,
                                                        "name": "abi",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 4294967295,
                                                        "src": "9478:3:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_magic_abi",
                                                            "typeString": "abi"
                                                        }
                                                    },
                                                    "id": 14022,
                                                    "isConstant": false,
                                                    "isLValue": false,
                                                    "isPure": true,
                                                    "lValueRequested": false,
                                                    "memberName": "encodeWithSignature",
                                                    "nodeType": "MemberAccess",
                                                    "src": "9478:23:62",
                                                    "typeDescriptions": {
                                                        "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$",
                                                        "typeString": "function (string memory) pure returns (bytes memory)"
                                                    }
                                                },
                                                "id": 14027,
                                                "isConstant": false,
                                                "isLValue": false,
                                                "isPure": false,
                                                "kind": "functionCall",
                                                "lValueRequested": false,
                                                "names": [],
                                                "nodeType": "FunctionCall",
                                                "src": "9478:63:62",
                                                "tryCall": false,
                                                "typeDescriptions": {
                                                    "typeIdentifier": "t_bytes_memory_ptr",
                                                    "typeString": "bytes memory"
                                                }
                                            }
                                        ],
                                        "expression": {
                                            "argumentTypes": [
                                                {
                                                    "typeIdentifier": "t_bytes_memory_ptr",
                                                    "typeString": "bytes memory"
                                                }
                                            ],
                                            "id": 14020,
                                            "name": "_sendLogPayload",
                                            "nodeType": "Identifier",
                                            "overloadedDeclarations": [],
                                            "referencedDeclaration": 12880,
                                            "src": "9462:15:62",
                                            "typeDescriptions": {
                                                "typeIdentifier": "t_function_internal_view$_t_bytes_memory_ptr_$returns$__$",
                                                "typeString": "function (bytes memory) view"
                                            }
                                        },
                                        "id": 14028,
                                        "isConstant": false,
                                        "isLValue": false,
                                        "isPure": false,
                                        "kind": "functionCall",
                                        "lValueRequested": false,
                                        "names": [],
                                        "nodeType": "FunctionCall",
                                        "src": "9462:80:62",
                                        "tryCall": false,
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_tuple$__$",
                                            "typeString": "tuple()"
                                        }
                                    },
                                    "id": 14029,
                                    "nodeType": "ExpressionStatement",
                                    "src": "9462:80:62"
                                }
                            ]
                        },
                        "id": 14031,
                        "implemented": true,
                        "kind": "function",
                        "modifiers": [],
                        "name": "log",
                        "nameLocation": "9401:3:62",
                        "nodeType": "FunctionDefinition",
                        "parameters": {
                            "id": 14018,
                            "nodeType": "ParameterList",
                            "parameters": [
                                {
                                    "constant": false,
                                    "id": 14013,
                                    "mutability": "mutable",
                                    "name": "p0",
                                    "nameLocation": "9410:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 14031,
                                    "src": "9405:7:62",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_uint256",
                                        "typeString": "uint256"
                                    },
                                    "typeName": {
                                        "id": 14012,
                                        "name": "uint",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "9405:4:62",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_uint256",
                                            "typeString": "uint256"
                                        }
                                    },
                                    "visibility": "internal"
                                },
                                {
                                    "constant": false,
                                    "id": 14015,
                                    "mutability": "mutable",
                                    "name": "p1",
                                    "nameLocation": "9422:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 14031,
                                    "src": "9414:10:62",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_address",
                                        "typeString": "address"
                                    },
                                    "typeName": {
                                        "id": 14014,
                                        "name": "address",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "9414:7:62",
                                        "stateMutability": "nonpayable",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_address",
                                            "typeString": "address"
                                        }
                                    },
                                    "visibility": "internal"
                                },
                                {
                                    "constant": false,
                                    "id": 14017,
                                    "mutability": "mutable",
                                    "name": "p2",
                                    "nameLocation": "9440:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 14031,
                                    "src": "9426:16:62",
                                    "stateVariable": false,
                                    "storageLocation": "memory",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_string_memory_ptr",
                                        "typeString": "string"
                                    },
                                    "typeName": {
                                        "id": 14016,
                                        "name": "string",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "9426:6:62",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_string_storage_ptr",
                                            "typeString": "string"
                                        }
                                    },
                                    "visibility": "internal"
                                }
                            ],
                            "src": "9404:39:62"
                        },
                        "returnParameters": {
                            "id": 14019,
                            "nodeType": "ParameterList",
                            "parameters": [],
                            "src": "9458:0:62"
                        },
                        "scope": 20920,
                        "src": "9392:154:62",
                        "stateMutability": "view",
                        "virtual": false,
                        "visibility": "internal"
                    },
                    {
                        "body": {
                            "id": 14050,
                            "nodeType": "Block",
                            "src": "9606:86:62",
                            "statements": [
                                {
                                    "expression": {
                                        "arguments": [
                                            {
                                                "arguments": [
                                                    {
                                                        "hexValue": "6c6f672875696e742c616464726573732c626f6f6c29",
                                                        "id": 14043,
                                                        "isConstant": false,
                                                        "isLValue": false,
                                                        "isPure": true,
                                                        "kind": "string",
                                                        "lValueRequested": false,
                                                        "nodeType": "Literal",
                                                        "src": "9650:24:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_stringliteral_7ad0128e41690364edd967a051c6d9cea9f7c322246c5ed2ebc0083265828a80",
                                                            "typeString": "literal_string \"log(uint,address,bool)\""
                                                        },
                                                        "value": "log(uint,address,bool)"
                                                    },
                                                    {
                                                        "id": 14044,
                                                        "name": "p0",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 14033,
                                                        "src": "9676:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_uint256",
                                                            "typeString": "uint256"
                                                        }
                                                    },
                                                    {
                                                        "id": 14045,
                                                        "name": "p1",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 14035,
                                                        "src": "9680:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_address",
                                                            "typeString": "address"
                                                        }
                                                    },
                                                    {
                                                        "id": 14046,
                                                        "name": "p2",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 14037,
                                                        "src": "9684:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_bool",
                                                            "typeString": "bool"
                                                        }
                                                    }
                                                ],
                                                "expression": {
                                                    "argumentTypes": [
                                                        {
                                                            "typeIdentifier": "t_stringliteral_7ad0128e41690364edd967a051c6d9cea9f7c322246c5ed2ebc0083265828a80",
                                                            "typeString": "literal_string \"log(uint,address,bool)\""
                                                        },
                                                        {
                                                            "typeIdentifier": "t_uint256",
                                                            "typeString": "uint256"
                                                        },
                                                        {
                                                            "typeIdentifier": "t_address",
                                                            "typeString": "address"
                                                        },
                                                        {
                                                            "typeIdentifier": "t_bool",
                                                            "typeString": "bool"
                                                        }
                                                    ],
                                                    "expression": {
                                                        "id": 14041,
                                                        "name": "abi",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 4294967295,
                                                        "src": "9626:3:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_magic_abi",
                                                            "typeString": "abi"
                                                        }
                                                    },
                                                    "id": 14042,
                                                    "isConstant": false,
                                                    "isLValue": false,
                                                    "isPure": true,
                                                    "lValueRequested": false,
                                                    "memberName": "encodeWithSignature",
                                                    "nodeType": "MemberAccess",
                                                    "src": "9626:23:62",
                                                    "typeDescriptions": {
                                                        "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$",
                                                        "typeString": "function (string memory) pure returns (bytes memory)"
                                                    }
                                                },
                                                "id": 14047,
                                                "isConstant": false,
                                                "isLValue": false,
                                                "isPure": false,
                                                "kind": "functionCall",
                                                "lValueRequested": false,
                                                "names": [],
                                                "nodeType": "FunctionCall",
                                                "src": "9626:61:62",
                                                "tryCall": false,
                                                "typeDescriptions": {
                                                    "typeIdentifier": "t_bytes_memory_ptr",
                                                    "typeString": "bytes memory"
                                                }
                                            }
                                        ],
                                        "expression": {
                                            "argumentTypes": [
                                                {
                                                    "typeIdentifier": "t_bytes_memory_ptr",
                                                    "typeString": "bytes memory"
                                                }
                                            ],
                                            "id": 14040,
                                            "name": "_sendLogPayload",
                                            "nodeType": "Identifier",
                                            "overloadedDeclarations": [],
                                            "referencedDeclaration": 12880,
                                            "src": "9610:15:62",
                                            "typeDescriptions": {
                                                "typeIdentifier": "t_function_internal_view$_t_bytes_memory_ptr_$returns$__$",
                                                "typeString": "function (bytes memory) view"
                                            }
                                        },
                                        "id": 14048,
                                        "isConstant": false,
                                        "isLValue": false,
                                        "isPure": false,
                                        "kind": "functionCall",
                                        "lValueRequested": false,
                                        "names": [],
                                        "nodeType": "FunctionCall",
                                        "src": "9610:78:62",
                                        "tryCall": false,
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_tuple$__$",
                                            "typeString": "tuple()"
                                        }
                                    },
                                    "id": 14049,
                                    "nodeType": "ExpressionStatement",
                                    "src": "9610:78:62"
                                }
                            ]
                        },
                        "id": 14051,
                        "implemented": true,
                        "kind": "function",
                        "modifiers": [],
                        "name": "log",
                        "nameLocation": "9558:3:62",
                        "nodeType": "FunctionDefinition",
                        "parameters": {
                            "id": 14038,
                            "nodeType": "ParameterList",
                            "parameters": [
                                {
                                    "constant": false,
                                    "id": 14033,
                                    "mutability": "mutable",
                                    "name": "p0",
                                    "nameLocation": "9567:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 14051,
                                    "src": "9562:7:62",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_uint256",
                                        "typeString": "uint256"
                                    },
                                    "typeName": {
                                        "id": 14032,
                                        "name": "uint",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "9562:4:62",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_uint256",
                                            "typeString": "uint256"
                                        }
                                    },
                                    "visibility": "internal"
                                },
                                {
                                    "constant": false,
                                    "id": 14035,
                                    "mutability": "mutable",
                                    "name": "p1",
                                    "nameLocation": "9579:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 14051,
                                    "src": "9571:10:62",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_address",
                                        "typeString": "address"
                                    },
                                    "typeName": {
                                        "id": 14034,
                                        "name": "address",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "9571:7:62",
                                        "stateMutability": "nonpayable",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_address",
                                            "typeString": "address"
                                        }
                                    },
                                    "visibility": "internal"
                                },
                                {
                                    "constant": false,
                                    "id": 14037,
                                    "mutability": "mutable",
                                    "name": "p2",
                                    "nameLocation": "9588:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 14051,
                                    "src": "9583:7:62",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_bool",
                                        "typeString": "bool"
                                    },
                                    "typeName": {
                                        "id": 14036,
                                        "name": "bool",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "9583:4:62",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_bool",
                                            "typeString": "bool"
                                        }
                                    },
                                    "visibility": "internal"
                                }
                            ],
                            "src": "9561:30:62"
                        },
                        "returnParameters": {
                            "id": 14039,
                            "nodeType": "ParameterList",
                            "parameters": [],
                            "src": "9606:0:62"
                        },
                        "scope": 20920,
                        "src": "9549:143:62",
                        "stateMutability": "view",
                        "virtual": false,
                        "visibility": "internal"
                    },
                    {
                        "body": {
                            "id": 14070,
                            "nodeType": "Block",
                            "src": "9755:89:62",
                            "statements": [
                                {
                                    "expression": {
                                        "arguments": [
                                            {
                                                "arguments": [
                                                    {
                                                        "hexValue": "6c6f672875696e742c616464726573732c6164647265737329",
                                                        "id": 14063,
                                                        "isConstant": false,
                                                        "isLValue": false,
                                                        "isPure": true,
                                                        "kind": "string",
                                                        "lValueRequested": false,
                                                        "nodeType": "Literal",
                                                        "src": "9799:27:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_stringliteral_7d77a61be18c592527fe1ce89d591c1badea18ef3198dacc513c5ba08449fd7b",
                                                            "typeString": "literal_string \"log(uint,address,address)\""
                                                        },
                                                        "value": "log(uint,address,address)"
                                                    },
                                                    {
                                                        "id": 14064,
                                                        "name": "p0",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 14053,
                                                        "src": "9828:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_uint256",
                                                            "typeString": "uint256"
                                                        }
                                                    },
                                                    {
                                                        "id": 14065,
                                                        "name": "p1",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 14055,
                                                        "src": "9832:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_address",
                                                            "typeString": "address"
                                                        }
                                                    },
                                                    {
                                                        "id": 14066,
                                                        "name": "p2",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 14057,
                                                        "src": "9836:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_address",
                                                            "typeString": "address"
                                                        }
                                                    }
                                                ],
                                                "expression": {
                                                    "argumentTypes": [
                                                        {
                                                            "typeIdentifier": "t_stringliteral_7d77a61be18c592527fe1ce89d591c1badea18ef3198dacc513c5ba08449fd7b",
                                                            "typeString": "literal_string \"log(uint,address,address)\""
                                                        },
                                                        {
                                                            "typeIdentifier": "t_uint256",
                                                            "typeString": "uint256"
                                                        },
                                                        {
                                                            "typeIdentifier": "t_address",
                                                            "typeString": "address"
                                                        },
                                                        {
                                                            "typeIdentifier": "t_address",
                                                            "typeString": "address"
                                                        }
                                                    ],
                                                    "expression": {
                                                        "id": 14061,
                                                        "name": "abi",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 4294967295,
                                                        "src": "9775:3:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_magic_abi",
                                                            "typeString": "abi"
                                                        }
                                                    },
                                                    "id": 14062,
                                                    "isConstant": false,
                                                    "isLValue": false,
                                                    "isPure": true,
                                                    "lValueRequested": false,
                                                    "memberName": "encodeWithSignature",
                                                    "nodeType": "MemberAccess",
                                                    "src": "9775:23:62",
                                                    "typeDescriptions": {
                                                        "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$",
                                                        "typeString": "function (string memory) pure returns (bytes memory)"
                                                    }
                                                },
                                                "id": 14067,
                                                "isConstant": false,
                                                "isLValue": false,
                                                "isPure": false,
                                                "kind": "functionCall",
                                                "lValueRequested": false,
                                                "names": [],
                                                "nodeType": "FunctionCall",
                                                "src": "9775:64:62",
                                                "tryCall": false,
                                                "typeDescriptions": {
                                                    "typeIdentifier": "t_bytes_memory_ptr",
                                                    "typeString": "bytes memory"
                                                }
                                            }
                                        ],
                                        "expression": {
                                            "argumentTypes": [
                                                {
                                                    "typeIdentifier": "t_bytes_memory_ptr",
                                                    "typeString": "bytes memory"
                                                }
                                            ],
                                            "id": 14060,
                                            "name": "_sendLogPayload",
                                            "nodeType": "Identifier",
                                            "overloadedDeclarations": [],
                                            "referencedDeclaration": 12880,
                                            "src": "9759:15:62",
                                            "typeDescriptions": {
                                                "typeIdentifier": "t_function_internal_view$_t_bytes_memory_ptr_$returns$__$",
                                                "typeString": "function (bytes memory) view"
                                            }
                                        },
                                        "id": 14068,
                                        "isConstant": false,
                                        "isLValue": false,
                                        "isPure": false,
                                        "kind": "functionCall",
                                        "lValueRequested": false,
                                        "names": [],
                                        "nodeType": "FunctionCall",
                                        "src": "9759:81:62",
                                        "tryCall": false,
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_tuple$__$",
                                            "typeString": "tuple()"
                                        }
                                    },
                                    "id": 14069,
                                    "nodeType": "ExpressionStatement",
                                    "src": "9759:81:62"
                                }
                            ]
                        },
                        "id": 14071,
                        "implemented": true,
                        "kind": "function",
                        "modifiers": [],
                        "name": "log",
                        "nameLocation": "9704:3:62",
                        "nodeType": "FunctionDefinition",
                        "parameters": {
                            "id": 14058,
                            "nodeType": "ParameterList",
                            "parameters": [
                                {
                                    "constant": false,
                                    "id": 14053,
                                    "mutability": "mutable",
                                    "name": "p0",
                                    "nameLocation": "9713:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 14071,
                                    "src": "9708:7:62",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_uint256",
                                        "typeString": "uint256"
                                    },
                                    "typeName": {
                                        "id": 14052,
                                        "name": "uint",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "9708:4:62",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_uint256",
                                            "typeString": "uint256"
                                        }
                                    },
                                    "visibility": "internal"
                                },
                                {
                                    "constant": false,
                                    "id": 14055,
                                    "mutability": "mutable",
                                    "name": "p1",
                                    "nameLocation": "9725:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 14071,
                                    "src": "9717:10:62",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_address",
                                        "typeString": "address"
                                    },
                                    "typeName": {
                                        "id": 14054,
                                        "name": "address",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "9717:7:62",
                                        "stateMutability": "nonpayable",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_address",
                                            "typeString": "address"
                                        }
                                    },
                                    "visibility": "internal"
                                },
                                {
                                    "constant": false,
                                    "id": 14057,
                                    "mutability": "mutable",
                                    "name": "p2",
                                    "nameLocation": "9737:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 14071,
                                    "src": "9729:10:62",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_address",
                                        "typeString": "address"
                                    },
                                    "typeName": {
                                        "id": 14056,
                                        "name": "address",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "9729:7:62",
                                        "stateMutability": "nonpayable",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_address",
                                            "typeString": "address"
                                        }
                                    },
                                    "visibility": "internal"
                                }
                            ],
                            "src": "9707:33:62"
                        },
                        "returnParameters": {
                            "id": 14059,
                            "nodeType": "ParameterList",
                            "parameters": [],
                            "src": "9755:0:62"
                        },
                        "scope": 20920,
                        "src": "9695:149:62",
                        "stateMutability": "view",
                        "virtual": false,
                        "visibility": "internal"
                    },
                    {
                        "body": {
                            "id": 14090,
                            "nodeType": "Block",
                            "src": "9910:85:62",
                            "statements": [
                                {
                                    "expression": {
                                        "arguments": [
                                            {
                                                "arguments": [
                                                    {
                                                        "hexValue": "6c6f6728737472696e672c75696e742c75696e7429",
                                                        "id": 14083,
                                                        "isConstant": false,
                                                        "isLValue": false,
                                                        "isPure": true,
                                                        "kind": "string",
                                                        "lValueRequested": false,
                                                        "nodeType": "Literal",
                                                        "src": "9954:23:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_stringliteral_969cdd03749f5aa30c7fce9178272cdca616cb2cc28128d3b9824be8046f827e",
                                                            "typeString": "literal_string \"log(string,uint,uint)\""
                                                        },
                                                        "value": "log(string,uint,uint)"
                                                    },
                                                    {
                                                        "id": 14084,
                                                        "name": "p0",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 14073,
                                                        "src": "9979:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_string_memory_ptr",
                                                            "typeString": "string memory"
                                                        }
                                                    },
                                                    {
                                                        "id": 14085,
                                                        "name": "p1",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 14075,
                                                        "src": "9983:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_uint256",
                                                            "typeString": "uint256"
                                                        }
                                                    },
                                                    {
                                                        "id": 14086,
                                                        "name": "p2",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 14077,
                                                        "src": "9987:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_uint256",
                                                            "typeString": "uint256"
                                                        }
                                                    }
                                                ],
                                                "expression": {
                                                    "argumentTypes": [
                                                        {
                                                            "typeIdentifier": "t_stringliteral_969cdd03749f5aa30c7fce9178272cdca616cb2cc28128d3b9824be8046f827e",
                                                            "typeString": "literal_string \"log(string,uint,uint)\""
                                                        },
                                                        {
                                                            "typeIdentifier": "t_string_memory_ptr",
                                                            "typeString": "string memory"
                                                        },
                                                        {
                                                            "typeIdentifier": "t_uint256",
                                                            "typeString": "uint256"
                                                        },
                                                        {
                                                            "typeIdentifier": "t_uint256",
                                                            "typeString": "uint256"
                                                        }
                                                    ],
                                                    "expression": {
                                                        "id": 14081,
                                                        "name": "abi",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 4294967295,
                                                        "src": "9930:3:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_magic_abi",
                                                            "typeString": "abi"
                                                        }
                                                    },
                                                    "id": 14082,
                                                    "isConstant": false,
                                                    "isLValue": false,
                                                    "isPure": true,
                                                    "lValueRequested": false,
                                                    "memberName": "encodeWithSignature",
                                                    "nodeType": "MemberAccess",
                                                    "src": "9930:23:62",
                                                    "typeDescriptions": {
                                                        "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$",
                                                        "typeString": "function (string memory) pure returns (bytes memory)"
                                                    }
                                                },
                                                "id": 14087,
                                                "isConstant": false,
                                                "isLValue": false,
                                                "isPure": false,
                                                "kind": "functionCall",
                                                "lValueRequested": false,
                                                "names": [],
                                                "nodeType": "FunctionCall",
                                                "src": "9930:60:62",
                                                "tryCall": false,
                                                "typeDescriptions": {
                                                    "typeIdentifier": "t_bytes_memory_ptr",
                                                    "typeString": "bytes memory"
                                                }
                                            }
                                        ],
                                        "expression": {
                                            "argumentTypes": [
                                                {
                                                    "typeIdentifier": "t_bytes_memory_ptr",
                                                    "typeString": "bytes memory"
                                                }
                                            ],
                                            "id": 14080,
                                            "name": "_sendLogPayload",
                                            "nodeType": "Identifier",
                                            "overloadedDeclarations": [],
                                            "referencedDeclaration": 12880,
                                            "src": "9914:15:62",
                                            "typeDescriptions": {
                                                "typeIdentifier": "t_function_internal_view$_t_bytes_memory_ptr_$returns$__$",
                                                "typeString": "function (bytes memory) view"
                                            }
                                        },
                                        "id": 14088,
                                        "isConstant": false,
                                        "isLValue": false,
                                        "isPure": false,
                                        "kind": "functionCall",
                                        "lValueRequested": false,
                                        "names": [],
                                        "nodeType": "FunctionCall",
                                        "src": "9914:77:62",
                                        "tryCall": false,
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_tuple$__$",
                                            "typeString": "tuple()"
                                        }
                                    },
                                    "id": 14089,
                                    "nodeType": "ExpressionStatement",
                                    "src": "9914:77:62"
                                }
                            ]
                        },
                        "id": 14091,
                        "implemented": true,
                        "kind": "function",
                        "modifiers": [],
                        "name": "log",
                        "nameLocation": "9856:3:62",
                        "nodeType": "FunctionDefinition",
                        "parameters": {
                            "id": 14078,
                            "nodeType": "ParameterList",
                            "parameters": [
                                {
                                    "constant": false,
                                    "id": 14073,
                                    "mutability": "mutable",
                                    "name": "p0",
                                    "nameLocation": "9874:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 14091,
                                    "src": "9860:16:62",
                                    "stateVariable": false,
                                    "storageLocation": "memory",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_string_memory_ptr",
                                        "typeString": "string"
                                    },
                                    "typeName": {
                                        "id": 14072,
                                        "name": "string",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "9860:6:62",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_string_storage_ptr",
                                            "typeString": "string"
                                        }
                                    },
                                    "visibility": "internal"
                                },
                                {
                                    "constant": false,
                                    "id": 14075,
                                    "mutability": "mutable",
                                    "name": "p1",
                                    "nameLocation": "9883:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 14091,
                                    "src": "9878:7:62",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_uint256",
                                        "typeString": "uint256"
                                    },
                                    "typeName": {
                                        "id": 14074,
                                        "name": "uint",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "9878:4:62",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_uint256",
                                            "typeString": "uint256"
                                        }
                                    },
                                    "visibility": "internal"
                                },
                                {
                                    "constant": false,
                                    "id": 14077,
                                    "mutability": "mutable",
                                    "name": "p2",
                                    "nameLocation": "9892:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 14091,
                                    "src": "9887:7:62",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_uint256",
                                        "typeString": "uint256"
                                    },
                                    "typeName": {
                                        "id": 14076,
                                        "name": "uint",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "9887:4:62",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_uint256",
                                            "typeString": "uint256"
                                        }
                                    },
                                    "visibility": "internal"
                                }
                            ],
                            "src": "9859:36:62"
                        },
                        "returnParameters": {
                            "id": 14079,
                            "nodeType": "ParameterList",
                            "parameters": [],
                            "src": "9910:0:62"
                        },
                        "scope": 20920,
                        "src": "9847:148:62",
                        "stateMutability": "view",
                        "virtual": false,
                        "visibility": "internal"
                    },
                    {
                        "body": {
                            "id": 14110,
                            "nodeType": "Block",
                            "src": "10070:87:62",
                            "statements": [
                                {
                                    "expression": {
                                        "arguments": [
                                            {
                                                "arguments": [
                                                    {
                                                        "hexValue": "6c6f6728737472696e672c75696e742c737472696e6729",
                                                        "id": 14103,
                                                        "isConstant": false,
                                                        "isLValue": false,
                                                        "isPure": true,
                                                        "kind": "string",
                                                        "lValueRequested": false,
                                                        "nodeType": "Literal",
                                                        "src": "10114:25:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_stringliteral_a3f5c739d439f7a3912e960230088fb752539d00203d48771c643a12b26892ec",
                                                            "typeString": "literal_string \"log(string,uint,string)\""
                                                        },
                                                        "value": "log(string,uint,string)"
                                                    },
                                                    {
                                                        "id": 14104,
                                                        "name": "p0",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 14093,
                                                        "src": "10141:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_string_memory_ptr",
                                                            "typeString": "string memory"
                                                        }
                                                    },
                                                    {
                                                        "id": 14105,
                                                        "name": "p1",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 14095,
                                                        "src": "10145:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_uint256",
                                                            "typeString": "uint256"
                                                        }
                                                    },
                                                    {
                                                        "id": 14106,
                                                        "name": "p2",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 14097,
                                                        "src": "10149:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_string_memory_ptr",
                                                            "typeString": "string memory"
                                                        }
                                                    }
                                                ],
                                                "expression": {
                                                    "argumentTypes": [
                                                        {
                                                            "typeIdentifier": "t_stringliteral_a3f5c739d439f7a3912e960230088fb752539d00203d48771c643a12b26892ec",
                                                            "typeString": "literal_string \"log(string,uint,string)\""
                                                        },
                                                        {
                                                            "typeIdentifier": "t_string_memory_ptr",
                                                            "typeString": "string memory"
                                                        },
                                                        {
                                                            "typeIdentifier": "t_uint256",
                                                            "typeString": "uint256"
                                                        },
                                                        {
                                                            "typeIdentifier": "t_string_memory_ptr",
                                                            "typeString": "string memory"
                                                        }
                                                    ],
                                                    "expression": {
                                                        "id": 14101,
                                                        "name": "abi",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 4294967295,
                                                        "src": "10090:3:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_magic_abi",
                                                            "typeString": "abi"
                                                        }
                                                    },
                                                    "id": 14102,
                                                    "isConstant": false,
                                                    "isLValue": false,
                                                    "isPure": true,
                                                    "lValueRequested": false,
                                                    "memberName": "encodeWithSignature",
                                                    "nodeType": "MemberAccess",
                                                    "src": "10090:23:62",
                                                    "typeDescriptions": {
                                                        "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$",
                                                        "typeString": "function (string memory) pure returns (bytes memory)"
                                                    }
                                                },
                                                "id": 14107,
                                                "isConstant": false,
                                                "isLValue": false,
                                                "isPure": false,
                                                "kind": "functionCall",
                                                "lValueRequested": false,
                                                "names": [],
                                                "nodeType": "FunctionCall",
                                                "src": "10090:62:62",
                                                "tryCall": false,
                                                "typeDescriptions": {
                                                    "typeIdentifier": "t_bytes_memory_ptr",
                                                    "typeString": "bytes memory"
                                                }
                                            }
                                        ],
                                        "expression": {
                                            "argumentTypes": [
                                                {
                                                    "typeIdentifier": "t_bytes_memory_ptr",
                                                    "typeString": "bytes memory"
                                                }
                                            ],
                                            "id": 14100,
                                            "name": "_sendLogPayload",
                                            "nodeType": "Identifier",
                                            "overloadedDeclarations": [],
                                            "referencedDeclaration": 12880,
                                            "src": "10074:15:62",
                                            "typeDescriptions": {
                                                "typeIdentifier": "t_function_internal_view$_t_bytes_memory_ptr_$returns$__$",
                                                "typeString": "function (bytes memory) view"
                                            }
                                        },
                                        "id": 14108,
                                        "isConstant": false,
                                        "isLValue": false,
                                        "isPure": false,
                                        "kind": "functionCall",
                                        "lValueRequested": false,
                                        "names": [],
                                        "nodeType": "FunctionCall",
                                        "src": "10074:79:62",
                                        "tryCall": false,
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_tuple$__$",
                                            "typeString": "tuple()"
                                        }
                                    },
                                    "id": 14109,
                                    "nodeType": "ExpressionStatement",
                                    "src": "10074:79:62"
                                }
                            ]
                        },
                        "id": 14111,
                        "implemented": true,
                        "kind": "function",
                        "modifiers": [],
                        "name": "log",
                        "nameLocation": "10007:3:62",
                        "nodeType": "FunctionDefinition",
                        "parameters": {
                            "id": 14098,
                            "nodeType": "ParameterList",
                            "parameters": [
                                {
                                    "constant": false,
                                    "id": 14093,
                                    "mutability": "mutable",
                                    "name": "p0",
                                    "nameLocation": "10025:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 14111,
                                    "src": "10011:16:62",
                                    "stateVariable": false,
                                    "storageLocation": "memory",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_string_memory_ptr",
                                        "typeString": "string"
                                    },
                                    "typeName": {
                                        "id": 14092,
                                        "name": "string",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "10011:6:62",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_string_storage_ptr",
                                            "typeString": "string"
                                        }
                                    },
                                    "visibility": "internal"
                                },
                                {
                                    "constant": false,
                                    "id": 14095,
                                    "mutability": "mutable",
                                    "name": "p1",
                                    "nameLocation": "10034:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 14111,
                                    "src": "10029:7:62",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_uint256",
                                        "typeString": "uint256"
                                    },
                                    "typeName": {
                                        "id": 14094,
                                        "name": "uint",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "10029:4:62",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_uint256",
                                            "typeString": "uint256"
                                        }
                                    },
                                    "visibility": "internal"
                                },
                                {
                                    "constant": false,
                                    "id": 14097,
                                    "mutability": "mutable",
                                    "name": "p2",
                                    "nameLocation": "10052:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 14111,
                                    "src": "10038:16:62",
                                    "stateVariable": false,
                                    "storageLocation": "memory",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_string_memory_ptr",
                                        "typeString": "string"
                                    },
                                    "typeName": {
                                        "id": 14096,
                                        "name": "string",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "10038:6:62",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_string_storage_ptr",
                                            "typeString": "string"
                                        }
                                    },
                                    "visibility": "internal"
                                }
                            ],
                            "src": "10010:45:62"
                        },
                        "returnParameters": {
                            "id": 14099,
                            "nodeType": "ParameterList",
                            "parameters": [],
                            "src": "10070:0:62"
                        },
                        "scope": 20920,
                        "src": "9998:159:62",
                        "stateMutability": "view",
                        "virtual": false,
                        "visibility": "internal"
                    },
                    {
                        "body": {
                            "id": 14130,
                            "nodeType": "Block",
                            "src": "10223:85:62",
                            "statements": [
                                {
                                    "expression": {
                                        "arguments": [
                                            {
                                                "arguments": [
                                                    {
                                                        "hexValue": "6c6f6728737472696e672c75696e742c626f6f6c29",
                                                        "id": 14123,
                                                        "isConstant": false,
                                                        "isLValue": false,
                                                        "isPure": true,
                                                        "kind": "string",
                                                        "lValueRequested": false,
                                                        "nodeType": "Literal",
                                                        "src": "10267:23:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_stringliteral_f102ee05f3b79d3bc2ba0350401e35479d9f95705fb40abfaeb49d12355695b3",
                                                            "typeString": "literal_string \"log(string,uint,bool)\""
                                                        },
                                                        "value": "log(string,uint,bool)"
                                                    },
                                                    {
                                                        "id": 14124,
                                                        "name": "p0",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 14113,
                                                        "src": "10292:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_string_memory_ptr",
                                                            "typeString": "string memory"
                                                        }
                                                    },
                                                    {
                                                        "id": 14125,
                                                        "name": "p1",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 14115,
                                                        "src": "10296:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_uint256",
                                                            "typeString": "uint256"
                                                        }
                                                    },
                                                    {
                                                        "id": 14126,
                                                        "name": "p2",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 14117,
                                                        "src": "10300:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_bool",
                                                            "typeString": "bool"
                                                        }
                                                    }
                                                ],
                                                "expression": {
                                                    "argumentTypes": [
                                                        {
                                                            "typeIdentifier": "t_stringliteral_f102ee05f3b79d3bc2ba0350401e35479d9f95705fb40abfaeb49d12355695b3",
                                                            "typeString": "literal_string \"log(string,uint,bool)\""
                                                        },
                                                        {
                                                            "typeIdentifier": "t_string_memory_ptr",
                                                            "typeString": "string memory"
                                                        },
                                                        {
                                                            "typeIdentifier": "t_uint256",
                                                            "typeString": "uint256"
                                                        },
                                                        {
                                                            "typeIdentifier": "t_bool",
                                                            "typeString": "bool"
                                                        }
                                                    ],
                                                    "expression": {
                                                        "id": 14121,
                                                        "name": "abi",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 4294967295,
                                                        "src": "10243:3:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_magic_abi",
                                                            "typeString": "abi"
                                                        }
                                                    },
                                                    "id": 14122,
                                                    "isConstant": false,
                                                    "isLValue": false,
                                                    "isPure": true,
                                                    "lValueRequested": false,
                                                    "memberName": "encodeWithSignature",
                                                    "nodeType": "MemberAccess",
                                                    "src": "10243:23:62",
                                                    "typeDescriptions": {
                                                        "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$",
                                                        "typeString": "function (string memory) pure returns (bytes memory)"
                                                    }
                                                },
                                                "id": 14127,
                                                "isConstant": false,
                                                "isLValue": false,
                                                "isPure": false,
                                                "kind": "functionCall",
                                                "lValueRequested": false,
                                                "names": [],
                                                "nodeType": "FunctionCall",
                                                "src": "10243:60:62",
                                                "tryCall": false,
                                                "typeDescriptions": {
                                                    "typeIdentifier": "t_bytes_memory_ptr",
                                                    "typeString": "bytes memory"
                                                }
                                            }
                                        ],
                                        "expression": {
                                            "argumentTypes": [
                                                {
                                                    "typeIdentifier": "t_bytes_memory_ptr",
                                                    "typeString": "bytes memory"
                                                }
                                            ],
                                            "id": 14120,
                                            "name": "_sendLogPayload",
                                            "nodeType": "Identifier",
                                            "overloadedDeclarations": [],
                                            "referencedDeclaration": 12880,
                                            "src": "10227:15:62",
                                            "typeDescriptions": {
                                                "typeIdentifier": "t_function_internal_view$_t_bytes_memory_ptr_$returns$__$",
                                                "typeString": "function (bytes memory) view"
                                            }
                                        },
                                        "id": 14128,
                                        "isConstant": false,
                                        "isLValue": false,
                                        "isPure": false,
                                        "kind": "functionCall",
                                        "lValueRequested": false,
                                        "names": [],
                                        "nodeType": "FunctionCall",
                                        "src": "10227:77:62",
                                        "tryCall": false,
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_tuple$__$",
                                            "typeString": "tuple()"
                                        }
                                    },
                                    "id": 14129,
                                    "nodeType": "ExpressionStatement",
                                    "src": "10227:77:62"
                                }
                            ]
                        },
                        "id": 14131,
                        "implemented": true,
                        "kind": "function",
                        "modifiers": [],
                        "name": "log",
                        "nameLocation": "10169:3:62",
                        "nodeType": "FunctionDefinition",
                        "parameters": {
                            "id": 14118,
                            "nodeType": "ParameterList",
                            "parameters": [
                                {
                                    "constant": false,
                                    "id": 14113,
                                    "mutability": "mutable",
                                    "name": "p0",
                                    "nameLocation": "10187:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 14131,
                                    "src": "10173:16:62",
                                    "stateVariable": false,
                                    "storageLocation": "memory",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_string_memory_ptr",
                                        "typeString": "string"
                                    },
                                    "typeName": {
                                        "id": 14112,
                                        "name": "string",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "10173:6:62",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_string_storage_ptr",
                                            "typeString": "string"
                                        }
                                    },
                                    "visibility": "internal"
                                },
                                {
                                    "constant": false,
                                    "id": 14115,
                                    "mutability": "mutable",
                                    "name": "p1",
                                    "nameLocation": "10196:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 14131,
                                    "src": "10191:7:62",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_uint256",
                                        "typeString": "uint256"
                                    },
                                    "typeName": {
                                        "id": 14114,
                                        "name": "uint",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "10191:4:62",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_uint256",
                                            "typeString": "uint256"
                                        }
                                    },
                                    "visibility": "internal"
                                },
                                {
                                    "constant": false,
                                    "id": 14117,
                                    "mutability": "mutable",
                                    "name": "p2",
                                    "nameLocation": "10205:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 14131,
                                    "src": "10200:7:62",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_bool",
                                        "typeString": "bool"
                                    },
                                    "typeName": {
                                        "id": 14116,
                                        "name": "bool",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "10200:4:62",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_bool",
                                            "typeString": "bool"
                                        }
                                    },
                                    "visibility": "internal"
                                }
                            ],
                            "src": "10172:36:62"
                        },
                        "returnParameters": {
                            "id": 14119,
                            "nodeType": "ParameterList",
                            "parameters": [],
                            "src": "10223:0:62"
                        },
                        "scope": 20920,
                        "src": "10160:148:62",
                        "stateMutability": "view",
                        "virtual": false,
                        "visibility": "internal"
                    },
                    {
                        "body": {
                            "id": 14150,
                            "nodeType": "Block",
                            "src": "10377:88:62",
                            "statements": [
                                {
                                    "expression": {
                                        "arguments": [
                                            {
                                                "arguments": [
                                                    {
                                                        "hexValue": "6c6f6728737472696e672c75696e742c6164647265737329",
                                                        "id": 14143,
                                                        "isConstant": false,
                                                        "isLValue": false,
                                                        "isPure": true,
                                                        "kind": "string",
                                                        "lValueRequested": false,
                                                        "nodeType": "Literal",
                                                        "src": "10421:26:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_stringliteral_e3849f79a3c07bea1bae0837bfeee5da2531684b262865f1541a60df4fcd512a",
                                                            "typeString": "literal_string \"log(string,uint,address)\""
                                                        },
                                                        "value": "log(string,uint,address)"
                                                    },
                                                    {
                                                        "id": 14144,
                                                        "name": "p0",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 14133,
                                                        "src": "10449:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_string_memory_ptr",
                                                            "typeString": "string memory"
                                                        }
                                                    },
                                                    {
                                                        "id": 14145,
                                                        "name": "p1",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 14135,
                                                        "src": "10453:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_uint256",
                                                            "typeString": "uint256"
                                                        }
                                                    },
                                                    {
                                                        "id": 14146,
                                                        "name": "p2",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 14137,
                                                        "src": "10457:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_address",
                                                            "typeString": "address"
                                                        }
                                                    }
                                                ],
                                                "expression": {
                                                    "argumentTypes": [
                                                        {
                                                            "typeIdentifier": "t_stringliteral_e3849f79a3c07bea1bae0837bfeee5da2531684b262865f1541a60df4fcd512a",
                                                            "typeString": "literal_string \"log(string,uint,address)\""
                                                        },
                                                        {
                                                            "typeIdentifier": "t_string_memory_ptr",
                                                            "typeString": "string memory"
                                                        },
                                                        {
                                                            "typeIdentifier": "t_uint256",
                                                            "typeString": "uint256"
                                                        },
                                                        {
                                                            "typeIdentifier": "t_address",
                                                            "typeString": "address"
                                                        }
                                                    ],
                                                    "expression": {
                                                        "id": 14141,
                                                        "name": "abi",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 4294967295,
                                                        "src": "10397:3:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_magic_abi",
                                                            "typeString": "abi"
                                                        }
                                                    },
                                                    "id": 14142,
                                                    "isConstant": false,
                                                    "isLValue": false,
                                                    "isPure": true,
                                                    "lValueRequested": false,
                                                    "memberName": "encodeWithSignature",
                                                    "nodeType": "MemberAccess",
                                                    "src": "10397:23:62",
                                                    "typeDescriptions": {
                                                        "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$",
                                                        "typeString": "function (string memory) pure returns (bytes memory)"
                                                    }
                                                },
                                                "id": 14147,
                                                "isConstant": false,
                                                "isLValue": false,
                                                "isPure": false,
                                                "kind": "functionCall",
                                                "lValueRequested": false,
                                                "names": [],
                                                "nodeType": "FunctionCall",
                                                "src": "10397:63:62",
                                                "tryCall": false,
                                                "typeDescriptions": {
                                                    "typeIdentifier": "t_bytes_memory_ptr",
                                                    "typeString": "bytes memory"
                                                }
                                            }
                                        ],
                                        "expression": {
                                            "argumentTypes": [
                                                {
                                                    "typeIdentifier": "t_bytes_memory_ptr",
                                                    "typeString": "bytes memory"
                                                }
                                            ],
                                            "id": 14140,
                                            "name": "_sendLogPayload",
                                            "nodeType": "Identifier",
                                            "overloadedDeclarations": [],
                                            "referencedDeclaration": 12880,
                                            "src": "10381:15:62",
                                            "typeDescriptions": {
                                                "typeIdentifier": "t_function_internal_view$_t_bytes_memory_ptr_$returns$__$",
                                                "typeString": "function (bytes memory) view"
                                            }
                                        },
                                        "id": 14148,
                                        "isConstant": false,
                                        "isLValue": false,
                                        "isPure": false,
                                        "kind": "functionCall",
                                        "lValueRequested": false,
                                        "names": [],
                                        "nodeType": "FunctionCall",
                                        "src": "10381:80:62",
                                        "tryCall": false,
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_tuple$__$",
                                            "typeString": "tuple()"
                                        }
                                    },
                                    "id": 14149,
                                    "nodeType": "ExpressionStatement",
                                    "src": "10381:80:62"
                                }
                            ]
                        },
                        "id": 14151,
                        "implemented": true,
                        "kind": "function",
                        "modifiers": [],
                        "name": "log",
                        "nameLocation": "10320:3:62",
                        "nodeType": "FunctionDefinition",
                        "parameters": {
                            "id": 14138,
                            "nodeType": "ParameterList",
                            "parameters": [
                                {
                                    "constant": false,
                                    "id": 14133,
                                    "mutability": "mutable",
                                    "name": "p0",
                                    "nameLocation": "10338:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 14151,
                                    "src": "10324:16:62",
                                    "stateVariable": false,
                                    "storageLocation": "memory",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_string_memory_ptr",
                                        "typeString": "string"
                                    },
                                    "typeName": {
                                        "id": 14132,
                                        "name": "string",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "10324:6:62",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_string_storage_ptr",
                                            "typeString": "string"
                                        }
                                    },
                                    "visibility": "internal"
                                },
                                {
                                    "constant": false,
                                    "id": 14135,
                                    "mutability": "mutable",
                                    "name": "p1",
                                    "nameLocation": "10347:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 14151,
                                    "src": "10342:7:62",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_uint256",
                                        "typeString": "uint256"
                                    },
                                    "typeName": {
                                        "id": 14134,
                                        "name": "uint",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "10342:4:62",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_uint256",
                                            "typeString": "uint256"
                                        }
                                    },
                                    "visibility": "internal"
                                },
                                {
                                    "constant": false,
                                    "id": 14137,
                                    "mutability": "mutable",
                                    "name": "p2",
                                    "nameLocation": "10359:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 14151,
                                    "src": "10351:10:62",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_address",
                                        "typeString": "address"
                                    },
                                    "typeName": {
                                        "id": 14136,
                                        "name": "address",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "10351:7:62",
                                        "stateMutability": "nonpayable",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_address",
                                            "typeString": "address"
                                        }
                                    },
                                    "visibility": "internal"
                                }
                            ],
                            "src": "10323:39:62"
                        },
                        "returnParameters": {
                            "id": 14139,
                            "nodeType": "ParameterList",
                            "parameters": [],
                            "src": "10377:0:62"
                        },
                        "scope": 20920,
                        "src": "10311:154:62",
                        "stateMutability": "view",
                        "virtual": false,
                        "visibility": "internal"
                    },
                    {
                        "body": {
                            "id": 14170,
                            "nodeType": "Block",
                            "src": "10540:87:62",
                            "statements": [
                                {
                                    "expression": {
                                        "arguments": [
                                            {
                                                "arguments": [
                                                    {
                                                        "hexValue": "6c6f6728737472696e672c737472696e672c75696e7429",
                                                        "id": 14163,
                                                        "isConstant": false,
                                                        "isLValue": false,
                                                        "isPure": true,
                                                        "kind": "string",
                                                        "lValueRequested": false,
                                                        "nodeType": "Literal",
                                                        "src": "10584:25:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_stringliteral_f362ca59af8dc58335601f00e8a4f3f8cd0c03c9716c1459118a41613b5e0147",
                                                            "typeString": "literal_string \"log(string,string,uint)\""
                                                        },
                                                        "value": "log(string,string,uint)"
                                                    },
                                                    {
                                                        "id": 14164,
                                                        "name": "p0",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 14153,
                                                        "src": "10611:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_string_memory_ptr",
                                                            "typeString": "string memory"
                                                        }
                                                    },
                                                    {
                                                        "id": 14165,
                                                        "name": "p1",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 14155,
                                                        "src": "10615:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_string_memory_ptr",
                                                            "typeString": "string memory"
                                                        }
                                                    },
                                                    {
                                                        "id": 14166,
                                                        "name": "p2",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 14157,
                                                        "src": "10619:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_uint256",
                                                            "typeString": "uint256"
                                                        }
                                                    }
                                                ],
                                                "expression": {
                                                    "argumentTypes": [
                                                        {
                                                            "typeIdentifier": "t_stringliteral_f362ca59af8dc58335601f00e8a4f3f8cd0c03c9716c1459118a41613b5e0147",
                                                            "typeString": "literal_string \"log(string,string,uint)\""
                                                        },
                                                        {
                                                            "typeIdentifier": "t_string_memory_ptr",
                                                            "typeString": "string memory"
                                                        },
                                                        {
                                                            "typeIdentifier": "t_string_memory_ptr",
                                                            "typeString": "string memory"
                                                        },
                                                        {
                                                            "typeIdentifier": "t_uint256",
                                                            "typeString": "uint256"
                                                        }
                                                    ],
                                                    "expression": {
                                                        "id": 14161,
                                                        "name": "abi",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 4294967295,
                                                        "src": "10560:3:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_magic_abi",
                                                            "typeString": "abi"
                                                        }
                                                    },
                                                    "id": 14162,
                                                    "isConstant": false,
                                                    "isLValue": false,
                                                    "isPure": true,
                                                    "lValueRequested": false,
                                                    "memberName": "encodeWithSignature",
                                                    "nodeType": "MemberAccess",
                                                    "src": "10560:23:62",
                                                    "typeDescriptions": {
                                                        "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$",
                                                        "typeString": "function (string memory) pure returns (bytes memory)"
                                                    }
                                                },
                                                "id": 14167,
                                                "isConstant": false,
                                                "isLValue": false,
                                                "isPure": false,
                                                "kind": "functionCall",
                                                "lValueRequested": false,
                                                "names": [],
                                                "nodeType": "FunctionCall",
                                                "src": "10560:62:62",
                                                "tryCall": false,
                                                "typeDescriptions": {
                                                    "typeIdentifier": "t_bytes_memory_ptr",
                                                    "typeString": "bytes memory"
                                                }
                                            }
                                        ],
                                        "expression": {
                                            "argumentTypes": [
                                                {
                                                    "typeIdentifier": "t_bytes_memory_ptr",
                                                    "typeString": "bytes memory"
                                                }
                                            ],
                                            "id": 14160,
                                            "name": "_sendLogPayload",
                                            "nodeType": "Identifier",
                                            "overloadedDeclarations": [],
                                            "referencedDeclaration": 12880,
                                            "src": "10544:15:62",
                                            "typeDescriptions": {
                                                "typeIdentifier": "t_function_internal_view$_t_bytes_memory_ptr_$returns$__$",
                                                "typeString": "function (bytes memory) view"
                                            }
                                        },
                                        "id": 14168,
                                        "isConstant": false,
                                        "isLValue": false,
                                        "isPure": false,
                                        "kind": "functionCall",
                                        "lValueRequested": false,
                                        "names": [],
                                        "nodeType": "FunctionCall",
                                        "src": "10544:79:62",
                                        "tryCall": false,
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_tuple$__$",
                                            "typeString": "tuple()"
                                        }
                                    },
                                    "id": 14169,
                                    "nodeType": "ExpressionStatement",
                                    "src": "10544:79:62"
                                }
                            ]
                        },
                        "id": 14171,
                        "implemented": true,
                        "kind": "function",
                        "modifiers": [],
                        "name": "log",
                        "nameLocation": "10477:3:62",
                        "nodeType": "FunctionDefinition",
                        "parameters": {
                            "id": 14158,
                            "nodeType": "ParameterList",
                            "parameters": [
                                {
                                    "constant": false,
                                    "id": 14153,
                                    "mutability": "mutable",
                                    "name": "p0",
                                    "nameLocation": "10495:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 14171,
                                    "src": "10481:16:62",
                                    "stateVariable": false,
                                    "storageLocation": "memory",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_string_memory_ptr",
                                        "typeString": "string"
                                    },
                                    "typeName": {
                                        "id": 14152,
                                        "name": "string",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "10481:6:62",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_string_storage_ptr",
                                            "typeString": "string"
                                        }
                                    },
                                    "visibility": "internal"
                                },
                                {
                                    "constant": false,
                                    "id": 14155,
                                    "mutability": "mutable",
                                    "name": "p1",
                                    "nameLocation": "10513:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 14171,
                                    "src": "10499:16:62",
                                    "stateVariable": false,
                                    "storageLocation": "memory",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_string_memory_ptr",
                                        "typeString": "string"
                                    },
                                    "typeName": {
                                        "id": 14154,
                                        "name": "string",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "10499:6:62",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_string_storage_ptr",
                                            "typeString": "string"
                                        }
                                    },
                                    "visibility": "internal"
                                },
                                {
                                    "constant": false,
                                    "id": 14157,
                                    "mutability": "mutable",
                                    "name": "p2",
                                    "nameLocation": "10522:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 14171,
                                    "src": "10517:7:62",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_uint256",
                                        "typeString": "uint256"
                                    },
                                    "typeName": {
                                        "id": 14156,
                                        "name": "uint",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "10517:4:62",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_uint256",
                                            "typeString": "uint256"
                                        }
                                    },
                                    "visibility": "internal"
                                }
                            ],
                            "src": "10480:45:62"
                        },
                        "returnParameters": {
                            "id": 14159,
                            "nodeType": "ParameterList",
                            "parameters": [],
                            "src": "10540:0:62"
                        },
                        "scope": 20920,
                        "src": "10468:159:62",
                        "stateMutability": "view",
                        "virtual": false,
                        "visibility": "internal"
                    },
                    {
                        "body": {
                            "id": 14190,
                            "nodeType": "Block",
                            "src": "10711:89:62",
                            "statements": [
                                {
                                    "expression": {
                                        "arguments": [
                                            {
                                                "arguments": [
                                                    {
                                                        "hexValue": "6c6f6728737472696e672c737472696e672c737472696e6729",
                                                        "id": 14183,
                                                        "isConstant": false,
                                                        "isLValue": false,
                                                        "isPure": true,
                                                        "kind": "string",
                                                        "lValueRequested": false,
                                                        "nodeType": "Literal",
                                                        "src": "10755:27:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_stringliteral_2ced7cef693312206c21f0e92e3b54e2e16bf33db5eec350c78866822c665e1f",
                                                            "typeString": "literal_string \"log(string,string,string)\""
                                                        },
                                                        "value": "log(string,string,string)"
                                                    },
                                                    {
                                                        "id": 14184,
                                                        "name": "p0",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 14173,
                                                        "src": "10784:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_string_memory_ptr",
                                                            "typeString": "string memory"
                                                        }
                                                    },
                                                    {
                                                        "id": 14185,
                                                        "name": "p1",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 14175,
                                                        "src": "10788:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_string_memory_ptr",
                                                            "typeString": "string memory"
                                                        }
                                                    },
                                                    {
                                                        "id": 14186,
                                                        "name": "p2",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 14177,
                                                        "src": "10792:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_string_memory_ptr",
                                                            "typeString": "string memory"
                                                        }
                                                    }
                                                ],
                                                "expression": {
                                                    "argumentTypes": [
                                                        {
                                                            "typeIdentifier": "t_stringliteral_2ced7cef693312206c21f0e92e3b54e2e16bf33db5eec350c78866822c665e1f",
                                                            "typeString": "literal_string \"log(string,string,string)\""
                                                        },
                                                        {
                                                            "typeIdentifier": "t_string_memory_ptr",
                                                            "typeString": "string memory"
                                                        },
                                                        {
                                                            "typeIdentifier": "t_string_memory_ptr",
                                                            "typeString": "string memory"
                                                        },
                                                        {
                                                            "typeIdentifier": "t_string_memory_ptr",
                                                            "typeString": "string memory"
                                                        }
                                                    ],
                                                    "expression": {
                                                        "id": 14181,
                                                        "name": "abi",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 4294967295,
                                                        "src": "10731:3:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_magic_abi",
                                                            "typeString": "abi"
                                                        }
                                                    },
                                                    "id": 14182,
                                                    "isConstant": false,
                                                    "isLValue": false,
                                                    "isPure": true,
                                                    "lValueRequested": false,
                                                    "memberName": "encodeWithSignature",
                                                    "nodeType": "MemberAccess",
                                                    "src": "10731:23:62",
                                                    "typeDescriptions": {
                                                        "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$",
                                                        "typeString": "function (string memory) pure returns (bytes memory)"
                                                    }
                                                },
                                                "id": 14187,
                                                "isConstant": false,
                                                "isLValue": false,
                                                "isPure": false,
                                                "kind": "functionCall",
                                                "lValueRequested": false,
                                                "names": [],
                                                "nodeType": "FunctionCall",
                                                "src": "10731:64:62",
                                                "tryCall": false,
                                                "typeDescriptions": {
                                                    "typeIdentifier": "t_bytes_memory_ptr",
                                                    "typeString": "bytes memory"
                                                }
                                            }
                                        ],
                                        "expression": {
                                            "argumentTypes": [
                                                {
                                                    "typeIdentifier": "t_bytes_memory_ptr",
                                                    "typeString": "bytes memory"
                                                }
                                            ],
                                            "id": 14180,
                                            "name": "_sendLogPayload",
                                            "nodeType": "Identifier",
                                            "overloadedDeclarations": [],
                                            "referencedDeclaration": 12880,
                                            "src": "10715:15:62",
                                            "typeDescriptions": {
                                                "typeIdentifier": "t_function_internal_view$_t_bytes_memory_ptr_$returns$__$",
                                                "typeString": "function (bytes memory) view"
                                            }
                                        },
                                        "id": 14188,
                                        "isConstant": false,
                                        "isLValue": false,
                                        "isPure": false,
                                        "kind": "functionCall",
                                        "lValueRequested": false,
                                        "names": [],
                                        "nodeType": "FunctionCall",
                                        "src": "10715:81:62",
                                        "tryCall": false,
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_tuple$__$",
                                            "typeString": "tuple()"
                                        }
                                    },
                                    "id": 14189,
                                    "nodeType": "ExpressionStatement",
                                    "src": "10715:81:62"
                                }
                            ]
                        },
                        "id": 14191,
                        "implemented": true,
                        "kind": "function",
                        "modifiers": [],
                        "name": "log",
                        "nameLocation": "10639:3:62",
                        "nodeType": "FunctionDefinition",
                        "parameters": {
                            "id": 14178,
                            "nodeType": "ParameterList",
                            "parameters": [
                                {
                                    "constant": false,
                                    "id": 14173,
                                    "mutability": "mutable",
                                    "name": "p0",
                                    "nameLocation": "10657:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 14191,
                                    "src": "10643:16:62",
                                    "stateVariable": false,
                                    "storageLocation": "memory",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_string_memory_ptr",
                                        "typeString": "string"
                                    },
                                    "typeName": {
                                        "id": 14172,
                                        "name": "string",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "10643:6:62",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_string_storage_ptr",
                                            "typeString": "string"
                                        }
                                    },
                                    "visibility": "internal"
                                },
                                {
                                    "constant": false,
                                    "id": 14175,
                                    "mutability": "mutable",
                                    "name": "p1",
                                    "nameLocation": "10675:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 14191,
                                    "src": "10661:16:62",
                                    "stateVariable": false,
                                    "storageLocation": "memory",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_string_memory_ptr",
                                        "typeString": "string"
                                    },
                                    "typeName": {
                                        "id": 14174,
                                        "name": "string",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "10661:6:62",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_string_storage_ptr",
                                            "typeString": "string"
                                        }
                                    },
                                    "visibility": "internal"
                                },
                                {
                                    "constant": false,
                                    "id": 14177,
                                    "mutability": "mutable",
                                    "name": "p2",
                                    "nameLocation": "10693:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 14191,
                                    "src": "10679:16:62",
                                    "stateVariable": false,
                                    "storageLocation": "memory",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_string_memory_ptr",
                                        "typeString": "string"
                                    },
                                    "typeName": {
                                        "id": 14176,
                                        "name": "string",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "10679:6:62",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_string_storage_ptr",
                                            "typeString": "string"
                                        }
                                    },
                                    "visibility": "internal"
                                }
                            ],
                            "src": "10642:54:62"
                        },
                        "returnParameters": {
                            "id": 14179,
                            "nodeType": "ParameterList",
                            "parameters": [],
                            "src": "10711:0:62"
                        },
                        "scope": 20920,
                        "src": "10630:170:62",
                        "stateMutability": "view",
                        "virtual": false,
                        "visibility": "internal"
                    },
                    {
                        "body": {
                            "id": 14210,
                            "nodeType": "Block",
                            "src": "10875:87:62",
                            "statements": [
                                {
                                    "expression": {
                                        "arguments": [
                                            {
                                                "arguments": [
                                                    {
                                                        "hexValue": "6c6f6728737472696e672c737472696e672c626f6f6c29",
                                                        "id": 14203,
                                                        "isConstant": false,
                                                        "isLValue": false,
                                                        "isPure": true,
                                                        "kind": "string",
                                                        "lValueRequested": false,
                                                        "nodeType": "Literal",
                                                        "src": "10919:25:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_stringliteral_b0e0f9b5ad960213f9ab262d120ce4ec3edffc58d1ad51b99628a777e82d8acb",
                                                            "typeString": "literal_string \"log(string,string,bool)\""
                                                        },
                                                        "value": "log(string,string,bool)"
                                                    },
                                                    {
                                                        "id": 14204,
                                                        "name": "p0",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 14193,
                                                        "src": "10946:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_string_memory_ptr",
                                                            "typeString": "string memory"
                                                        }
                                                    },
                                                    {
                                                        "id": 14205,
                                                        "name": "p1",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 14195,
                                                        "src": "10950:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_string_memory_ptr",
                                                            "typeString": "string memory"
                                                        }
                                                    },
                                                    {
                                                        "id": 14206,
                                                        "name": "p2",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 14197,
                                                        "src": "10954:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_bool",
                                                            "typeString": "bool"
                                                        }
                                                    }
                                                ],
                                                "expression": {
                                                    "argumentTypes": [
                                                        {
                                                            "typeIdentifier": "t_stringliteral_b0e0f9b5ad960213f9ab262d120ce4ec3edffc58d1ad51b99628a777e82d8acb",
                                                            "typeString": "literal_string \"log(string,string,bool)\""
                                                        },
                                                        {
                                                            "typeIdentifier": "t_string_memory_ptr",
                                                            "typeString": "string memory"
                                                        },
                                                        {
                                                            "typeIdentifier": "t_string_memory_ptr",
                                                            "typeString": "string memory"
                                                        },
                                                        {
                                                            "typeIdentifier": "t_bool",
                                                            "typeString": "bool"
                                                        }
                                                    ],
                                                    "expression": {
                                                        "id": 14201,
                                                        "name": "abi",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 4294967295,
                                                        "src": "10895:3:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_magic_abi",
                                                            "typeString": "abi"
                                                        }
                                                    },
                                                    "id": 14202,
                                                    "isConstant": false,
                                                    "isLValue": false,
                                                    "isPure": true,
                                                    "lValueRequested": false,
                                                    "memberName": "encodeWithSignature",
                                                    "nodeType": "MemberAccess",
                                                    "src": "10895:23:62",
                                                    "typeDescriptions": {
                                                        "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$",
                                                        "typeString": "function (string memory) pure returns (bytes memory)"
                                                    }
                                                },
                                                "id": 14207,
                                                "isConstant": false,
                                                "isLValue": false,
                                                "isPure": false,
                                                "kind": "functionCall",
                                                "lValueRequested": false,
                                                "names": [],
                                                "nodeType": "FunctionCall",
                                                "src": "10895:62:62",
                                                "tryCall": false,
                                                "typeDescriptions": {
                                                    "typeIdentifier": "t_bytes_memory_ptr",
                                                    "typeString": "bytes memory"
                                                }
                                            }
                                        ],
                                        "expression": {
                                            "argumentTypes": [
                                                {
                                                    "typeIdentifier": "t_bytes_memory_ptr",
                                                    "typeString": "bytes memory"
                                                }
                                            ],
                                            "id": 14200,
                                            "name": "_sendLogPayload",
                                            "nodeType": "Identifier",
                                            "overloadedDeclarations": [],
                                            "referencedDeclaration": 12880,
                                            "src": "10879:15:62",
                                            "typeDescriptions": {
                                                "typeIdentifier": "t_function_internal_view$_t_bytes_memory_ptr_$returns$__$",
                                                "typeString": "function (bytes memory) view"
                                            }
                                        },
                                        "id": 14208,
                                        "isConstant": false,
                                        "isLValue": false,
                                        "isPure": false,
                                        "kind": "functionCall",
                                        "lValueRequested": false,
                                        "names": [],
                                        "nodeType": "FunctionCall",
                                        "src": "10879:79:62",
                                        "tryCall": false,
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_tuple$__$",
                                            "typeString": "tuple()"
                                        }
                                    },
                                    "id": 14209,
                                    "nodeType": "ExpressionStatement",
                                    "src": "10879:79:62"
                                }
                            ]
                        },
                        "id": 14211,
                        "implemented": true,
                        "kind": "function",
                        "modifiers": [],
                        "name": "log",
                        "nameLocation": "10812:3:62",
                        "nodeType": "FunctionDefinition",
                        "parameters": {
                            "id": 14198,
                            "nodeType": "ParameterList",
                            "parameters": [
                                {
                                    "constant": false,
                                    "id": 14193,
                                    "mutability": "mutable",
                                    "name": "p0",
                                    "nameLocation": "10830:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 14211,
                                    "src": "10816:16:62",
                                    "stateVariable": false,
                                    "storageLocation": "memory",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_string_memory_ptr",
                                        "typeString": "string"
                                    },
                                    "typeName": {
                                        "id": 14192,
                                        "name": "string",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "10816:6:62",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_string_storage_ptr",
                                            "typeString": "string"
                                        }
                                    },
                                    "visibility": "internal"
                                },
                                {
                                    "constant": false,
                                    "id": 14195,
                                    "mutability": "mutable",
                                    "name": "p1",
                                    "nameLocation": "10848:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 14211,
                                    "src": "10834:16:62",
                                    "stateVariable": false,
                                    "storageLocation": "memory",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_string_memory_ptr",
                                        "typeString": "string"
                                    },
                                    "typeName": {
                                        "id": 14194,
                                        "name": "string",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "10834:6:62",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_string_storage_ptr",
                                            "typeString": "string"
                                        }
                                    },
                                    "visibility": "internal"
                                },
                                {
                                    "constant": false,
                                    "id": 14197,
                                    "mutability": "mutable",
                                    "name": "p2",
                                    "nameLocation": "10857:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 14211,
                                    "src": "10852:7:62",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_bool",
                                        "typeString": "bool"
                                    },
                                    "typeName": {
                                        "id": 14196,
                                        "name": "bool",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "10852:4:62",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_bool",
                                            "typeString": "bool"
                                        }
                                    },
                                    "visibility": "internal"
                                }
                            ],
                            "src": "10815:45:62"
                        },
                        "returnParameters": {
                            "id": 14199,
                            "nodeType": "ParameterList",
                            "parameters": [],
                            "src": "10875:0:62"
                        },
                        "scope": 20920,
                        "src": "10803:159:62",
                        "stateMutability": "view",
                        "virtual": false,
                        "visibility": "internal"
                    },
                    {
                        "body": {
                            "id": 14230,
                            "nodeType": "Block",
                            "src": "11040:90:62",
                            "statements": [
                                {
                                    "expression": {
                                        "arguments": [
                                            {
                                                "arguments": [
                                                    {
                                                        "hexValue": "6c6f6728737472696e672c737472696e672c6164647265737329",
                                                        "id": 14223,
                                                        "isConstant": false,
                                                        "isLValue": false,
                                                        "isPure": true,
                                                        "kind": "string",
                                                        "lValueRequested": false,
                                                        "nodeType": "Literal",
                                                        "src": "11084:28:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_stringliteral_95ed0195ee22a092ad93d352c33e8dc78b91f0c01eab9cff270af55b2ae65768",
                                                            "typeString": "literal_string \"log(string,string,address)\""
                                                        },
                                                        "value": "log(string,string,address)"
                                                    },
                                                    {
                                                        "id": 14224,
                                                        "name": "p0",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 14213,
                                                        "src": "11114:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_string_memory_ptr",
                                                            "typeString": "string memory"
                                                        }
                                                    },
                                                    {
                                                        "id": 14225,
                                                        "name": "p1",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 14215,
                                                        "src": "11118:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_string_memory_ptr",
                                                            "typeString": "string memory"
                                                        }
                                                    },
                                                    {
                                                        "id": 14226,
                                                        "name": "p2",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 14217,
                                                        "src": "11122:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_address",
                                                            "typeString": "address"
                                                        }
                                                    }
                                                ],
                                                "expression": {
                                                    "argumentTypes": [
                                                        {
                                                            "typeIdentifier": "t_stringliteral_95ed0195ee22a092ad93d352c33e8dc78b91f0c01eab9cff270af55b2ae65768",
                                                            "typeString": "literal_string \"log(string,string,address)\""
                                                        },
                                                        {
                                                            "typeIdentifier": "t_string_memory_ptr",
                                                            "typeString": "string memory"
                                                        },
                                                        {
                                                            "typeIdentifier": "t_string_memory_ptr",
                                                            "typeString": "string memory"
                                                        },
                                                        {
                                                            "typeIdentifier": "t_address",
                                                            "typeString": "address"
                                                        }
                                                    ],
                                                    "expression": {
                                                        "id": 14221,
                                                        "name": "abi",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 4294967295,
                                                        "src": "11060:3:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_magic_abi",
                                                            "typeString": "abi"
                                                        }
                                                    },
                                                    "id": 14222,
                                                    "isConstant": false,
                                                    "isLValue": false,
                                                    "isPure": true,
                                                    "lValueRequested": false,
                                                    "memberName": "encodeWithSignature",
                                                    "nodeType": "MemberAccess",
                                                    "src": "11060:23:62",
                                                    "typeDescriptions": {
                                                        "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$",
                                                        "typeString": "function (string memory) pure returns (bytes memory)"
                                                    }
                                                },
                                                "id": 14227,
                                                "isConstant": false,
                                                "isLValue": false,
                                                "isPure": false,
                                                "kind": "functionCall",
                                                "lValueRequested": false,
                                                "names": [],
                                                "nodeType": "FunctionCall",
                                                "src": "11060:65:62",
                                                "tryCall": false,
                                                "typeDescriptions": {
                                                    "typeIdentifier": "t_bytes_memory_ptr",
                                                    "typeString": "bytes memory"
                                                }
                                            }
                                        ],
                                        "expression": {
                                            "argumentTypes": [
                                                {
                                                    "typeIdentifier": "t_bytes_memory_ptr",
                                                    "typeString": "bytes memory"
                                                }
                                            ],
                                            "id": 14220,
                                            "name": "_sendLogPayload",
                                            "nodeType": "Identifier",
                                            "overloadedDeclarations": [],
                                            "referencedDeclaration": 12880,
                                            "src": "11044:15:62",
                                            "typeDescriptions": {
                                                "typeIdentifier": "t_function_internal_view$_t_bytes_memory_ptr_$returns$__$",
                                                "typeString": "function (bytes memory) view"
                                            }
                                        },
                                        "id": 14228,
                                        "isConstant": false,
                                        "isLValue": false,
                                        "isPure": false,
                                        "kind": "functionCall",
                                        "lValueRequested": false,
                                        "names": [],
                                        "nodeType": "FunctionCall",
                                        "src": "11044:82:62",
                                        "tryCall": false,
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_tuple$__$",
                                            "typeString": "tuple()"
                                        }
                                    },
                                    "id": 14229,
                                    "nodeType": "ExpressionStatement",
                                    "src": "11044:82:62"
                                }
                            ]
                        },
                        "id": 14231,
                        "implemented": true,
                        "kind": "function",
                        "modifiers": [],
                        "name": "log",
                        "nameLocation": "10974:3:62",
                        "nodeType": "FunctionDefinition",
                        "parameters": {
                            "id": 14218,
                            "nodeType": "ParameterList",
                            "parameters": [
                                {
                                    "constant": false,
                                    "id": 14213,
                                    "mutability": "mutable",
                                    "name": "p0",
                                    "nameLocation": "10992:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 14231,
                                    "src": "10978:16:62",
                                    "stateVariable": false,
                                    "storageLocation": "memory",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_string_memory_ptr",
                                        "typeString": "string"
                                    },
                                    "typeName": {
                                        "id": 14212,
                                        "name": "string",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "10978:6:62",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_string_storage_ptr",
                                            "typeString": "string"
                                        }
                                    },
                                    "visibility": "internal"
                                },
                                {
                                    "constant": false,
                                    "id": 14215,
                                    "mutability": "mutable",
                                    "name": "p1",
                                    "nameLocation": "11010:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 14231,
                                    "src": "10996:16:62",
                                    "stateVariable": false,
                                    "storageLocation": "memory",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_string_memory_ptr",
                                        "typeString": "string"
                                    },
                                    "typeName": {
                                        "id": 14214,
                                        "name": "string",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "10996:6:62",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_string_storage_ptr",
                                            "typeString": "string"
                                        }
                                    },
                                    "visibility": "internal"
                                },
                                {
                                    "constant": false,
                                    "id": 14217,
                                    "mutability": "mutable",
                                    "name": "p2",
                                    "nameLocation": "11022:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 14231,
                                    "src": "11014:10:62",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_address",
                                        "typeString": "address"
                                    },
                                    "typeName": {
                                        "id": 14216,
                                        "name": "address",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "11014:7:62",
                                        "stateMutability": "nonpayable",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_address",
                                            "typeString": "address"
                                        }
                                    },
                                    "visibility": "internal"
                                }
                            ],
                            "src": "10977:48:62"
                        },
                        "returnParameters": {
                            "id": 14219,
                            "nodeType": "ParameterList",
                            "parameters": [],
                            "src": "11040:0:62"
                        },
                        "scope": 20920,
                        "src": "10965:165:62",
                        "stateMutability": "view",
                        "virtual": false,
                        "visibility": "internal"
                    },
                    {
                        "body": {
                            "id": 14250,
                            "nodeType": "Block",
                            "src": "11196:85:62",
                            "statements": [
                                {
                                    "expression": {
                                        "arguments": [
                                            {
                                                "arguments": [
                                                    {
                                                        "hexValue": "6c6f6728737472696e672c626f6f6c2c75696e7429",
                                                        "id": 14243,
                                                        "isConstant": false,
                                                        "isLValue": false,
                                                        "isPure": true,
                                                        "kind": "string",
                                                        "lValueRequested": false,
                                                        "nodeType": "Literal",
                                                        "src": "11240:23:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_stringliteral_291bb9d00defdc1b95c66c8b4bc10ef714a549c4f22fb190fe687dc5e85a4db1",
                                                            "typeString": "literal_string \"log(string,bool,uint)\""
                                                        },
                                                        "value": "log(string,bool,uint)"
                                                    },
                                                    {
                                                        "id": 14244,
                                                        "name": "p0",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 14233,
                                                        "src": "11265:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_string_memory_ptr",
                                                            "typeString": "string memory"
                                                        }
                                                    },
                                                    {
                                                        "id": 14245,
                                                        "name": "p1",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 14235,
                                                        "src": "11269:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_bool",
                                                            "typeString": "bool"
                                                        }
                                                    },
                                                    {
                                                        "id": 14246,
                                                        "name": "p2",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 14237,
                                                        "src": "11273:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_uint256",
                                                            "typeString": "uint256"
                                                        }
                                                    }
                                                ],
                                                "expression": {
                                                    "argumentTypes": [
                                                        {
                                                            "typeIdentifier": "t_stringliteral_291bb9d00defdc1b95c66c8b4bc10ef714a549c4f22fb190fe687dc5e85a4db1",
                                                            "typeString": "literal_string \"log(string,bool,uint)\""
                                                        },
                                                        {
                                                            "typeIdentifier": "t_string_memory_ptr",
                                                            "typeString": "string memory"
                                                        },
                                                        {
                                                            "typeIdentifier": "t_bool",
                                                            "typeString": "bool"
                                                        },
                                                        {
                                                            "typeIdentifier": "t_uint256",
                                                            "typeString": "uint256"
                                                        }
                                                    ],
                                                    "expression": {
                                                        "id": 14241,
                                                        "name": "abi",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 4294967295,
                                                        "src": "11216:3:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_magic_abi",
                                                            "typeString": "abi"
                                                        }
                                                    },
                                                    "id": 14242,
                                                    "isConstant": false,
                                                    "isLValue": false,
                                                    "isPure": true,
                                                    "lValueRequested": false,
                                                    "memberName": "encodeWithSignature",
                                                    "nodeType": "MemberAccess",
                                                    "src": "11216:23:62",
                                                    "typeDescriptions": {
                                                        "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$",
                                                        "typeString": "function (string memory) pure returns (bytes memory)"
                                                    }
                                                },
                                                "id": 14247,
                                                "isConstant": false,
                                                "isLValue": false,
                                                "isPure": false,
                                                "kind": "functionCall",
                                                "lValueRequested": false,
                                                "names": [],
                                                "nodeType": "FunctionCall",
                                                "src": "11216:60:62",
                                                "tryCall": false,
                                                "typeDescriptions": {
                                                    "typeIdentifier": "t_bytes_memory_ptr",
                                                    "typeString": "bytes memory"
                                                }
                                            }
                                        ],
                                        "expression": {
                                            "argumentTypes": [
                                                {
                                                    "typeIdentifier": "t_bytes_memory_ptr",
                                                    "typeString": "bytes memory"
                                                }
                                            ],
                                            "id": 14240,
                                            "name": "_sendLogPayload",
                                            "nodeType": "Identifier",
                                            "overloadedDeclarations": [],
                                            "referencedDeclaration": 12880,
                                            "src": "11200:15:62",
                                            "typeDescriptions": {
                                                "typeIdentifier": "t_function_internal_view$_t_bytes_memory_ptr_$returns$__$",
                                                "typeString": "function (bytes memory) view"
                                            }
                                        },
                                        "id": 14248,
                                        "isConstant": false,
                                        "isLValue": false,
                                        "isPure": false,
                                        "kind": "functionCall",
                                        "lValueRequested": false,
                                        "names": [],
                                        "nodeType": "FunctionCall",
                                        "src": "11200:77:62",
                                        "tryCall": false,
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_tuple$__$",
                                            "typeString": "tuple()"
                                        }
                                    },
                                    "id": 14249,
                                    "nodeType": "ExpressionStatement",
                                    "src": "11200:77:62"
                                }
                            ]
                        },
                        "id": 14251,
                        "implemented": true,
                        "kind": "function",
                        "modifiers": [],
                        "name": "log",
                        "nameLocation": "11142:3:62",
                        "nodeType": "FunctionDefinition",
                        "parameters": {
                            "id": 14238,
                            "nodeType": "ParameterList",
                            "parameters": [
                                {
                                    "constant": false,
                                    "id": 14233,
                                    "mutability": "mutable",
                                    "name": "p0",
                                    "nameLocation": "11160:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 14251,
                                    "src": "11146:16:62",
                                    "stateVariable": false,
                                    "storageLocation": "memory",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_string_memory_ptr",
                                        "typeString": "string"
                                    },
                                    "typeName": {
                                        "id": 14232,
                                        "name": "string",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "11146:6:62",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_string_storage_ptr",
                                            "typeString": "string"
                                        }
                                    },
                                    "visibility": "internal"
                                },
                                {
                                    "constant": false,
                                    "id": 14235,
                                    "mutability": "mutable",
                                    "name": "p1",
                                    "nameLocation": "11169:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 14251,
                                    "src": "11164:7:62",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_bool",
                                        "typeString": "bool"
                                    },
                                    "typeName": {
                                        "id": 14234,
                                        "name": "bool",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "11164:4:62",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_bool",
                                            "typeString": "bool"
                                        }
                                    },
                                    "visibility": "internal"
                                },
                                {
                                    "constant": false,
                                    "id": 14237,
                                    "mutability": "mutable",
                                    "name": "p2",
                                    "nameLocation": "11178:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 14251,
                                    "src": "11173:7:62",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_uint256",
                                        "typeString": "uint256"
                                    },
                                    "typeName": {
                                        "id": 14236,
                                        "name": "uint",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "11173:4:62",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_uint256",
                                            "typeString": "uint256"
                                        }
                                    },
                                    "visibility": "internal"
                                }
                            ],
                            "src": "11145:36:62"
                        },
                        "returnParameters": {
                            "id": 14239,
                            "nodeType": "ParameterList",
                            "parameters": [],
                            "src": "11196:0:62"
                        },
                        "scope": 20920,
                        "src": "11133:148:62",
                        "stateMutability": "view",
                        "virtual": false,
                        "visibility": "internal"
                    },
                    {
                        "body": {
                            "id": 14270,
                            "nodeType": "Block",
                            "src": "11356:87:62",
                            "statements": [
                                {
                                    "expression": {
                                        "arguments": [
                                            {
                                                "arguments": [
                                                    {
                                                        "hexValue": "6c6f6728737472696e672c626f6f6c2c737472696e6729",
                                                        "id": 14263,
                                                        "isConstant": false,
                                                        "isLValue": false,
                                                        "isPure": true,
                                                        "kind": "string",
                                                        "lValueRequested": false,
                                                        "nodeType": "Literal",
                                                        "src": "11400:25:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_stringliteral_e298f47d872a89293d316b9b936000a26f83eda2ba3171b2f9f16e2bf618c3e7",
                                                            "typeString": "literal_string \"log(string,bool,string)\""
                                                        },
                                                        "value": "log(string,bool,string)"
                                                    },
                                                    {
                                                        "id": 14264,
                                                        "name": "p0",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 14253,
                                                        "src": "11427:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_string_memory_ptr",
                                                            "typeString": "string memory"
                                                        }
                                                    },
                                                    {
                                                        "id": 14265,
                                                        "name": "p1",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 14255,
                                                        "src": "11431:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_bool",
                                                            "typeString": "bool"
                                                        }
                                                    },
                                                    {
                                                        "id": 14266,
                                                        "name": "p2",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 14257,
                                                        "src": "11435:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_string_memory_ptr",
                                                            "typeString": "string memory"
                                                        }
                                                    }
                                                ],
                                                "expression": {
                                                    "argumentTypes": [
                                                        {
                                                            "typeIdentifier": "t_stringliteral_e298f47d872a89293d316b9b936000a26f83eda2ba3171b2f9f16e2bf618c3e7",
                                                            "typeString": "literal_string \"log(string,bool,string)\""
                                                        },
                                                        {
                                                            "typeIdentifier": "t_string_memory_ptr",
                                                            "typeString": "string memory"
                                                        },
                                                        {
                                                            "typeIdentifier": "t_bool",
                                                            "typeString": "bool"
                                                        },
                                                        {
                                                            "typeIdentifier": "t_string_memory_ptr",
                                                            "typeString": "string memory"
                                                        }
                                                    ],
                                                    "expression": {
                                                        "id": 14261,
                                                        "name": "abi",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 4294967295,
                                                        "src": "11376:3:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_magic_abi",
                                                            "typeString": "abi"
                                                        }
                                                    },
                                                    "id": 14262,
                                                    "isConstant": false,
                                                    "isLValue": false,
                                                    "isPure": true,
                                                    "lValueRequested": false,
                                                    "memberName": "encodeWithSignature",
                                                    "nodeType": "MemberAccess",
                                                    "src": "11376:23:62",
                                                    "typeDescriptions": {
                                                        "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$",
                                                        "typeString": "function (string memory) pure returns (bytes memory)"
                                                    }
                                                },
                                                "id": 14267,
                                                "isConstant": false,
                                                "isLValue": false,
                                                "isPure": false,
                                                "kind": "functionCall",
                                                "lValueRequested": false,
                                                "names": [],
                                                "nodeType": "FunctionCall",
                                                "src": "11376:62:62",
                                                "tryCall": false,
                                                "typeDescriptions": {
                                                    "typeIdentifier": "t_bytes_memory_ptr",
                                                    "typeString": "bytes memory"
                                                }
                                            }
                                        ],
                                        "expression": {
                                            "argumentTypes": [
                                                {
                                                    "typeIdentifier": "t_bytes_memory_ptr",
                                                    "typeString": "bytes memory"
                                                }
                                            ],
                                            "id": 14260,
                                            "name": "_sendLogPayload",
                                            "nodeType": "Identifier",
                                            "overloadedDeclarations": [],
                                            "referencedDeclaration": 12880,
                                            "src": "11360:15:62",
                                            "typeDescriptions": {
                                                "typeIdentifier": "t_function_internal_view$_t_bytes_memory_ptr_$returns$__$",
                                                "typeString": "function (bytes memory) view"
                                            }
                                        },
                                        "id": 14268,
                                        "isConstant": false,
                                        "isLValue": false,
                                        "isPure": false,
                                        "kind": "functionCall",
                                        "lValueRequested": false,
                                        "names": [],
                                        "nodeType": "FunctionCall",
                                        "src": "11360:79:62",
                                        "tryCall": false,
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_tuple$__$",
                                            "typeString": "tuple()"
                                        }
                                    },
                                    "id": 14269,
                                    "nodeType": "ExpressionStatement",
                                    "src": "11360:79:62"
                                }
                            ]
                        },
                        "id": 14271,
                        "implemented": true,
                        "kind": "function",
                        "modifiers": [],
                        "name": "log",
                        "nameLocation": "11293:3:62",
                        "nodeType": "FunctionDefinition",
                        "parameters": {
                            "id": 14258,
                            "nodeType": "ParameterList",
                            "parameters": [
                                {
                                    "constant": false,
                                    "id": 14253,
                                    "mutability": "mutable",
                                    "name": "p0",
                                    "nameLocation": "11311:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 14271,
                                    "src": "11297:16:62",
                                    "stateVariable": false,
                                    "storageLocation": "memory",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_string_memory_ptr",
                                        "typeString": "string"
                                    },
                                    "typeName": {
                                        "id": 14252,
                                        "name": "string",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "11297:6:62",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_string_storage_ptr",
                                            "typeString": "string"
                                        }
                                    },
                                    "visibility": "internal"
                                },
                                {
                                    "constant": false,
                                    "id": 14255,
                                    "mutability": "mutable",
                                    "name": "p1",
                                    "nameLocation": "11320:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 14271,
                                    "src": "11315:7:62",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_bool",
                                        "typeString": "bool"
                                    },
                                    "typeName": {
                                        "id": 14254,
                                        "name": "bool",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "11315:4:62",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_bool",
                                            "typeString": "bool"
                                        }
                                    },
                                    "visibility": "internal"
                                },
                                {
                                    "constant": false,
                                    "id": 14257,
                                    "mutability": "mutable",
                                    "name": "p2",
                                    "nameLocation": "11338:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 14271,
                                    "src": "11324:16:62",
                                    "stateVariable": false,
                                    "storageLocation": "memory",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_string_memory_ptr",
                                        "typeString": "string"
                                    },
                                    "typeName": {
                                        "id": 14256,
                                        "name": "string",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "11324:6:62",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_string_storage_ptr",
                                            "typeString": "string"
                                        }
                                    },
                                    "visibility": "internal"
                                }
                            ],
                            "src": "11296:45:62"
                        },
                        "returnParameters": {
                            "id": 14259,
                            "nodeType": "ParameterList",
                            "parameters": [],
                            "src": "11356:0:62"
                        },
                        "scope": 20920,
                        "src": "11284:159:62",
                        "stateMutability": "view",
                        "virtual": false,
                        "visibility": "internal"
                    },
                    {
                        "body": {
                            "id": 14290,
                            "nodeType": "Block",
                            "src": "11509:85:62",
                            "statements": [
                                {
                                    "expression": {
                                        "arguments": [
                                            {
                                                "arguments": [
                                                    {
                                                        "hexValue": "6c6f6728737472696e672c626f6f6c2c626f6f6c29",
                                                        "id": 14283,
                                                        "isConstant": false,
                                                        "isLValue": false,
                                                        "isPure": true,
                                                        "kind": "string",
                                                        "lValueRequested": false,
                                                        "nodeType": "Literal",
                                                        "src": "11553:23:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_stringliteral_850b7ad637241a873b861925ccffb71aaffb030b1df8850f324c9804bc7b443d",
                                                            "typeString": "literal_string \"log(string,bool,bool)\""
                                                        },
                                                        "value": "log(string,bool,bool)"
                                                    },
                                                    {
                                                        "id": 14284,
                                                        "name": "p0",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 14273,
                                                        "src": "11578:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_string_memory_ptr",
                                                            "typeString": "string memory"
                                                        }
                                                    },
                                                    {
                                                        "id": 14285,
                                                        "name": "p1",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 14275,
                                                        "src": "11582:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_bool",
                                                            "typeString": "bool"
                                                        }
                                                    },
                                                    {
                                                        "id": 14286,
                                                        "name": "p2",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 14277,
                                                        "src": "11586:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_bool",
                                                            "typeString": "bool"
                                                        }
                                                    }
                                                ],
                                                "expression": {
                                                    "argumentTypes": [
                                                        {
                                                            "typeIdentifier": "t_stringliteral_850b7ad637241a873b861925ccffb71aaffb030b1df8850f324c9804bc7b443d",
                                                            "typeString": "literal_string \"log(string,bool,bool)\""
                                                        },
                                                        {
                                                            "typeIdentifier": "t_string_memory_ptr",
                                                            "typeString": "string memory"
                                                        },
                                                        {
                                                            "typeIdentifier": "t_bool",
                                                            "typeString": "bool"
                                                        },
                                                        {
                                                            "typeIdentifier": "t_bool",
                                                            "typeString": "bool"
                                                        }
                                                    ],
                                                    "expression": {
                                                        "id": 14281,
                                                        "name": "abi",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 4294967295,
                                                        "src": "11529:3:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_magic_abi",
                                                            "typeString": "abi"
                                                        }
                                                    },
                                                    "id": 14282,
                                                    "isConstant": false,
                                                    "isLValue": false,
                                                    "isPure": true,
                                                    "lValueRequested": false,
                                                    "memberName": "encodeWithSignature",
                                                    "nodeType": "MemberAccess",
                                                    "src": "11529:23:62",
                                                    "typeDescriptions": {
                                                        "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$",
                                                        "typeString": "function (string memory) pure returns (bytes memory)"
                                                    }
                                                },
                                                "id": 14287,
                                                "isConstant": false,
                                                "isLValue": false,
                                                "isPure": false,
                                                "kind": "functionCall",
                                                "lValueRequested": false,
                                                "names": [],
                                                "nodeType": "FunctionCall",
                                                "src": "11529:60:62",
                                                "tryCall": false,
                                                "typeDescriptions": {
                                                    "typeIdentifier": "t_bytes_memory_ptr",
                                                    "typeString": "bytes memory"
                                                }
                                            }
                                        ],
                                        "expression": {
                                            "argumentTypes": [
                                                {
                                                    "typeIdentifier": "t_bytes_memory_ptr",
                                                    "typeString": "bytes memory"
                                                }
                                            ],
                                            "id": 14280,
                                            "name": "_sendLogPayload",
                                            "nodeType": "Identifier",
                                            "overloadedDeclarations": [],
                                            "referencedDeclaration": 12880,
                                            "src": "11513:15:62",
                                            "typeDescriptions": {
                                                "typeIdentifier": "t_function_internal_view$_t_bytes_memory_ptr_$returns$__$",
                                                "typeString": "function (bytes memory) view"
                                            }
                                        },
                                        "id": 14288,
                                        "isConstant": false,
                                        "isLValue": false,
                                        "isPure": false,
                                        "kind": "functionCall",
                                        "lValueRequested": false,
                                        "names": [],
                                        "nodeType": "FunctionCall",
                                        "src": "11513:77:62",
                                        "tryCall": false,
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_tuple$__$",
                                            "typeString": "tuple()"
                                        }
                                    },
                                    "id": 14289,
                                    "nodeType": "ExpressionStatement",
                                    "src": "11513:77:62"
                                }
                            ]
                        },
                        "id": 14291,
                        "implemented": true,
                        "kind": "function",
                        "modifiers": [],
                        "name": "log",
                        "nameLocation": "11455:3:62",
                        "nodeType": "FunctionDefinition",
                        "parameters": {
                            "id": 14278,
                            "nodeType": "ParameterList",
                            "parameters": [
                                {
                                    "constant": false,
                                    "id": 14273,
                                    "mutability": "mutable",
                                    "name": "p0",
                                    "nameLocation": "11473:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 14291,
                                    "src": "11459:16:62",
                                    "stateVariable": false,
                                    "storageLocation": "memory",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_string_memory_ptr",
                                        "typeString": "string"
                                    },
                                    "typeName": {
                                        "id": 14272,
                                        "name": "string",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "11459:6:62",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_string_storage_ptr",
                                            "typeString": "string"
                                        }
                                    },
                                    "visibility": "internal"
                                },
                                {
                                    "constant": false,
                                    "id": 14275,
                                    "mutability": "mutable",
                                    "name": "p1",
                                    "nameLocation": "11482:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 14291,
                                    "src": "11477:7:62",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_bool",
                                        "typeString": "bool"
                                    },
                                    "typeName": {
                                        "id": 14274,
                                        "name": "bool",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "11477:4:62",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_bool",
                                            "typeString": "bool"
                                        }
                                    },
                                    "visibility": "internal"
                                },
                                {
                                    "constant": false,
                                    "id": 14277,
                                    "mutability": "mutable",
                                    "name": "p2",
                                    "nameLocation": "11491:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 14291,
                                    "src": "11486:7:62",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_bool",
                                        "typeString": "bool"
                                    },
                                    "typeName": {
                                        "id": 14276,
                                        "name": "bool",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "11486:4:62",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_bool",
                                            "typeString": "bool"
                                        }
                                    },
                                    "visibility": "internal"
                                }
                            ],
                            "src": "11458:36:62"
                        },
                        "returnParameters": {
                            "id": 14279,
                            "nodeType": "ParameterList",
                            "parameters": [],
                            "src": "11509:0:62"
                        },
                        "scope": 20920,
                        "src": "11446:148:62",
                        "stateMutability": "view",
                        "virtual": false,
                        "visibility": "internal"
                    },
                    {
                        "body": {
                            "id": 14310,
                            "nodeType": "Block",
                            "src": "11663:88:62",
                            "statements": [
                                {
                                    "expression": {
                                        "arguments": [
                                            {
                                                "arguments": [
                                                    {
                                                        "hexValue": "6c6f6728737472696e672c626f6f6c2c6164647265737329",
                                                        "id": 14303,
                                                        "isConstant": false,
                                                        "isLValue": false,
                                                        "isPure": true,
                                                        "kind": "string",
                                                        "lValueRequested": false,
                                                        "nodeType": "Literal",
                                                        "src": "11707:26:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_stringliteral_932bbb385d479707ff387e3bb2d8968a7b4115e938510c531aa15b50507fc27f",
                                                            "typeString": "literal_string \"log(string,bool,address)\""
                                                        },
                                                        "value": "log(string,bool,address)"
                                                    },
                                                    {
                                                        "id": 14304,
                                                        "name": "p0",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 14293,
                                                        "src": "11735:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_string_memory_ptr",
                                                            "typeString": "string memory"
                                                        }
                                                    },
                                                    {
                                                        "id": 14305,
                                                        "name": "p1",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 14295,
                                                        "src": "11739:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_bool",
                                                            "typeString": "bool"
                                                        }
                                                    },
                                                    {
                                                        "id": 14306,
                                                        "name": "p2",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 14297,
                                                        "src": "11743:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_address",
                                                            "typeString": "address"
                                                        }
                                                    }
                                                ],
                                                "expression": {
                                                    "argumentTypes": [
                                                        {
                                                            "typeIdentifier": "t_stringliteral_932bbb385d479707ff387e3bb2d8968a7b4115e938510c531aa15b50507fc27f",
                                                            "typeString": "literal_string \"log(string,bool,address)\""
                                                        },
                                                        {
                                                            "typeIdentifier": "t_string_memory_ptr",
                                                            "typeString": "string memory"
                                                        },
                                                        {
                                                            "typeIdentifier": "t_bool",
                                                            "typeString": "bool"
                                                        },
                                                        {
                                                            "typeIdentifier": "t_address",
                                                            "typeString": "address"
                                                        }
                                                    ],
                                                    "expression": {
                                                        "id": 14301,
                                                        "name": "abi",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 4294967295,
                                                        "src": "11683:3:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_magic_abi",
                                                            "typeString": "abi"
                                                        }
                                                    },
                                                    "id": 14302,
                                                    "isConstant": false,
                                                    "isLValue": false,
                                                    "isPure": true,
                                                    "lValueRequested": false,
                                                    "memberName": "encodeWithSignature",
                                                    "nodeType": "MemberAccess",
                                                    "src": "11683:23:62",
                                                    "typeDescriptions": {
                                                        "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$",
                                                        "typeString": "function (string memory) pure returns (bytes memory)"
                                                    }
                                                },
                                                "id": 14307,
                                                "isConstant": false,
                                                "isLValue": false,
                                                "isPure": false,
                                                "kind": "functionCall",
                                                "lValueRequested": false,
                                                "names": [],
                                                "nodeType": "FunctionCall",
                                                "src": "11683:63:62",
                                                "tryCall": false,
                                                "typeDescriptions": {
                                                    "typeIdentifier": "t_bytes_memory_ptr",
                                                    "typeString": "bytes memory"
                                                }
                                            }
                                        ],
                                        "expression": {
                                            "argumentTypes": [
                                                {
                                                    "typeIdentifier": "t_bytes_memory_ptr",
                                                    "typeString": "bytes memory"
                                                }
                                            ],
                                            "id": 14300,
                                            "name": "_sendLogPayload",
                                            "nodeType": "Identifier",
                                            "overloadedDeclarations": [],
                                            "referencedDeclaration": 12880,
                                            "src": "11667:15:62",
                                            "typeDescriptions": {
                                                "typeIdentifier": "t_function_internal_view$_t_bytes_memory_ptr_$returns$__$",
                                                "typeString": "function (bytes memory) view"
                                            }
                                        },
                                        "id": 14308,
                                        "isConstant": false,
                                        "isLValue": false,
                                        "isPure": false,
                                        "kind": "functionCall",
                                        "lValueRequested": false,
                                        "names": [],
                                        "nodeType": "FunctionCall",
                                        "src": "11667:80:62",
                                        "tryCall": false,
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_tuple$__$",
                                            "typeString": "tuple()"
                                        }
                                    },
                                    "id": 14309,
                                    "nodeType": "ExpressionStatement",
                                    "src": "11667:80:62"
                                }
                            ]
                        },
                        "id": 14311,
                        "implemented": true,
                        "kind": "function",
                        "modifiers": [],
                        "name": "log",
                        "nameLocation": "11606:3:62",
                        "nodeType": "FunctionDefinition",
                        "parameters": {
                            "id": 14298,
                            "nodeType": "ParameterList",
                            "parameters": [
                                {
                                    "constant": false,
                                    "id": 14293,
                                    "mutability": "mutable",
                                    "name": "p0",
                                    "nameLocation": "11624:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 14311,
                                    "src": "11610:16:62",
                                    "stateVariable": false,
                                    "storageLocation": "memory",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_string_memory_ptr",
                                        "typeString": "string"
                                    },
                                    "typeName": {
                                        "id": 14292,
                                        "name": "string",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "11610:6:62",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_string_storage_ptr",
                                            "typeString": "string"
                                        }
                                    },
                                    "visibility": "internal"
                                },
                                {
                                    "constant": false,
                                    "id": 14295,
                                    "mutability": "mutable",
                                    "name": "p1",
                                    "nameLocation": "11633:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 14311,
                                    "src": "11628:7:62",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_bool",
                                        "typeString": "bool"
                                    },
                                    "typeName": {
                                        "id": 14294,
                                        "name": "bool",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "11628:4:62",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_bool",
                                            "typeString": "bool"
                                        }
                                    },
                                    "visibility": "internal"
                                },
                                {
                                    "constant": false,
                                    "id": 14297,
                                    "mutability": "mutable",
                                    "name": "p2",
                                    "nameLocation": "11645:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 14311,
                                    "src": "11637:10:62",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_address",
                                        "typeString": "address"
                                    },
                                    "typeName": {
                                        "id": 14296,
                                        "name": "address",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "11637:7:62",
                                        "stateMutability": "nonpayable",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_address",
                                            "typeString": "address"
                                        }
                                    },
                                    "visibility": "internal"
                                }
                            ],
                            "src": "11609:39:62"
                        },
                        "returnParameters": {
                            "id": 14299,
                            "nodeType": "ParameterList",
                            "parameters": [],
                            "src": "11663:0:62"
                        },
                        "scope": 20920,
                        "src": "11597:154:62",
                        "stateMutability": "view",
                        "virtual": false,
                        "visibility": "internal"
                    },
                    {
                        "body": {
                            "id": 14330,
                            "nodeType": "Block",
                            "src": "11820:88:62",
                            "statements": [
                                {
                                    "expression": {
                                        "arguments": [
                                            {
                                                "arguments": [
                                                    {
                                                        "hexValue": "6c6f6728737472696e672c616464726573732c75696e7429",
                                                        "id": 14323,
                                                        "isConstant": false,
                                                        "isLValue": false,
                                                        "isPure": true,
                                                        "kind": "string",
                                                        "lValueRequested": false,
                                                        "nodeType": "Literal",
                                                        "src": "11864:26:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_stringliteral_07c81217b9c48682941345dce61bbd916a12dd883642c9077891090a71c93a13",
                                                            "typeString": "literal_string \"log(string,address,uint)\""
                                                        },
                                                        "value": "log(string,address,uint)"
                                                    },
                                                    {
                                                        "id": 14324,
                                                        "name": "p0",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 14313,
                                                        "src": "11892:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_string_memory_ptr",
                                                            "typeString": "string memory"
                                                        }
                                                    },
                                                    {
                                                        "id": 14325,
                                                        "name": "p1",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 14315,
                                                        "src": "11896:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_address",
                                                            "typeString": "address"
                                                        }
                                                    },
                                                    {
                                                        "id": 14326,
                                                        "name": "p2",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 14317,
                                                        "src": "11900:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_uint256",
                                                            "typeString": "uint256"
                                                        }
                                                    }
                                                ],
                                                "expression": {
                                                    "argumentTypes": [
                                                        {
                                                            "typeIdentifier": "t_stringliteral_07c81217b9c48682941345dce61bbd916a12dd883642c9077891090a71c93a13",
                                                            "typeString": "literal_string \"log(string,address,uint)\""
                                                        },
                                                        {
                                                            "typeIdentifier": "t_string_memory_ptr",
                                                            "typeString": "string memory"
                                                        },
                                                        {
                                                            "typeIdentifier": "t_address",
                                                            "typeString": "address"
                                                        },
                                                        {
                                                            "typeIdentifier": "t_uint256",
                                                            "typeString": "uint256"
                                                        }
                                                    ],
                                                    "expression": {
                                                        "id": 14321,
                                                        "name": "abi",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 4294967295,
                                                        "src": "11840:3:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_magic_abi",
                                                            "typeString": "abi"
                                                        }
                                                    },
                                                    "id": 14322,
                                                    "isConstant": false,
                                                    "isLValue": false,
                                                    "isPure": true,
                                                    "lValueRequested": false,
                                                    "memberName": "encodeWithSignature",
                                                    "nodeType": "MemberAccess",
                                                    "src": "11840:23:62",
                                                    "typeDescriptions": {
                                                        "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$",
                                                        "typeString": "function (string memory) pure returns (bytes memory)"
                                                    }
                                                },
                                                "id": 14327,
                                                "isConstant": false,
                                                "isLValue": false,
                                                "isPure": false,
                                                "kind": "functionCall",
                                                "lValueRequested": false,
                                                "names": [],
                                                "nodeType": "FunctionCall",
                                                "src": "11840:63:62",
                                                "tryCall": false,
                                                "typeDescriptions": {
                                                    "typeIdentifier": "t_bytes_memory_ptr",
                                                    "typeString": "bytes memory"
                                                }
                                            }
                                        ],
                                        "expression": {
                                            "argumentTypes": [
                                                {
                                                    "typeIdentifier": "t_bytes_memory_ptr",
                                                    "typeString": "bytes memory"
                                                }
                                            ],
                                            "id": 14320,
                                            "name": "_sendLogPayload",
                                            "nodeType": "Identifier",
                                            "overloadedDeclarations": [],
                                            "referencedDeclaration": 12880,
                                            "src": "11824:15:62",
                                            "typeDescriptions": {
                                                "typeIdentifier": "t_function_internal_view$_t_bytes_memory_ptr_$returns$__$",
                                                "typeString": "function (bytes memory) view"
                                            }
                                        },
                                        "id": 14328,
                                        "isConstant": false,
                                        "isLValue": false,
                                        "isPure": false,
                                        "kind": "functionCall",
                                        "lValueRequested": false,
                                        "names": [],
                                        "nodeType": "FunctionCall",
                                        "src": "11824:80:62",
                                        "tryCall": false,
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_tuple$__$",
                                            "typeString": "tuple()"
                                        }
                                    },
                                    "id": 14329,
                                    "nodeType": "ExpressionStatement",
                                    "src": "11824:80:62"
                                }
                            ]
                        },
                        "id": 14331,
                        "implemented": true,
                        "kind": "function",
                        "modifiers": [],
                        "name": "log",
                        "nameLocation": "11763:3:62",
                        "nodeType": "FunctionDefinition",
                        "parameters": {
                            "id": 14318,
                            "nodeType": "ParameterList",
                            "parameters": [
                                {
                                    "constant": false,
                                    "id": 14313,
                                    "mutability": "mutable",
                                    "name": "p0",
                                    "nameLocation": "11781:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 14331,
                                    "src": "11767:16:62",
                                    "stateVariable": false,
                                    "storageLocation": "memory",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_string_memory_ptr",
                                        "typeString": "string"
                                    },
                                    "typeName": {
                                        "id": 14312,
                                        "name": "string",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "11767:6:62",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_string_storage_ptr",
                                            "typeString": "string"
                                        }
                                    },
                                    "visibility": "internal"
                                },
                                {
                                    "constant": false,
                                    "id": 14315,
                                    "mutability": "mutable",
                                    "name": "p1",
                                    "nameLocation": "11793:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 14331,
                                    "src": "11785:10:62",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_address",
                                        "typeString": "address"
                                    },
                                    "typeName": {
                                        "id": 14314,
                                        "name": "address",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "11785:7:62",
                                        "stateMutability": "nonpayable",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_address",
                                            "typeString": "address"
                                        }
                                    },
                                    "visibility": "internal"
                                },
                                {
                                    "constant": false,
                                    "id": 14317,
                                    "mutability": "mutable",
                                    "name": "p2",
                                    "nameLocation": "11802:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 14331,
                                    "src": "11797:7:62",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_uint256",
                                        "typeString": "uint256"
                                    },
                                    "typeName": {
                                        "id": 14316,
                                        "name": "uint",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "11797:4:62",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_uint256",
                                            "typeString": "uint256"
                                        }
                                    },
                                    "visibility": "internal"
                                }
                            ],
                            "src": "11766:39:62"
                        },
                        "returnParameters": {
                            "id": 14319,
                            "nodeType": "ParameterList",
                            "parameters": [],
                            "src": "11820:0:62"
                        },
                        "scope": 20920,
                        "src": "11754:154:62",
                        "stateMutability": "view",
                        "virtual": false,
                        "visibility": "internal"
                    },
                    {
                        "body": {
                            "id": 14350,
                            "nodeType": "Block",
                            "src": "11986:90:62",
                            "statements": [
                                {
                                    "expression": {
                                        "arguments": [
                                            {
                                                "arguments": [
                                                    {
                                                        "hexValue": "6c6f6728737472696e672c616464726573732c737472696e6729",
                                                        "id": 14343,
                                                        "isConstant": false,
                                                        "isLValue": false,
                                                        "isPure": true,
                                                        "kind": "string",
                                                        "lValueRequested": false,
                                                        "nodeType": "Literal",
                                                        "src": "12030:28:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_stringliteral_e0e9ad4f87059a51cce5555e129ca819f7e5d52e9c65a4e175882207ee47d634",
                                                            "typeString": "literal_string \"log(string,address,string)\""
                                                        },
                                                        "value": "log(string,address,string)"
                                                    },
                                                    {
                                                        "id": 14344,
                                                        "name": "p0",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 14333,
                                                        "src": "12060:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_string_memory_ptr",
                                                            "typeString": "string memory"
                                                        }
                                                    },
                                                    {
                                                        "id": 14345,
                                                        "name": "p1",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 14335,
                                                        "src": "12064:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_address",
                                                            "typeString": "address"
                                                        }
                                                    },
                                                    {
                                                        "id": 14346,
                                                        "name": "p2",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 14337,
                                                        "src": "12068:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_string_memory_ptr",
                                                            "typeString": "string memory"
                                                        }
                                                    }
                                                ],
                                                "expression": {
                                                    "argumentTypes": [
                                                        {
                                                            "typeIdentifier": "t_stringliteral_e0e9ad4f87059a51cce5555e129ca819f7e5d52e9c65a4e175882207ee47d634",
                                                            "typeString": "literal_string \"log(string,address,string)\""
                                                        },
                                                        {
                                                            "typeIdentifier": "t_string_memory_ptr",
                                                            "typeString": "string memory"
                                                        },
                                                        {
                                                            "typeIdentifier": "t_address",
                                                            "typeString": "address"
                                                        },
                                                        {
                                                            "typeIdentifier": "t_string_memory_ptr",
                                                            "typeString": "string memory"
                                                        }
                                                    ],
                                                    "expression": {
                                                        "id": 14341,
                                                        "name": "abi",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 4294967295,
                                                        "src": "12006:3:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_magic_abi",
                                                            "typeString": "abi"
                                                        }
                                                    },
                                                    "id": 14342,
                                                    "isConstant": false,
                                                    "isLValue": false,
                                                    "isPure": true,
                                                    "lValueRequested": false,
                                                    "memberName": "encodeWithSignature",
                                                    "nodeType": "MemberAccess",
                                                    "src": "12006:23:62",
                                                    "typeDescriptions": {
                                                        "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$",
                                                        "typeString": "function (string memory) pure returns (bytes memory)"
                                                    }
                                                },
                                                "id": 14347,
                                                "isConstant": false,
                                                "isLValue": false,
                                                "isPure": false,
                                                "kind": "functionCall",
                                                "lValueRequested": false,
                                                "names": [],
                                                "nodeType": "FunctionCall",
                                                "src": "12006:65:62",
                                                "tryCall": false,
                                                "typeDescriptions": {
                                                    "typeIdentifier": "t_bytes_memory_ptr",
                                                    "typeString": "bytes memory"
                                                }
                                            }
                                        ],
                                        "expression": {
                                            "argumentTypes": [
                                                {
                                                    "typeIdentifier": "t_bytes_memory_ptr",
                                                    "typeString": "bytes memory"
                                                }
                                            ],
                                            "id": 14340,
                                            "name": "_sendLogPayload",
                                            "nodeType": "Identifier",
                                            "overloadedDeclarations": [],
                                            "referencedDeclaration": 12880,
                                            "src": "11990:15:62",
                                            "typeDescriptions": {
                                                "typeIdentifier": "t_function_internal_view$_t_bytes_memory_ptr_$returns$__$",
                                                "typeString": "function (bytes memory) view"
                                            }
                                        },
                                        "id": 14348,
                                        "isConstant": false,
                                        "isLValue": false,
                                        "isPure": false,
                                        "kind": "functionCall",
                                        "lValueRequested": false,
                                        "names": [],
                                        "nodeType": "FunctionCall",
                                        "src": "11990:82:62",
                                        "tryCall": false,
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_tuple$__$",
                                            "typeString": "tuple()"
                                        }
                                    },
                                    "id": 14349,
                                    "nodeType": "ExpressionStatement",
                                    "src": "11990:82:62"
                                }
                            ]
                        },
                        "id": 14351,
                        "implemented": true,
                        "kind": "function",
                        "modifiers": [],
                        "name": "log",
                        "nameLocation": "11920:3:62",
                        "nodeType": "FunctionDefinition",
                        "parameters": {
                            "id": 14338,
                            "nodeType": "ParameterList",
                            "parameters": [
                                {
                                    "constant": false,
                                    "id": 14333,
                                    "mutability": "mutable",
                                    "name": "p0",
                                    "nameLocation": "11938:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 14351,
                                    "src": "11924:16:62",
                                    "stateVariable": false,
                                    "storageLocation": "memory",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_string_memory_ptr",
                                        "typeString": "string"
                                    },
                                    "typeName": {
                                        "id": 14332,
                                        "name": "string",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "11924:6:62",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_string_storage_ptr",
                                            "typeString": "string"
                                        }
                                    },
                                    "visibility": "internal"
                                },
                                {
                                    "constant": false,
                                    "id": 14335,
                                    "mutability": "mutable",
                                    "name": "p1",
                                    "nameLocation": "11950:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 14351,
                                    "src": "11942:10:62",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_address",
                                        "typeString": "address"
                                    },
                                    "typeName": {
                                        "id": 14334,
                                        "name": "address",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "11942:7:62",
                                        "stateMutability": "nonpayable",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_address",
                                            "typeString": "address"
                                        }
                                    },
                                    "visibility": "internal"
                                },
                                {
                                    "constant": false,
                                    "id": 14337,
                                    "mutability": "mutable",
                                    "name": "p2",
                                    "nameLocation": "11968:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 14351,
                                    "src": "11954:16:62",
                                    "stateVariable": false,
                                    "storageLocation": "memory",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_string_memory_ptr",
                                        "typeString": "string"
                                    },
                                    "typeName": {
                                        "id": 14336,
                                        "name": "string",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "11954:6:62",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_string_storage_ptr",
                                            "typeString": "string"
                                        }
                                    },
                                    "visibility": "internal"
                                }
                            ],
                            "src": "11923:48:62"
                        },
                        "returnParameters": {
                            "id": 14339,
                            "nodeType": "ParameterList",
                            "parameters": [],
                            "src": "11986:0:62"
                        },
                        "scope": 20920,
                        "src": "11911:165:62",
                        "stateMutability": "view",
                        "virtual": false,
                        "visibility": "internal"
                    },
                    {
                        "body": {
                            "id": 14370,
                            "nodeType": "Block",
                            "src": "12145:88:62",
                            "statements": [
                                {
                                    "expression": {
                                        "arguments": [
                                            {
                                                "arguments": [
                                                    {
                                                        "hexValue": "6c6f6728737472696e672c616464726573732c626f6f6c29",
                                                        "id": 14363,
                                                        "isConstant": false,
                                                        "isLValue": false,
                                                        "isPure": true,
                                                        "kind": "string",
                                                        "lValueRequested": false,
                                                        "nodeType": "Literal",
                                                        "src": "12189:26:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_stringliteral_c91d5ed4480e0b3323f998bcee9594aa98173c7324b015a4713a7c8429afd0b8",
                                                            "typeString": "literal_string \"log(string,address,bool)\""
                                                        },
                                                        "value": "log(string,address,bool)"
                                                    },
                                                    {
                                                        "id": 14364,
                                                        "name": "p0",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 14353,
                                                        "src": "12217:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_string_memory_ptr",
                                                            "typeString": "string memory"
                                                        }
                                                    },
                                                    {
                                                        "id": 14365,
                                                        "name": "p1",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 14355,
                                                        "src": "12221:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_address",
                                                            "typeString": "address"
                                                        }
                                                    },
                                                    {
                                                        "id": 14366,
                                                        "name": "p2",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 14357,
                                                        "src": "12225:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_bool",
                                                            "typeString": "bool"
                                                        }
                                                    }
                                                ],
                                                "expression": {
                                                    "argumentTypes": [
                                                        {
                                                            "typeIdentifier": "t_stringliteral_c91d5ed4480e0b3323f998bcee9594aa98173c7324b015a4713a7c8429afd0b8",
                                                            "typeString": "literal_string \"log(string,address,bool)\""
                                                        },
                                                        {
                                                            "typeIdentifier": "t_string_memory_ptr",
                                                            "typeString": "string memory"
                                                        },
                                                        {
                                                            "typeIdentifier": "t_address",
                                                            "typeString": "address"
                                                        },
                                                        {
                                                            "typeIdentifier": "t_bool",
                                                            "typeString": "bool"
                                                        }
                                                    ],
                                                    "expression": {
                                                        "id": 14361,
                                                        "name": "abi",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 4294967295,
                                                        "src": "12165:3:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_magic_abi",
                                                            "typeString": "abi"
                                                        }
                                                    },
                                                    "id": 14362,
                                                    "isConstant": false,
                                                    "isLValue": false,
                                                    "isPure": true,
                                                    "lValueRequested": false,
                                                    "memberName": "encodeWithSignature",
                                                    "nodeType": "MemberAccess",
                                                    "src": "12165:23:62",
                                                    "typeDescriptions": {
                                                        "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$",
                                                        "typeString": "function (string memory) pure returns (bytes memory)"
                                                    }
                                                },
                                                "id": 14367,
                                                "isConstant": false,
                                                "isLValue": false,
                                                "isPure": false,
                                                "kind": "functionCall",
                                                "lValueRequested": false,
                                                "names": [],
                                                "nodeType": "FunctionCall",
                                                "src": "12165:63:62",
                                                "tryCall": false,
                                                "typeDescriptions": {
                                                    "typeIdentifier": "t_bytes_memory_ptr",
                                                    "typeString": "bytes memory"
                                                }
                                            }
                                        ],
                                        "expression": {
                                            "argumentTypes": [
                                                {
                                                    "typeIdentifier": "t_bytes_memory_ptr",
                                                    "typeString": "bytes memory"
                                                }
                                            ],
                                            "id": 14360,
                                            "name": "_sendLogPayload",
                                            "nodeType": "Identifier",
                                            "overloadedDeclarations": [],
                                            "referencedDeclaration": 12880,
                                            "src": "12149:15:62",
                                            "typeDescriptions": {
                                                "typeIdentifier": "t_function_internal_view$_t_bytes_memory_ptr_$returns$__$",
                                                "typeString": "function (bytes memory) view"
                                            }
                                        },
                                        "id": 14368,
                                        "isConstant": false,
                                        "isLValue": false,
                                        "isPure": false,
                                        "kind": "functionCall",
                                        "lValueRequested": false,
                                        "names": [],
                                        "nodeType": "FunctionCall",
                                        "src": "12149:80:62",
                                        "tryCall": false,
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_tuple$__$",
                                            "typeString": "tuple()"
                                        }
                                    },
                                    "id": 14369,
                                    "nodeType": "ExpressionStatement",
                                    "src": "12149:80:62"
                                }
                            ]
                        },
                        "id": 14371,
                        "implemented": true,
                        "kind": "function",
                        "modifiers": [],
                        "name": "log",
                        "nameLocation": "12088:3:62",
                        "nodeType": "FunctionDefinition",
                        "parameters": {
                            "id": 14358,
                            "nodeType": "ParameterList",
                            "parameters": [
                                {
                                    "constant": false,
                                    "id": 14353,
                                    "mutability": "mutable",
                                    "name": "p0",
                                    "nameLocation": "12106:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 14371,
                                    "src": "12092:16:62",
                                    "stateVariable": false,
                                    "storageLocation": "memory",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_string_memory_ptr",
                                        "typeString": "string"
                                    },
                                    "typeName": {
                                        "id": 14352,
                                        "name": "string",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "12092:6:62",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_string_storage_ptr",
                                            "typeString": "string"
                                        }
                                    },
                                    "visibility": "internal"
                                },
                                {
                                    "constant": false,
                                    "id": 14355,
                                    "mutability": "mutable",
                                    "name": "p1",
                                    "nameLocation": "12118:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 14371,
                                    "src": "12110:10:62",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_address",
                                        "typeString": "address"
                                    },
                                    "typeName": {
                                        "id": 14354,
                                        "name": "address",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "12110:7:62",
                                        "stateMutability": "nonpayable",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_address",
                                            "typeString": "address"
                                        }
                                    },
                                    "visibility": "internal"
                                },
                                {
                                    "constant": false,
                                    "id": 14357,
                                    "mutability": "mutable",
                                    "name": "p2",
                                    "nameLocation": "12127:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 14371,
                                    "src": "12122:7:62",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_bool",
                                        "typeString": "bool"
                                    },
                                    "typeName": {
                                        "id": 14356,
                                        "name": "bool",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "12122:4:62",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_bool",
                                            "typeString": "bool"
                                        }
                                    },
                                    "visibility": "internal"
                                }
                            ],
                            "src": "12091:39:62"
                        },
                        "returnParameters": {
                            "id": 14359,
                            "nodeType": "ParameterList",
                            "parameters": [],
                            "src": "12145:0:62"
                        },
                        "scope": 20920,
                        "src": "12079:154:62",
                        "stateMutability": "view",
                        "virtual": false,
                        "visibility": "internal"
                    },
                    {
                        "body": {
                            "id": 14390,
                            "nodeType": "Block",
                            "src": "12305:91:62",
                            "statements": [
                                {
                                    "expression": {
                                        "arguments": [
                                            {
                                                "arguments": [
                                                    {
                                                        "hexValue": "6c6f6728737472696e672c616464726573732c6164647265737329",
                                                        "id": 14383,
                                                        "isConstant": false,
                                                        "isLValue": false,
                                                        "isPure": true,
                                                        "kind": "string",
                                                        "lValueRequested": false,
                                                        "nodeType": "Literal",
                                                        "src": "12349:29:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_stringliteral_fcec75e0902c9d61eded5d9f2eed16d5b0f2cd255fe6fa77733f59e1063823e8",
                                                            "typeString": "literal_string \"log(string,address,address)\""
                                                        },
                                                        "value": "log(string,address,address)"
                                                    },
                                                    {
                                                        "id": 14384,
                                                        "name": "p0",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 14373,
                                                        "src": "12380:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_string_memory_ptr",
                                                            "typeString": "string memory"
                                                        }
                                                    },
                                                    {
                                                        "id": 14385,
                                                        "name": "p1",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 14375,
                                                        "src": "12384:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_address",
                                                            "typeString": "address"
                                                        }
                                                    },
                                                    {
                                                        "id": 14386,
                                                        "name": "p2",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 14377,
                                                        "src": "12388:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_address",
                                                            "typeString": "address"
                                                        }
                                                    }
                                                ],
                                                "expression": {
                                                    "argumentTypes": [
                                                        {
                                                            "typeIdentifier": "t_stringliteral_fcec75e0902c9d61eded5d9f2eed16d5b0f2cd255fe6fa77733f59e1063823e8",
                                                            "typeString": "literal_string \"log(string,address,address)\""
                                                        },
                                                        {
                                                            "typeIdentifier": "t_string_memory_ptr",
                                                            "typeString": "string memory"
                                                        },
                                                        {
                                                            "typeIdentifier": "t_address",
                                                            "typeString": "address"
                                                        },
                                                        {
                                                            "typeIdentifier": "t_address",
                                                            "typeString": "address"
                                                        }
                                                    ],
                                                    "expression": {
                                                        "id": 14381,
                                                        "name": "abi",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 4294967295,
                                                        "src": "12325:3:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_magic_abi",
                                                            "typeString": "abi"
                                                        }
                                                    },
                                                    "id": 14382,
                                                    "isConstant": false,
                                                    "isLValue": false,
                                                    "isPure": true,
                                                    "lValueRequested": false,
                                                    "memberName": "encodeWithSignature",
                                                    "nodeType": "MemberAccess",
                                                    "src": "12325:23:62",
                                                    "typeDescriptions": {
                                                        "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$",
                                                        "typeString": "function (string memory) pure returns (bytes memory)"
                                                    }
                                                },
                                                "id": 14387,
                                                "isConstant": false,
                                                "isLValue": false,
                                                "isPure": false,
                                                "kind": "functionCall",
                                                "lValueRequested": false,
                                                "names": [],
                                                "nodeType": "FunctionCall",
                                                "src": "12325:66:62",
                                                "tryCall": false,
                                                "typeDescriptions": {
                                                    "typeIdentifier": "t_bytes_memory_ptr",
                                                    "typeString": "bytes memory"
                                                }
                                            }
                                        ],
                                        "expression": {
                                            "argumentTypes": [
                                                {
                                                    "typeIdentifier": "t_bytes_memory_ptr",
                                                    "typeString": "bytes memory"
                                                }
                                            ],
                                            "id": 14380,
                                            "name": "_sendLogPayload",
                                            "nodeType": "Identifier",
                                            "overloadedDeclarations": [],
                                            "referencedDeclaration": 12880,
                                            "src": "12309:15:62",
                                            "typeDescriptions": {
                                                "typeIdentifier": "t_function_internal_view$_t_bytes_memory_ptr_$returns$__$",
                                                "typeString": "function (bytes memory) view"
                                            }
                                        },
                                        "id": 14388,
                                        "isConstant": false,
                                        "isLValue": false,
                                        "isPure": false,
                                        "kind": "functionCall",
                                        "lValueRequested": false,
                                        "names": [],
                                        "nodeType": "FunctionCall",
                                        "src": "12309:83:62",
                                        "tryCall": false,
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_tuple$__$",
                                            "typeString": "tuple()"
                                        }
                                    },
                                    "id": 14389,
                                    "nodeType": "ExpressionStatement",
                                    "src": "12309:83:62"
                                }
                            ]
                        },
                        "id": 14391,
                        "implemented": true,
                        "kind": "function",
                        "modifiers": [],
                        "name": "log",
                        "nameLocation": "12245:3:62",
                        "nodeType": "FunctionDefinition",
                        "parameters": {
                            "id": 14378,
                            "nodeType": "ParameterList",
                            "parameters": [
                                {
                                    "constant": false,
                                    "id": 14373,
                                    "mutability": "mutable",
                                    "name": "p0",
                                    "nameLocation": "12263:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 14391,
                                    "src": "12249:16:62",
                                    "stateVariable": false,
                                    "storageLocation": "memory",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_string_memory_ptr",
                                        "typeString": "string"
                                    },
                                    "typeName": {
                                        "id": 14372,
                                        "name": "string",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "12249:6:62",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_string_storage_ptr",
                                            "typeString": "string"
                                        }
                                    },
                                    "visibility": "internal"
                                },
                                {
                                    "constant": false,
                                    "id": 14375,
                                    "mutability": "mutable",
                                    "name": "p1",
                                    "nameLocation": "12275:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 14391,
                                    "src": "12267:10:62",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_address",
                                        "typeString": "address"
                                    },
                                    "typeName": {
                                        "id": 14374,
                                        "name": "address",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "12267:7:62",
                                        "stateMutability": "nonpayable",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_address",
                                            "typeString": "address"
                                        }
                                    },
                                    "visibility": "internal"
                                },
                                {
                                    "constant": false,
                                    "id": 14377,
                                    "mutability": "mutable",
                                    "name": "p2",
                                    "nameLocation": "12287:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 14391,
                                    "src": "12279:10:62",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_address",
                                        "typeString": "address"
                                    },
                                    "typeName": {
                                        "id": 14376,
                                        "name": "address",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "12279:7:62",
                                        "stateMutability": "nonpayable",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_address",
                                            "typeString": "address"
                                        }
                                    },
                                    "visibility": "internal"
                                }
                            ],
                            "src": "12248:42:62"
                        },
                        "returnParameters": {
                            "id": 14379,
                            "nodeType": "ParameterList",
                            "parameters": [],
                            "src": "12305:0:62"
                        },
                        "scope": 20920,
                        "src": "12236:160:62",
                        "stateMutability": "view",
                        "virtual": false,
                        "visibility": "internal"
                    },
                    {
                        "body": {
                            "id": 14410,
                            "nodeType": "Block",
                            "src": "12453:83:62",
                            "statements": [
                                {
                                    "expression": {
                                        "arguments": [
                                            {
                                                "arguments": [
                                                    {
                                                        "hexValue": "6c6f6728626f6f6c2c75696e742c75696e7429",
                                                        "id": 14403,
                                                        "isConstant": false,
                                                        "isLValue": false,
                                                        "isPure": true,
                                                        "kind": "string",
                                                        "lValueRequested": false,
                                                        "nodeType": "Literal",
                                                        "src": "12497:21:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_stringliteral_3b5c03e061c862e366b964ce1ef4845511d610b73a90137eb2b2afa3099b1a4e",
                                                            "typeString": "literal_string \"log(bool,uint,uint)\""
                                                        },
                                                        "value": "log(bool,uint,uint)"
                                                    },
                                                    {
                                                        "id": 14404,
                                                        "name": "p0",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 14393,
                                                        "src": "12520:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_bool",
                                                            "typeString": "bool"
                                                        }
                                                    },
                                                    {
                                                        "id": 14405,
                                                        "name": "p1",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 14395,
                                                        "src": "12524:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_uint256",
                                                            "typeString": "uint256"
                                                        }
                                                    },
                                                    {
                                                        "id": 14406,
                                                        "name": "p2",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 14397,
                                                        "src": "12528:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_uint256",
                                                            "typeString": "uint256"
                                                        }
                                                    }
                                                ],
                                                "expression": {
                                                    "argumentTypes": [
                                                        {
                                                            "typeIdentifier": "t_stringliteral_3b5c03e061c862e366b964ce1ef4845511d610b73a90137eb2b2afa3099b1a4e",
                                                            "typeString": "literal_string \"log(bool,uint,uint)\""
                                                        },
                                                        {
                                                            "typeIdentifier": "t_bool",
                                                            "typeString": "bool"
                                                        },
                                                        {
                                                            "typeIdentifier": "t_uint256",
                                                            "typeString": "uint256"
                                                        },
                                                        {
                                                            "typeIdentifier": "t_uint256",
                                                            "typeString": "uint256"
                                                        }
                                                    ],
                                                    "expression": {
                                                        "id": 14401,
                                                        "name": "abi",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 4294967295,
                                                        "src": "12473:3:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_magic_abi",
                                                            "typeString": "abi"
                                                        }
                                                    },
                                                    "id": 14402,
                                                    "isConstant": false,
                                                    "isLValue": false,
                                                    "isPure": true,
                                                    "lValueRequested": false,
                                                    "memberName": "encodeWithSignature",
                                                    "nodeType": "MemberAccess",
                                                    "src": "12473:23:62",
                                                    "typeDescriptions": {
                                                        "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$",
                                                        "typeString": "function (string memory) pure returns (bytes memory)"
                                                    }
                                                },
                                                "id": 14407,
                                                "isConstant": false,
                                                "isLValue": false,
                                                "isPure": false,
                                                "kind": "functionCall",
                                                "lValueRequested": false,
                                                "names": [],
                                                "nodeType": "FunctionCall",
                                                "src": "12473:58:62",
                                                "tryCall": false,
                                                "typeDescriptions": {
                                                    "typeIdentifier": "t_bytes_memory_ptr",
                                                    "typeString": "bytes memory"
                                                }
                                            }
                                        ],
                                        "expression": {
                                            "argumentTypes": [
                                                {
                                                    "typeIdentifier": "t_bytes_memory_ptr",
                                                    "typeString": "bytes memory"
                                                }
                                            ],
                                            "id": 14400,
                                            "name": "_sendLogPayload",
                                            "nodeType": "Identifier",
                                            "overloadedDeclarations": [],
                                            "referencedDeclaration": 12880,
                                            "src": "12457:15:62",
                                            "typeDescriptions": {
                                                "typeIdentifier": "t_function_internal_view$_t_bytes_memory_ptr_$returns$__$",
                                                "typeString": "function (bytes memory) view"
                                            }
                                        },
                                        "id": 14408,
                                        "isConstant": false,
                                        "isLValue": false,
                                        "isPure": false,
                                        "kind": "functionCall",
                                        "lValueRequested": false,
                                        "names": [],
                                        "nodeType": "FunctionCall",
                                        "src": "12457:75:62",
                                        "tryCall": false,
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_tuple$__$",
                                            "typeString": "tuple()"
                                        }
                                    },
                                    "id": 14409,
                                    "nodeType": "ExpressionStatement",
                                    "src": "12457:75:62"
                                }
                            ]
                        },
                        "id": 14411,
                        "implemented": true,
                        "kind": "function",
                        "modifiers": [],
                        "name": "log",
                        "nameLocation": "12408:3:62",
                        "nodeType": "FunctionDefinition",
                        "parameters": {
                            "id": 14398,
                            "nodeType": "ParameterList",
                            "parameters": [
                                {
                                    "constant": false,
                                    "id": 14393,
                                    "mutability": "mutable",
                                    "name": "p0",
                                    "nameLocation": "12417:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 14411,
                                    "src": "12412:7:62",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_bool",
                                        "typeString": "bool"
                                    },
                                    "typeName": {
                                        "id": 14392,
                                        "name": "bool",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "12412:4:62",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_bool",
                                            "typeString": "bool"
                                        }
                                    },
                                    "visibility": "internal"
                                },
                                {
                                    "constant": false,
                                    "id": 14395,
                                    "mutability": "mutable",
                                    "name": "p1",
                                    "nameLocation": "12426:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 14411,
                                    "src": "12421:7:62",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_uint256",
                                        "typeString": "uint256"
                                    },
                                    "typeName": {
                                        "id": 14394,
                                        "name": "uint",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "12421:4:62",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_uint256",
                                            "typeString": "uint256"
                                        }
                                    },
                                    "visibility": "internal"
                                },
                                {
                                    "constant": false,
                                    "id": 14397,
                                    "mutability": "mutable",
                                    "name": "p2",
                                    "nameLocation": "12435:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 14411,
                                    "src": "12430:7:62",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_uint256",
                                        "typeString": "uint256"
                                    },
                                    "typeName": {
                                        "id": 14396,
                                        "name": "uint",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "12430:4:62",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_uint256",
                                            "typeString": "uint256"
                                        }
                                    },
                                    "visibility": "internal"
                                }
                            ],
                            "src": "12411:27:62"
                        },
                        "returnParameters": {
                            "id": 14399,
                            "nodeType": "ParameterList",
                            "parameters": [],
                            "src": "12453:0:62"
                        },
                        "scope": 20920,
                        "src": "12399:137:62",
                        "stateMutability": "view",
                        "virtual": false,
                        "visibility": "internal"
                    },
                    {
                        "body": {
                            "id": 14430,
                            "nodeType": "Block",
                            "src": "12602:85:62",
                            "statements": [
                                {
                                    "expression": {
                                        "arguments": [
                                            {
                                                "arguments": [
                                                    {
                                                        "hexValue": "6c6f6728626f6f6c2c75696e742c737472696e6729",
                                                        "id": 14423,
                                                        "isConstant": false,
                                                        "isLValue": false,
                                                        "isPure": true,
                                                        "kind": "string",
                                                        "lValueRequested": false,
                                                        "nodeType": "Literal",
                                                        "src": "12646:23:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_stringliteral_c8397eb0de34bc3ec2853d625c1649c0c0abb20941c30ba650cc738adade018f",
                                                            "typeString": "literal_string \"log(bool,uint,string)\""
                                                        },
                                                        "value": "log(bool,uint,string)"
                                                    },
                                                    {
                                                        "id": 14424,
                                                        "name": "p0",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 14413,
                                                        "src": "12671:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_bool",
                                                            "typeString": "bool"
                                                        }
                                                    },
                                                    {
                                                        "id": 14425,
                                                        "name": "p1",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 14415,
                                                        "src": "12675:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_uint256",
                                                            "typeString": "uint256"
                                                        }
                                                    },
                                                    {
                                                        "id": 14426,
                                                        "name": "p2",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 14417,
                                                        "src": "12679:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_string_memory_ptr",
                                                            "typeString": "string memory"
                                                        }
                                                    }
                                                ],
                                                "expression": {
                                                    "argumentTypes": [
                                                        {
                                                            "typeIdentifier": "t_stringliteral_c8397eb0de34bc3ec2853d625c1649c0c0abb20941c30ba650cc738adade018f",
                                                            "typeString": "literal_string \"log(bool,uint,string)\""
                                                        },
                                                        {
                                                            "typeIdentifier": "t_bool",
                                                            "typeString": "bool"
                                                        },
                                                        {
                                                            "typeIdentifier": "t_uint256",
                                                            "typeString": "uint256"
                                                        },
                                                        {
                                                            "typeIdentifier": "t_string_memory_ptr",
                                                            "typeString": "string memory"
                                                        }
                                                    ],
                                                    "expression": {
                                                        "id": 14421,
                                                        "name": "abi",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 4294967295,
                                                        "src": "12622:3:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_magic_abi",
                                                            "typeString": "abi"
                                                        }
                                                    },
                                                    "id": 14422,
                                                    "isConstant": false,
                                                    "isLValue": false,
                                                    "isPure": true,
                                                    "lValueRequested": false,
                                                    "memberName": "encodeWithSignature",
                                                    "nodeType": "MemberAccess",
                                                    "src": "12622:23:62",
                                                    "typeDescriptions": {
                                                        "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$",
                                                        "typeString": "function (string memory) pure returns (bytes memory)"
                                                    }
                                                },
                                                "id": 14427,
                                                "isConstant": false,
                                                "isLValue": false,
                                                "isPure": false,
                                                "kind": "functionCall",
                                                "lValueRequested": false,
                                                "names": [],
                                                "nodeType": "FunctionCall",
                                                "src": "12622:60:62",
                                                "tryCall": false,
                                                "typeDescriptions": {
                                                    "typeIdentifier": "t_bytes_memory_ptr",
                                                    "typeString": "bytes memory"
                                                }
                                            }
                                        ],
                                        "expression": {
                                            "argumentTypes": [
                                                {
                                                    "typeIdentifier": "t_bytes_memory_ptr",
                                                    "typeString": "bytes memory"
                                                }
                                            ],
                                            "id": 14420,
                                            "name": "_sendLogPayload",
                                            "nodeType": "Identifier",
                                            "overloadedDeclarations": [],
                                            "referencedDeclaration": 12880,
                                            "src": "12606:15:62",
                                            "typeDescriptions": {
                                                "typeIdentifier": "t_function_internal_view$_t_bytes_memory_ptr_$returns$__$",
                                                "typeString": "function (bytes memory) view"
                                            }
                                        },
                                        "id": 14428,
                                        "isConstant": false,
                                        "isLValue": false,
                                        "isPure": false,
                                        "kind": "functionCall",
                                        "lValueRequested": false,
                                        "names": [],
                                        "nodeType": "FunctionCall",
                                        "src": "12606:77:62",
                                        "tryCall": false,
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_tuple$__$",
                                            "typeString": "tuple()"
                                        }
                                    },
                                    "id": 14429,
                                    "nodeType": "ExpressionStatement",
                                    "src": "12606:77:62"
                                }
                            ]
                        },
                        "id": 14431,
                        "implemented": true,
                        "kind": "function",
                        "modifiers": [],
                        "name": "log",
                        "nameLocation": "12548:3:62",
                        "nodeType": "FunctionDefinition",
                        "parameters": {
                            "id": 14418,
                            "nodeType": "ParameterList",
                            "parameters": [
                                {
                                    "constant": false,
                                    "id": 14413,
                                    "mutability": "mutable",
                                    "name": "p0",
                                    "nameLocation": "12557:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 14431,
                                    "src": "12552:7:62",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_bool",
                                        "typeString": "bool"
                                    },
                                    "typeName": {
                                        "id": 14412,
                                        "name": "bool",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "12552:4:62",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_bool",
                                            "typeString": "bool"
                                        }
                                    },
                                    "visibility": "internal"
                                },
                                {
                                    "constant": false,
                                    "id": 14415,
                                    "mutability": "mutable",
                                    "name": "p1",
                                    "nameLocation": "12566:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 14431,
                                    "src": "12561:7:62",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_uint256",
                                        "typeString": "uint256"
                                    },
                                    "typeName": {
                                        "id": 14414,
                                        "name": "uint",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "12561:4:62",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_uint256",
                                            "typeString": "uint256"
                                        }
                                    },
                                    "visibility": "internal"
                                },
                                {
                                    "constant": false,
                                    "id": 14417,
                                    "mutability": "mutable",
                                    "name": "p2",
                                    "nameLocation": "12584:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 14431,
                                    "src": "12570:16:62",
                                    "stateVariable": false,
                                    "storageLocation": "memory",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_string_memory_ptr",
                                        "typeString": "string"
                                    },
                                    "typeName": {
                                        "id": 14416,
                                        "name": "string",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "12570:6:62",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_string_storage_ptr",
                                            "typeString": "string"
                                        }
                                    },
                                    "visibility": "internal"
                                }
                            ],
                            "src": "12551:36:62"
                        },
                        "returnParameters": {
                            "id": 14419,
                            "nodeType": "ParameterList",
                            "parameters": [],
                            "src": "12602:0:62"
                        },
                        "scope": 20920,
                        "src": "12539:148:62",
                        "stateMutability": "view",
                        "virtual": false,
                        "visibility": "internal"
                    },
                    {
                        "body": {
                            "id": 14450,
                            "nodeType": "Block",
                            "src": "12744:83:62",
                            "statements": [
                                {
                                    "expression": {
                                        "arguments": [
                                            {
                                                "arguments": [
                                                    {
                                                        "hexValue": "6c6f6728626f6f6c2c75696e742c626f6f6c29",
                                                        "id": 14443,
                                                        "isConstant": false,
                                                        "isLValue": false,
                                                        "isPure": true,
                                                        "kind": "string",
                                                        "lValueRequested": false,
                                                        "nodeType": "Literal",
                                                        "src": "12788:21:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_stringliteral_1badc9eb6813ec769c33a3918f278565b7e2e9ed34d2ae2d50d951cc0f602ae0",
                                                            "typeString": "literal_string \"log(bool,uint,bool)\""
                                                        },
                                                        "value": "log(bool,uint,bool)"
                                                    },
                                                    {
                                                        "id": 14444,
                                                        "name": "p0",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 14433,
                                                        "src": "12811:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_bool",
                                                            "typeString": "bool"
                                                        }
                                                    },
                                                    {
                                                        "id": 14445,
                                                        "name": "p1",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 14435,
                                                        "src": "12815:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_uint256",
                                                            "typeString": "uint256"
                                                        }
                                                    },
                                                    {
                                                        "id": 14446,
                                                        "name": "p2",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 14437,
                                                        "src": "12819:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_bool",
                                                            "typeString": "bool"
                                                        }
                                                    }
                                                ],
                                                "expression": {
                                                    "argumentTypes": [
                                                        {
                                                            "typeIdentifier": "t_stringliteral_1badc9eb6813ec769c33a3918f278565b7e2e9ed34d2ae2d50d951cc0f602ae0",
                                                            "typeString": "literal_string \"log(bool,uint,bool)\""
                                                        },
                                                        {
                                                            "typeIdentifier": "t_bool",
                                                            "typeString": "bool"
                                                        },
                                                        {
                                                            "typeIdentifier": "t_uint256",
                                                            "typeString": "uint256"
                                                        },
                                                        {
                                                            "typeIdentifier": "t_bool",
                                                            "typeString": "bool"
                                                        }
                                                    ],
                                                    "expression": {
                                                        "id": 14441,
                                                        "name": "abi",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 4294967295,
                                                        "src": "12764:3:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_magic_abi",
                                                            "typeString": "abi"
                                                        }
                                                    },
                                                    "id": 14442,
                                                    "isConstant": false,
                                                    "isLValue": false,
                                                    "isPure": true,
                                                    "lValueRequested": false,
                                                    "memberName": "encodeWithSignature",
                                                    "nodeType": "MemberAccess",
                                                    "src": "12764:23:62",
                                                    "typeDescriptions": {
                                                        "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$",
                                                        "typeString": "function (string memory) pure returns (bytes memory)"
                                                    }
                                                },
                                                "id": 14447,
                                                "isConstant": false,
                                                "isLValue": false,
                                                "isPure": false,
                                                "kind": "functionCall",
                                                "lValueRequested": false,
                                                "names": [],
                                                "nodeType": "FunctionCall",
                                                "src": "12764:58:62",
                                                "tryCall": false,
                                                "typeDescriptions": {
                                                    "typeIdentifier": "t_bytes_memory_ptr",
                                                    "typeString": "bytes memory"
                                                }
                                            }
                                        ],
                                        "expression": {
                                            "argumentTypes": [
                                                {
                                                    "typeIdentifier": "t_bytes_memory_ptr",
                                                    "typeString": "bytes memory"
                                                }
                                            ],
                                            "id": 14440,
                                            "name": "_sendLogPayload",
                                            "nodeType": "Identifier",
                                            "overloadedDeclarations": [],
                                            "referencedDeclaration": 12880,
                                            "src": "12748:15:62",
                                            "typeDescriptions": {
                                                "typeIdentifier": "t_function_internal_view$_t_bytes_memory_ptr_$returns$__$",
                                                "typeString": "function (bytes memory) view"
                                            }
                                        },
                                        "id": 14448,
                                        "isConstant": false,
                                        "isLValue": false,
                                        "isPure": false,
                                        "kind": "functionCall",
                                        "lValueRequested": false,
                                        "names": [],
                                        "nodeType": "FunctionCall",
                                        "src": "12748:75:62",
                                        "tryCall": false,
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_tuple$__$",
                                            "typeString": "tuple()"
                                        }
                                    },
                                    "id": 14449,
                                    "nodeType": "ExpressionStatement",
                                    "src": "12748:75:62"
                                }
                            ]
                        },
                        "id": 14451,
                        "implemented": true,
                        "kind": "function",
                        "modifiers": [],
                        "name": "log",
                        "nameLocation": "12699:3:62",
                        "nodeType": "FunctionDefinition",
                        "parameters": {
                            "id": 14438,
                            "nodeType": "ParameterList",
                            "parameters": [
                                {
                                    "constant": false,
                                    "id": 14433,
                                    "mutability": "mutable",
                                    "name": "p0",
                                    "nameLocation": "12708:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 14451,
                                    "src": "12703:7:62",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_bool",
                                        "typeString": "bool"
                                    },
                                    "typeName": {
                                        "id": 14432,
                                        "name": "bool",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "12703:4:62",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_bool",
                                            "typeString": "bool"
                                        }
                                    },
                                    "visibility": "internal"
                                },
                                {
                                    "constant": false,
                                    "id": 14435,
                                    "mutability": "mutable",
                                    "name": "p1",
                                    "nameLocation": "12717:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 14451,
                                    "src": "12712:7:62",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_uint256",
                                        "typeString": "uint256"
                                    },
                                    "typeName": {
                                        "id": 14434,
                                        "name": "uint",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "12712:4:62",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_uint256",
                                            "typeString": "uint256"
                                        }
                                    },
                                    "visibility": "internal"
                                },
                                {
                                    "constant": false,
                                    "id": 14437,
                                    "mutability": "mutable",
                                    "name": "p2",
                                    "nameLocation": "12726:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 14451,
                                    "src": "12721:7:62",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_bool",
                                        "typeString": "bool"
                                    },
                                    "typeName": {
                                        "id": 14436,
                                        "name": "bool",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "12721:4:62",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_bool",
                                            "typeString": "bool"
                                        }
                                    },
                                    "visibility": "internal"
                                }
                            ],
                            "src": "12702:27:62"
                        },
                        "returnParameters": {
                            "id": 14439,
                            "nodeType": "ParameterList",
                            "parameters": [],
                            "src": "12744:0:62"
                        },
                        "scope": 20920,
                        "src": "12690:137:62",
                        "stateMutability": "view",
                        "virtual": false,
                        "visibility": "internal"
                    },
                    {
                        "body": {
                            "id": 14470,
                            "nodeType": "Block",
                            "src": "12887:86:62",
                            "statements": [
                                {
                                    "expression": {
                                        "arguments": [
                                            {
                                                "arguments": [
                                                    {
                                                        "hexValue": "6c6f6728626f6f6c2c75696e742c6164647265737329",
                                                        "id": 14463,
                                                        "isConstant": false,
                                                        "isLValue": false,
                                                        "isPure": true,
                                                        "kind": "string",
                                                        "lValueRequested": false,
                                                        "nodeType": "Literal",
                                                        "src": "12931:24:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_stringliteral_c4d23507f52009aec241457bf26dc51305bd2896aa08c5b47f04709554b39440",
                                                            "typeString": "literal_string \"log(bool,uint,address)\""
                                                        },
                                                        "value": "log(bool,uint,address)"
                                                    },
                                                    {
                                                        "id": 14464,
                                                        "name": "p0",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 14453,
                                                        "src": "12957:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_bool",
                                                            "typeString": "bool"
                                                        }
                                                    },
                                                    {
                                                        "id": 14465,
                                                        "name": "p1",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 14455,
                                                        "src": "12961:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_uint256",
                                                            "typeString": "uint256"
                                                        }
                                                    },
                                                    {
                                                        "id": 14466,
                                                        "name": "p2",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 14457,
                                                        "src": "12965:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_address",
                                                            "typeString": "address"
                                                        }
                                                    }
                                                ],
                                                "expression": {
                                                    "argumentTypes": [
                                                        {
                                                            "typeIdentifier": "t_stringliteral_c4d23507f52009aec241457bf26dc51305bd2896aa08c5b47f04709554b39440",
                                                            "typeString": "literal_string \"log(bool,uint,address)\""
                                                        },
                                                        {
                                                            "typeIdentifier": "t_bool",
                                                            "typeString": "bool"
                                                        },
                                                        {
                                                            "typeIdentifier": "t_uint256",
                                                            "typeString": "uint256"
                                                        },
                                                        {
                                                            "typeIdentifier": "t_address",
                                                            "typeString": "address"
                                                        }
                                                    ],
                                                    "expression": {
                                                        "id": 14461,
                                                        "name": "abi",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 4294967295,
                                                        "src": "12907:3:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_magic_abi",
                                                            "typeString": "abi"
                                                        }
                                                    },
                                                    "id": 14462,
                                                    "isConstant": false,
                                                    "isLValue": false,
                                                    "isPure": true,
                                                    "lValueRequested": false,
                                                    "memberName": "encodeWithSignature",
                                                    "nodeType": "MemberAccess",
                                                    "src": "12907:23:62",
                                                    "typeDescriptions": {
                                                        "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$",
                                                        "typeString": "function (string memory) pure returns (bytes memory)"
                                                    }
                                                },
                                                "id": 14467,
                                                "isConstant": false,
                                                "isLValue": false,
                                                "isPure": false,
                                                "kind": "functionCall",
                                                "lValueRequested": false,
                                                "names": [],
                                                "nodeType": "FunctionCall",
                                                "src": "12907:61:62",
                                                "tryCall": false,
                                                "typeDescriptions": {
                                                    "typeIdentifier": "t_bytes_memory_ptr",
                                                    "typeString": "bytes memory"
                                                }
                                            }
                                        ],
                                        "expression": {
                                            "argumentTypes": [
                                                {
                                                    "typeIdentifier": "t_bytes_memory_ptr",
                                                    "typeString": "bytes memory"
                                                }
                                            ],
                                            "id": 14460,
                                            "name": "_sendLogPayload",
                                            "nodeType": "Identifier",
                                            "overloadedDeclarations": [],
                                            "referencedDeclaration": 12880,
                                            "src": "12891:15:62",
                                            "typeDescriptions": {
                                                "typeIdentifier": "t_function_internal_view$_t_bytes_memory_ptr_$returns$__$",
                                                "typeString": "function (bytes memory) view"
                                            }
                                        },
                                        "id": 14468,
                                        "isConstant": false,
                                        "isLValue": false,
                                        "isPure": false,
                                        "kind": "functionCall",
                                        "lValueRequested": false,
                                        "names": [],
                                        "nodeType": "FunctionCall",
                                        "src": "12891:78:62",
                                        "tryCall": false,
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_tuple$__$",
                                            "typeString": "tuple()"
                                        }
                                    },
                                    "id": 14469,
                                    "nodeType": "ExpressionStatement",
                                    "src": "12891:78:62"
                                }
                            ]
                        },
                        "id": 14471,
                        "implemented": true,
                        "kind": "function",
                        "modifiers": [],
                        "name": "log",
                        "nameLocation": "12839:3:62",
                        "nodeType": "FunctionDefinition",
                        "parameters": {
                            "id": 14458,
                            "nodeType": "ParameterList",
                            "parameters": [
                                {
                                    "constant": false,
                                    "id": 14453,
                                    "mutability": "mutable",
                                    "name": "p0",
                                    "nameLocation": "12848:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 14471,
                                    "src": "12843:7:62",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_bool",
                                        "typeString": "bool"
                                    },
                                    "typeName": {
                                        "id": 14452,
                                        "name": "bool",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "12843:4:62",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_bool",
                                            "typeString": "bool"
                                        }
                                    },
                                    "visibility": "internal"
                                },
                                {
                                    "constant": false,
                                    "id": 14455,
                                    "mutability": "mutable",
                                    "name": "p1",
                                    "nameLocation": "12857:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 14471,
                                    "src": "12852:7:62",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_uint256",
                                        "typeString": "uint256"
                                    },
                                    "typeName": {
                                        "id": 14454,
                                        "name": "uint",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "12852:4:62",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_uint256",
                                            "typeString": "uint256"
                                        }
                                    },
                                    "visibility": "internal"
                                },
                                {
                                    "constant": false,
                                    "id": 14457,
                                    "mutability": "mutable",
                                    "name": "p2",
                                    "nameLocation": "12869:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 14471,
                                    "src": "12861:10:62",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_address",
                                        "typeString": "address"
                                    },
                                    "typeName": {
                                        "id": 14456,
                                        "name": "address",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "12861:7:62",
                                        "stateMutability": "nonpayable",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_address",
                                            "typeString": "address"
                                        }
                                    },
                                    "visibility": "internal"
                                }
                            ],
                            "src": "12842:30:62"
                        },
                        "returnParameters": {
                            "id": 14459,
                            "nodeType": "ParameterList",
                            "parameters": [],
                            "src": "12887:0:62"
                        },
                        "scope": 20920,
                        "src": "12830:143:62",
                        "stateMutability": "view",
                        "virtual": false,
                        "visibility": "internal"
                    },
                    {
                        "body": {
                            "id": 14490,
                            "nodeType": "Block",
                            "src": "13039:85:62",
                            "statements": [
                                {
                                    "expression": {
                                        "arguments": [
                                            {
                                                "arguments": [
                                                    {
                                                        "hexValue": "6c6f6728626f6f6c2c737472696e672c75696e7429",
                                                        "id": 14483,
                                                        "isConstant": false,
                                                        "isLValue": false,
                                                        "isPure": true,
                                                        "kind": "string",
                                                        "lValueRequested": false,
                                                        "nodeType": "Literal",
                                                        "src": "13083:23:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_stringliteral_c0382aac3e9b237c9c8f246cdb8152d44351aaafa72d99e3640be65f754ac807",
                                                            "typeString": "literal_string \"log(bool,string,uint)\""
                                                        },
                                                        "value": "log(bool,string,uint)"
                                                    },
                                                    {
                                                        "id": 14484,
                                                        "name": "p0",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 14473,
                                                        "src": "13108:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_bool",
                                                            "typeString": "bool"
                                                        }
                                                    },
                                                    {
                                                        "id": 14485,
                                                        "name": "p1",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 14475,
                                                        "src": "13112:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_string_memory_ptr",
                                                            "typeString": "string memory"
                                                        }
                                                    },
                                                    {
                                                        "id": 14486,
                                                        "name": "p2",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 14477,
                                                        "src": "13116:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_uint256",
                                                            "typeString": "uint256"
                                                        }
                                                    }
                                                ],
                                                "expression": {
                                                    "argumentTypes": [
                                                        {
                                                            "typeIdentifier": "t_stringliteral_c0382aac3e9b237c9c8f246cdb8152d44351aaafa72d99e3640be65f754ac807",
                                                            "typeString": "literal_string \"log(bool,string,uint)\""
                                                        },
                                                        {
                                                            "typeIdentifier": "t_bool",
                                                            "typeString": "bool"
                                                        },
                                                        {
                                                            "typeIdentifier": "t_string_memory_ptr",
                                                            "typeString": "string memory"
                                                        },
                                                        {
                                                            "typeIdentifier": "t_uint256",
                                                            "typeString": "uint256"
                                                        }
                                                    ],
                                                    "expression": {
                                                        "id": 14481,
                                                        "name": "abi",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 4294967295,
                                                        "src": "13059:3:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_magic_abi",
                                                            "typeString": "abi"
                                                        }
                                                    },
                                                    "id": 14482,
                                                    "isConstant": false,
                                                    "isLValue": false,
                                                    "isPure": true,
                                                    "lValueRequested": false,
                                                    "memberName": "encodeWithSignature",
                                                    "nodeType": "MemberAccess",
                                                    "src": "13059:23:62",
                                                    "typeDescriptions": {
                                                        "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$",
                                                        "typeString": "function (string memory) pure returns (bytes memory)"
                                                    }
                                                },
                                                "id": 14487,
                                                "isConstant": false,
                                                "isLValue": false,
                                                "isPure": false,
                                                "kind": "functionCall",
                                                "lValueRequested": false,
                                                "names": [],
                                                "nodeType": "FunctionCall",
                                                "src": "13059:60:62",
                                                "tryCall": false,
                                                "typeDescriptions": {
                                                    "typeIdentifier": "t_bytes_memory_ptr",
                                                    "typeString": "bytes memory"
                                                }
                                            }
                                        ],
                                        "expression": {
                                            "argumentTypes": [
                                                {
                                                    "typeIdentifier": "t_bytes_memory_ptr",
                                                    "typeString": "bytes memory"
                                                }
                                            ],
                                            "id": 14480,
                                            "name": "_sendLogPayload",
                                            "nodeType": "Identifier",
                                            "overloadedDeclarations": [],
                                            "referencedDeclaration": 12880,
                                            "src": "13043:15:62",
                                            "typeDescriptions": {
                                                "typeIdentifier": "t_function_internal_view$_t_bytes_memory_ptr_$returns$__$",
                                                "typeString": "function (bytes memory) view"
                                            }
                                        },
                                        "id": 14488,
                                        "isConstant": false,
                                        "isLValue": false,
                                        "isPure": false,
                                        "kind": "functionCall",
                                        "lValueRequested": false,
                                        "names": [],
                                        "nodeType": "FunctionCall",
                                        "src": "13043:77:62",
                                        "tryCall": false,
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_tuple$__$",
                                            "typeString": "tuple()"
                                        }
                                    },
                                    "id": 14489,
                                    "nodeType": "ExpressionStatement",
                                    "src": "13043:77:62"
                                }
                            ]
                        },
                        "id": 14491,
                        "implemented": true,
                        "kind": "function",
                        "modifiers": [],
                        "name": "log",
                        "nameLocation": "12985:3:62",
                        "nodeType": "FunctionDefinition",
                        "parameters": {
                            "id": 14478,
                            "nodeType": "ParameterList",
                            "parameters": [
                                {
                                    "constant": false,
                                    "id": 14473,
                                    "mutability": "mutable",
                                    "name": "p0",
                                    "nameLocation": "12994:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 14491,
                                    "src": "12989:7:62",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_bool",
                                        "typeString": "bool"
                                    },
                                    "typeName": {
                                        "id": 14472,
                                        "name": "bool",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "12989:4:62",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_bool",
                                            "typeString": "bool"
                                        }
                                    },
                                    "visibility": "internal"
                                },
                                {
                                    "constant": false,
                                    "id": 14475,
                                    "mutability": "mutable",
                                    "name": "p1",
                                    "nameLocation": "13012:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 14491,
                                    "src": "12998:16:62",
                                    "stateVariable": false,
                                    "storageLocation": "memory",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_string_memory_ptr",
                                        "typeString": "string"
                                    },
                                    "typeName": {
                                        "id": 14474,
                                        "name": "string",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "12998:6:62",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_string_storage_ptr",
                                            "typeString": "string"
                                        }
                                    },
                                    "visibility": "internal"
                                },
                                {
                                    "constant": false,
                                    "id": 14477,
                                    "mutability": "mutable",
                                    "name": "p2",
                                    "nameLocation": "13021:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 14491,
                                    "src": "13016:7:62",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_uint256",
                                        "typeString": "uint256"
                                    },
                                    "typeName": {
                                        "id": 14476,
                                        "name": "uint",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "13016:4:62",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_uint256",
                                            "typeString": "uint256"
                                        }
                                    },
                                    "visibility": "internal"
                                }
                            ],
                            "src": "12988:36:62"
                        },
                        "returnParameters": {
                            "id": 14479,
                            "nodeType": "ParameterList",
                            "parameters": [],
                            "src": "13039:0:62"
                        },
                        "scope": 20920,
                        "src": "12976:148:62",
                        "stateMutability": "view",
                        "virtual": false,
                        "visibility": "internal"
                    },
                    {
                        "body": {
                            "id": 14510,
                            "nodeType": "Block",
                            "src": "13199:87:62",
                            "statements": [
                                {
                                    "expression": {
                                        "arguments": [
                                            {
                                                "arguments": [
                                                    {
                                                        "hexValue": "6c6f6728626f6f6c2c737472696e672c737472696e6729",
                                                        "id": 14503,
                                                        "isConstant": false,
                                                        "isLValue": false,
                                                        "isPure": true,
                                                        "kind": "string",
                                                        "lValueRequested": false,
                                                        "nodeType": "Literal",
                                                        "src": "13243:25:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_stringliteral_b076847f8b4aee0cfbf46ec501532f9f3c85a581aff135287ff8e917c0a39102",
                                                            "typeString": "literal_string \"log(bool,string,string)\""
                                                        },
                                                        "value": "log(bool,string,string)"
                                                    },
                                                    {
                                                        "id": 14504,
                                                        "name": "p0",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 14493,
                                                        "src": "13270:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_bool",
                                                            "typeString": "bool"
                                                        }
                                                    },
                                                    {
                                                        "id": 14505,
                                                        "name": "p1",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 14495,
                                                        "src": "13274:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_string_memory_ptr",
                                                            "typeString": "string memory"
                                                        }
                                                    },
                                                    {
                                                        "id": 14506,
                                                        "name": "p2",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 14497,
                                                        "src": "13278:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_string_memory_ptr",
                                                            "typeString": "string memory"
                                                        }
                                                    }
                                                ],
                                                "expression": {
                                                    "argumentTypes": [
                                                        {
                                                            "typeIdentifier": "t_stringliteral_b076847f8b4aee0cfbf46ec501532f9f3c85a581aff135287ff8e917c0a39102",
                                                            "typeString": "literal_string \"log(bool,string,string)\""
                                                        },
                                                        {
                                                            "typeIdentifier": "t_bool",
                                                            "typeString": "bool"
                                                        },
                                                        {
                                                            "typeIdentifier": "t_string_memory_ptr",
                                                            "typeString": "string memory"
                                                        },
                                                        {
                                                            "typeIdentifier": "t_string_memory_ptr",
                                                            "typeString": "string memory"
                                                        }
                                                    ],
                                                    "expression": {
                                                        "id": 14501,
                                                        "name": "abi",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 4294967295,
                                                        "src": "13219:3:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_magic_abi",
                                                            "typeString": "abi"
                                                        }
                                                    },
                                                    "id": 14502,
                                                    "isConstant": false,
                                                    "isLValue": false,
                                                    "isPure": true,
                                                    "lValueRequested": false,
                                                    "memberName": "encodeWithSignature",
                                                    "nodeType": "MemberAccess",
                                                    "src": "13219:23:62",
                                                    "typeDescriptions": {
                                                        "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$",
                                                        "typeString": "function (string memory) pure returns (bytes memory)"
                                                    }
                                                },
                                                "id": 14507,
                                                "isConstant": false,
                                                "isLValue": false,
                                                "isPure": false,
                                                "kind": "functionCall",
                                                "lValueRequested": false,
                                                "names": [],
                                                "nodeType": "FunctionCall",
                                                "src": "13219:62:62",
                                                "tryCall": false,
                                                "typeDescriptions": {
                                                    "typeIdentifier": "t_bytes_memory_ptr",
                                                    "typeString": "bytes memory"
                                                }
                                            }
                                        ],
                                        "expression": {
                                            "argumentTypes": [
                                                {
                                                    "typeIdentifier": "t_bytes_memory_ptr",
                                                    "typeString": "bytes memory"
                                                }
                                            ],
                                            "id": 14500,
                                            "name": "_sendLogPayload",
                                            "nodeType": "Identifier",
                                            "overloadedDeclarations": [],
                                            "referencedDeclaration": 12880,
                                            "src": "13203:15:62",
                                            "typeDescriptions": {
                                                "typeIdentifier": "t_function_internal_view$_t_bytes_memory_ptr_$returns$__$",
                                                "typeString": "function (bytes memory) view"
                                            }
                                        },
                                        "id": 14508,
                                        "isConstant": false,
                                        "isLValue": false,
                                        "isPure": false,
                                        "kind": "functionCall",
                                        "lValueRequested": false,
                                        "names": [],
                                        "nodeType": "FunctionCall",
                                        "src": "13203:79:62",
                                        "tryCall": false,
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_tuple$__$",
                                            "typeString": "tuple()"
                                        }
                                    },
                                    "id": 14509,
                                    "nodeType": "ExpressionStatement",
                                    "src": "13203:79:62"
                                }
                            ]
                        },
                        "id": 14511,
                        "implemented": true,
                        "kind": "function",
                        "modifiers": [],
                        "name": "log",
                        "nameLocation": "13136:3:62",
                        "nodeType": "FunctionDefinition",
                        "parameters": {
                            "id": 14498,
                            "nodeType": "ParameterList",
                            "parameters": [
                                {
                                    "constant": false,
                                    "id": 14493,
                                    "mutability": "mutable",
                                    "name": "p0",
                                    "nameLocation": "13145:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 14511,
                                    "src": "13140:7:62",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_bool",
                                        "typeString": "bool"
                                    },
                                    "typeName": {
                                        "id": 14492,
                                        "name": "bool",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "13140:4:62",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_bool",
                                            "typeString": "bool"
                                        }
                                    },
                                    "visibility": "internal"
                                },
                                {
                                    "constant": false,
                                    "id": 14495,
                                    "mutability": "mutable",
                                    "name": "p1",
                                    "nameLocation": "13163:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 14511,
                                    "src": "13149:16:62",
                                    "stateVariable": false,
                                    "storageLocation": "memory",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_string_memory_ptr",
                                        "typeString": "string"
                                    },
                                    "typeName": {
                                        "id": 14494,
                                        "name": "string",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "13149:6:62",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_string_storage_ptr",
                                            "typeString": "string"
                                        }
                                    },
                                    "visibility": "internal"
                                },
                                {
                                    "constant": false,
                                    "id": 14497,
                                    "mutability": "mutable",
                                    "name": "p2",
                                    "nameLocation": "13181:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 14511,
                                    "src": "13167:16:62",
                                    "stateVariable": false,
                                    "storageLocation": "memory",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_string_memory_ptr",
                                        "typeString": "string"
                                    },
                                    "typeName": {
                                        "id": 14496,
                                        "name": "string",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "13167:6:62",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_string_storage_ptr",
                                            "typeString": "string"
                                        }
                                    },
                                    "visibility": "internal"
                                }
                            ],
                            "src": "13139:45:62"
                        },
                        "returnParameters": {
                            "id": 14499,
                            "nodeType": "ParameterList",
                            "parameters": [],
                            "src": "13199:0:62"
                        },
                        "scope": 20920,
                        "src": "13127:159:62",
                        "stateMutability": "view",
                        "virtual": false,
                        "visibility": "internal"
                    },
                    {
                        "body": {
                            "id": 14530,
                            "nodeType": "Block",
                            "src": "13352:85:62",
                            "statements": [
                                {
                                    "expression": {
                                        "arguments": [
                                            {
                                                "arguments": [
                                                    {
                                                        "hexValue": "6c6f6728626f6f6c2c737472696e672c626f6f6c29",
                                                        "id": 14523,
                                                        "isConstant": false,
                                                        "isLValue": false,
                                                        "isPure": true,
                                                        "kind": "string",
                                                        "lValueRequested": false,
                                                        "nodeType": "Literal",
                                                        "src": "13396:23:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_stringliteral_dbb4c2477dacc98e0e5b96fd6ca6bf0ae1f82dd042439d9f53f8d963bef43eaa",
                                                            "typeString": "literal_string \"log(bool,string,bool)\""
                                                        },
                                                        "value": "log(bool,string,bool)"
                                                    },
                                                    {
                                                        "id": 14524,
                                                        "name": "p0",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 14513,
                                                        "src": "13421:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_bool",
                                                            "typeString": "bool"
                                                        }
                                                    },
                                                    {
                                                        "id": 14525,
                                                        "name": "p1",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 14515,
                                                        "src": "13425:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_string_memory_ptr",
                                                            "typeString": "string memory"
                                                        }
                                                    },
                                                    {
                                                        "id": 14526,
                                                        "name": "p2",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 14517,
                                                        "src": "13429:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_bool",
                                                            "typeString": "bool"
                                                        }
                                                    }
                                                ],
                                                "expression": {
                                                    "argumentTypes": [
                                                        {
                                                            "typeIdentifier": "t_stringliteral_dbb4c2477dacc98e0e5b96fd6ca6bf0ae1f82dd042439d9f53f8d963bef43eaa",
                                                            "typeString": "literal_string \"log(bool,string,bool)\""
                                                        },
                                                        {
                                                            "typeIdentifier": "t_bool",
                                                            "typeString": "bool"
                                                        },
                                                        {
                                                            "typeIdentifier": "t_string_memory_ptr",
                                                            "typeString": "string memory"
                                                        },
                                                        {
                                                            "typeIdentifier": "t_bool",
                                                            "typeString": "bool"
                                                        }
                                                    ],
                                                    "expression": {
                                                        "id": 14521,
                                                        "name": "abi",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 4294967295,
                                                        "src": "13372:3:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_magic_abi",
                                                            "typeString": "abi"
                                                        }
                                                    },
                                                    "id": 14522,
                                                    "isConstant": false,
                                                    "isLValue": false,
                                                    "isPure": true,
                                                    "lValueRequested": false,
                                                    "memberName": "encodeWithSignature",
                                                    "nodeType": "MemberAccess",
                                                    "src": "13372:23:62",
                                                    "typeDescriptions": {
                                                        "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$",
                                                        "typeString": "function (string memory) pure returns (bytes memory)"
                                                    }
                                                },
                                                "id": 14527,
                                                "isConstant": false,
                                                "isLValue": false,
                                                "isPure": false,
                                                "kind": "functionCall",
                                                "lValueRequested": false,
                                                "names": [],
                                                "nodeType": "FunctionCall",
                                                "src": "13372:60:62",
                                                "tryCall": false,
                                                "typeDescriptions": {
                                                    "typeIdentifier": "t_bytes_memory_ptr",
                                                    "typeString": "bytes memory"
                                                }
                                            }
                                        ],
                                        "expression": {
                                            "argumentTypes": [
                                                {
                                                    "typeIdentifier": "t_bytes_memory_ptr",
                                                    "typeString": "bytes memory"
                                                }
                                            ],
                                            "id": 14520,
                                            "name": "_sendLogPayload",
                                            "nodeType": "Identifier",
                                            "overloadedDeclarations": [],
                                            "referencedDeclaration": 12880,
                                            "src": "13356:15:62",
                                            "typeDescriptions": {
                                                "typeIdentifier": "t_function_internal_view$_t_bytes_memory_ptr_$returns$__$",
                                                "typeString": "function (bytes memory) view"
                                            }
                                        },
                                        "id": 14528,
                                        "isConstant": false,
                                        "isLValue": false,
                                        "isPure": false,
                                        "kind": "functionCall",
                                        "lValueRequested": false,
                                        "names": [],
                                        "nodeType": "FunctionCall",
                                        "src": "13356:77:62",
                                        "tryCall": false,
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_tuple$__$",
                                            "typeString": "tuple()"
                                        }
                                    },
                                    "id": 14529,
                                    "nodeType": "ExpressionStatement",
                                    "src": "13356:77:62"
                                }
                            ]
                        },
                        "id": 14531,
                        "implemented": true,
                        "kind": "function",
                        "modifiers": [],
                        "name": "log",
                        "nameLocation": "13298:3:62",
                        "nodeType": "FunctionDefinition",
                        "parameters": {
                            "id": 14518,
                            "nodeType": "ParameterList",
                            "parameters": [
                                {
                                    "constant": false,
                                    "id": 14513,
                                    "mutability": "mutable",
                                    "name": "p0",
                                    "nameLocation": "13307:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 14531,
                                    "src": "13302:7:62",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_bool",
                                        "typeString": "bool"
                                    },
                                    "typeName": {
                                        "id": 14512,
                                        "name": "bool",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "13302:4:62",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_bool",
                                            "typeString": "bool"
                                        }
                                    },
                                    "visibility": "internal"
                                },
                                {
                                    "constant": false,
                                    "id": 14515,
                                    "mutability": "mutable",
                                    "name": "p1",
                                    "nameLocation": "13325:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 14531,
                                    "src": "13311:16:62",
                                    "stateVariable": false,
                                    "storageLocation": "memory",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_string_memory_ptr",
                                        "typeString": "string"
                                    },
                                    "typeName": {
                                        "id": 14514,
                                        "name": "string",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "13311:6:62",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_string_storage_ptr",
                                            "typeString": "string"
                                        }
                                    },
                                    "visibility": "internal"
                                },
                                {
                                    "constant": false,
                                    "id": 14517,
                                    "mutability": "mutable",
                                    "name": "p2",
                                    "nameLocation": "13334:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 14531,
                                    "src": "13329:7:62",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_bool",
                                        "typeString": "bool"
                                    },
                                    "typeName": {
                                        "id": 14516,
                                        "name": "bool",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "13329:4:62",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_bool",
                                            "typeString": "bool"
                                        }
                                    },
                                    "visibility": "internal"
                                }
                            ],
                            "src": "13301:36:62"
                        },
                        "returnParameters": {
                            "id": 14519,
                            "nodeType": "ParameterList",
                            "parameters": [],
                            "src": "13352:0:62"
                        },
                        "scope": 20920,
                        "src": "13289:148:62",
                        "stateMutability": "view",
                        "virtual": false,
                        "visibility": "internal"
                    },
                    {
                        "body": {
                            "id": 14550,
                            "nodeType": "Block",
                            "src": "13506:88:62",
                            "statements": [
                                {
                                    "expression": {
                                        "arguments": [
                                            {
                                                "arguments": [
                                                    {
                                                        "hexValue": "6c6f6728626f6f6c2c737472696e672c6164647265737329",
                                                        "id": 14543,
                                                        "isConstant": false,
                                                        "isLValue": false,
                                                        "isPure": true,
                                                        "kind": "string",
                                                        "lValueRequested": false,
                                                        "nodeType": "Literal",
                                                        "src": "13550:26:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_stringliteral_9591b953c9b1d0af9d1e3bc0f6ea9aa5b0e1af8c702f85b36e21b9b2d7e4da79",
                                                            "typeString": "literal_string \"log(bool,string,address)\""
                                                        },
                                                        "value": "log(bool,string,address)"
                                                    },
                                                    {
                                                        "id": 14544,
                                                        "name": "p0",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 14533,
                                                        "src": "13578:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_bool",
                                                            "typeString": "bool"
                                                        }
                                                    },
                                                    {
                                                        "id": 14545,
                                                        "name": "p1",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 14535,
                                                        "src": "13582:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_string_memory_ptr",
                                                            "typeString": "string memory"
                                                        }
                                                    },
                                                    {
                                                        "id": 14546,
                                                        "name": "p2",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 14537,
                                                        "src": "13586:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_address",
                                                            "typeString": "address"
                                                        }
                                                    }
                                                ],
                                                "expression": {
                                                    "argumentTypes": [
                                                        {
                                                            "typeIdentifier": "t_stringliteral_9591b953c9b1d0af9d1e3bc0f6ea9aa5b0e1af8c702f85b36e21b9b2d7e4da79",
                                                            "typeString": "literal_string \"log(bool,string,address)\""
                                                        },
                                                        {
                                                            "typeIdentifier": "t_bool",
                                                            "typeString": "bool"
                                                        },
                                                        {
                                                            "typeIdentifier": "t_string_memory_ptr",
                                                            "typeString": "string memory"
                                                        },
                                                        {
                                                            "typeIdentifier": "t_address",
                                                            "typeString": "address"
                                                        }
                                                    ],
                                                    "expression": {
                                                        "id": 14541,
                                                        "name": "abi",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 4294967295,
                                                        "src": "13526:3:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_magic_abi",
                                                            "typeString": "abi"
                                                        }
                                                    },
                                                    "id": 14542,
                                                    "isConstant": false,
                                                    "isLValue": false,
                                                    "isPure": true,
                                                    "lValueRequested": false,
                                                    "memberName": "encodeWithSignature",
                                                    "nodeType": "MemberAccess",
                                                    "src": "13526:23:62",
                                                    "typeDescriptions": {
                                                        "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$",
                                                        "typeString": "function (string memory) pure returns (bytes memory)"
                                                    }
                                                },
                                                "id": 14547,
                                                "isConstant": false,
                                                "isLValue": false,
                                                "isPure": false,
                                                "kind": "functionCall",
                                                "lValueRequested": false,
                                                "names": [],
                                                "nodeType": "FunctionCall",
                                                "src": "13526:63:62",
                                                "tryCall": false,
                                                "typeDescriptions": {
                                                    "typeIdentifier": "t_bytes_memory_ptr",
                                                    "typeString": "bytes memory"
                                                }
                                            }
                                        ],
                                        "expression": {
                                            "argumentTypes": [
                                                {
                                                    "typeIdentifier": "t_bytes_memory_ptr",
                                                    "typeString": "bytes memory"
                                                }
                                            ],
                                            "id": 14540,
                                            "name": "_sendLogPayload",
                                            "nodeType": "Identifier",
                                            "overloadedDeclarations": [],
                                            "referencedDeclaration": 12880,
                                            "src": "13510:15:62",
                                            "typeDescriptions": {
                                                "typeIdentifier": "t_function_internal_view$_t_bytes_memory_ptr_$returns$__$",
                                                "typeString": "function (bytes memory) view"
                                            }
                                        },
                                        "id": 14548,
                                        "isConstant": false,
                                        "isLValue": false,
                                        "isPure": false,
                                        "kind": "functionCall",
                                        "lValueRequested": false,
                                        "names": [],
                                        "nodeType": "FunctionCall",
                                        "src": "13510:80:62",
                                        "tryCall": false,
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_tuple$__$",
                                            "typeString": "tuple()"
                                        }
                                    },
                                    "id": 14549,
                                    "nodeType": "ExpressionStatement",
                                    "src": "13510:80:62"
                                }
                            ]
                        },
                        "id": 14551,
                        "implemented": true,
                        "kind": "function",
                        "modifiers": [],
                        "name": "log",
                        "nameLocation": "13449:3:62",
                        "nodeType": "FunctionDefinition",
                        "parameters": {
                            "id": 14538,
                            "nodeType": "ParameterList",
                            "parameters": [
                                {
                                    "constant": false,
                                    "id": 14533,
                                    "mutability": "mutable",
                                    "name": "p0",
                                    "nameLocation": "13458:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 14551,
                                    "src": "13453:7:62",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_bool",
                                        "typeString": "bool"
                                    },
                                    "typeName": {
                                        "id": 14532,
                                        "name": "bool",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "13453:4:62",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_bool",
                                            "typeString": "bool"
                                        }
                                    },
                                    "visibility": "internal"
                                },
                                {
                                    "constant": false,
                                    "id": 14535,
                                    "mutability": "mutable",
                                    "name": "p1",
                                    "nameLocation": "13476:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 14551,
                                    "src": "13462:16:62",
                                    "stateVariable": false,
                                    "storageLocation": "memory",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_string_memory_ptr",
                                        "typeString": "string"
                                    },
                                    "typeName": {
                                        "id": 14534,
                                        "name": "string",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "13462:6:62",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_string_storage_ptr",
                                            "typeString": "string"
                                        }
                                    },
                                    "visibility": "internal"
                                },
                                {
                                    "constant": false,
                                    "id": 14537,
                                    "mutability": "mutable",
                                    "name": "p2",
                                    "nameLocation": "13488:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 14551,
                                    "src": "13480:10:62",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_address",
                                        "typeString": "address"
                                    },
                                    "typeName": {
                                        "id": 14536,
                                        "name": "address",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "13480:7:62",
                                        "stateMutability": "nonpayable",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_address",
                                            "typeString": "address"
                                        }
                                    },
                                    "visibility": "internal"
                                }
                            ],
                            "src": "13452:39:62"
                        },
                        "returnParameters": {
                            "id": 14539,
                            "nodeType": "ParameterList",
                            "parameters": [],
                            "src": "13506:0:62"
                        },
                        "scope": 20920,
                        "src": "13440:154:62",
                        "stateMutability": "view",
                        "virtual": false,
                        "visibility": "internal"
                    },
                    {
                        "body": {
                            "id": 14570,
                            "nodeType": "Block",
                            "src": "13651:83:62",
                            "statements": [
                                {
                                    "expression": {
                                        "arguments": [
                                            {
                                                "arguments": [
                                                    {
                                                        "hexValue": "6c6f6728626f6f6c2c626f6f6c2c75696e7429",
                                                        "id": 14563,
                                                        "isConstant": false,
                                                        "isLValue": false,
                                                        "isPure": true,
                                                        "kind": "string",
                                                        "lValueRequested": false,
                                                        "nodeType": "Literal",
                                                        "src": "13695:21:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_stringliteral_b01365bbae43503e22260bcc9cf23ffef37ffc9f6c1580737fe2489955065877",
                                                            "typeString": "literal_string \"log(bool,bool,uint)\""
                                                        },
                                                        "value": "log(bool,bool,uint)"
                                                    },
                                                    {
                                                        "id": 14564,
                                                        "name": "p0",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 14553,
                                                        "src": "13718:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_bool",
                                                            "typeString": "bool"
                                                        }
                                                    },
                                                    {
                                                        "id": 14565,
                                                        "name": "p1",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 14555,
                                                        "src": "13722:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_bool",
                                                            "typeString": "bool"
                                                        }
                                                    },
                                                    {
                                                        "id": 14566,
                                                        "name": "p2",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 14557,
                                                        "src": "13726:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_uint256",
                                                            "typeString": "uint256"
                                                        }
                                                    }
                                                ],
                                                "expression": {
                                                    "argumentTypes": [
                                                        {
                                                            "typeIdentifier": "t_stringliteral_b01365bbae43503e22260bcc9cf23ffef37ffc9f6c1580737fe2489955065877",
                                                            "typeString": "literal_string \"log(bool,bool,uint)\""
                                                        },
                                                        {
                                                            "typeIdentifier": "t_bool",
                                                            "typeString": "bool"
                                                        },
                                                        {
                                                            "typeIdentifier": "t_bool",
                                                            "typeString": "bool"
                                                        },
                                                        {
                                                            "typeIdentifier": "t_uint256",
                                                            "typeString": "uint256"
                                                        }
                                                    ],
                                                    "expression": {
                                                        "id": 14561,
                                                        "name": "abi",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 4294967295,
                                                        "src": "13671:3:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_magic_abi",
                                                            "typeString": "abi"
                                                        }
                                                    },
                                                    "id": 14562,
                                                    "isConstant": false,
                                                    "isLValue": false,
                                                    "isPure": true,
                                                    "lValueRequested": false,
                                                    "memberName": "encodeWithSignature",
                                                    "nodeType": "MemberAccess",
                                                    "src": "13671:23:62",
                                                    "typeDescriptions": {
                                                        "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$",
                                                        "typeString": "function (string memory) pure returns (bytes memory)"
                                                    }
                                                },
                                                "id": 14567,
                                                "isConstant": false,
                                                "isLValue": false,
                                                "isPure": false,
                                                "kind": "functionCall",
                                                "lValueRequested": false,
                                                "names": [],
                                                "nodeType": "FunctionCall",
                                                "src": "13671:58:62",
                                                "tryCall": false,
                                                "typeDescriptions": {
                                                    "typeIdentifier": "t_bytes_memory_ptr",
                                                    "typeString": "bytes memory"
                                                }
                                            }
                                        ],
                                        "expression": {
                                            "argumentTypes": [
                                                {
                                                    "typeIdentifier": "t_bytes_memory_ptr",
                                                    "typeString": "bytes memory"
                                                }
                                            ],
                                            "id": 14560,
                                            "name": "_sendLogPayload",
                                            "nodeType": "Identifier",
                                            "overloadedDeclarations": [],
                                            "referencedDeclaration": 12880,
                                            "src": "13655:15:62",
                                            "typeDescriptions": {
                                                "typeIdentifier": "t_function_internal_view$_t_bytes_memory_ptr_$returns$__$",
                                                "typeString": "function (bytes memory) view"
                                            }
                                        },
                                        "id": 14568,
                                        "isConstant": false,
                                        "isLValue": false,
                                        "isPure": false,
                                        "kind": "functionCall",
                                        "lValueRequested": false,
                                        "names": [],
                                        "nodeType": "FunctionCall",
                                        "src": "13655:75:62",
                                        "tryCall": false,
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_tuple$__$",
                                            "typeString": "tuple()"
                                        }
                                    },
                                    "id": 14569,
                                    "nodeType": "ExpressionStatement",
                                    "src": "13655:75:62"
                                }
                            ]
                        },
                        "id": 14571,
                        "implemented": true,
                        "kind": "function",
                        "modifiers": [],
                        "name": "log",
                        "nameLocation": "13606:3:62",
                        "nodeType": "FunctionDefinition",
                        "parameters": {
                            "id": 14558,
                            "nodeType": "ParameterList",
                            "parameters": [
                                {
                                    "constant": false,
                                    "id": 14553,
                                    "mutability": "mutable",
                                    "name": "p0",
                                    "nameLocation": "13615:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 14571,
                                    "src": "13610:7:62",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_bool",
                                        "typeString": "bool"
                                    },
                                    "typeName": {
                                        "id": 14552,
                                        "name": "bool",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "13610:4:62",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_bool",
                                            "typeString": "bool"
                                        }
                                    },
                                    "visibility": "internal"
                                },
                                {
                                    "constant": false,
                                    "id": 14555,
                                    "mutability": "mutable",
                                    "name": "p1",
                                    "nameLocation": "13624:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 14571,
                                    "src": "13619:7:62",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_bool",
                                        "typeString": "bool"
                                    },
                                    "typeName": {
                                        "id": 14554,
                                        "name": "bool",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "13619:4:62",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_bool",
                                            "typeString": "bool"
                                        }
                                    },
                                    "visibility": "internal"
                                },
                                {
                                    "constant": false,
                                    "id": 14557,
                                    "mutability": "mutable",
                                    "name": "p2",
                                    "nameLocation": "13633:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 14571,
                                    "src": "13628:7:62",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_uint256",
                                        "typeString": "uint256"
                                    },
                                    "typeName": {
                                        "id": 14556,
                                        "name": "uint",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "13628:4:62",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_uint256",
                                            "typeString": "uint256"
                                        }
                                    },
                                    "visibility": "internal"
                                }
                            ],
                            "src": "13609:27:62"
                        },
                        "returnParameters": {
                            "id": 14559,
                            "nodeType": "ParameterList",
                            "parameters": [],
                            "src": "13651:0:62"
                        },
                        "scope": 20920,
                        "src": "13597:137:62",
                        "stateMutability": "view",
                        "virtual": false,
                        "visibility": "internal"
                    },
                    {
                        "body": {
                            "id": 14590,
                            "nodeType": "Block",
                            "src": "13800:85:62",
                            "statements": [
                                {
                                    "expression": {
                                        "arguments": [
                                            {
                                                "arguments": [
                                                    {
                                                        "hexValue": "6c6f6728626f6f6c2c626f6f6c2c737472696e6729",
                                                        "id": 14583,
                                                        "isConstant": false,
                                                        "isLValue": false,
                                                        "isPure": true,
                                                        "kind": "string",
                                                        "lValueRequested": false,
                                                        "nodeType": "Literal",
                                                        "src": "13844:23:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_stringliteral_2555fa465662416fc443b21c515f245dc550a66f7c658773f7bd7ad91c82f2cc",
                                                            "typeString": "literal_string \"log(bool,bool,string)\""
                                                        },
                                                        "value": "log(bool,bool,string)"
                                                    },
                                                    {
                                                        "id": 14584,
                                                        "name": "p0",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 14573,
                                                        "src": "13869:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_bool",
                                                            "typeString": "bool"
                                                        }
                                                    },
                                                    {
                                                        "id": 14585,
                                                        "name": "p1",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 14575,
                                                        "src": "13873:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_bool",
                                                            "typeString": "bool"
                                                        }
                                                    },
                                                    {
                                                        "id": 14586,
                                                        "name": "p2",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 14577,
                                                        "src": "13877:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_string_memory_ptr",
                                                            "typeString": "string memory"
                                                        }
                                                    }
                                                ],
                                                "expression": {
                                                    "argumentTypes": [
                                                        {
                                                            "typeIdentifier": "t_stringliteral_2555fa465662416fc443b21c515f245dc550a66f7c658773f7bd7ad91c82f2cc",
                                                            "typeString": "literal_string \"log(bool,bool,string)\""
                                                        },
                                                        {
                                                            "typeIdentifier": "t_bool",
                                                            "typeString": "bool"
                                                        },
                                                        {
                                                            "typeIdentifier": "t_bool",
                                                            "typeString": "bool"
                                                        },
                                                        {
                                                            "typeIdentifier": "t_string_memory_ptr",
                                                            "typeString": "string memory"
                                                        }
                                                    ],
                                                    "expression": {
                                                        "id": 14581,
                                                        "name": "abi",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 4294967295,
                                                        "src": "13820:3:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_magic_abi",
                                                            "typeString": "abi"
                                                        }
                                                    },
                                                    "id": 14582,
                                                    "isConstant": false,
                                                    "isLValue": false,
                                                    "isPure": true,
                                                    "lValueRequested": false,
                                                    "memberName": "encodeWithSignature",
                                                    "nodeType": "MemberAccess",
                                                    "src": "13820:23:62",
                                                    "typeDescriptions": {
                                                        "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$",
                                                        "typeString": "function (string memory) pure returns (bytes memory)"
                                                    }
                                                },
                                                "id": 14587,
                                                "isConstant": false,
                                                "isLValue": false,
                                                "isPure": false,
                                                "kind": "functionCall",
                                                "lValueRequested": false,
                                                "names": [],
                                                "nodeType": "FunctionCall",
                                                "src": "13820:60:62",
                                                "tryCall": false,
                                                "typeDescriptions": {
                                                    "typeIdentifier": "t_bytes_memory_ptr",
                                                    "typeString": "bytes memory"
                                                }
                                            }
                                        ],
                                        "expression": {
                                            "argumentTypes": [
                                                {
                                                    "typeIdentifier": "t_bytes_memory_ptr",
                                                    "typeString": "bytes memory"
                                                }
                                            ],
                                            "id": 14580,
                                            "name": "_sendLogPayload",
                                            "nodeType": "Identifier",
                                            "overloadedDeclarations": [],
                                            "referencedDeclaration": 12880,
                                            "src": "13804:15:62",
                                            "typeDescriptions": {
                                                "typeIdentifier": "t_function_internal_view$_t_bytes_memory_ptr_$returns$__$",
                                                "typeString": "function (bytes memory) view"
                                            }
                                        },
                                        "id": 14588,
                                        "isConstant": false,
                                        "isLValue": false,
                                        "isPure": false,
                                        "kind": "functionCall",
                                        "lValueRequested": false,
                                        "names": [],
                                        "nodeType": "FunctionCall",
                                        "src": "13804:77:62",
                                        "tryCall": false,
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_tuple$__$",
                                            "typeString": "tuple()"
                                        }
                                    },
                                    "id": 14589,
                                    "nodeType": "ExpressionStatement",
                                    "src": "13804:77:62"
                                }
                            ]
                        },
                        "id": 14591,
                        "implemented": true,
                        "kind": "function",
                        "modifiers": [],
                        "name": "log",
                        "nameLocation": "13746:3:62",
                        "nodeType": "FunctionDefinition",
                        "parameters": {
                            "id": 14578,
                            "nodeType": "ParameterList",
                            "parameters": [
                                {
                                    "constant": false,
                                    "id": 14573,
                                    "mutability": "mutable",
                                    "name": "p0",
                                    "nameLocation": "13755:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 14591,
                                    "src": "13750:7:62",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_bool",
                                        "typeString": "bool"
                                    },
                                    "typeName": {
                                        "id": 14572,
                                        "name": "bool",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "13750:4:62",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_bool",
                                            "typeString": "bool"
                                        }
                                    },
                                    "visibility": "internal"
                                },
                                {
                                    "constant": false,
                                    "id": 14575,
                                    "mutability": "mutable",
                                    "name": "p1",
                                    "nameLocation": "13764:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 14591,
                                    "src": "13759:7:62",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_bool",
                                        "typeString": "bool"
                                    },
                                    "typeName": {
                                        "id": 14574,
                                        "name": "bool",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "13759:4:62",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_bool",
                                            "typeString": "bool"
                                        }
                                    },
                                    "visibility": "internal"
                                },
                                {
                                    "constant": false,
                                    "id": 14577,
                                    "mutability": "mutable",
                                    "name": "p2",
                                    "nameLocation": "13782:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 14591,
                                    "src": "13768:16:62",
                                    "stateVariable": false,
                                    "storageLocation": "memory",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_string_memory_ptr",
                                        "typeString": "string"
                                    },
                                    "typeName": {
                                        "id": 14576,
                                        "name": "string",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "13768:6:62",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_string_storage_ptr",
                                            "typeString": "string"
                                        }
                                    },
                                    "visibility": "internal"
                                }
                            ],
                            "src": "13749:36:62"
                        },
                        "returnParameters": {
                            "id": 14579,
                            "nodeType": "ParameterList",
                            "parameters": [],
                            "src": "13800:0:62"
                        },
                        "scope": 20920,
                        "src": "13737:148:62",
                        "stateMutability": "view",
                        "virtual": false,
                        "visibility": "internal"
                    },
                    {
                        "body": {
                            "id": 14610,
                            "nodeType": "Block",
                            "src": "13942:83:62",
                            "statements": [
                                {
                                    "expression": {
                                        "arguments": [
                                            {
                                                "arguments": [
                                                    {
                                                        "hexValue": "6c6f6728626f6f6c2c626f6f6c2c626f6f6c29",
                                                        "id": 14603,
                                                        "isConstant": false,
                                                        "isLValue": false,
                                                        "isPure": true,
                                                        "kind": "string",
                                                        "lValueRequested": false,
                                                        "nodeType": "Literal",
                                                        "src": "13986:21:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_stringliteral_50709698278bb02f656e4ac53a2ae8ef0ec4064d340360a5fa4d933e9a742590",
                                                            "typeString": "literal_string \"log(bool,bool,bool)\""
                                                        },
                                                        "value": "log(bool,bool,bool)"
                                                    },
                                                    {
                                                        "id": 14604,
                                                        "name": "p0",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 14593,
                                                        "src": "14009:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_bool",
                                                            "typeString": "bool"
                                                        }
                                                    },
                                                    {
                                                        "id": 14605,
                                                        "name": "p1",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 14595,
                                                        "src": "14013:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_bool",
                                                            "typeString": "bool"
                                                        }
                                                    },
                                                    {
                                                        "id": 14606,
                                                        "name": "p2",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 14597,
                                                        "src": "14017:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_bool",
                                                            "typeString": "bool"
                                                        }
                                                    }
                                                ],
                                                "expression": {
                                                    "argumentTypes": [
                                                        {
                                                            "typeIdentifier": "t_stringliteral_50709698278bb02f656e4ac53a2ae8ef0ec4064d340360a5fa4d933e9a742590",
                                                            "typeString": "literal_string \"log(bool,bool,bool)\""
                                                        },
                                                        {
                                                            "typeIdentifier": "t_bool",
                                                            "typeString": "bool"
                                                        },
                                                        {
                                                            "typeIdentifier": "t_bool",
                                                            "typeString": "bool"
                                                        },
                                                        {
                                                            "typeIdentifier": "t_bool",
                                                            "typeString": "bool"
                                                        }
                                                    ],
                                                    "expression": {
                                                        "id": 14601,
                                                        "name": "abi",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 4294967295,
                                                        "src": "13962:3:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_magic_abi",
                                                            "typeString": "abi"
                                                        }
                                                    },
                                                    "id": 14602,
                                                    "isConstant": false,
                                                    "isLValue": false,
                                                    "isPure": true,
                                                    "lValueRequested": false,
                                                    "memberName": "encodeWithSignature",
                                                    "nodeType": "MemberAccess",
                                                    "src": "13962:23:62",
                                                    "typeDescriptions": {
                                                        "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$",
                                                        "typeString": "function (string memory) pure returns (bytes memory)"
                                                    }
                                                },
                                                "id": 14607,
                                                "isConstant": false,
                                                "isLValue": false,
                                                "isPure": false,
                                                "kind": "functionCall",
                                                "lValueRequested": false,
                                                "names": [],
                                                "nodeType": "FunctionCall",
                                                "src": "13962:58:62",
                                                "tryCall": false,
                                                "typeDescriptions": {
                                                    "typeIdentifier": "t_bytes_memory_ptr",
                                                    "typeString": "bytes memory"
                                                }
                                            }
                                        ],
                                        "expression": {
                                            "argumentTypes": [
                                                {
                                                    "typeIdentifier": "t_bytes_memory_ptr",
                                                    "typeString": "bytes memory"
                                                }
                                            ],
                                            "id": 14600,
                                            "name": "_sendLogPayload",
                                            "nodeType": "Identifier",
                                            "overloadedDeclarations": [],
                                            "referencedDeclaration": 12880,
                                            "src": "13946:15:62",
                                            "typeDescriptions": {
                                                "typeIdentifier": "t_function_internal_view$_t_bytes_memory_ptr_$returns$__$",
                                                "typeString": "function (bytes memory) view"
                                            }
                                        },
                                        "id": 14608,
                                        "isConstant": false,
                                        "isLValue": false,
                                        "isPure": false,
                                        "kind": "functionCall",
                                        "lValueRequested": false,
                                        "names": [],
                                        "nodeType": "FunctionCall",
                                        "src": "13946:75:62",
                                        "tryCall": false,
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_tuple$__$",
                                            "typeString": "tuple()"
                                        }
                                    },
                                    "id": 14609,
                                    "nodeType": "ExpressionStatement",
                                    "src": "13946:75:62"
                                }
                            ]
                        },
                        "id": 14611,
                        "implemented": true,
                        "kind": "function",
                        "modifiers": [],
                        "name": "log",
                        "nameLocation": "13897:3:62",
                        "nodeType": "FunctionDefinition",
                        "parameters": {
                            "id": 14598,
                            "nodeType": "ParameterList",
                            "parameters": [
                                {
                                    "constant": false,
                                    "id": 14593,
                                    "mutability": "mutable",
                                    "name": "p0",
                                    "nameLocation": "13906:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 14611,
                                    "src": "13901:7:62",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_bool",
                                        "typeString": "bool"
                                    },
                                    "typeName": {
                                        "id": 14592,
                                        "name": "bool",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "13901:4:62",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_bool",
                                            "typeString": "bool"
                                        }
                                    },
                                    "visibility": "internal"
                                },
                                {
                                    "constant": false,
                                    "id": 14595,
                                    "mutability": "mutable",
                                    "name": "p1",
                                    "nameLocation": "13915:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 14611,
                                    "src": "13910:7:62",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_bool",
                                        "typeString": "bool"
                                    },
                                    "typeName": {
                                        "id": 14594,
                                        "name": "bool",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "13910:4:62",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_bool",
                                            "typeString": "bool"
                                        }
                                    },
                                    "visibility": "internal"
                                },
                                {
                                    "constant": false,
                                    "id": 14597,
                                    "mutability": "mutable",
                                    "name": "p2",
                                    "nameLocation": "13924:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 14611,
                                    "src": "13919:7:62",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_bool",
                                        "typeString": "bool"
                                    },
                                    "typeName": {
                                        "id": 14596,
                                        "name": "bool",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "13919:4:62",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_bool",
                                            "typeString": "bool"
                                        }
                                    },
                                    "visibility": "internal"
                                }
                            ],
                            "src": "13900:27:62"
                        },
                        "returnParameters": {
                            "id": 14599,
                            "nodeType": "ParameterList",
                            "parameters": [],
                            "src": "13942:0:62"
                        },
                        "scope": 20920,
                        "src": "13888:137:62",
                        "stateMutability": "view",
                        "virtual": false,
                        "visibility": "internal"
                    },
                    {
                        "body": {
                            "id": 14630,
                            "nodeType": "Block",
                            "src": "14085:86:62",
                            "statements": [
                                {
                                    "expression": {
                                        "arguments": [
                                            {
                                                "arguments": [
                                                    {
                                                        "hexValue": "6c6f6728626f6f6c2c626f6f6c2c6164647265737329",
                                                        "id": 14623,
                                                        "isConstant": false,
                                                        "isLValue": false,
                                                        "isPure": true,
                                                        "kind": "string",
                                                        "lValueRequested": false,
                                                        "nodeType": "Literal",
                                                        "src": "14129:24:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_stringliteral_1078f68da6ddbbe80f829fe8d54d1f2c6347e1ee4ec5a2a7a3a330ada9eccf81",
                                                            "typeString": "literal_string \"log(bool,bool,address)\""
                                                        },
                                                        "value": "log(bool,bool,address)"
                                                    },
                                                    {
                                                        "id": 14624,
                                                        "name": "p0",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 14613,
                                                        "src": "14155:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_bool",
                                                            "typeString": "bool"
                                                        }
                                                    },
                                                    {
                                                        "id": 14625,
                                                        "name": "p1",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 14615,
                                                        "src": "14159:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_bool",
                                                            "typeString": "bool"
                                                        }
                                                    },
                                                    {
                                                        "id": 14626,
                                                        "name": "p2",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 14617,
                                                        "src": "14163:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_address",
                                                            "typeString": "address"
                                                        }
                                                    }
                                                ],
                                                "expression": {
                                                    "argumentTypes": [
                                                        {
                                                            "typeIdentifier": "t_stringliteral_1078f68da6ddbbe80f829fe8d54d1f2c6347e1ee4ec5a2a7a3a330ada9eccf81",
                                                            "typeString": "literal_string \"log(bool,bool,address)\""
                                                        },
                                                        {
                                                            "typeIdentifier": "t_bool",
                                                            "typeString": "bool"
                                                        },
                                                        {
                                                            "typeIdentifier": "t_bool",
                                                            "typeString": "bool"
                                                        },
                                                        {
                                                            "typeIdentifier": "t_address",
                                                            "typeString": "address"
                                                        }
                                                    ],
                                                    "expression": {
                                                        "id": 14621,
                                                        "name": "abi",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 4294967295,
                                                        "src": "14105:3:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_magic_abi",
                                                            "typeString": "abi"
                                                        }
                                                    },
                                                    "id": 14622,
                                                    "isConstant": false,
                                                    "isLValue": false,
                                                    "isPure": true,
                                                    "lValueRequested": false,
                                                    "memberName": "encodeWithSignature",
                                                    "nodeType": "MemberAccess",
                                                    "src": "14105:23:62",
                                                    "typeDescriptions": {
                                                        "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$",
                                                        "typeString": "function (string memory) pure returns (bytes memory)"
                                                    }
                                                },
                                                "id": 14627,
                                                "isConstant": false,
                                                "isLValue": false,
                                                "isPure": false,
                                                "kind": "functionCall",
                                                "lValueRequested": false,
                                                "names": [],
                                                "nodeType": "FunctionCall",
                                                "src": "14105:61:62",
                                                "tryCall": false,
                                                "typeDescriptions": {
                                                    "typeIdentifier": "t_bytes_memory_ptr",
                                                    "typeString": "bytes memory"
                                                }
                                            }
                                        ],
                                        "expression": {
                                            "argumentTypes": [
                                                {
                                                    "typeIdentifier": "t_bytes_memory_ptr",
                                                    "typeString": "bytes memory"
                                                }
                                            ],
                                            "id": 14620,
                                            "name": "_sendLogPayload",
                                            "nodeType": "Identifier",
                                            "overloadedDeclarations": [],
                                            "referencedDeclaration": 12880,
                                            "src": "14089:15:62",
                                            "typeDescriptions": {
                                                "typeIdentifier": "t_function_internal_view$_t_bytes_memory_ptr_$returns$__$",
                                                "typeString": "function (bytes memory) view"
                                            }
                                        },
                                        "id": 14628,
                                        "isConstant": false,
                                        "isLValue": false,
                                        "isPure": false,
                                        "kind": "functionCall",
                                        "lValueRequested": false,
                                        "names": [],
                                        "nodeType": "FunctionCall",
                                        "src": "14089:78:62",
                                        "tryCall": false,
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_tuple$__$",
                                            "typeString": "tuple()"
                                        }
                                    },
                                    "id": 14629,
                                    "nodeType": "ExpressionStatement",
                                    "src": "14089:78:62"
                                }
                            ]
                        },
                        "id": 14631,
                        "implemented": true,
                        "kind": "function",
                        "modifiers": [],
                        "name": "log",
                        "nameLocation": "14037:3:62",
                        "nodeType": "FunctionDefinition",
                        "parameters": {
                            "id": 14618,
                            "nodeType": "ParameterList",
                            "parameters": [
                                {
                                    "constant": false,
                                    "id": 14613,
                                    "mutability": "mutable",
                                    "name": "p0",
                                    "nameLocation": "14046:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 14631,
                                    "src": "14041:7:62",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_bool",
                                        "typeString": "bool"
                                    },
                                    "typeName": {
                                        "id": 14612,
                                        "name": "bool",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "14041:4:62",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_bool",
                                            "typeString": "bool"
                                        }
                                    },
                                    "visibility": "internal"
                                },
                                {
                                    "constant": false,
                                    "id": 14615,
                                    "mutability": "mutable",
                                    "name": "p1",
                                    "nameLocation": "14055:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 14631,
                                    "src": "14050:7:62",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_bool",
                                        "typeString": "bool"
                                    },
                                    "typeName": {
                                        "id": 14614,
                                        "name": "bool",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "14050:4:62",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_bool",
                                            "typeString": "bool"
                                        }
                                    },
                                    "visibility": "internal"
                                },
                                {
                                    "constant": false,
                                    "id": 14617,
                                    "mutability": "mutable",
                                    "name": "p2",
                                    "nameLocation": "14067:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 14631,
                                    "src": "14059:10:62",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_address",
                                        "typeString": "address"
                                    },
                                    "typeName": {
                                        "id": 14616,
                                        "name": "address",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "14059:7:62",
                                        "stateMutability": "nonpayable",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_address",
                                            "typeString": "address"
                                        }
                                    },
                                    "visibility": "internal"
                                }
                            ],
                            "src": "14040:30:62"
                        },
                        "returnParameters": {
                            "id": 14619,
                            "nodeType": "ParameterList",
                            "parameters": [],
                            "src": "14085:0:62"
                        },
                        "scope": 20920,
                        "src": "14028:143:62",
                        "stateMutability": "view",
                        "virtual": false,
                        "visibility": "internal"
                    },
                    {
                        "body": {
                            "id": 14650,
                            "nodeType": "Block",
                            "src": "14231:86:62",
                            "statements": [
                                {
                                    "expression": {
                                        "arguments": [
                                            {
                                                "arguments": [
                                                    {
                                                        "hexValue": "6c6f6728626f6f6c2c616464726573732c75696e7429",
                                                        "id": 14643,
                                                        "isConstant": false,
                                                        "isLValue": false,
                                                        "isPure": true,
                                                        "kind": "string",
                                                        "lValueRequested": false,
                                                        "nodeType": "Literal",
                                                        "src": "14275:24:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_stringliteral_eb704bafbd89369a907d48394b6acdacf482ae42cc2aaedd1cc37e89b4054b3d",
                                                            "typeString": "literal_string \"log(bool,address,uint)\""
                                                        },
                                                        "value": "log(bool,address,uint)"
                                                    },
                                                    {
                                                        "id": 14644,
                                                        "name": "p0",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 14633,
                                                        "src": "14301:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_bool",
                                                            "typeString": "bool"
                                                        }
                                                    },
                                                    {
                                                        "id": 14645,
                                                        "name": "p1",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 14635,
                                                        "src": "14305:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_address",
                                                            "typeString": "address"
                                                        }
                                                    },
                                                    {
                                                        "id": 14646,
                                                        "name": "p2",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 14637,
                                                        "src": "14309:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_uint256",
                                                            "typeString": "uint256"
                                                        }
                                                    }
                                                ],
                                                "expression": {
                                                    "argumentTypes": [
                                                        {
                                                            "typeIdentifier": "t_stringliteral_eb704bafbd89369a907d48394b6acdacf482ae42cc2aaedd1cc37e89b4054b3d",
                                                            "typeString": "literal_string \"log(bool,address,uint)\""
                                                        },
                                                        {
                                                            "typeIdentifier": "t_bool",
                                                            "typeString": "bool"
                                                        },
                                                        {
                                                            "typeIdentifier": "t_address",
                                                            "typeString": "address"
                                                        },
                                                        {
                                                            "typeIdentifier": "t_uint256",
                                                            "typeString": "uint256"
                                                        }
                                                    ],
                                                    "expression": {
                                                        "id": 14641,
                                                        "name": "abi",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 4294967295,
                                                        "src": "14251:3:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_magic_abi",
                                                            "typeString": "abi"
                                                        }
                                                    },
                                                    "id": 14642,
                                                    "isConstant": false,
                                                    "isLValue": false,
                                                    "isPure": true,
                                                    "lValueRequested": false,
                                                    "memberName": "encodeWithSignature",
                                                    "nodeType": "MemberAccess",
                                                    "src": "14251:23:62",
                                                    "typeDescriptions": {
                                                        "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$",
                                                        "typeString": "function (string memory) pure returns (bytes memory)"
                                                    }
                                                },
                                                "id": 14647,
                                                "isConstant": false,
                                                "isLValue": false,
                                                "isPure": false,
                                                "kind": "functionCall",
                                                "lValueRequested": false,
                                                "names": [],
                                                "nodeType": "FunctionCall",
                                                "src": "14251:61:62",
                                                "tryCall": false,
                                                "typeDescriptions": {
                                                    "typeIdentifier": "t_bytes_memory_ptr",
                                                    "typeString": "bytes memory"
                                                }
                                            }
                                        ],
                                        "expression": {
                                            "argumentTypes": [
                                                {
                                                    "typeIdentifier": "t_bytes_memory_ptr",
                                                    "typeString": "bytes memory"
                                                }
                                            ],
                                            "id": 14640,
                                            "name": "_sendLogPayload",
                                            "nodeType": "Identifier",
                                            "overloadedDeclarations": [],
                                            "referencedDeclaration": 12880,
                                            "src": "14235:15:62",
                                            "typeDescriptions": {
                                                "typeIdentifier": "t_function_internal_view$_t_bytes_memory_ptr_$returns$__$",
                                                "typeString": "function (bytes memory) view"
                                            }
                                        },
                                        "id": 14648,
                                        "isConstant": false,
                                        "isLValue": false,
                                        "isPure": false,
                                        "kind": "functionCall",
                                        "lValueRequested": false,
                                        "names": [],
                                        "nodeType": "FunctionCall",
                                        "src": "14235:78:62",
                                        "tryCall": false,
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_tuple$__$",
                                            "typeString": "tuple()"
                                        }
                                    },
                                    "id": 14649,
                                    "nodeType": "ExpressionStatement",
                                    "src": "14235:78:62"
                                }
                            ]
                        },
                        "id": 14651,
                        "implemented": true,
                        "kind": "function",
                        "modifiers": [],
                        "name": "log",
                        "nameLocation": "14183:3:62",
                        "nodeType": "FunctionDefinition",
                        "parameters": {
                            "id": 14638,
                            "nodeType": "ParameterList",
                            "parameters": [
                                {
                                    "constant": false,
                                    "id": 14633,
                                    "mutability": "mutable",
                                    "name": "p0",
                                    "nameLocation": "14192:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 14651,
                                    "src": "14187:7:62",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_bool",
                                        "typeString": "bool"
                                    },
                                    "typeName": {
                                        "id": 14632,
                                        "name": "bool",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "14187:4:62",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_bool",
                                            "typeString": "bool"
                                        }
                                    },
                                    "visibility": "internal"
                                },
                                {
                                    "constant": false,
                                    "id": 14635,
                                    "mutability": "mutable",
                                    "name": "p1",
                                    "nameLocation": "14204:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 14651,
                                    "src": "14196:10:62",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_address",
                                        "typeString": "address"
                                    },
                                    "typeName": {
                                        "id": 14634,
                                        "name": "address",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "14196:7:62",
                                        "stateMutability": "nonpayable",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_address",
                                            "typeString": "address"
                                        }
                                    },
                                    "visibility": "internal"
                                },
                                {
                                    "constant": false,
                                    "id": 14637,
                                    "mutability": "mutable",
                                    "name": "p2",
                                    "nameLocation": "14213:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 14651,
                                    "src": "14208:7:62",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_uint256",
                                        "typeString": "uint256"
                                    },
                                    "typeName": {
                                        "id": 14636,
                                        "name": "uint",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "14208:4:62",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_uint256",
                                            "typeString": "uint256"
                                        }
                                    },
                                    "visibility": "internal"
                                }
                            ],
                            "src": "14186:30:62"
                        },
                        "returnParameters": {
                            "id": 14639,
                            "nodeType": "ParameterList",
                            "parameters": [],
                            "src": "14231:0:62"
                        },
                        "scope": 20920,
                        "src": "14174:143:62",
                        "stateMutability": "view",
                        "virtual": false,
                        "visibility": "internal"
                    },
                    {
                        "body": {
                            "id": 14670,
                            "nodeType": "Block",
                            "src": "14386:88:62",
                            "statements": [
                                {
                                    "expression": {
                                        "arguments": [
                                            {
                                                "arguments": [
                                                    {
                                                        "hexValue": "6c6f6728626f6f6c2c616464726573732c737472696e6729",
                                                        "id": 14663,
                                                        "isConstant": false,
                                                        "isLValue": false,
                                                        "isPure": true,
                                                        "kind": "string",
                                                        "lValueRequested": false,
                                                        "nodeType": "Literal",
                                                        "src": "14430:26:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_stringliteral_de9a927090b15ed84eefc0c471675a23ce67fd75011b1652fe17ca2dd0dcd06d",
                                                            "typeString": "literal_string \"log(bool,address,string)\""
                                                        },
                                                        "value": "log(bool,address,string)"
                                                    },
                                                    {
                                                        "id": 14664,
                                                        "name": "p0",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 14653,
                                                        "src": "14458:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_bool",
                                                            "typeString": "bool"
                                                        }
                                                    },
                                                    {
                                                        "id": 14665,
                                                        "name": "p1",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 14655,
                                                        "src": "14462:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_address",
                                                            "typeString": "address"
                                                        }
                                                    },
                                                    {
                                                        "id": 14666,
                                                        "name": "p2",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 14657,
                                                        "src": "14466:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_string_memory_ptr",
                                                            "typeString": "string memory"
                                                        }
                                                    }
                                                ],
                                                "expression": {
                                                    "argumentTypes": [
                                                        {
                                                            "typeIdentifier": "t_stringliteral_de9a927090b15ed84eefc0c471675a23ce67fd75011b1652fe17ca2dd0dcd06d",
                                                            "typeString": "literal_string \"log(bool,address,string)\""
                                                        },
                                                        {
                                                            "typeIdentifier": "t_bool",
                                                            "typeString": "bool"
                                                        },
                                                        {
                                                            "typeIdentifier": "t_address",
                                                            "typeString": "address"
                                                        },
                                                        {
                                                            "typeIdentifier": "t_string_memory_ptr",
                                                            "typeString": "string memory"
                                                        }
                                                    ],
                                                    "expression": {
                                                        "id": 14661,
                                                        "name": "abi",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 4294967295,
                                                        "src": "14406:3:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_magic_abi",
                                                            "typeString": "abi"
                                                        }
                                                    },
                                                    "id": 14662,
                                                    "isConstant": false,
                                                    "isLValue": false,
                                                    "isPure": true,
                                                    "lValueRequested": false,
                                                    "memberName": "encodeWithSignature",
                                                    "nodeType": "MemberAccess",
                                                    "src": "14406:23:62",
                                                    "typeDescriptions": {
                                                        "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$",
                                                        "typeString": "function (string memory) pure returns (bytes memory)"
                                                    }
                                                },
                                                "id": 14667,
                                                "isConstant": false,
                                                "isLValue": false,
                                                "isPure": false,
                                                "kind": "functionCall",
                                                "lValueRequested": false,
                                                "names": [],
                                                "nodeType": "FunctionCall",
                                                "src": "14406:63:62",
                                                "tryCall": false,
                                                "typeDescriptions": {
                                                    "typeIdentifier": "t_bytes_memory_ptr",
                                                    "typeString": "bytes memory"
                                                }
                                            }
                                        ],
                                        "expression": {
                                            "argumentTypes": [
                                                {
                                                    "typeIdentifier": "t_bytes_memory_ptr",
                                                    "typeString": "bytes memory"
                                                }
                                            ],
                                            "id": 14660,
                                            "name": "_sendLogPayload",
                                            "nodeType": "Identifier",
                                            "overloadedDeclarations": [],
                                            "referencedDeclaration": 12880,
                                            "src": "14390:15:62",
                                            "typeDescriptions": {
                                                "typeIdentifier": "t_function_internal_view$_t_bytes_memory_ptr_$returns$__$",
                                                "typeString": "function (bytes memory) view"
                                            }
                                        },
                                        "id": 14668,
                                        "isConstant": false,
                                        "isLValue": false,
                                        "isPure": false,
                                        "kind": "functionCall",
                                        "lValueRequested": false,
                                        "names": [],
                                        "nodeType": "FunctionCall",
                                        "src": "14390:80:62",
                                        "tryCall": false,
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_tuple$__$",
                                            "typeString": "tuple()"
                                        }
                                    },
                                    "id": 14669,
                                    "nodeType": "ExpressionStatement",
                                    "src": "14390:80:62"
                                }
                            ]
                        },
                        "id": 14671,
                        "implemented": true,
                        "kind": "function",
                        "modifiers": [],
                        "name": "log",
                        "nameLocation": "14329:3:62",
                        "nodeType": "FunctionDefinition",
                        "parameters": {
                            "id": 14658,
                            "nodeType": "ParameterList",
                            "parameters": [
                                {
                                    "constant": false,
                                    "id": 14653,
                                    "mutability": "mutable",
                                    "name": "p0",
                                    "nameLocation": "14338:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 14671,
                                    "src": "14333:7:62",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_bool",
                                        "typeString": "bool"
                                    },
                                    "typeName": {
                                        "id": 14652,
                                        "name": "bool",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "14333:4:62",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_bool",
                                            "typeString": "bool"
                                        }
                                    },
                                    "visibility": "internal"
                                },
                                {
                                    "constant": false,
                                    "id": 14655,
                                    "mutability": "mutable",
                                    "name": "p1",
                                    "nameLocation": "14350:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 14671,
                                    "src": "14342:10:62",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_address",
                                        "typeString": "address"
                                    },
                                    "typeName": {
                                        "id": 14654,
                                        "name": "address",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "14342:7:62",
                                        "stateMutability": "nonpayable",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_address",
                                            "typeString": "address"
                                        }
                                    },
                                    "visibility": "internal"
                                },
                                {
                                    "constant": false,
                                    "id": 14657,
                                    "mutability": "mutable",
                                    "name": "p2",
                                    "nameLocation": "14368:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 14671,
                                    "src": "14354:16:62",
                                    "stateVariable": false,
                                    "storageLocation": "memory",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_string_memory_ptr",
                                        "typeString": "string"
                                    },
                                    "typeName": {
                                        "id": 14656,
                                        "name": "string",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "14354:6:62",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_string_storage_ptr",
                                            "typeString": "string"
                                        }
                                    },
                                    "visibility": "internal"
                                }
                            ],
                            "src": "14332:39:62"
                        },
                        "returnParameters": {
                            "id": 14659,
                            "nodeType": "ParameterList",
                            "parameters": [],
                            "src": "14386:0:62"
                        },
                        "scope": 20920,
                        "src": "14320:154:62",
                        "stateMutability": "view",
                        "virtual": false,
                        "visibility": "internal"
                    },
                    {
                        "body": {
                            "id": 14690,
                            "nodeType": "Block",
                            "src": "14534:86:62",
                            "statements": [
                                {
                                    "expression": {
                                        "arguments": [
                                            {
                                                "arguments": [
                                                    {
                                                        "hexValue": "6c6f6728626f6f6c2c616464726573732c626f6f6c29",
                                                        "id": 14683,
                                                        "isConstant": false,
                                                        "isLValue": false,
                                                        "isPure": true,
                                                        "kind": "string",
                                                        "lValueRequested": false,
                                                        "nodeType": "Literal",
                                                        "src": "14578:24:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_stringliteral_18c9c746c9d0e38e4dc234ee76e678bbaa4e473eca3dce0969637d7f01e4a908",
                                                            "typeString": "literal_string \"log(bool,address,bool)\""
                                                        },
                                                        "value": "log(bool,address,bool)"
                                                    },
                                                    {
                                                        "id": 14684,
                                                        "name": "p0",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 14673,
                                                        "src": "14604:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_bool",
                                                            "typeString": "bool"
                                                        }
                                                    },
                                                    {
                                                        "id": 14685,
                                                        "name": "p1",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 14675,
                                                        "src": "14608:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_address",
                                                            "typeString": "address"
                                                        }
                                                    },
                                                    {
                                                        "id": 14686,
                                                        "name": "p2",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 14677,
                                                        "src": "14612:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_bool",
                                                            "typeString": "bool"
                                                        }
                                                    }
                                                ],
                                                "expression": {
                                                    "argumentTypes": [
                                                        {
                                                            "typeIdentifier": "t_stringliteral_18c9c746c9d0e38e4dc234ee76e678bbaa4e473eca3dce0969637d7f01e4a908",
                                                            "typeString": "literal_string \"log(bool,address,bool)\""
                                                        },
                                                        {
                                                            "typeIdentifier": "t_bool",
                                                            "typeString": "bool"
                                                        },
                                                        {
                                                            "typeIdentifier": "t_address",
                                                            "typeString": "address"
                                                        },
                                                        {
                                                            "typeIdentifier": "t_bool",
                                                            "typeString": "bool"
                                                        }
                                                    ],
                                                    "expression": {
                                                        "id": 14681,
                                                        "name": "abi",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 4294967295,
                                                        "src": "14554:3:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_magic_abi",
                                                            "typeString": "abi"
                                                        }
                                                    },
                                                    "id": 14682,
                                                    "isConstant": false,
                                                    "isLValue": false,
                                                    "isPure": true,
                                                    "lValueRequested": false,
                                                    "memberName": "encodeWithSignature",
                                                    "nodeType": "MemberAccess",
                                                    "src": "14554:23:62",
                                                    "typeDescriptions": {
                                                        "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$",
                                                        "typeString": "function (string memory) pure returns (bytes memory)"
                                                    }
                                                },
                                                "id": 14687,
                                                "isConstant": false,
                                                "isLValue": false,
                                                "isPure": false,
                                                "kind": "functionCall",
                                                "lValueRequested": false,
                                                "names": [],
                                                "nodeType": "FunctionCall",
                                                "src": "14554:61:62",
                                                "tryCall": false,
                                                "typeDescriptions": {
                                                    "typeIdentifier": "t_bytes_memory_ptr",
                                                    "typeString": "bytes memory"
                                                }
                                            }
                                        ],
                                        "expression": {
                                            "argumentTypes": [
                                                {
                                                    "typeIdentifier": "t_bytes_memory_ptr",
                                                    "typeString": "bytes memory"
                                                }
                                            ],
                                            "id": 14680,
                                            "name": "_sendLogPayload",
                                            "nodeType": "Identifier",
                                            "overloadedDeclarations": [],
                                            "referencedDeclaration": 12880,
                                            "src": "14538:15:62",
                                            "typeDescriptions": {
                                                "typeIdentifier": "t_function_internal_view$_t_bytes_memory_ptr_$returns$__$",
                                                "typeString": "function (bytes memory) view"
                                            }
                                        },
                                        "id": 14688,
                                        "isConstant": false,
                                        "isLValue": false,
                                        "isPure": false,
                                        "kind": "functionCall",
                                        "lValueRequested": false,
                                        "names": [],
                                        "nodeType": "FunctionCall",
                                        "src": "14538:78:62",
                                        "tryCall": false,
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_tuple$__$",
                                            "typeString": "tuple()"
                                        }
                                    },
                                    "id": 14689,
                                    "nodeType": "ExpressionStatement",
                                    "src": "14538:78:62"
                                }
                            ]
                        },
                        "id": 14691,
                        "implemented": true,
                        "kind": "function",
                        "modifiers": [],
                        "name": "log",
                        "nameLocation": "14486:3:62",
                        "nodeType": "FunctionDefinition",
                        "parameters": {
                            "id": 14678,
                            "nodeType": "ParameterList",
                            "parameters": [
                                {
                                    "constant": false,
                                    "id": 14673,
                                    "mutability": "mutable",
                                    "name": "p0",
                                    "nameLocation": "14495:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 14691,
                                    "src": "14490:7:62",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_bool",
                                        "typeString": "bool"
                                    },
                                    "typeName": {
                                        "id": 14672,
                                        "name": "bool",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "14490:4:62",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_bool",
                                            "typeString": "bool"
                                        }
                                    },
                                    "visibility": "internal"
                                },
                                {
                                    "constant": false,
                                    "id": 14675,
                                    "mutability": "mutable",
                                    "name": "p1",
                                    "nameLocation": "14507:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 14691,
                                    "src": "14499:10:62",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_address",
                                        "typeString": "address"
                                    },
                                    "typeName": {
                                        "id": 14674,
                                        "name": "address",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "14499:7:62",
                                        "stateMutability": "nonpayable",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_address",
                                            "typeString": "address"
                                        }
                                    },
                                    "visibility": "internal"
                                },
                                {
                                    "constant": false,
                                    "id": 14677,
                                    "mutability": "mutable",
                                    "name": "p2",
                                    "nameLocation": "14516:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 14691,
                                    "src": "14511:7:62",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_bool",
                                        "typeString": "bool"
                                    },
                                    "typeName": {
                                        "id": 14676,
                                        "name": "bool",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "14511:4:62",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_bool",
                                            "typeString": "bool"
                                        }
                                    },
                                    "visibility": "internal"
                                }
                            ],
                            "src": "14489:30:62"
                        },
                        "returnParameters": {
                            "id": 14679,
                            "nodeType": "ParameterList",
                            "parameters": [],
                            "src": "14534:0:62"
                        },
                        "scope": 20920,
                        "src": "14477:143:62",
                        "stateMutability": "view",
                        "virtual": false,
                        "visibility": "internal"
                    },
                    {
                        "body": {
                            "id": 14710,
                            "nodeType": "Block",
                            "src": "14683:89:62",
                            "statements": [
                                {
                                    "expression": {
                                        "arguments": [
                                            {
                                                "arguments": [
                                                    {
                                                        "hexValue": "6c6f6728626f6f6c2c616464726573732c6164647265737329",
                                                        "id": 14703,
                                                        "isConstant": false,
                                                        "isLValue": false,
                                                        "isPure": true,
                                                        "kind": "string",
                                                        "lValueRequested": false,
                                                        "nodeType": "Literal",
                                                        "src": "14727:27:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_stringliteral_d2763667477f08a6a3f8ce84e1cc1aeb5e67ee2996f5f36e8939da2b8b8f0265",
                                                            "typeString": "literal_string \"log(bool,address,address)\""
                                                        },
                                                        "value": "log(bool,address,address)"
                                                    },
                                                    {
                                                        "id": 14704,
                                                        "name": "p0",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 14693,
                                                        "src": "14756:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_bool",
                                                            "typeString": "bool"
                                                        }
                                                    },
                                                    {
                                                        "id": 14705,
                                                        "name": "p1",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 14695,
                                                        "src": "14760:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_address",
                                                            "typeString": "address"
                                                        }
                                                    },
                                                    {
                                                        "id": 14706,
                                                        "name": "p2",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 14697,
                                                        "src": "14764:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_address",
                                                            "typeString": "address"
                                                        }
                                                    }
                                                ],
                                                "expression": {
                                                    "argumentTypes": [
                                                        {
                                                            "typeIdentifier": "t_stringliteral_d2763667477f08a6a3f8ce84e1cc1aeb5e67ee2996f5f36e8939da2b8b8f0265",
                                                            "typeString": "literal_string \"log(bool,address,address)\""
                                                        },
                                                        {
                                                            "typeIdentifier": "t_bool",
                                                            "typeString": "bool"
                                                        },
                                                        {
                                                            "typeIdentifier": "t_address",
                                                            "typeString": "address"
                                                        },
                                                        {
                                                            "typeIdentifier": "t_address",
                                                            "typeString": "address"
                                                        }
                                                    ],
                                                    "expression": {
                                                        "id": 14701,
                                                        "name": "abi",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 4294967295,
                                                        "src": "14703:3:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_magic_abi",
                                                            "typeString": "abi"
                                                        }
                                                    },
                                                    "id": 14702,
                                                    "isConstant": false,
                                                    "isLValue": false,
                                                    "isPure": true,
                                                    "lValueRequested": false,
                                                    "memberName": "encodeWithSignature",
                                                    "nodeType": "MemberAccess",
                                                    "src": "14703:23:62",
                                                    "typeDescriptions": {
                                                        "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$",
                                                        "typeString": "function (string memory) pure returns (bytes memory)"
                                                    }
                                                },
                                                "id": 14707,
                                                "isConstant": false,
                                                "isLValue": false,
                                                "isPure": false,
                                                "kind": "functionCall",
                                                "lValueRequested": false,
                                                "names": [],
                                                "nodeType": "FunctionCall",
                                                "src": "14703:64:62",
                                                "tryCall": false,
                                                "typeDescriptions": {
                                                    "typeIdentifier": "t_bytes_memory_ptr",
                                                    "typeString": "bytes memory"
                                                }
                                            }
                                        ],
                                        "expression": {
                                            "argumentTypes": [
                                                {
                                                    "typeIdentifier": "t_bytes_memory_ptr",
                                                    "typeString": "bytes memory"
                                                }
                                            ],
                                            "id": 14700,
                                            "name": "_sendLogPayload",
                                            "nodeType": "Identifier",
                                            "overloadedDeclarations": [],
                                            "referencedDeclaration": 12880,
                                            "src": "14687:15:62",
                                            "typeDescriptions": {
                                                "typeIdentifier": "t_function_internal_view$_t_bytes_memory_ptr_$returns$__$",
                                                "typeString": "function (bytes memory) view"
                                            }
                                        },
                                        "id": 14708,
                                        "isConstant": false,
                                        "isLValue": false,
                                        "isPure": false,
                                        "kind": "functionCall",
                                        "lValueRequested": false,
                                        "names": [],
                                        "nodeType": "FunctionCall",
                                        "src": "14687:81:62",
                                        "tryCall": false,
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_tuple$__$",
                                            "typeString": "tuple()"
                                        }
                                    },
                                    "id": 14709,
                                    "nodeType": "ExpressionStatement",
                                    "src": "14687:81:62"
                                }
                            ]
                        },
                        "id": 14711,
                        "implemented": true,
                        "kind": "function",
                        "modifiers": [],
                        "name": "log",
                        "nameLocation": "14632:3:62",
                        "nodeType": "FunctionDefinition",
                        "parameters": {
                            "id": 14698,
                            "nodeType": "ParameterList",
                            "parameters": [
                                {
                                    "constant": false,
                                    "id": 14693,
                                    "mutability": "mutable",
                                    "name": "p0",
                                    "nameLocation": "14641:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 14711,
                                    "src": "14636:7:62",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_bool",
                                        "typeString": "bool"
                                    },
                                    "typeName": {
                                        "id": 14692,
                                        "name": "bool",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "14636:4:62",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_bool",
                                            "typeString": "bool"
                                        }
                                    },
                                    "visibility": "internal"
                                },
                                {
                                    "constant": false,
                                    "id": 14695,
                                    "mutability": "mutable",
                                    "name": "p1",
                                    "nameLocation": "14653:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 14711,
                                    "src": "14645:10:62",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_address",
                                        "typeString": "address"
                                    },
                                    "typeName": {
                                        "id": 14694,
                                        "name": "address",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "14645:7:62",
                                        "stateMutability": "nonpayable",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_address",
                                            "typeString": "address"
                                        }
                                    },
                                    "visibility": "internal"
                                },
                                {
                                    "constant": false,
                                    "id": 14697,
                                    "mutability": "mutable",
                                    "name": "p2",
                                    "nameLocation": "14665:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 14711,
                                    "src": "14657:10:62",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_address",
                                        "typeString": "address"
                                    },
                                    "typeName": {
                                        "id": 14696,
                                        "name": "address",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "14657:7:62",
                                        "stateMutability": "nonpayable",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_address",
                                            "typeString": "address"
                                        }
                                    },
                                    "visibility": "internal"
                                }
                            ],
                            "src": "14635:33:62"
                        },
                        "returnParameters": {
                            "id": 14699,
                            "nodeType": "ParameterList",
                            "parameters": [],
                            "src": "14683:0:62"
                        },
                        "scope": 20920,
                        "src": "14623:149:62",
                        "stateMutability": "view",
                        "virtual": false,
                        "visibility": "internal"
                    },
                    {
                        "body": {
                            "id": 14730,
                            "nodeType": "Block",
                            "src": "14832:86:62",
                            "statements": [
                                {
                                    "expression": {
                                        "arguments": [
                                            {
                                                "arguments": [
                                                    {
                                                        "hexValue": "6c6f6728616464726573732c75696e742c75696e7429",
                                                        "id": 14723,
                                                        "isConstant": false,
                                                        "isLValue": false,
                                                        "isPure": true,
                                                        "kind": "string",
                                                        "lValueRequested": false,
                                                        "nodeType": "Literal",
                                                        "src": "14876:24:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_stringliteral_8786135eae1a8e4736031518026bd3bd30886c3cc8d3e8bdedd6faea426de5ea",
                                                            "typeString": "literal_string \"log(address,uint,uint)\""
                                                        },
                                                        "value": "log(address,uint,uint)"
                                                    },
                                                    {
                                                        "id": 14724,
                                                        "name": "p0",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 14713,
                                                        "src": "14902:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_address",
                                                            "typeString": "address"
                                                        }
                                                    },
                                                    {
                                                        "id": 14725,
                                                        "name": "p1",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 14715,
                                                        "src": "14906:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_uint256",
                                                            "typeString": "uint256"
                                                        }
                                                    },
                                                    {
                                                        "id": 14726,
                                                        "name": "p2",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 14717,
                                                        "src": "14910:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_uint256",
                                                            "typeString": "uint256"
                                                        }
                                                    }
                                                ],
                                                "expression": {
                                                    "argumentTypes": [
                                                        {
                                                            "typeIdentifier": "t_stringliteral_8786135eae1a8e4736031518026bd3bd30886c3cc8d3e8bdedd6faea426de5ea",
                                                            "typeString": "literal_string \"log(address,uint,uint)\""
                                                        },
                                                        {
                                                            "typeIdentifier": "t_address",
                                                            "typeString": "address"
                                                        },
                                                        {
                                                            "typeIdentifier": "t_uint256",
                                                            "typeString": "uint256"
                                                        },
                                                        {
                                                            "typeIdentifier": "t_uint256",
                                                            "typeString": "uint256"
                                                        }
                                                    ],
                                                    "expression": {
                                                        "id": 14721,
                                                        "name": "abi",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 4294967295,
                                                        "src": "14852:3:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_magic_abi",
                                                            "typeString": "abi"
                                                        }
                                                    },
                                                    "id": 14722,
                                                    "isConstant": false,
                                                    "isLValue": false,
                                                    "isPure": true,
                                                    "lValueRequested": false,
                                                    "memberName": "encodeWithSignature",
                                                    "nodeType": "MemberAccess",
                                                    "src": "14852:23:62",
                                                    "typeDescriptions": {
                                                        "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$",
                                                        "typeString": "function (string memory) pure returns (bytes memory)"
                                                    }
                                                },
                                                "id": 14727,
                                                "isConstant": false,
                                                "isLValue": false,
                                                "isPure": false,
                                                "kind": "functionCall",
                                                "lValueRequested": false,
                                                "names": [],
                                                "nodeType": "FunctionCall",
                                                "src": "14852:61:62",
                                                "tryCall": false,
                                                "typeDescriptions": {
                                                    "typeIdentifier": "t_bytes_memory_ptr",
                                                    "typeString": "bytes memory"
                                                }
                                            }
                                        ],
                                        "expression": {
                                            "argumentTypes": [
                                                {
                                                    "typeIdentifier": "t_bytes_memory_ptr",
                                                    "typeString": "bytes memory"
                                                }
                                            ],
                                            "id": 14720,
                                            "name": "_sendLogPayload",
                                            "nodeType": "Identifier",
                                            "overloadedDeclarations": [],
                                            "referencedDeclaration": 12880,
                                            "src": "14836:15:62",
                                            "typeDescriptions": {
                                                "typeIdentifier": "t_function_internal_view$_t_bytes_memory_ptr_$returns$__$",
                                                "typeString": "function (bytes memory) view"
                                            }
                                        },
                                        "id": 14728,
                                        "isConstant": false,
                                        "isLValue": false,
                                        "isPure": false,
                                        "kind": "functionCall",
                                        "lValueRequested": false,
                                        "names": [],
                                        "nodeType": "FunctionCall",
                                        "src": "14836:78:62",
                                        "tryCall": false,
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_tuple$__$",
                                            "typeString": "tuple()"
                                        }
                                    },
                                    "id": 14729,
                                    "nodeType": "ExpressionStatement",
                                    "src": "14836:78:62"
                                }
                            ]
                        },
                        "id": 14731,
                        "implemented": true,
                        "kind": "function",
                        "modifiers": [],
                        "name": "log",
                        "nameLocation": "14784:3:62",
                        "nodeType": "FunctionDefinition",
                        "parameters": {
                            "id": 14718,
                            "nodeType": "ParameterList",
                            "parameters": [
                                {
                                    "constant": false,
                                    "id": 14713,
                                    "mutability": "mutable",
                                    "name": "p0",
                                    "nameLocation": "14796:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 14731,
                                    "src": "14788:10:62",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_address",
                                        "typeString": "address"
                                    },
                                    "typeName": {
                                        "id": 14712,
                                        "name": "address",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "14788:7:62",
                                        "stateMutability": "nonpayable",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_address",
                                            "typeString": "address"
                                        }
                                    },
                                    "visibility": "internal"
                                },
                                {
                                    "constant": false,
                                    "id": 14715,
                                    "mutability": "mutable",
                                    "name": "p1",
                                    "nameLocation": "14805:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 14731,
                                    "src": "14800:7:62",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_uint256",
                                        "typeString": "uint256"
                                    },
                                    "typeName": {
                                        "id": 14714,
                                        "name": "uint",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "14800:4:62",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_uint256",
                                            "typeString": "uint256"
                                        }
                                    },
                                    "visibility": "internal"
                                },
                                {
                                    "constant": false,
                                    "id": 14717,
                                    "mutability": "mutable",
                                    "name": "p2",
                                    "nameLocation": "14814:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 14731,
                                    "src": "14809:7:62",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_uint256",
                                        "typeString": "uint256"
                                    },
                                    "typeName": {
                                        "id": 14716,
                                        "name": "uint",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "14809:4:62",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_uint256",
                                            "typeString": "uint256"
                                        }
                                    },
                                    "visibility": "internal"
                                }
                            ],
                            "src": "14787:30:62"
                        },
                        "returnParameters": {
                            "id": 14719,
                            "nodeType": "ParameterList",
                            "parameters": [],
                            "src": "14832:0:62"
                        },
                        "scope": 20920,
                        "src": "14775:143:62",
                        "stateMutability": "view",
                        "virtual": false,
                        "visibility": "internal"
                    },
                    {
                        "body": {
                            "id": 14750,
                            "nodeType": "Block",
                            "src": "14987:88:62",
                            "statements": [
                                {
                                    "expression": {
                                        "arguments": [
                                            {
                                                "arguments": [
                                                    {
                                                        "hexValue": "6c6f6728616464726573732c75696e742c737472696e6729",
                                                        "id": 14743,
                                                        "isConstant": false,
                                                        "isLValue": false,
                                                        "isPure": true,
                                                        "kind": "string",
                                                        "lValueRequested": false,
                                                        "nodeType": "Literal",
                                                        "src": "15031:26:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_stringliteral_baf968498a2094de432bd16841b992056c14db9f313a6b44c3156c2b5f1dc2b4",
                                                            "typeString": "literal_string \"log(address,uint,string)\""
                                                        },
                                                        "value": "log(address,uint,string)"
                                                    },
                                                    {
                                                        "id": 14744,
                                                        "name": "p0",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 14733,
                                                        "src": "15059:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_address",
                                                            "typeString": "address"
                                                        }
                                                    },
                                                    {
                                                        "id": 14745,
                                                        "name": "p1",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 14735,
                                                        "src": "15063:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_uint256",
                                                            "typeString": "uint256"
                                                        }
                                                    },
                                                    {
                                                        "id": 14746,
                                                        "name": "p2",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 14737,
                                                        "src": "15067:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_string_memory_ptr",
                                                            "typeString": "string memory"
                                                        }
                                                    }
                                                ],
                                                "expression": {
                                                    "argumentTypes": [
                                                        {
                                                            "typeIdentifier": "t_stringliteral_baf968498a2094de432bd16841b992056c14db9f313a6b44c3156c2b5f1dc2b4",
                                                            "typeString": "literal_string \"log(address,uint,string)\""
                                                        },
                                                        {
                                                            "typeIdentifier": "t_address",
                                                            "typeString": "address"
                                                        },
                                                        {
                                                            "typeIdentifier": "t_uint256",
                                                            "typeString": "uint256"
                                                        },
                                                        {
                                                            "typeIdentifier": "t_string_memory_ptr",
                                                            "typeString": "string memory"
                                                        }
                                                    ],
                                                    "expression": {
                                                        "id": 14741,
                                                        "name": "abi",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 4294967295,
                                                        "src": "15007:3:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_magic_abi",
                                                            "typeString": "abi"
                                                        }
                                                    },
                                                    "id": 14742,
                                                    "isConstant": false,
                                                    "isLValue": false,
                                                    "isPure": true,
                                                    "lValueRequested": false,
                                                    "memberName": "encodeWithSignature",
                                                    "nodeType": "MemberAccess",
                                                    "src": "15007:23:62",
                                                    "typeDescriptions": {
                                                        "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$",
                                                        "typeString": "function (string memory) pure returns (bytes memory)"
                                                    }
                                                },
                                                "id": 14747,
                                                "isConstant": false,
                                                "isLValue": false,
                                                "isPure": false,
                                                "kind": "functionCall",
                                                "lValueRequested": false,
                                                "names": [],
                                                "nodeType": "FunctionCall",
                                                "src": "15007:63:62",
                                                "tryCall": false,
                                                "typeDescriptions": {
                                                    "typeIdentifier": "t_bytes_memory_ptr",
                                                    "typeString": "bytes memory"
                                                }
                                            }
                                        ],
                                        "expression": {
                                            "argumentTypes": [
                                                {
                                                    "typeIdentifier": "t_bytes_memory_ptr",
                                                    "typeString": "bytes memory"
                                                }
                                            ],
                                            "id": 14740,
                                            "name": "_sendLogPayload",
                                            "nodeType": "Identifier",
                                            "overloadedDeclarations": [],
                                            "referencedDeclaration": 12880,
                                            "src": "14991:15:62",
                                            "typeDescriptions": {
                                                "typeIdentifier": "t_function_internal_view$_t_bytes_memory_ptr_$returns$__$",
                                                "typeString": "function (bytes memory) view"
                                            }
                                        },
                                        "id": 14748,
                                        "isConstant": false,
                                        "isLValue": false,
                                        "isPure": false,
                                        "kind": "functionCall",
                                        "lValueRequested": false,
                                        "names": [],
                                        "nodeType": "FunctionCall",
                                        "src": "14991:80:62",
                                        "tryCall": false,
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_tuple$__$",
                                            "typeString": "tuple()"
                                        }
                                    },
                                    "id": 14749,
                                    "nodeType": "ExpressionStatement",
                                    "src": "14991:80:62"
                                }
                            ]
                        },
                        "id": 14751,
                        "implemented": true,
                        "kind": "function",
                        "modifiers": [],
                        "name": "log",
                        "nameLocation": "14930:3:62",
                        "nodeType": "FunctionDefinition",
                        "parameters": {
                            "id": 14738,
                            "nodeType": "ParameterList",
                            "parameters": [
                                {
                                    "constant": false,
                                    "id": 14733,
                                    "mutability": "mutable",
                                    "name": "p0",
                                    "nameLocation": "14942:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 14751,
                                    "src": "14934:10:62",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_address",
                                        "typeString": "address"
                                    },
                                    "typeName": {
                                        "id": 14732,
                                        "name": "address",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "14934:7:62",
                                        "stateMutability": "nonpayable",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_address",
                                            "typeString": "address"
                                        }
                                    },
                                    "visibility": "internal"
                                },
                                {
                                    "constant": false,
                                    "id": 14735,
                                    "mutability": "mutable",
                                    "name": "p1",
                                    "nameLocation": "14951:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 14751,
                                    "src": "14946:7:62",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_uint256",
                                        "typeString": "uint256"
                                    },
                                    "typeName": {
                                        "id": 14734,
                                        "name": "uint",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "14946:4:62",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_uint256",
                                            "typeString": "uint256"
                                        }
                                    },
                                    "visibility": "internal"
                                },
                                {
                                    "constant": false,
                                    "id": 14737,
                                    "mutability": "mutable",
                                    "name": "p2",
                                    "nameLocation": "14969:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 14751,
                                    "src": "14955:16:62",
                                    "stateVariable": false,
                                    "storageLocation": "memory",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_string_memory_ptr",
                                        "typeString": "string"
                                    },
                                    "typeName": {
                                        "id": 14736,
                                        "name": "string",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "14955:6:62",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_string_storage_ptr",
                                            "typeString": "string"
                                        }
                                    },
                                    "visibility": "internal"
                                }
                            ],
                            "src": "14933:39:62"
                        },
                        "returnParameters": {
                            "id": 14739,
                            "nodeType": "ParameterList",
                            "parameters": [],
                            "src": "14987:0:62"
                        },
                        "scope": 20920,
                        "src": "14921:154:62",
                        "stateMutability": "view",
                        "virtual": false,
                        "visibility": "internal"
                    },
                    {
                        "body": {
                            "id": 14770,
                            "nodeType": "Block",
                            "src": "15135:86:62",
                            "statements": [
                                {
                                    "expression": {
                                        "arguments": [
                                            {
                                                "arguments": [
                                                    {
                                                        "hexValue": "6c6f6728616464726573732c75696e742c626f6f6c29",
                                                        "id": 14763,
                                                        "isConstant": false,
                                                        "isLValue": false,
                                                        "isPure": true,
                                                        "kind": "string",
                                                        "lValueRequested": false,
                                                        "nodeType": "Literal",
                                                        "src": "15179:24:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_stringliteral_e54ae1445cd51f09e801fc5885e33c709102997417d3d9b6f543f7724468b4e4",
                                                            "typeString": "literal_string \"log(address,uint,bool)\""
                                                        },
                                                        "value": "log(address,uint,bool)"
                                                    },
                                                    {
                                                        "id": 14764,
                                                        "name": "p0",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 14753,
                                                        "src": "15205:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_address",
                                                            "typeString": "address"
                                                        }
                                                    },
                                                    {
                                                        "id": 14765,
                                                        "name": "p1",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 14755,
                                                        "src": "15209:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_uint256",
                                                            "typeString": "uint256"
                                                        }
                                                    },
                                                    {
                                                        "id": 14766,
                                                        "name": "p2",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 14757,
                                                        "src": "15213:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_bool",
                                                            "typeString": "bool"
                                                        }
                                                    }
                                                ],
                                                "expression": {
                                                    "argumentTypes": [
                                                        {
                                                            "typeIdentifier": "t_stringliteral_e54ae1445cd51f09e801fc5885e33c709102997417d3d9b6f543f7724468b4e4",
                                                            "typeString": "literal_string \"log(address,uint,bool)\""
                                                        },
                                                        {
                                                            "typeIdentifier": "t_address",
                                                            "typeString": "address"
                                                        },
                                                        {
                                                            "typeIdentifier": "t_uint256",
                                                            "typeString": "uint256"
                                                        },
                                                        {
                                                            "typeIdentifier": "t_bool",
                                                            "typeString": "bool"
                                                        }
                                                    ],
                                                    "expression": {
                                                        "id": 14761,
                                                        "name": "abi",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 4294967295,
                                                        "src": "15155:3:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_magic_abi",
                                                            "typeString": "abi"
                                                        }
                                                    },
                                                    "id": 14762,
                                                    "isConstant": false,
                                                    "isLValue": false,
                                                    "isPure": true,
                                                    "lValueRequested": false,
                                                    "memberName": "encodeWithSignature",
                                                    "nodeType": "MemberAccess",
                                                    "src": "15155:23:62",
                                                    "typeDescriptions": {
                                                        "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$",
                                                        "typeString": "function (string memory) pure returns (bytes memory)"
                                                    }
                                                },
                                                "id": 14767,
                                                "isConstant": false,
                                                "isLValue": false,
                                                "isPure": false,
                                                "kind": "functionCall",
                                                "lValueRequested": false,
                                                "names": [],
                                                "nodeType": "FunctionCall",
                                                "src": "15155:61:62",
                                                "tryCall": false,
                                                "typeDescriptions": {
                                                    "typeIdentifier": "t_bytes_memory_ptr",
                                                    "typeString": "bytes memory"
                                                }
                                            }
                                        ],
                                        "expression": {
                                            "argumentTypes": [
                                                {
                                                    "typeIdentifier": "t_bytes_memory_ptr",
                                                    "typeString": "bytes memory"
                                                }
                                            ],
                                            "id": 14760,
                                            "name": "_sendLogPayload",
                                            "nodeType": "Identifier",
                                            "overloadedDeclarations": [],
                                            "referencedDeclaration": 12880,
                                            "src": "15139:15:62",
                                            "typeDescriptions": {
                                                "typeIdentifier": "t_function_internal_view$_t_bytes_memory_ptr_$returns$__$",
                                                "typeString": "function (bytes memory) view"
                                            }
                                        },
                                        "id": 14768,
                                        "isConstant": false,
                                        "isLValue": false,
                                        "isPure": false,
                                        "kind": "functionCall",
                                        "lValueRequested": false,
                                        "names": [],
                                        "nodeType": "FunctionCall",
                                        "src": "15139:78:62",
                                        "tryCall": false,
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_tuple$__$",
                                            "typeString": "tuple()"
                                        }
                                    },
                                    "id": 14769,
                                    "nodeType": "ExpressionStatement",
                                    "src": "15139:78:62"
                                }
                            ]
                        },
                        "id": 14771,
                        "implemented": true,
                        "kind": "function",
                        "modifiers": [],
                        "name": "log",
                        "nameLocation": "15087:3:62",
                        "nodeType": "FunctionDefinition",
                        "parameters": {
                            "id": 14758,
                            "nodeType": "ParameterList",
                            "parameters": [
                                {
                                    "constant": false,
                                    "id": 14753,
                                    "mutability": "mutable",
                                    "name": "p0",
                                    "nameLocation": "15099:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 14771,
                                    "src": "15091:10:62",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_address",
                                        "typeString": "address"
                                    },
                                    "typeName": {
                                        "id": 14752,
                                        "name": "address",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "15091:7:62",
                                        "stateMutability": "nonpayable",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_address",
                                            "typeString": "address"
                                        }
                                    },
                                    "visibility": "internal"
                                },
                                {
                                    "constant": false,
                                    "id": 14755,
                                    "mutability": "mutable",
                                    "name": "p1",
                                    "nameLocation": "15108:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 14771,
                                    "src": "15103:7:62",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_uint256",
                                        "typeString": "uint256"
                                    },
                                    "typeName": {
                                        "id": 14754,
                                        "name": "uint",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "15103:4:62",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_uint256",
                                            "typeString": "uint256"
                                        }
                                    },
                                    "visibility": "internal"
                                },
                                {
                                    "constant": false,
                                    "id": 14757,
                                    "mutability": "mutable",
                                    "name": "p2",
                                    "nameLocation": "15117:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 14771,
                                    "src": "15112:7:62",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_bool",
                                        "typeString": "bool"
                                    },
                                    "typeName": {
                                        "id": 14756,
                                        "name": "bool",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "15112:4:62",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_bool",
                                            "typeString": "bool"
                                        }
                                    },
                                    "visibility": "internal"
                                }
                            ],
                            "src": "15090:30:62"
                        },
                        "returnParameters": {
                            "id": 14759,
                            "nodeType": "ParameterList",
                            "parameters": [],
                            "src": "15135:0:62"
                        },
                        "scope": 20920,
                        "src": "15078:143:62",
                        "stateMutability": "view",
                        "virtual": false,
                        "visibility": "internal"
                    },
                    {
                        "body": {
                            "id": 14790,
                            "nodeType": "Block",
                            "src": "15284:89:62",
                            "statements": [
                                {
                                    "expression": {
                                        "arguments": [
                                            {
                                                "arguments": [
                                                    {
                                                        "hexValue": "6c6f6728616464726573732c75696e742c6164647265737329",
                                                        "id": 14783,
                                                        "isConstant": false,
                                                        "isLValue": false,
                                                        "isPure": true,
                                                        "kind": "string",
                                                        "lValueRequested": false,
                                                        "nodeType": "Literal",
                                                        "src": "15328:27:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_stringliteral_97eca3948a309251ff02cc4a3cb96f84ac4b6b4bdc56e86c9f0131c9b70c6259",
                                                            "typeString": "literal_string \"log(address,uint,address)\""
                                                        },
                                                        "value": "log(address,uint,address)"
                                                    },
                                                    {
                                                        "id": 14784,
                                                        "name": "p0",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 14773,
                                                        "src": "15357:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_address",
                                                            "typeString": "address"
                                                        }
                                                    },
                                                    {
                                                        "id": 14785,
                                                        "name": "p1",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 14775,
                                                        "src": "15361:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_uint256",
                                                            "typeString": "uint256"
                                                        }
                                                    },
                                                    {
                                                        "id": 14786,
                                                        "name": "p2",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 14777,
                                                        "src": "15365:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_address",
                                                            "typeString": "address"
                                                        }
                                                    }
                                                ],
                                                "expression": {
                                                    "argumentTypes": [
                                                        {
                                                            "typeIdentifier": "t_stringliteral_97eca3948a309251ff02cc4a3cb96f84ac4b6b4bdc56e86c9f0131c9b70c6259",
                                                            "typeString": "literal_string \"log(address,uint,address)\""
                                                        },
                                                        {
                                                            "typeIdentifier": "t_address",
                                                            "typeString": "address"
                                                        },
                                                        {
                                                            "typeIdentifier": "t_uint256",
                                                            "typeString": "uint256"
                                                        },
                                                        {
                                                            "typeIdentifier": "t_address",
                                                            "typeString": "address"
                                                        }
                                                    ],
                                                    "expression": {
                                                        "id": 14781,
                                                        "name": "abi",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 4294967295,
                                                        "src": "15304:3:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_magic_abi",
                                                            "typeString": "abi"
                                                        }
                                                    },
                                                    "id": 14782,
                                                    "isConstant": false,
                                                    "isLValue": false,
                                                    "isPure": true,
                                                    "lValueRequested": false,
                                                    "memberName": "encodeWithSignature",
                                                    "nodeType": "MemberAccess",
                                                    "src": "15304:23:62",
                                                    "typeDescriptions": {
                                                        "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$",
                                                        "typeString": "function (string memory) pure returns (bytes memory)"
                                                    }
                                                },
                                                "id": 14787,
                                                "isConstant": false,
                                                "isLValue": false,
                                                "isPure": false,
                                                "kind": "functionCall",
                                                "lValueRequested": false,
                                                "names": [],
                                                "nodeType": "FunctionCall",
                                                "src": "15304:64:62",
                                                "tryCall": false,
                                                "typeDescriptions": {
                                                    "typeIdentifier": "t_bytes_memory_ptr",
                                                    "typeString": "bytes memory"
                                                }
                                            }
                                        ],
                                        "expression": {
                                            "argumentTypes": [
                                                {
                                                    "typeIdentifier": "t_bytes_memory_ptr",
                                                    "typeString": "bytes memory"
                                                }
                                            ],
                                            "id": 14780,
                                            "name": "_sendLogPayload",
                                            "nodeType": "Identifier",
                                            "overloadedDeclarations": [],
                                            "referencedDeclaration": 12880,
                                            "src": "15288:15:62",
                                            "typeDescriptions": {
                                                "typeIdentifier": "t_function_internal_view$_t_bytes_memory_ptr_$returns$__$",
                                                "typeString": "function (bytes memory) view"
                                            }
                                        },
                                        "id": 14788,
                                        "isConstant": false,
                                        "isLValue": false,
                                        "isPure": false,
                                        "kind": "functionCall",
                                        "lValueRequested": false,
                                        "names": [],
                                        "nodeType": "FunctionCall",
                                        "src": "15288:81:62",
                                        "tryCall": false,
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_tuple$__$",
                                            "typeString": "tuple()"
                                        }
                                    },
                                    "id": 14789,
                                    "nodeType": "ExpressionStatement",
                                    "src": "15288:81:62"
                                }
                            ]
                        },
                        "id": 14791,
                        "implemented": true,
                        "kind": "function",
                        "modifiers": [],
                        "name": "log",
                        "nameLocation": "15233:3:62",
                        "nodeType": "FunctionDefinition",
                        "parameters": {
                            "id": 14778,
                            "nodeType": "ParameterList",
                            "parameters": [
                                {
                                    "constant": false,
                                    "id": 14773,
                                    "mutability": "mutable",
                                    "name": "p0",
                                    "nameLocation": "15245:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 14791,
                                    "src": "15237:10:62",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_address",
                                        "typeString": "address"
                                    },
                                    "typeName": {
                                        "id": 14772,
                                        "name": "address",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "15237:7:62",
                                        "stateMutability": "nonpayable",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_address",
                                            "typeString": "address"
                                        }
                                    },
                                    "visibility": "internal"
                                },
                                {
                                    "constant": false,
                                    "id": 14775,
                                    "mutability": "mutable",
                                    "name": "p1",
                                    "nameLocation": "15254:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 14791,
                                    "src": "15249:7:62",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_uint256",
                                        "typeString": "uint256"
                                    },
                                    "typeName": {
                                        "id": 14774,
                                        "name": "uint",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "15249:4:62",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_uint256",
                                            "typeString": "uint256"
                                        }
                                    },
                                    "visibility": "internal"
                                },
                                {
                                    "constant": false,
                                    "id": 14777,
                                    "mutability": "mutable",
                                    "name": "p2",
                                    "nameLocation": "15266:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 14791,
                                    "src": "15258:10:62",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_address",
                                        "typeString": "address"
                                    },
                                    "typeName": {
                                        "id": 14776,
                                        "name": "address",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "15258:7:62",
                                        "stateMutability": "nonpayable",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_address",
                                            "typeString": "address"
                                        }
                                    },
                                    "visibility": "internal"
                                }
                            ],
                            "src": "15236:33:62"
                        },
                        "returnParameters": {
                            "id": 14779,
                            "nodeType": "ParameterList",
                            "parameters": [],
                            "src": "15284:0:62"
                        },
                        "scope": 20920,
                        "src": "15224:149:62",
                        "stateMutability": "view",
                        "virtual": false,
                        "visibility": "internal"
                    },
                    {
                        "body": {
                            "id": 14810,
                            "nodeType": "Block",
                            "src": "15442:88:62",
                            "statements": [
                                {
                                    "expression": {
                                        "arguments": [
                                            {
                                                "arguments": [
                                                    {
                                                        "hexValue": "6c6f6728616464726573732c737472696e672c75696e7429",
                                                        "id": 14803,
                                                        "isConstant": false,
                                                        "isLValue": false,
                                                        "isPure": true,
                                                        "kind": "string",
                                                        "lValueRequested": false,
                                                        "nodeType": "Literal",
                                                        "src": "15486:26:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_stringliteral_1cdaf28a630ff01c83e1629295cea6793da60638603e831a5c07be53dbee3597",
                                                            "typeString": "literal_string \"log(address,string,uint)\""
                                                        },
                                                        "value": "log(address,string,uint)"
                                                    },
                                                    {
                                                        "id": 14804,
                                                        "name": "p0",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 14793,
                                                        "src": "15514:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_address",
                                                            "typeString": "address"
                                                        }
                                                    },
                                                    {
                                                        "id": 14805,
                                                        "name": "p1",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 14795,
                                                        "src": "15518:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_string_memory_ptr",
                                                            "typeString": "string memory"
                                                        }
                                                    },
                                                    {
                                                        "id": 14806,
                                                        "name": "p2",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 14797,
                                                        "src": "15522:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_uint256",
                                                            "typeString": "uint256"
                                                        }
                                                    }
                                                ],
                                                "expression": {
                                                    "argumentTypes": [
                                                        {
                                                            "typeIdentifier": "t_stringliteral_1cdaf28a630ff01c83e1629295cea6793da60638603e831a5c07be53dbee3597",
                                                            "typeString": "literal_string \"log(address,string,uint)\""
                                                        },
                                                        {
                                                            "typeIdentifier": "t_address",
                                                            "typeString": "address"
                                                        },
                                                        {
                                                            "typeIdentifier": "t_string_memory_ptr",
                                                            "typeString": "string memory"
                                                        },
                                                        {
                                                            "typeIdentifier": "t_uint256",
                                                            "typeString": "uint256"
                                                        }
                                                    ],
                                                    "expression": {
                                                        "id": 14801,
                                                        "name": "abi",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 4294967295,
                                                        "src": "15462:3:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_magic_abi",
                                                            "typeString": "abi"
                                                        }
                                                    },
                                                    "id": 14802,
                                                    "isConstant": false,
                                                    "isLValue": false,
                                                    "isPure": true,
                                                    "lValueRequested": false,
                                                    "memberName": "encodeWithSignature",
                                                    "nodeType": "MemberAccess",
                                                    "src": "15462:23:62",
                                                    "typeDescriptions": {
                                                        "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$",
                                                        "typeString": "function (string memory) pure returns (bytes memory)"
                                                    }
                                                },
                                                "id": 14807,
                                                "isConstant": false,
                                                "isLValue": false,
                                                "isPure": false,
                                                "kind": "functionCall",
                                                "lValueRequested": false,
                                                "names": [],
                                                "nodeType": "FunctionCall",
                                                "src": "15462:63:62",
                                                "tryCall": false,
                                                "typeDescriptions": {
                                                    "typeIdentifier": "t_bytes_memory_ptr",
                                                    "typeString": "bytes memory"
                                                }
                                            }
                                        ],
                                        "expression": {
                                            "argumentTypes": [
                                                {
                                                    "typeIdentifier": "t_bytes_memory_ptr",
                                                    "typeString": "bytes memory"
                                                }
                                            ],
                                            "id": 14800,
                                            "name": "_sendLogPayload",
                                            "nodeType": "Identifier",
                                            "overloadedDeclarations": [],
                                            "referencedDeclaration": 12880,
                                            "src": "15446:15:62",
                                            "typeDescriptions": {
                                                "typeIdentifier": "t_function_internal_view$_t_bytes_memory_ptr_$returns$__$",
                                                "typeString": "function (bytes memory) view"
                                            }
                                        },
                                        "id": 14808,
                                        "isConstant": false,
                                        "isLValue": false,
                                        "isPure": false,
                                        "kind": "functionCall",
                                        "lValueRequested": false,
                                        "names": [],
                                        "nodeType": "FunctionCall",
                                        "src": "15446:80:62",
                                        "tryCall": false,
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_tuple$__$",
                                            "typeString": "tuple()"
                                        }
                                    },
                                    "id": 14809,
                                    "nodeType": "ExpressionStatement",
                                    "src": "15446:80:62"
                                }
                            ]
                        },
                        "id": 14811,
                        "implemented": true,
                        "kind": "function",
                        "modifiers": [],
                        "name": "log",
                        "nameLocation": "15385:3:62",
                        "nodeType": "FunctionDefinition",
                        "parameters": {
                            "id": 14798,
                            "nodeType": "ParameterList",
                            "parameters": [
                                {
                                    "constant": false,
                                    "id": 14793,
                                    "mutability": "mutable",
                                    "name": "p0",
                                    "nameLocation": "15397:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 14811,
                                    "src": "15389:10:62",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_address",
                                        "typeString": "address"
                                    },
                                    "typeName": {
                                        "id": 14792,
                                        "name": "address",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "15389:7:62",
                                        "stateMutability": "nonpayable",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_address",
                                            "typeString": "address"
                                        }
                                    },
                                    "visibility": "internal"
                                },
                                {
                                    "constant": false,
                                    "id": 14795,
                                    "mutability": "mutable",
                                    "name": "p1",
                                    "nameLocation": "15415:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 14811,
                                    "src": "15401:16:62",
                                    "stateVariable": false,
                                    "storageLocation": "memory",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_string_memory_ptr",
                                        "typeString": "string"
                                    },
                                    "typeName": {
                                        "id": 14794,
                                        "name": "string",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "15401:6:62",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_string_storage_ptr",
                                            "typeString": "string"
                                        }
                                    },
                                    "visibility": "internal"
                                },
                                {
                                    "constant": false,
                                    "id": 14797,
                                    "mutability": "mutable",
                                    "name": "p2",
                                    "nameLocation": "15424:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 14811,
                                    "src": "15419:7:62",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_uint256",
                                        "typeString": "uint256"
                                    },
                                    "typeName": {
                                        "id": 14796,
                                        "name": "uint",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "15419:4:62",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_uint256",
                                            "typeString": "uint256"
                                        }
                                    },
                                    "visibility": "internal"
                                }
                            ],
                            "src": "15388:39:62"
                        },
                        "returnParameters": {
                            "id": 14799,
                            "nodeType": "ParameterList",
                            "parameters": [],
                            "src": "15442:0:62"
                        },
                        "scope": 20920,
                        "src": "15376:154:62",
                        "stateMutability": "view",
                        "virtual": false,
                        "visibility": "internal"
                    },
                    {
                        "body": {
                            "id": 14830,
                            "nodeType": "Block",
                            "src": "15608:90:62",
                            "statements": [
                                {
                                    "expression": {
                                        "arguments": [
                                            {
                                                "arguments": [
                                                    {
                                                        "hexValue": "6c6f6728616464726573732c737472696e672c737472696e6729",
                                                        "id": 14823,
                                                        "isConstant": false,
                                                        "isLValue": false,
                                                        "isPure": true,
                                                        "kind": "string",
                                                        "lValueRequested": false,
                                                        "nodeType": "Literal",
                                                        "src": "15652:28:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_stringliteral_fb77226597c11cd0c52945168d7176a06b9af41edea6a51823db111f35573158",
                                                            "typeString": "literal_string \"log(address,string,string)\""
                                                        },
                                                        "value": "log(address,string,string)"
                                                    },
                                                    {
                                                        "id": 14824,
                                                        "name": "p0",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 14813,
                                                        "src": "15682:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_address",
                                                            "typeString": "address"
                                                        }
                                                    },
                                                    {
                                                        "id": 14825,
                                                        "name": "p1",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 14815,
                                                        "src": "15686:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_string_memory_ptr",
                                                            "typeString": "string memory"
                                                        }
                                                    },
                                                    {
                                                        "id": 14826,
                                                        "name": "p2",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 14817,
                                                        "src": "15690:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_string_memory_ptr",
                                                            "typeString": "string memory"
                                                        }
                                                    }
                                                ],
                                                "expression": {
                                                    "argumentTypes": [
                                                        {
                                                            "typeIdentifier": "t_stringliteral_fb77226597c11cd0c52945168d7176a06b9af41edea6a51823db111f35573158",
                                                            "typeString": "literal_string \"log(address,string,string)\""
                                                        },
                                                        {
                                                            "typeIdentifier": "t_address",
                                                            "typeString": "address"
                                                        },
                                                        {
                                                            "typeIdentifier": "t_string_memory_ptr",
                                                            "typeString": "string memory"
                                                        },
                                                        {
                                                            "typeIdentifier": "t_string_memory_ptr",
                                                            "typeString": "string memory"
                                                        }
                                                    ],
                                                    "expression": {
                                                        "id": 14821,
                                                        "name": "abi",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 4294967295,
                                                        "src": "15628:3:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_magic_abi",
                                                            "typeString": "abi"
                                                        }
                                                    },
                                                    "id": 14822,
                                                    "isConstant": false,
                                                    "isLValue": false,
                                                    "isPure": true,
                                                    "lValueRequested": false,
                                                    "memberName": "encodeWithSignature",
                                                    "nodeType": "MemberAccess",
                                                    "src": "15628:23:62",
                                                    "typeDescriptions": {
                                                        "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$",
                                                        "typeString": "function (string memory) pure returns (bytes memory)"
                                                    }
                                                },
                                                "id": 14827,
                                                "isConstant": false,
                                                "isLValue": false,
                                                "isPure": false,
                                                "kind": "functionCall",
                                                "lValueRequested": false,
                                                "names": [],
                                                "nodeType": "FunctionCall",
                                                "src": "15628:65:62",
                                                "tryCall": false,
                                                "typeDescriptions": {
                                                    "typeIdentifier": "t_bytes_memory_ptr",
                                                    "typeString": "bytes memory"
                                                }
                                            }
                                        ],
                                        "expression": {
                                            "argumentTypes": [
                                                {
                                                    "typeIdentifier": "t_bytes_memory_ptr",
                                                    "typeString": "bytes memory"
                                                }
                                            ],
                                            "id": 14820,
                                            "name": "_sendLogPayload",
                                            "nodeType": "Identifier",
                                            "overloadedDeclarations": [],
                                            "referencedDeclaration": 12880,
                                            "src": "15612:15:62",
                                            "typeDescriptions": {
                                                "typeIdentifier": "t_function_internal_view$_t_bytes_memory_ptr_$returns$__$",
                                                "typeString": "function (bytes memory) view"
                                            }
                                        },
                                        "id": 14828,
                                        "isConstant": false,
                                        "isLValue": false,
                                        "isPure": false,
                                        "kind": "functionCall",
                                        "lValueRequested": false,
                                        "names": [],
                                        "nodeType": "FunctionCall",
                                        "src": "15612:82:62",
                                        "tryCall": false,
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_tuple$__$",
                                            "typeString": "tuple()"
                                        }
                                    },
                                    "id": 14829,
                                    "nodeType": "ExpressionStatement",
                                    "src": "15612:82:62"
                                }
                            ]
                        },
                        "id": 14831,
                        "implemented": true,
                        "kind": "function",
                        "modifiers": [],
                        "name": "log",
                        "nameLocation": "15542:3:62",
                        "nodeType": "FunctionDefinition",
                        "parameters": {
                            "id": 14818,
                            "nodeType": "ParameterList",
                            "parameters": [
                                {
                                    "constant": false,
                                    "id": 14813,
                                    "mutability": "mutable",
                                    "name": "p0",
                                    "nameLocation": "15554:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 14831,
                                    "src": "15546:10:62",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_address",
                                        "typeString": "address"
                                    },
                                    "typeName": {
                                        "id": 14812,
                                        "name": "address",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "15546:7:62",
                                        "stateMutability": "nonpayable",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_address",
                                            "typeString": "address"
                                        }
                                    },
                                    "visibility": "internal"
                                },
                                {
                                    "constant": false,
                                    "id": 14815,
                                    "mutability": "mutable",
                                    "name": "p1",
                                    "nameLocation": "15572:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 14831,
                                    "src": "15558:16:62",
                                    "stateVariable": false,
                                    "storageLocation": "memory",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_string_memory_ptr",
                                        "typeString": "string"
                                    },
                                    "typeName": {
                                        "id": 14814,
                                        "name": "string",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "15558:6:62",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_string_storage_ptr",
                                            "typeString": "string"
                                        }
                                    },
                                    "visibility": "internal"
                                },
                                {
                                    "constant": false,
                                    "id": 14817,
                                    "mutability": "mutable",
                                    "name": "p2",
                                    "nameLocation": "15590:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 14831,
                                    "src": "15576:16:62",
                                    "stateVariable": false,
                                    "storageLocation": "memory",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_string_memory_ptr",
                                        "typeString": "string"
                                    },
                                    "typeName": {
                                        "id": 14816,
                                        "name": "string",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "15576:6:62",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_string_storage_ptr",
                                            "typeString": "string"
                                        }
                                    },
                                    "visibility": "internal"
                                }
                            ],
                            "src": "15545:48:62"
                        },
                        "returnParameters": {
                            "id": 14819,
                            "nodeType": "ParameterList",
                            "parameters": [],
                            "src": "15608:0:62"
                        },
                        "scope": 20920,
                        "src": "15533:165:62",
                        "stateMutability": "view",
                        "virtual": false,
                        "visibility": "internal"
                    },
                    {
                        "body": {
                            "id": 14850,
                            "nodeType": "Block",
                            "src": "15767:88:62",
                            "statements": [
                                {
                                    "expression": {
                                        "arguments": [
                                            {
                                                "arguments": [
                                                    {
                                                        "hexValue": "6c6f6728616464726573732c737472696e672c626f6f6c29",
                                                        "id": 14843,
                                                        "isConstant": false,
                                                        "isLValue": false,
                                                        "isPure": true,
                                                        "kind": "string",
                                                        "lValueRequested": false,
                                                        "nodeType": "Literal",
                                                        "src": "15811:26:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_stringliteral_cf020fb14f49566c5748de1f455c699a10a4ed1d7cf32f9adb28d22878df1b96",
                                                            "typeString": "literal_string \"log(address,string,bool)\""
                                                        },
                                                        "value": "log(address,string,bool)"
                                                    },
                                                    {
                                                        "id": 14844,
                                                        "name": "p0",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 14833,
                                                        "src": "15839:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_address",
                                                            "typeString": "address"
                                                        }
                                                    },
                                                    {
                                                        "id": 14845,
                                                        "name": "p1",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 14835,
                                                        "src": "15843:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_string_memory_ptr",
                                                            "typeString": "string memory"
                                                        }
                                                    },
                                                    {
                                                        "id": 14846,
                                                        "name": "p2",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 14837,
                                                        "src": "15847:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_bool",
                                                            "typeString": "bool"
                                                        }
                                                    }
                                                ],
                                                "expression": {
                                                    "argumentTypes": [
                                                        {
                                                            "typeIdentifier": "t_stringliteral_cf020fb14f49566c5748de1f455c699a10a4ed1d7cf32f9adb28d22878df1b96",
                                                            "typeString": "literal_string \"log(address,string,bool)\""
                                                        },
                                                        {
                                                            "typeIdentifier": "t_address",
                                                            "typeString": "address"
                                                        },
                                                        {
                                                            "typeIdentifier": "t_string_memory_ptr",
                                                            "typeString": "string memory"
                                                        },
                                                        {
                                                            "typeIdentifier": "t_bool",
                                                            "typeString": "bool"
                                                        }
                                                    ],
                                                    "expression": {
                                                        "id": 14841,
                                                        "name": "abi",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 4294967295,
                                                        "src": "15787:3:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_magic_abi",
                                                            "typeString": "abi"
                                                        }
                                                    },
                                                    "id": 14842,
                                                    "isConstant": false,
                                                    "isLValue": false,
                                                    "isPure": true,
                                                    "lValueRequested": false,
                                                    "memberName": "encodeWithSignature",
                                                    "nodeType": "MemberAccess",
                                                    "src": "15787:23:62",
                                                    "typeDescriptions": {
                                                        "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$",
                                                        "typeString": "function (string memory) pure returns (bytes memory)"
                                                    }
                                                },
                                                "id": 14847,
                                                "isConstant": false,
                                                "isLValue": false,
                                                "isPure": false,
                                                "kind": "functionCall",
                                                "lValueRequested": false,
                                                "names": [],
                                                "nodeType": "FunctionCall",
                                                "src": "15787:63:62",
                                                "tryCall": false,
                                                "typeDescriptions": {
                                                    "typeIdentifier": "t_bytes_memory_ptr",
                                                    "typeString": "bytes memory"
                                                }
                                            }
                                        ],
                                        "expression": {
                                            "argumentTypes": [
                                                {
                                                    "typeIdentifier": "t_bytes_memory_ptr",
                                                    "typeString": "bytes memory"
                                                }
                                            ],
                                            "id": 14840,
                                            "name": "_sendLogPayload",
                                            "nodeType": "Identifier",
                                            "overloadedDeclarations": [],
                                            "referencedDeclaration": 12880,
                                            "src": "15771:15:62",
                                            "typeDescriptions": {
                                                "typeIdentifier": "t_function_internal_view$_t_bytes_memory_ptr_$returns$__$",
                                                "typeString": "function (bytes memory) view"
                                            }
                                        },
                                        "id": 14848,
                                        "isConstant": false,
                                        "isLValue": false,
                                        "isPure": false,
                                        "kind": "functionCall",
                                        "lValueRequested": false,
                                        "names": [],
                                        "nodeType": "FunctionCall",
                                        "src": "15771:80:62",
                                        "tryCall": false,
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_tuple$__$",
                                            "typeString": "tuple()"
                                        }
                                    },
                                    "id": 14849,
                                    "nodeType": "ExpressionStatement",
                                    "src": "15771:80:62"
                                }
                            ]
                        },
                        "id": 14851,
                        "implemented": true,
                        "kind": "function",
                        "modifiers": [],
                        "name": "log",
                        "nameLocation": "15710:3:62",
                        "nodeType": "FunctionDefinition",
                        "parameters": {
                            "id": 14838,
                            "nodeType": "ParameterList",
                            "parameters": [
                                {
                                    "constant": false,
                                    "id": 14833,
                                    "mutability": "mutable",
                                    "name": "p0",
                                    "nameLocation": "15722:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 14851,
                                    "src": "15714:10:62",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_address",
                                        "typeString": "address"
                                    },
                                    "typeName": {
                                        "id": 14832,
                                        "name": "address",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "15714:7:62",
                                        "stateMutability": "nonpayable",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_address",
                                            "typeString": "address"
                                        }
                                    },
                                    "visibility": "internal"
                                },
                                {
                                    "constant": false,
                                    "id": 14835,
                                    "mutability": "mutable",
                                    "name": "p1",
                                    "nameLocation": "15740:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 14851,
                                    "src": "15726:16:62",
                                    "stateVariable": false,
                                    "storageLocation": "memory",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_string_memory_ptr",
                                        "typeString": "string"
                                    },
                                    "typeName": {
                                        "id": 14834,
                                        "name": "string",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "15726:6:62",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_string_storage_ptr",
                                            "typeString": "string"
                                        }
                                    },
                                    "visibility": "internal"
                                },
                                {
                                    "constant": false,
                                    "id": 14837,
                                    "mutability": "mutable",
                                    "name": "p2",
                                    "nameLocation": "15749:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 14851,
                                    "src": "15744:7:62",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_bool",
                                        "typeString": "bool"
                                    },
                                    "typeName": {
                                        "id": 14836,
                                        "name": "bool",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "15744:4:62",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_bool",
                                            "typeString": "bool"
                                        }
                                    },
                                    "visibility": "internal"
                                }
                            ],
                            "src": "15713:39:62"
                        },
                        "returnParameters": {
                            "id": 14839,
                            "nodeType": "ParameterList",
                            "parameters": [],
                            "src": "15767:0:62"
                        },
                        "scope": 20920,
                        "src": "15701:154:62",
                        "stateMutability": "view",
                        "virtual": false,
                        "visibility": "internal"
                    },
                    {
                        "body": {
                            "id": 14870,
                            "nodeType": "Block",
                            "src": "15927:91:62",
                            "statements": [
                                {
                                    "expression": {
                                        "arguments": [
                                            {
                                                "arguments": [
                                                    {
                                                        "hexValue": "6c6f6728616464726573732c737472696e672c6164647265737329",
                                                        "id": 14863,
                                                        "isConstant": false,
                                                        "isLValue": false,
                                                        "isPure": true,
                                                        "kind": "string",
                                                        "lValueRequested": false,
                                                        "nodeType": "Literal",
                                                        "src": "15971:29:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_stringliteral_f08744e82875525f1ef885a48453f58e96cac98a5d32bd6d8c38e4977aede231",
                                                            "typeString": "literal_string \"log(address,string,address)\""
                                                        },
                                                        "value": "log(address,string,address)"
                                                    },
                                                    {
                                                        "id": 14864,
                                                        "name": "p0",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 14853,
                                                        "src": "16002:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_address",
                                                            "typeString": "address"
                                                        }
                                                    },
                                                    {
                                                        "id": 14865,
                                                        "name": "p1",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 14855,
                                                        "src": "16006:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_string_memory_ptr",
                                                            "typeString": "string memory"
                                                        }
                                                    },
                                                    {
                                                        "id": 14866,
                                                        "name": "p2",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 14857,
                                                        "src": "16010:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_address",
                                                            "typeString": "address"
                                                        }
                                                    }
                                                ],
                                                "expression": {
                                                    "argumentTypes": [
                                                        {
                                                            "typeIdentifier": "t_stringliteral_f08744e82875525f1ef885a48453f58e96cac98a5d32bd6d8c38e4977aede231",
                                                            "typeString": "literal_string \"log(address,string,address)\""
                                                        },
                                                        {
                                                            "typeIdentifier": "t_address",
                                                            "typeString": "address"
                                                        },
                                                        {
                                                            "typeIdentifier": "t_string_memory_ptr",
                                                            "typeString": "string memory"
                                                        },
                                                        {
                                                            "typeIdentifier": "t_address",
                                                            "typeString": "address"
                                                        }
                                                    ],
                                                    "expression": {
                                                        "id": 14861,
                                                        "name": "abi",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 4294967295,
                                                        "src": "15947:3:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_magic_abi",
                                                            "typeString": "abi"
                                                        }
                                                    },
                                                    "id": 14862,
                                                    "isConstant": false,
                                                    "isLValue": false,
                                                    "isPure": true,
                                                    "lValueRequested": false,
                                                    "memberName": "encodeWithSignature",
                                                    "nodeType": "MemberAccess",
                                                    "src": "15947:23:62",
                                                    "typeDescriptions": {
                                                        "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$",
                                                        "typeString": "function (string memory) pure returns (bytes memory)"
                                                    }
                                                },
                                                "id": 14867,
                                                "isConstant": false,
                                                "isLValue": false,
                                                "isPure": false,
                                                "kind": "functionCall",
                                                "lValueRequested": false,
                                                "names": [],
                                                "nodeType": "FunctionCall",
                                                "src": "15947:66:62",
                                                "tryCall": false,
                                                "typeDescriptions": {
                                                    "typeIdentifier": "t_bytes_memory_ptr",
                                                    "typeString": "bytes memory"
                                                }
                                            }
                                        ],
                                        "expression": {
                                            "argumentTypes": [
                                                {
                                                    "typeIdentifier": "t_bytes_memory_ptr",
                                                    "typeString": "bytes memory"
                                                }
                                            ],
                                            "id": 14860,
                                            "name": "_sendLogPayload",
                                            "nodeType": "Identifier",
                                            "overloadedDeclarations": [],
                                            "referencedDeclaration": 12880,
                                            "src": "15931:15:62",
                                            "typeDescriptions": {
                                                "typeIdentifier": "t_function_internal_view$_t_bytes_memory_ptr_$returns$__$",
                                                "typeString": "function (bytes memory) view"
                                            }
                                        },
                                        "id": 14868,
                                        "isConstant": false,
                                        "isLValue": false,
                                        "isPure": false,
                                        "kind": "functionCall",
                                        "lValueRequested": false,
                                        "names": [],
                                        "nodeType": "FunctionCall",
                                        "src": "15931:83:62",
                                        "tryCall": false,
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_tuple$__$",
                                            "typeString": "tuple()"
                                        }
                                    },
                                    "id": 14869,
                                    "nodeType": "ExpressionStatement",
                                    "src": "15931:83:62"
                                }
                            ]
                        },
                        "id": 14871,
                        "implemented": true,
                        "kind": "function",
                        "modifiers": [],
                        "name": "log",
                        "nameLocation": "15867:3:62",
                        "nodeType": "FunctionDefinition",
                        "parameters": {
                            "id": 14858,
                            "nodeType": "ParameterList",
                            "parameters": [
                                {
                                    "constant": false,
                                    "id": 14853,
                                    "mutability": "mutable",
                                    "name": "p0",
                                    "nameLocation": "15879:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 14871,
                                    "src": "15871:10:62",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_address",
                                        "typeString": "address"
                                    },
                                    "typeName": {
                                        "id": 14852,
                                        "name": "address",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "15871:7:62",
                                        "stateMutability": "nonpayable",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_address",
                                            "typeString": "address"
                                        }
                                    },
                                    "visibility": "internal"
                                },
                                {
                                    "constant": false,
                                    "id": 14855,
                                    "mutability": "mutable",
                                    "name": "p1",
                                    "nameLocation": "15897:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 14871,
                                    "src": "15883:16:62",
                                    "stateVariable": false,
                                    "storageLocation": "memory",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_string_memory_ptr",
                                        "typeString": "string"
                                    },
                                    "typeName": {
                                        "id": 14854,
                                        "name": "string",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "15883:6:62",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_string_storage_ptr",
                                            "typeString": "string"
                                        }
                                    },
                                    "visibility": "internal"
                                },
                                {
                                    "constant": false,
                                    "id": 14857,
                                    "mutability": "mutable",
                                    "name": "p2",
                                    "nameLocation": "15909:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 14871,
                                    "src": "15901:10:62",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_address",
                                        "typeString": "address"
                                    },
                                    "typeName": {
                                        "id": 14856,
                                        "name": "address",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "15901:7:62",
                                        "stateMutability": "nonpayable",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_address",
                                            "typeString": "address"
                                        }
                                    },
                                    "visibility": "internal"
                                }
                            ],
                            "src": "15870:42:62"
                        },
                        "returnParameters": {
                            "id": 14859,
                            "nodeType": "ParameterList",
                            "parameters": [],
                            "src": "15927:0:62"
                        },
                        "scope": 20920,
                        "src": "15858:160:62",
                        "stateMutability": "view",
                        "virtual": false,
                        "visibility": "internal"
                    },
                    {
                        "body": {
                            "id": 14890,
                            "nodeType": "Block",
                            "src": "16078:86:62",
                            "statements": [
                                {
                                    "expression": {
                                        "arguments": [
                                            {
                                                "arguments": [
                                                    {
                                                        "hexValue": "6c6f6728616464726573732c626f6f6c2c75696e7429",
                                                        "id": 14883,
                                                        "isConstant": false,
                                                        "isLValue": false,
                                                        "isPure": true,
                                                        "kind": "string",
                                                        "lValueRequested": false,
                                                        "nodeType": "Literal",
                                                        "src": "16122:24:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_stringliteral_2c468d157d9cb3bd4f3bc977d201b067de313f8e774b0377d5c5b2b5c9426095",
                                                            "typeString": "literal_string \"log(address,bool,uint)\""
                                                        },
                                                        "value": "log(address,bool,uint)"
                                                    },
                                                    {
                                                        "id": 14884,
                                                        "name": "p0",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 14873,
                                                        "src": "16148:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_address",
                                                            "typeString": "address"
                                                        }
                                                    },
                                                    {
                                                        "id": 14885,
                                                        "name": "p1",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 14875,
                                                        "src": "16152:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_bool",
                                                            "typeString": "bool"
                                                        }
                                                    },
                                                    {
                                                        "id": 14886,
                                                        "name": "p2",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 14877,
                                                        "src": "16156:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_uint256",
                                                            "typeString": "uint256"
                                                        }
                                                    }
                                                ],
                                                "expression": {
                                                    "argumentTypes": [
                                                        {
                                                            "typeIdentifier": "t_stringliteral_2c468d157d9cb3bd4f3bc977d201b067de313f8e774b0377d5c5b2b5c9426095",
                                                            "typeString": "literal_string \"log(address,bool,uint)\""
                                                        },
                                                        {
                                                            "typeIdentifier": "t_address",
                                                            "typeString": "address"
                                                        },
                                                        {
                                                            "typeIdentifier": "t_bool",
                                                            "typeString": "bool"
                                                        },
                                                        {
                                                            "typeIdentifier": "t_uint256",
                                                            "typeString": "uint256"
                                                        }
                                                    ],
                                                    "expression": {
                                                        "id": 14881,
                                                        "name": "abi",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 4294967295,
                                                        "src": "16098:3:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_magic_abi",
                                                            "typeString": "abi"
                                                        }
                                                    },
                                                    "id": 14882,
                                                    "isConstant": false,
                                                    "isLValue": false,
                                                    "isPure": true,
                                                    "lValueRequested": false,
                                                    "memberName": "encodeWithSignature",
                                                    "nodeType": "MemberAccess",
                                                    "src": "16098:23:62",
                                                    "typeDescriptions": {
                                                        "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$",
                                                        "typeString": "function (string memory) pure returns (bytes memory)"
                                                    }
                                                },
                                                "id": 14887,
                                                "isConstant": false,
                                                "isLValue": false,
                                                "isPure": false,
                                                "kind": "functionCall",
                                                "lValueRequested": false,
                                                "names": [],
                                                "nodeType": "FunctionCall",
                                                "src": "16098:61:62",
                                                "tryCall": false,
                                                "typeDescriptions": {
                                                    "typeIdentifier": "t_bytes_memory_ptr",
                                                    "typeString": "bytes memory"
                                                }
                                            }
                                        ],
                                        "expression": {
                                            "argumentTypes": [
                                                {
                                                    "typeIdentifier": "t_bytes_memory_ptr",
                                                    "typeString": "bytes memory"
                                                }
                                            ],
                                            "id": 14880,
                                            "name": "_sendLogPayload",
                                            "nodeType": "Identifier",
                                            "overloadedDeclarations": [],
                                            "referencedDeclaration": 12880,
                                            "src": "16082:15:62",
                                            "typeDescriptions": {
                                                "typeIdentifier": "t_function_internal_view$_t_bytes_memory_ptr_$returns$__$",
                                                "typeString": "function (bytes memory) view"
                                            }
                                        },
                                        "id": 14888,
                                        "isConstant": false,
                                        "isLValue": false,
                                        "isPure": false,
                                        "kind": "functionCall",
                                        "lValueRequested": false,
                                        "names": [],
                                        "nodeType": "FunctionCall",
                                        "src": "16082:78:62",
                                        "tryCall": false,
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_tuple$__$",
                                            "typeString": "tuple()"
                                        }
                                    },
                                    "id": 14889,
                                    "nodeType": "ExpressionStatement",
                                    "src": "16082:78:62"
                                }
                            ]
                        },
                        "id": 14891,
                        "implemented": true,
                        "kind": "function",
                        "modifiers": [],
                        "name": "log",
                        "nameLocation": "16030:3:62",
                        "nodeType": "FunctionDefinition",
                        "parameters": {
                            "id": 14878,
                            "nodeType": "ParameterList",
                            "parameters": [
                                {
                                    "constant": false,
                                    "id": 14873,
                                    "mutability": "mutable",
                                    "name": "p0",
                                    "nameLocation": "16042:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 14891,
                                    "src": "16034:10:62",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_address",
                                        "typeString": "address"
                                    },
                                    "typeName": {
                                        "id": 14872,
                                        "name": "address",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "16034:7:62",
                                        "stateMutability": "nonpayable",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_address",
                                            "typeString": "address"
                                        }
                                    },
                                    "visibility": "internal"
                                },
                                {
                                    "constant": false,
                                    "id": 14875,
                                    "mutability": "mutable",
                                    "name": "p1",
                                    "nameLocation": "16051:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 14891,
                                    "src": "16046:7:62",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_bool",
                                        "typeString": "bool"
                                    },
                                    "typeName": {
                                        "id": 14874,
                                        "name": "bool",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "16046:4:62",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_bool",
                                            "typeString": "bool"
                                        }
                                    },
                                    "visibility": "internal"
                                },
                                {
                                    "constant": false,
                                    "id": 14877,
                                    "mutability": "mutable",
                                    "name": "p2",
                                    "nameLocation": "16060:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 14891,
                                    "src": "16055:7:62",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_uint256",
                                        "typeString": "uint256"
                                    },
                                    "typeName": {
                                        "id": 14876,
                                        "name": "uint",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "16055:4:62",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_uint256",
                                            "typeString": "uint256"
                                        }
                                    },
                                    "visibility": "internal"
                                }
                            ],
                            "src": "16033:30:62"
                        },
                        "returnParameters": {
                            "id": 14879,
                            "nodeType": "ParameterList",
                            "parameters": [],
                            "src": "16078:0:62"
                        },
                        "scope": 20920,
                        "src": "16021:143:62",
                        "stateMutability": "view",
                        "virtual": false,
                        "visibility": "internal"
                    },
                    {
                        "body": {
                            "id": 14910,
                            "nodeType": "Block",
                            "src": "16233:88:62",
                            "statements": [
                                {
                                    "expression": {
                                        "arguments": [
                                            {
                                                "arguments": [
                                                    {
                                                        "hexValue": "6c6f6728616464726573732c626f6f6c2c737472696e6729",
                                                        "id": 14903,
                                                        "isConstant": false,
                                                        "isLValue": false,
                                                        "isPure": true,
                                                        "kind": "string",
                                                        "lValueRequested": false,
                                                        "nodeType": "Literal",
                                                        "src": "16277:26:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_stringliteral_212255cc5ff4a2d867f69451c60f51c24e41784276f4ceffe8ec3af322690750",
                                                            "typeString": "literal_string \"log(address,bool,string)\""
                                                        },
                                                        "value": "log(address,bool,string)"
                                                    },
                                                    {
                                                        "id": 14904,
                                                        "name": "p0",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 14893,
                                                        "src": "16305:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_address",
                                                            "typeString": "address"
                                                        }
                                                    },
                                                    {
                                                        "id": 14905,
                                                        "name": "p1",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 14895,
                                                        "src": "16309:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_bool",
                                                            "typeString": "bool"
                                                        }
                                                    },
                                                    {
                                                        "id": 14906,
                                                        "name": "p2",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 14897,
                                                        "src": "16313:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_string_memory_ptr",
                                                            "typeString": "string memory"
                                                        }
                                                    }
                                                ],
                                                "expression": {
                                                    "argumentTypes": [
                                                        {
                                                            "typeIdentifier": "t_stringliteral_212255cc5ff4a2d867f69451c60f51c24e41784276f4ceffe8ec3af322690750",
                                                            "typeString": "literal_string \"log(address,bool,string)\""
                                                        },
                                                        {
                                                            "typeIdentifier": "t_address",
                                                            "typeString": "address"
                                                        },
                                                        {
                                                            "typeIdentifier": "t_bool",
                                                            "typeString": "bool"
                                                        },
                                                        {
                                                            "typeIdentifier": "t_string_memory_ptr",
                                                            "typeString": "string memory"
                                                        }
                                                    ],
                                                    "expression": {
                                                        "id": 14901,
                                                        "name": "abi",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 4294967295,
                                                        "src": "16253:3:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_magic_abi",
                                                            "typeString": "abi"
                                                        }
                                                    },
                                                    "id": 14902,
                                                    "isConstant": false,
                                                    "isLValue": false,
                                                    "isPure": true,
                                                    "lValueRequested": false,
                                                    "memberName": "encodeWithSignature",
                                                    "nodeType": "MemberAccess",
                                                    "src": "16253:23:62",
                                                    "typeDescriptions": {
                                                        "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$",
                                                        "typeString": "function (string memory) pure returns (bytes memory)"
                                                    }
                                                },
                                                "id": 14907,
                                                "isConstant": false,
                                                "isLValue": false,
                                                "isPure": false,
                                                "kind": "functionCall",
                                                "lValueRequested": false,
                                                "names": [],
                                                "nodeType": "FunctionCall",
                                                "src": "16253:63:62",
                                                "tryCall": false,
                                                "typeDescriptions": {
                                                    "typeIdentifier": "t_bytes_memory_ptr",
                                                    "typeString": "bytes memory"
                                                }
                                            }
                                        ],
                                        "expression": {
                                            "argumentTypes": [
                                                {
                                                    "typeIdentifier": "t_bytes_memory_ptr",
                                                    "typeString": "bytes memory"
                                                }
                                            ],
                                            "id": 14900,
                                            "name": "_sendLogPayload",
                                            "nodeType": "Identifier",
                                            "overloadedDeclarations": [],
                                            "referencedDeclaration": 12880,
                                            "src": "16237:15:62",
                                            "typeDescriptions": {
                                                "typeIdentifier": "t_function_internal_view$_t_bytes_memory_ptr_$returns$__$",
                                                "typeString": "function (bytes memory) view"
                                            }
                                        },
                                        "id": 14908,
                                        "isConstant": false,
                                        "isLValue": false,
                                        "isPure": false,
                                        "kind": "functionCall",
                                        "lValueRequested": false,
                                        "names": [],
                                        "nodeType": "FunctionCall",
                                        "src": "16237:80:62",
                                        "tryCall": false,
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_tuple$__$",
                                            "typeString": "tuple()"
                                        }
                                    },
                                    "id": 14909,
                                    "nodeType": "ExpressionStatement",
                                    "src": "16237:80:62"
                                }
                            ]
                        },
                        "id": 14911,
                        "implemented": true,
                        "kind": "function",
                        "modifiers": [],
                        "name": "log",
                        "nameLocation": "16176:3:62",
                        "nodeType": "FunctionDefinition",
                        "parameters": {
                            "id": 14898,
                            "nodeType": "ParameterList",
                            "parameters": [
                                {
                                    "constant": false,
                                    "id": 14893,
                                    "mutability": "mutable",
                                    "name": "p0",
                                    "nameLocation": "16188:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 14911,
                                    "src": "16180:10:62",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_address",
                                        "typeString": "address"
                                    },
                                    "typeName": {
                                        "id": 14892,
                                        "name": "address",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "16180:7:62",
                                        "stateMutability": "nonpayable",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_address",
                                            "typeString": "address"
                                        }
                                    },
                                    "visibility": "internal"
                                },
                                {
                                    "constant": false,
                                    "id": 14895,
                                    "mutability": "mutable",
                                    "name": "p1",
                                    "nameLocation": "16197:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 14911,
                                    "src": "16192:7:62",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_bool",
                                        "typeString": "bool"
                                    },
                                    "typeName": {
                                        "id": 14894,
                                        "name": "bool",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "16192:4:62",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_bool",
                                            "typeString": "bool"
                                        }
                                    },
                                    "visibility": "internal"
                                },
                                {
                                    "constant": false,
                                    "id": 14897,
                                    "mutability": "mutable",
                                    "name": "p2",
                                    "nameLocation": "16215:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 14911,
                                    "src": "16201:16:62",
                                    "stateVariable": false,
                                    "storageLocation": "memory",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_string_memory_ptr",
                                        "typeString": "string"
                                    },
                                    "typeName": {
                                        "id": 14896,
                                        "name": "string",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "16201:6:62",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_string_storage_ptr",
                                            "typeString": "string"
                                        }
                                    },
                                    "visibility": "internal"
                                }
                            ],
                            "src": "16179:39:62"
                        },
                        "returnParameters": {
                            "id": 14899,
                            "nodeType": "ParameterList",
                            "parameters": [],
                            "src": "16233:0:62"
                        },
                        "scope": 20920,
                        "src": "16167:154:62",
                        "stateMutability": "view",
                        "virtual": false,
                        "visibility": "internal"
                    },
                    {
                        "body": {
                            "id": 14930,
                            "nodeType": "Block",
                            "src": "16381:86:62",
                            "statements": [
                                {
                                    "expression": {
                                        "arguments": [
                                            {
                                                "arguments": [
                                                    {
                                                        "hexValue": "6c6f6728616464726573732c626f6f6c2c626f6f6c29",
                                                        "id": 14923,
                                                        "isConstant": false,
                                                        "isLValue": false,
                                                        "isPure": true,
                                                        "kind": "string",
                                                        "lValueRequested": false,
                                                        "nodeType": "Literal",
                                                        "src": "16425:24:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_stringliteral_eb830c92a079b46f3abcb83e519f578cffe7387941b6885067265feec096d279",
                                                            "typeString": "literal_string \"log(address,bool,bool)\""
                                                        },
                                                        "value": "log(address,bool,bool)"
                                                    },
                                                    {
                                                        "id": 14924,
                                                        "name": "p0",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 14913,
                                                        "src": "16451:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_address",
                                                            "typeString": "address"
                                                        }
                                                    },
                                                    {
                                                        "id": 14925,
                                                        "name": "p1",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 14915,
                                                        "src": "16455:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_bool",
                                                            "typeString": "bool"
                                                        }
                                                    },
                                                    {
                                                        "id": 14926,
                                                        "name": "p2",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 14917,
                                                        "src": "16459:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_bool",
                                                            "typeString": "bool"
                                                        }
                                                    }
                                                ],
                                                "expression": {
                                                    "argumentTypes": [
                                                        {
                                                            "typeIdentifier": "t_stringliteral_eb830c92a079b46f3abcb83e519f578cffe7387941b6885067265feec096d279",
                                                            "typeString": "literal_string \"log(address,bool,bool)\""
                                                        },
                                                        {
                                                            "typeIdentifier": "t_address",
                                                            "typeString": "address"
                                                        },
                                                        {
                                                            "typeIdentifier": "t_bool",
                                                            "typeString": "bool"
                                                        },
                                                        {
                                                            "typeIdentifier": "t_bool",
                                                            "typeString": "bool"
                                                        }
                                                    ],
                                                    "expression": {
                                                        "id": 14921,
                                                        "name": "abi",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 4294967295,
                                                        "src": "16401:3:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_magic_abi",
                                                            "typeString": "abi"
                                                        }
                                                    },
                                                    "id": 14922,
                                                    "isConstant": false,
                                                    "isLValue": false,
                                                    "isPure": true,
                                                    "lValueRequested": false,
                                                    "memberName": "encodeWithSignature",
                                                    "nodeType": "MemberAccess",
                                                    "src": "16401:23:62",
                                                    "typeDescriptions": {
                                                        "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$",
                                                        "typeString": "function (string memory) pure returns (bytes memory)"
                                                    }
                                                },
                                                "id": 14927,
                                                "isConstant": false,
                                                "isLValue": false,
                                                "isPure": false,
                                                "kind": "functionCall",
                                                "lValueRequested": false,
                                                "names": [],
                                                "nodeType": "FunctionCall",
                                                "src": "16401:61:62",
                                                "tryCall": false,
                                                "typeDescriptions": {
                                                    "typeIdentifier": "t_bytes_memory_ptr",
                                                    "typeString": "bytes memory"
                                                }
                                            }
                                        ],
                                        "expression": {
                                            "argumentTypes": [
                                                {
                                                    "typeIdentifier": "t_bytes_memory_ptr",
                                                    "typeString": "bytes memory"
                                                }
                                            ],
                                            "id": 14920,
                                            "name": "_sendLogPayload",
                                            "nodeType": "Identifier",
                                            "overloadedDeclarations": [],
                                            "referencedDeclaration": 12880,
                                            "src": "16385:15:62",
                                            "typeDescriptions": {
                                                "typeIdentifier": "t_function_internal_view$_t_bytes_memory_ptr_$returns$__$",
                                                "typeString": "function (bytes memory) view"
                                            }
                                        },
                                        "id": 14928,
                                        "isConstant": false,
                                        "isLValue": false,
                                        "isPure": false,
                                        "kind": "functionCall",
                                        "lValueRequested": false,
                                        "names": [],
                                        "nodeType": "FunctionCall",
                                        "src": "16385:78:62",
                                        "tryCall": false,
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_tuple$__$",
                                            "typeString": "tuple()"
                                        }
                                    },
                                    "id": 14929,
                                    "nodeType": "ExpressionStatement",
                                    "src": "16385:78:62"
                                }
                            ]
                        },
                        "id": 14931,
                        "implemented": true,
                        "kind": "function",
                        "modifiers": [],
                        "name": "log",
                        "nameLocation": "16333:3:62",
                        "nodeType": "FunctionDefinition",
                        "parameters": {
                            "id": 14918,
                            "nodeType": "ParameterList",
                            "parameters": [
                                {
                                    "constant": false,
                                    "id": 14913,
                                    "mutability": "mutable",
                                    "name": "p0",
                                    "nameLocation": "16345:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 14931,
                                    "src": "16337:10:62",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_address",
                                        "typeString": "address"
                                    },
                                    "typeName": {
                                        "id": 14912,
                                        "name": "address",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "16337:7:62",
                                        "stateMutability": "nonpayable",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_address",
                                            "typeString": "address"
                                        }
                                    },
                                    "visibility": "internal"
                                },
                                {
                                    "constant": false,
                                    "id": 14915,
                                    "mutability": "mutable",
                                    "name": "p1",
                                    "nameLocation": "16354:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 14931,
                                    "src": "16349:7:62",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_bool",
                                        "typeString": "bool"
                                    },
                                    "typeName": {
                                        "id": 14914,
                                        "name": "bool",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "16349:4:62",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_bool",
                                            "typeString": "bool"
                                        }
                                    },
                                    "visibility": "internal"
                                },
                                {
                                    "constant": false,
                                    "id": 14917,
                                    "mutability": "mutable",
                                    "name": "p2",
                                    "nameLocation": "16363:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 14931,
                                    "src": "16358:7:62",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_bool",
                                        "typeString": "bool"
                                    },
                                    "typeName": {
                                        "id": 14916,
                                        "name": "bool",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "16358:4:62",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_bool",
                                            "typeString": "bool"
                                        }
                                    },
                                    "visibility": "internal"
                                }
                            ],
                            "src": "16336:30:62"
                        },
                        "returnParameters": {
                            "id": 14919,
                            "nodeType": "ParameterList",
                            "parameters": [],
                            "src": "16381:0:62"
                        },
                        "scope": 20920,
                        "src": "16324:143:62",
                        "stateMutability": "view",
                        "virtual": false,
                        "visibility": "internal"
                    },
                    {
                        "body": {
                            "id": 14950,
                            "nodeType": "Block",
                            "src": "16530:89:62",
                            "statements": [
                                {
                                    "expression": {
                                        "arguments": [
                                            {
                                                "arguments": [
                                                    {
                                                        "hexValue": "6c6f6728616464726573732c626f6f6c2c6164647265737329",
                                                        "id": 14943,
                                                        "isConstant": false,
                                                        "isLValue": false,
                                                        "isPure": true,
                                                        "kind": "string",
                                                        "lValueRequested": false,
                                                        "nodeType": "Literal",
                                                        "src": "16574:27:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_stringliteral_f11699ed537119f000a51ba9fbd5bb55b3990a1a718acbe99659bd1bc84dc18d",
                                                            "typeString": "literal_string \"log(address,bool,address)\""
                                                        },
                                                        "value": "log(address,bool,address)"
                                                    },
                                                    {
                                                        "id": 14944,
                                                        "name": "p0",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 14933,
                                                        "src": "16603:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_address",
                                                            "typeString": "address"
                                                        }
                                                    },
                                                    {
                                                        "id": 14945,
                                                        "name": "p1",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 14935,
                                                        "src": "16607:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_bool",
                                                            "typeString": "bool"
                                                        }
                                                    },
                                                    {
                                                        "id": 14946,
                                                        "name": "p2",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 14937,
                                                        "src": "16611:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_address",
                                                            "typeString": "address"
                                                        }
                                                    }
                                                ],
                                                "expression": {
                                                    "argumentTypes": [
                                                        {
                                                            "typeIdentifier": "t_stringliteral_f11699ed537119f000a51ba9fbd5bb55b3990a1a718acbe99659bd1bc84dc18d",
                                                            "typeString": "literal_string \"log(address,bool,address)\""
                                                        },
                                                        {
                                                            "typeIdentifier": "t_address",
                                                            "typeString": "address"
                                                        },
                                                        {
                                                            "typeIdentifier": "t_bool",
                                                            "typeString": "bool"
                                                        },
                                                        {
                                                            "typeIdentifier": "t_address",
                                                            "typeString": "address"
                                                        }
                                                    ],
                                                    "expression": {
                                                        "id": 14941,
                                                        "name": "abi",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 4294967295,
                                                        "src": "16550:3:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_magic_abi",
                                                            "typeString": "abi"
                                                        }
                                                    },
                                                    "id": 14942,
                                                    "isConstant": false,
                                                    "isLValue": false,
                                                    "isPure": true,
                                                    "lValueRequested": false,
                                                    "memberName": "encodeWithSignature",
                                                    "nodeType": "MemberAccess",
                                                    "src": "16550:23:62",
                                                    "typeDescriptions": {
                                                        "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$",
                                                        "typeString": "function (string memory) pure returns (bytes memory)"
                                                    }
                                                },
                                                "id": 14947,
                                                "isConstant": false,
                                                "isLValue": false,
                                                "isPure": false,
                                                "kind": "functionCall",
                                                "lValueRequested": false,
                                                "names": [],
                                                "nodeType": "FunctionCall",
                                                "src": "16550:64:62",
                                                "tryCall": false,
                                                "typeDescriptions": {
                                                    "typeIdentifier": "t_bytes_memory_ptr",
                                                    "typeString": "bytes memory"
                                                }
                                            }
                                        ],
                                        "expression": {
                                            "argumentTypes": [
                                                {
                                                    "typeIdentifier": "t_bytes_memory_ptr",
                                                    "typeString": "bytes memory"
                                                }
                                            ],
                                            "id": 14940,
                                            "name": "_sendLogPayload",
                                            "nodeType": "Identifier",
                                            "overloadedDeclarations": [],
                                            "referencedDeclaration": 12880,
                                            "src": "16534:15:62",
                                            "typeDescriptions": {
                                                "typeIdentifier": "t_function_internal_view$_t_bytes_memory_ptr_$returns$__$",
                                                "typeString": "function (bytes memory) view"
                                            }
                                        },
                                        "id": 14948,
                                        "isConstant": false,
                                        "isLValue": false,
                                        "isPure": false,
                                        "kind": "functionCall",
                                        "lValueRequested": false,
                                        "names": [],
                                        "nodeType": "FunctionCall",
                                        "src": "16534:81:62",
                                        "tryCall": false,
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_tuple$__$",
                                            "typeString": "tuple()"
                                        }
                                    },
                                    "id": 14949,
                                    "nodeType": "ExpressionStatement",
                                    "src": "16534:81:62"
                                }
                            ]
                        },
                        "id": 14951,
                        "implemented": true,
                        "kind": "function",
                        "modifiers": [],
                        "name": "log",
                        "nameLocation": "16479:3:62",
                        "nodeType": "FunctionDefinition",
                        "parameters": {
                            "id": 14938,
                            "nodeType": "ParameterList",
                            "parameters": [
                                {
                                    "constant": false,
                                    "id": 14933,
                                    "mutability": "mutable",
                                    "name": "p0",
                                    "nameLocation": "16491:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 14951,
                                    "src": "16483:10:62",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_address",
                                        "typeString": "address"
                                    },
                                    "typeName": {
                                        "id": 14932,
                                        "name": "address",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "16483:7:62",
                                        "stateMutability": "nonpayable",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_address",
                                            "typeString": "address"
                                        }
                                    },
                                    "visibility": "internal"
                                },
                                {
                                    "constant": false,
                                    "id": 14935,
                                    "mutability": "mutable",
                                    "name": "p1",
                                    "nameLocation": "16500:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 14951,
                                    "src": "16495:7:62",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_bool",
                                        "typeString": "bool"
                                    },
                                    "typeName": {
                                        "id": 14934,
                                        "name": "bool",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "16495:4:62",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_bool",
                                            "typeString": "bool"
                                        }
                                    },
                                    "visibility": "internal"
                                },
                                {
                                    "constant": false,
                                    "id": 14937,
                                    "mutability": "mutable",
                                    "name": "p2",
                                    "nameLocation": "16512:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 14951,
                                    "src": "16504:10:62",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_address",
                                        "typeString": "address"
                                    },
                                    "typeName": {
                                        "id": 14936,
                                        "name": "address",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "16504:7:62",
                                        "stateMutability": "nonpayable",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_address",
                                            "typeString": "address"
                                        }
                                    },
                                    "visibility": "internal"
                                }
                            ],
                            "src": "16482:33:62"
                        },
                        "returnParameters": {
                            "id": 14939,
                            "nodeType": "ParameterList",
                            "parameters": [],
                            "src": "16530:0:62"
                        },
                        "scope": 20920,
                        "src": "16470:149:62",
                        "stateMutability": "view",
                        "virtual": false,
                        "visibility": "internal"
                    },
                    {
                        "body": {
                            "id": 14970,
                            "nodeType": "Block",
                            "src": "16682:89:62",
                            "statements": [
                                {
                                    "expression": {
                                        "arguments": [
                                            {
                                                "arguments": [
                                                    {
                                                        "hexValue": "6c6f6728616464726573732c616464726573732c75696e7429",
                                                        "id": 14963,
                                                        "isConstant": false,
                                                        "isLValue": false,
                                                        "isPure": true,
                                                        "kind": "string",
                                                        "lValueRequested": false,
                                                        "nodeType": "Literal",
                                                        "src": "16726:27:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_stringliteral_6c366d7295b93bbfacc4df0ea28f0eef60efacfffd447f8f2823cbe5b2fedb07",
                                                            "typeString": "literal_string \"log(address,address,uint)\""
                                                        },
                                                        "value": "log(address,address,uint)"
                                                    },
                                                    {
                                                        "id": 14964,
                                                        "name": "p0",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 14953,
                                                        "src": "16755:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_address",
                                                            "typeString": "address"
                                                        }
                                                    },
                                                    {
                                                        "id": 14965,
                                                        "name": "p1",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 14955,
                                                        "src": "16759:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_address",
                                                            "typeString": "address"
                                                        }
                                                    },
                                                    {
                                                        "id": 14966,
                                                        "name": "p2",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 14957,
                                                        "src": "16763:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_uint256",
                                                            "typeString": "uint256"
                                                        }
                                                    }
                                                ],
                                                "expression": {
                                                    "argumentTypes": [
                                                        {
                                                            "typeIdentifier": "t_stringliteral_6c366d7295b93bbfacc4df0ea28f0eef60efacfffd447f8f2823cbe5b2fedb07",
                                                            "typeString": "literal_string \"log(address,address,uint)\""
                                                        },
                                                        {
                                                            "typeIdentifier": "t_address",
                                                            "typeString": "address"
                                                        },
                                                        {
                                                            "typeIdentifier": "t_address",
                                                            "typeString": "address"
                                                        },
                                                        {
                                                            "typeIdentifier": "t_uint256",
                                                            "typeString": "uint256"
                                                        }
                                                    ],
                                                    "expression": {
                                                        "id": 14961,
                                                        "name": "abi",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 4294967295,
                                                        "src": "16702:3:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_magic_abi",
                                                            "typeString": "abi"
                                                        }
                                                    },
                                                    "id": 14962,
                                                    "isConstant": false,
                                                    "isLValue": false,
                                                    "isPure": true,
                                                    "lValueRequested": false,
                                                    "memberName": "encodeWithSignature",
                                                    "nodeType": "MemberAccess",
                                                    "src": "16702:23:62",
                                                    "typeDescriptions": {
                                                        "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$",
                                                        "typeString": "function (string memory) pure returns (bytes memory)"
                                                    }
                                                },
                                                "id": 14967,
                                                "isConstant": false,
                                                "isLValue": false,
                                                "isPure": false,
                                                "kind": "functionCall",
                                                "lValueRequested": false,
                                                "names": [],
                                                "nodeType": "FunctionCall",
                                                "src": "16702:64:62",
                                                "tryCall": false,
                                                "typeDescriptions": {
                                                    "typeIdentifier": "t_bytes_memory_ptr",
                                                    "typeString": "bytes memory"
                                                }
                                            }
                                        ],
                                        "expression": {
                                            "argumentTypes": [
                                                {
                                                    "typeIdentifier": "t_bytes_memory_ptr",
                                                    "typeString": "bytes memory"
                                                }
                                            ],
                                            "id": 14960,
                                            "name": "_sendLogPayload",
                                            "nodeType": "Identifier",
                                            "overloadedDeclarations": [],
                                            "referencedDeclaration": 12880,
                                            "src": "16686:15:62",
                                            "typeDescriptions": {
                                                "typeIdentifier": "t_function_internal_view$_t_bytes_memory_ptr_$returns$__$",
                                                "typeString": "function (bytes memory) view"
                                            }
                                        },
                                        "id": 14968,
                                        "isConstant": false,
                                        "isLValue": false,
                                        "isPure": false,
                                        "kind": "functionCall",
                                        "lValueRequested": false,
                                        "names": [],
                                        "nodeType": "FunctionCall",
                                        "src": "16686:81:62",
                                        "tryCall": false,
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_tuple$__$",
                                            "typeString": "tuple()"
                                        }
                                    },
                                    "id": 14969,
                                    "nodeType": "ExpressionStatement",
                                    "src": "16686:81:62"
                                }
                            ]
                        },
                        "id": 14971,
                        "implemented": true,
                        "kind": "function",
                        "modifiers": [],
                        "name": "log",
                        "nameLocation": "16631:3:62",
                        "nodeType": "FunctionDefinition",
                        "parameters": {
                            "id": 14958,
                            "nodeType": "ParameterList",
                            "parameters": [
                                {
                                    "constant": false,
                                    "id": 14953,
                                    "mutability": "mutable",
                                    "name": "p0",
                                    "nameLocation": "16643:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 14971,
                                    "src": "16635:10:62",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_address",
                                        "typeString": "address"
                                    },
                                    "typeName": {
                                        "id": 14952,
                                        "name": "address",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "16635:7:62",
                                        "stateMutability": "nonpayable",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_address",
                                            "typeString": "address"
                                        }
                                    },
                                    "visibility": "internal"
                                },
                                {
                                    "constant": false,
                                    "id": 14955,
                                    "mutability": "mutable",
                                    "name": "p1",
                                    "nameLocation": "16655:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 14971,
                                    "src": "16647:10:62",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_address",
                                        "typeString": "address"
                                    },
                                    "typeName": {
                                        "id": 14954,
                                        "name": "address",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "16647:7:62",
                                        "stateMutability": "nonpayable",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_address",
                                            "typeString": "address"
                                        }
                                    },
                                    "visibility": "internal"
                                },
                                {
                                    "constant": false,
                                    "id": 14957,
                                    "mutability": "mutable",
                                    "name": "p2",
                                    "nameLocation": "16664:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 14971,
                                    "src": "16659:7:62",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_uint256",
                                        "typeString": "uint256"
                                    },
                                    "typeName": {
                                        "id": 14956,
                                        "name": "uint",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "16659:4:62",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_uint256",
                                            "typeString": "uint256"
                                        }
                                    },
                                    "visibility": "internal"
                                }
                            ],
                            "src": "16634:33:62"
                        },
                        "returnParameters": {
                            "id": 14959,
                            "nodeType": "ParameterList",
                            "parameters": [],
                            "src": "16682:0:62"
                        },
                        "scope": 20920,
                        "src": "16622:149:62",
                        "stateMutability": "view",
                        "virtual": false,
                        "visibility": "internal"
                    },
                    {
                        "body": {
                            "id": 14990,
                            "nodeType": "Block",
                            "src": "16843:91:62",
                            "statements": [
                                {
                                    "expression": {
                                        "arguments": [
                                            {
                                                "arguments": [
                                                    {
                                                        "hexValue": "6c6f6728616464726573732c616464726573732c737472696e6729",
                                                        "id": 14983,
                                                        "isConstant": false,
                                                        "isLValue": false,
                                                        "isPure": true,
                                                        "kind": "string",
                                                        "lValueRequested": false,
                                                        "nodeType": "Literal",
                                                        "src": "16887:29:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_stringliteral_007150be50a4671a6be318012e9cd2eabb1e1bc8869b45c34abbaa04d81c8eee",
                                                            "typeString": "literal_string \"log(address,address,string)\""
                                                        },
                                                        "value": "log(address,address,string)"
                                                    },
                                                    {
                                                        "id": 14984,
                                                        "name": "p0",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 14973,
                                                        "src": "16918:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_address",
                                                            "typeString": "address"
                                                        }
                                                    },
                                                    {
                                                        "id": 14985,
                                                        "name": "p1",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 14975,
                                                        "src": "16922:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_address",
                                                            "typeString": "address"
                                                        }
                                                    },
                                                    {
                                                        "id": 14986,
                                                        "name": "p2",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 14977,
                                                        "src": "16926:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_string_memory_ptr",
                                                            "typeString": "string memory"
                                                        }
                                                    }
                                                ],
                                                "expression": {
                                                    "argumentTypes": [
                                                        {
                                                            "typeIdentifier": "t_stringliteral_007150be50a4671a6be318012e9cd2eabb1e1bc8869b45c34abbaa04d81c8eee",
                                                            "typeString": "literal_string \"log(address,address,string)\""
                                                        },
                                                        {
                                                            "typeIdentifier": "t_address",
                                                            "typeString": "address"
                                                        },
                                                        {
                                                            "typeIdentifier": "t_address",
                                                            "typeString": "address"
                                                        },
                                                        {
                                                            "typeIdentifier": "t_string_memory_ptr",
                                                            "typeString": "string memory"
                                                        }
                                                    ],
                                                    "expression": {
                                                        "id": 14981,
                                                        "name": "abi",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 4294967295,
                                                        "src": "16863:3:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_magic_abi",
                                                            "typeString": "abi"
                                                        }
                                                    },
                                                    "id": 14982,
                                                    "isConstant": false,
                                                    "isLValue": false,
                                                    "isPure": true,
                                                    "lValueRequested": false,
                                                    "memberName": "encodeWithSignature",
                                                    "nodeType": "MemberAccess",
                                                    "src": "16863:23:62",
                                                    "typeDescriptions": {
                                                        "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$",
                                                        "typeString": "function (string memory) pure returns (bytes memory)"
                                                    }
                                                },
                                                "id": 14987,
                                                "isConstant": false,
                                                "isLValue": false,
                                                "isPure": false,
                                                "kind": "functionCall",
                                                "lValueRequested": false,
                                                "names": [],
                                                "nodeType": "FunctionCall",
                                                "src": "16863:66:62",
                                                "tryCall": false,
                                                "typeDescriptions": {
                                                    "typeIdentifier": "t_bytes_memory_ptr",
                                                    "typeString": "bytes memory"
                                                }
                                            }
                                        ],
                                        "expression": {
                                            "argumentTypes": [
                                                {
                                                    "typeIdentifier": "t_bytes_memory_ptr",
                                                    "typeString": "bytes memory"
                                                }
                                            ],
                                            "id": 14980,
                                            "name": "_sendLogPayload",
                                            "nodeType": "Identifier",
                                            "overloadedDeclarations": [],
                                            "referencedDeclaration": 12880,
                                            "src": "16847:15:62",
                                            "typeDescriptions": {
                                                "typeIdentifier": "t_function_internal_view$_t_bytes_memory_ptr_$returns$__$",
                                                "typeString": "function (bytes memory) view"
                                            }
                                        },
                                        "id": 14988,
                                        "isConstant": false,
                                        "isLValue": false,
                                        "isPure": false,
                                        "kind": "functionCall",
                                        "lValueRequested": false,
                                        "names": [],
                                        "nodeType": "FunctionCall",
                                        "src": "16847:83:62",
                                        "tryCall": false,
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_tuple$__$",
                                            "typeString": "tuple()"
                                        }
                                    },
                                    "id": 14989,
                                    "nodeType": "ExpressionStatement",
                                    "src": "16847:83:62"
                                }
                            ]
                        },
                        "id": 14991,
                        "implemented": true,
                        "kind": "function",
                        "modifiers": [],
                        "name": "log",
                        "nameLocation": "16783:3:62",
                        "nodeType": "FunctionDefinition",
                        "parameters": {
                            "id": 14978,
                            "nodeType": "ParameterList",
                            "parameters": [
                                {
                                    "constant": false,
                                    "id": 14973,
                                    "mutability": "mutable",
                                    "name": "p0",
                                    "nameLocation": "16795:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 14991,
                                    "src": "16787:10:62",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_address",
                                        "typeString": "address"
                                    },
                                    "typeName": {
                                        "id": 14972,
                                        "name": "address",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "16787:7:62",
                                        "stateMutability": "nonpayable",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_address",
                                            "typeString": "address"
                                        }
                                    },
                                    "visibility": "internal"
                                },
                                {
                                    "constant": false,
                                    "id": 14975,
                                    "mutability": "mutable",
                                    "name": "p1",
                                    "nameLocation": "16807:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 14991,
                                    "src": "16799:10:62",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_address",
                                        "typeString": "address"
                                    },
                                    "typeName": {
                                        "id": 14974,
                                        "name": "address",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "16799:7:62",
                                        "stateMutability": "nonpayable",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_address",
                                            "typeString": "address"
                                        }
                                    },
                                    "visibility": "internal"
                                },
                                {
                                    "constant": false,
                                    "id": 14977,
                                    "mutability": "mutable",
                                    "name": "p2",
                                    "nameLocation": "16825:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 14991,
                                    "src": "16811:16:62",
                                    "stateVariable": false,
                                    "storageLocation": "memory",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_string_memory_ptr",
                                        "typeString": "string"
                                    },
                                    "typeName": {
                                        "id": 14976,
                                        "name": "string",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "16811:6:62",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_string_storage_ptr",
                                            "typeString": "string"
                                        }
                                    },
                                    "visibility": "internal"
                                }
                            ],
                            "src": "16786:42:62"
                        },
                        "returnParameters": {
                            "id": 14979,
                            "nodeType": "ParameterList",
                            "parameters": [],
                            "src": "16843:0:62"
                        },
                        "scope": 20920,
                        "src": "16774:160:62",
                        "stateMutability": "view",
                        "virtual": false,
                        "visibility": "internal"
                    },
                    {
                        "body": {
                            "id": 15010,
                            "nodeType": "Block",
                            "src": "16997:89:62",
                            "statements": [
                                {
                                    "expression": {
                                        "arguments": [
                                            {
                                                "arguments": [
                                                    {
                                                        "hexValue": "6c6f6728616464726573732c616464726573732c626f6f6c29",
                                                        "id": 15003,
                                                        "isConstant": false,
                                                        "isLValue": false,
                                                        "isPure": true,
                                                        "kind": "string",
                                                        "lValueRequested": false,
                                                        "nodeType": "Literal",
                                                        "src": "17041:27:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_stringliteral_f2a6628622808c8bbef4f3e513ab11e708a8f5073988f2f7988e111aa26586dc",
                                                            "typeString": "literal_string \"log(address,address,bool)\""
                                                        },
                                                        "value": "log(address,address,bool)"
                                                    },
                                                    {
                                                        "id": 15004,
                                                        "name": "p0",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 14993,
                                                        "src": "17070:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_address",
                                                            "typeString": "address"
                                                        }
                                                    },
                                                    {
                                                        "id": 15005,
                                                        "name": "p1",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 14995,
                                                        "src": "17074:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_address",
                                                            "typeString": "address"
                                                        }
                                                    },
                                                    {
                                                        "id": 15006,
                                                        "name": "p2",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 14997,
                                                        "src": "17078:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_bool",
                                                            "typeString": "bool"
                                                        }
                                                    }
                                                ],
                                                "expression": {
                                                    "argumentTypes": [
                                                        {
                                                            "typeIdentifier": "t_stringliteral_f2a6628622808c8bbef4f3e513ab11e708a8f5073988f2f7988e111aa26586dc",
                                                            "typeString": "literal_string \"log(address,address,bool)\""
                                                        },
                                                        {
                                                            "typeIdentifier": "t_address",
                                                            "typeString": "address"
                                                        },
                                                        {
                                                            "typeIdentifier": "t_address",
                                                            "typeString": "address"
                                                        },
                                                        {
                                                            "typeIdentifier": "t_bool",
                                                            "typeString": "bool"
                                                        }
                                                    ],
                                                    "expression": {
                                                        "id": 15001,
                                                        "name": "abi",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 4294967295,
                                                        "src": "17017:3:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_magic_abi",
                                                            "typeString": "abi"
                                                        }
                                                    },
                                                    "id": 15002,
                                                    "isConstant": false,
                                                    "isLValue": false,
                                                    "isPure": true,
                                                    "lValueRequested": false,
                                                    "memberName": "encodeWithSignature",
                                                    "nodeType": "MemberAccess",
                                                    "src": "17017:23:62",
                                                    "typeDescriptions": {
                                                        "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$",
                                                        "typeString": "function (string memory) pure returns (bytes memory)"
                                                    }
                                                },
                                                "id": 15007,
                                                "isConstant": false,
                                                "isLValue": false,
                                                "isPure": false,
                                                "kind": "functionCall",
                                                "lValueRequested": false,
                                                "names": [],
                                                "nodeType": "FunctionCall",
                                                "src": "17017:64:62",
                                                "tryCall": false,
                                                "typeDescriptions": {
                                                    "typeIdentifier": "t_bytes_memory_ptr",
                                                    "typeString": "bytes memory"
                                                }
                                            }
                                        ],
                                        "expression": {
                                            "argumentTypes": [
                                                {
                                                    "typeIdentifier": "t_bytes_memory_ptr",
                                                    "typeString": "bytes memory"
                                                }
                                            ],
                                            "id": 15000,
                                            "name": "_sendLogPayload",
                                            "nodeType": "Identifier",
                                            "overloadedDeclarations": [],
                                            "referencedDeclaration": 12880,
                                            "src": "17001:15:62",
                                            "typeDescriptions": {
                                                "typeIdentifier": "t_function_internal_view$_t_bytes_memory_ptr_$returns$__$",
                                                "typeString": "function (bytes memory) view"
                                            }
                                        },
                                        "id": 15008,
                                        "isConstant": false,
                                        "isLValue": false,
                                        "isPure": false,
                                        "kind": "functionCall",
                                        "lValueRequested": false,
                                        "names": [],
                                        "nodeType": "FunctionCall",
                                        "src": "17001:81:62",
                                        "tryCall": false,
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_tuple$__$",
                                            "typeString": "tuple()"
                                        }
                                    },
                                    "id": 15009,
                                    "nodeType": "ExpressionStatement",
                                    "src": "17001:81:62"
                                }
                            ]
                        },
                        "id": 15011,
                        "implemented": true,
                        "kind": "function",
                        "modifiers": [],
                        "name": "log",
                        "nameLocation": "16946:3:62",
                        "nodeType": "FunctionDefinition",
                        "parameters": {
                            "id": 14998,
                            "nodeType": "ParameterList",
                            "parameters": [
                                {
                                    "constant": false,
                                    "id": 14993,
                                    "mutability": "mutable",
                                    "name": "p0",
                                    "nameLocation": "16958:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 15011,
                                    "src": "16950:10:62",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_address",
                                        "typeString": "address"
                                    },
                                    "typeName": {
                                        "id": 14992,
                                        "name": "address",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "16950:7:62",
                                        "stateMutability": "nonpayable",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_address",
                                            "typeString": "address"
                                        }
                                    },
                                    "visibility": "internal"
                                },
                                {
                                    "constant": false,
                                    "id": 14995,
                                    "mutability": "mutable",
                                    "name": "p1",
                                    "nameLocation": "16970:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 15011,
                                    "src": "16962:10:62",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_address",
                                        "typeString": "address"
                                    },
                                    "typeName": {
                                        "id": 14994,
                                        "name": "address",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "16962:7:62",
                                        "stateMutability": "nonpayable",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_address",
                                            "typeString": "address"
                                        }
                                    },
                                    "visibility": "internal"
                                },
                                {
                                    "constant": false,
                                    "id": 14997,
                                    "mutability": "mutable",
                                    "name": "p2",
                                    "nameLocation": "16979:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 15011,
                                    "src": "16974:7:62",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_bool",
                                        "typeString": "bool"
                                    },
                                    "typeName": {
                                        "id": 14996,
                                        "name": "bool",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "16974:4:62",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_bool",
                                            "typeString": "bool"
                                        }
                                    },
                                    "visibility": "internal"
                                }
                            ],
                            "src": "16949:33:62"
                        },
                        "returnParameters": {
                            "id": 14999,
                            "nodeType": "ParameterList",
                            "parameters": [],
                            "src": "16997:0:62"
                        },
                        "scope": 20920,
                        "src": "16937:149:62",
                        "stateMutability": "view",
                        "virtual": false,
                        "visibility": "internal"
                    },
                    {
                        "body": {
                            "id": 15030,
                            "nodeType": "Block",
                            "src": "17152:92:62",
                            "statements": [
                                {
                                    "expression": {
                                        "arguments": [
                                            {
                                                "arguments": [
                                                    {
                                                        "hexValue": "6c6f6728616464726573732c616464726573732c6164647265737329",
                                                        "id": 15023,
                                                        "isConstant": false,
                                                        "isLValue": false,
                                                        "isPure": true,
                                                        "kind": "string",
                                                        "lValueRequested": false,
                                                        "nodeType": "Literal",
                                                        "src": "17196:30:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_stringliteral_018c84c25fb680b5bcd4e1ab1848682497c9dd3b635564a91c36ce3d1414c830",
                                                            "typeString": "literal_string \"log(address,address,address)\""
                                                        },
                                                        "value": "log(address,address,address)"
                                                    },
                                                    {
                                                        "id": 15024,
                                                        "name": "p0",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 15013,
                                                        "src": "17228:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_address",
                                                            "typeString": "address"
                                                        }
                                                    },
                                                    {
                                                        "id": 15025,
                                                        "name": "p1",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 15015,
                                                        "src": "17232:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_address",
                                                            "typeString": "address"
                                                        }
                                                    },
                                                    {
                                                        "id": 15026,
                                                        "name": "p2",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 15017,
                                                        "src": "17236:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_address",
                                                            "typeString": "address"
                                                        }
                                                    }
                                                ],
                                                "expression": {
                                                    "argumentTypes": [
                                                        {
                                                            "typeIdentifier": "t_stringliteral_018c84c25fb680b5bcd4e1ab1848682497c9dd3b635564a91c36ce3d1414c830",
                                                            "typeString": "literal_string \"log(address,address,address)\""
                                                        },
                                                        {
                                                            "typeIdentifier": "t_address",
                                                            "typeString": "address"
                                                        },
                                                        {
                                                            "typeIdentifier": "t_address",
                                                            "typeString": "address"
                                                        },
                                                        {
                                                            "typeIdentifier": "t_address",
                                                            "typeString": "address"
                                                        }
                                                    ],
                                                    "expression": {
                                                        "id": 15021,
                                                        "name": "abi",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 4294967295,
                                                        "src": "17172:3:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_magic_abi",
                                                            "typeString": "abi"
                                                        }
                                                    },
                                                    "id": 15022,
                                                    "isConstant": false,
                                                    "isLValue": false,
                                                    "isPure": true,
                                                    "lValueRequested": false,
                                                    "memberName": "encodeWithSignature",
                                                    "nodeType": "MemberAccess",
                                                    "src": "17172:23:62",
                                                    "typeDescriptions": {
                                                        "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$",
                                                        "typeString": "function (string memory) pure returns (bytes memory)"
                                                    }
                                                },
                                                "id": 15027,
                                                "isConstant": false,
                                                "isLValue": false,
                                                "isPure": false,
                                                "kind": "functionCall",
                                                "lValueRequested": false,
                                                "names": [],
                                                "nodeType": "FunctionCall",
                                                "src": "17172:67:62",
                                                "tryCall": false,
                                                "typeDescriptions": {
                                                    "typeIdentifier": "t_bytes_memory_ptr",
                                                    "typeString": "bytes memory"
                                                }
                                            }
                                        ],
                                        "expression": {
                                            "argumentTypes": [
                                                {
                                                    "typeIdentifier": "t_bytes_memory_ptr",
                                                    "typeString": "bytes memory"
                                                }
                                            ],
                                            "id": 15020,
                                            "name": "_sendLogPayload",
                                            "nodeType": "Identifier",
                                            "overloadedDeclarations": [],
                                            "referencedDeclaration": 12880,
                                            "src": "17156:15:62",
                                            "typeDescriptions": {
                                                "typeIdentifier": "t_function_internal_view$_t_bytes_memory_ptr_$returns$__$",
                                                "typeString": "function (bytes memory) view"
                                            }
                                        },
                                        "id": 15028,
                                        "isConstant": false,
                                        "isLValue": false,
                                        "isPure": false,
                                        "kind": "functionCall",
                                        "lValueRequested": false,
                                        "names": [],
                                        "nodeType": "FunctionCall",
                                        "src": "17156:84:62",
                                        "tryCall": false,
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_tuple$__$",
                                            "typeString": "tuple()"
                                        }
                                    },
                                    "id": 15029,
                                    "nodeType": "ExpressionStatement",
                                    "src": "17156:84:62"
                                }
                            ]
                        },
                        "id": 15031,
                        "implemented": true,
                        "kind": "function",
                        "modifiers": [],
                        "name": "log",
                        "nameLocation": "17098:3:62",
                        "nodeType": "FunctionDefinition",
                        "parameters": {
                            "id": 15018,
                            "nodeType": "ParameterList",
                            "parameters": [
                                {
                                    "constant": false,
                                    "id": 15013,
                                    "mutability": "mutable",
                                    "name": "p0",
                                    "nameLocation": "17110:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 15031,
                                    "src": "17102:10:62",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_address",
                                        "typeString": "address"
                                    },
                                    "typeName": {
                                        "id": 15012,
                                        "name": "address",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "17102:7:62",
                                        "stateMutability": "nonpayable",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_address",
                                            "typeString": "address"
                                        }
                                    },
                                    "visibility": "internal"
                                },
                                {
                                    "constant": false,
                                    "id": 15015,
                                    "mutability": "mutable",
                                    "name": "p1",
                                    "nameLocation": "17122:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 15031,
                                    "src": "17114:10:62",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_address",
                                        "typeString": "address"
                                    },
                                    "typeName": {
                                        "id": 15014,
                                        "name": "address",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "17114:7:62",
                                        "stateMutability": "nonpayable",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_address",
                                            "typeString": "address"
                                        }
                                    },
                                    "visibility": "internal"
                                },
                                {
                                    "constant": false,
                                    "id": 15017,
                                    "mutability": "mutable",
                                    "name": "p2",
                                    "nameLocation": "17134:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 15031,
                                    "src": "17126:10:62",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_address",
                                        "typeString": "address"
                                    },
                                    "typeName": {
                                        "id": 15016,
                                        "name": "address",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "17126:7:62",
                                        "stateMutability": "nonpayable",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_address",
                                            "typeString": "address"
                                        }
                                    },
                                    "visibility": "internal"
                                }
                            ],
                            "src": "17101:36:62"
                        },
                        "returnParameters": {
                            "id": 15019,
                            "nodeType": "ParameterList",
                            "parameters": [],
                            "src": "17152:0:62"
                        },
                        "scope": 20920,
                        "src": "17089:155:62",
                        "stateMutability": "view",
                        "virtual": false,
                        "visibility": "internal"
                    },
                    {
                        "body": {
                            "id": 15053,
                            "nodeType": "Block",
                            "src": "17310:92:62",
                            "statements": [
                                {
                                    "expression": {
                                        "arguments": [
                                            {
                                                "arguments": [
                                                    {
                                                        "hexValue": "6c6f672875696e742c75696e742c75696e742c75696e7429",
                                                        "id": 15045,
                                                        "isConstant": false,
                                                        "isLValue": false,
                                                        "isPure": true,
                                                        "kind": "string",
                                                        "lValueRequested": false,
                                                        "nodeType": "Literal",
                                                        "src": "17354:26:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_stringliteral_5ca0ad3ec7f731e4661cde447171efd221faf44c50b57eba4cc4965c1f89c0b6",
                                                            "typeString": "literal_string \"log(uint,uint,uint,uint)\""
                                                        },
                                                        "value": "log(uint,uint,uint,uint)"
                                                    },
                                                    {
                                                        "id": 15046,
                                                        "name": "p0",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 15033,
                                                        "src": "17382:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_uint256",
                                                            "typeString": "uint256"
                                                        }
                                                    },
                                                    {
                                                        "id": 15047,
                                                        "name": "p1",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 15035,
                                                        "src": "17386:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_uint256",
                                                            "typeString": "uint256"
                                                        }
                                                    },
                                                    {
                                                        "id": 15048,
                                                        "name": "p2",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 15037,
                                                        "src": "17390:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_uint256",
                                                            "typeString": "uint256"
                                                        }
                                                    },
                                                    {
                                                        "id": 15049,
                                                        "name": "p3",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 15039,
                                                        "src": "17394:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_uint256",
                                                            "typeString": "uint256"
                                                        }
                                                    }
                                                ],
                                                "expression": {
                                                    "argumentTypes": [
                                                        {
                                                            "typeIdentifier": "t_stringliteral_5ca0ad3ec7f731e4661cde447171efd221faf44c50b57eba4cc4965c1f89c0b6",
                                                            "typeString": "literal_string \"log(uint,uint,uint,uint)\""
                                                        },
                                                        {
                                                            "typeIdentifier": "t_uint256",
                                                            "typeString": "uint256"
                                                        },
                                                        {
                                                            "typeIdentifier": "t_uint256",
                                                            "typeString": "uint256"
                                                        },
                                                        {
                                                            "typeIdentifier": "t_uint256",
                                                            "typeString": "uint256"
                                                        },
                                                        {
                                                            "typeIdentifier": "t_uint256",
                                                            "typeString": "uint256"
                                                        }
                                                    ],
                                                    "expression": {
                                                        "id": 15043,
                                                        "name": "abi",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 4294967295,
                                                        "src": "17330:3:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_magic_abi",
                                                            "typeString": "abi"
                                                        }
                                                    },
                                                    "id": 15044,
                                                    "isConstant": false,
                                                    "isLValue": false,
                                                    "isPure": true,
                                                    "lValueRequested": false,
                                                    "memberName": "encodeWithSignature",
                                                    "nodeType": "MemberAccess",
                                                    "src": "17330:23:62",
                                                    "typeDescriptions": {
                                                        "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$",
                                                        "typeString": "function (string memory) pure returns (bytes memory)"
                                                    }
                                                },
                                                "id": 15050,
                                                "isConstant": false,
                                                "isLValue": false,
                                                "isPure": false,
                                                "kind": "functionCall",
                                                "lValueRequested": false,
                                                "names": [],
                                                "nodeType": "FunctionCall",
                                                "src": "17330:67:62",
                                                "tryCall": false,
                                                "typeDescriptions": {
                                                    "typeIdentifier": "t_bytes_memory_ptr",
                                                    "typeString": "bytes memory"
                                                }
                                            }
                                        ],
                                        "expression": {
                                            "argumentTypes": [
                                                {
                                                    "typeIdentifier": "t_bytes_memory_ptr",
                                                    "typeString": "bytes memory"
                                                }
                                            ],
                                            "id": 15042,
                                            "name": "_sendLogPayload",
                                            "nodeType": "Identifier",
                                            "overloadedDeclarations": [],
                                            "referencedDeclaration": 12880,
                                            "src": "17314:15:62",
                                            "typeDescriptions": {
                                                "typeIdentifier": "t_function_internal_view$_t_bytes_memory_ptr_$returns$__$",
                                                "typeString": "function (bytes memory) view"
                                            }
                                        },
                                        "id": 15051,
                                        "isConstant": false,
                                        "isLValue": false,
                                        "isPure": false,
                                        "kind": "functionCall",
                                        "lValueRequested": false,
                                        "names": [],
                                        "nodeType": "FunctionCall",
                                        "src": "17314:84:62",
                                        "tryCall": false,
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_tuple$__$",
                                            "typeString": "tuple()"
                                        }
                                    },
                                    "id": 15052,
                                    "nodeType": "ExpressionStatement",
                                    "src": "17314:84:62"
                                }
                            ]
                        },
                        "id": 15054,
                        "implemented": true,
                        "kind": "function",
                        "modifiers": [],
                        "name": "log",
                        "nameLocation": "17256:3:62",
                        "nodeType": "FunctionDefinition",
                        "parameters": {
                            "id": 15040,
                            "nodeType": "ParameterList",
                            "parameters": [
                                {
                                    "constant": false,
                                    "id": 15033,
                                    "mutability": "mutable",
                                    "name": "p0",
                                    "nameLocation": "17265:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 15054,
                                    "src": "17260:7:62",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_uint256",
                                        "typeString": "uint256"
                                    },
                                    "typeName": {
                                        "id": 15032,
                                        "name": "uint",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "17260:4:62",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_uint256",
                                            "typeString": "uint256"
                                        }
                                    },
                                    "visibility": "internal"
                                },
                                {
                                    "constant": false,
                                    "id": 15035,
                                    "mutability": "mutable",
                                    "name": "p1",
                                    "nameLocation": "17274:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 15054,
                                    "src": "17269:7:62",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_uint256",
                                        "typeString": "uint256"
                                    },
                                    "typeName": {
                                        "id": 15034,
                                        "name": "uint",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "17269:4:62",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_uint256",
                                            "typeString": "uint256"
                                        }
                                    },
                                    "visibility": "internal"
                                },
                                {
                                    "constant": false,
                                    "id": 15037,
                                    "mutability": "mutable",
                                    "name": "p2",
                                    "nameLocation": "17283:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 15054,
                                    "src": "17278:7:62",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_uint256",
                                        "typeString": "uint256"
                                    },
                                    "typeName": {
                                        "id": 15036,
                                        "name": "uint",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "17278:4:62",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_uint256",
                                            "typeString": "uint256"
                                        }
                                    },
                                    "visibility": "internal"
                                },
                                {
                                    "constant": false,
                                    "id": 15039,
                                    "mutability": "mutable",
                                    "name": "p3",
                                    "nameLocation": "17292:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 15054,
                                    "src": "17287:7:62",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_uint256",
                                        "typeString": "uint256"
                                    },
                                    "typeName": {
                                        "id": 15038,
                                        "name": "uint",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "17287:4:62",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_uint256",
                                            "typeString": "uint256"
                                        }
                                    },
                                    "visibility": "internal"
                                }
                            ],
                            "src": "17259:36:62"
                        },
                        "returnParameters": {
                            "id": 15041,
                            "nodeType": "ParameterList",
                            "parameters": [],
                            "src": "17310:0:62"
                        },
                        "scope": 20920,
                        "src": "17247:155:62",
                        "stateMutability": "view",
                        "virtual": false,
                        "visibility": "internal"
                    },
                    {
                        "body": {
                            "id": 15076,
                            "nodeType": "Block",
                            "src": "17477:94:62",
                            "statements": [
                                {
                                    "expression": {
                                        "arguments": [
                                            {
                                                "arguments": [
                                                    {
                                                        "hexValue": "6c6f672875696e742c75696e742c75696e742c737472696e6729",
                                                        "id": 15068,
                                                        "isConstant": false,
                                                        "isLValue": false,
                                                        "isPure": true,
                                                        "kind": "string",
                                                        "lValueRequested": false,
                                                        "nodeType": "Literal",
                                                        "src": "17521:28:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_stringliteral_78ad7a0c8cf57ba0e3b9e892fd6558ba40a5d4c84ef5c8c5e36bfc8d7f23b0c5",
                                                            "typeString": "literal_string \"log(uint,uint,uint,string)\""
                                                        },
                                                        "value": "log(uint,uint,uint,string)"
                                                    },
                                                    {
                                                        "id": 15069,
                                                        "name": "p0",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 15056,
                                                        "src": "17551:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_uint256",
                                                            "typeString": "uint256"
                                                        }
                                                    },
                                                    {
                                                        "id": 15070,
                                                        "name": "p1",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 15058,
                                                        "src": "17555:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_uint256",
                                                            "typeString": "uint256"
                                                        }
                                                    },
                                                    {
                                                        "id": 15071,
                                                        "name": "p2",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 15060,
                                                        "src": "17559:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_uint256",
                                                            "typeString": "uint256"
                                                        }
                                                    },
                                                    {
                                                        "id": 15072,
                                                        "name": "p3",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 15062,
                                                        "src": "17563:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_string_memory_ptr",
                                                            "typeString": "string memory"
                                                        }
                                                    }
                                                ],
                                                "expression": {
                                                    "argumentTypes": [
                                                        {
                                                            "typeIdentifier": "t_stringliteral_78ad7a0c8cf57ba0e3b9e892fd6558ba40a5d4c84ef5c8c5e36bfc8d7f23b0c5",
                                                            "typeString": "literal_string \"log(uint,uint,uint,string)\""
                                                        },
                                                        {
                                                            "typeIdentifier": "t_uint256",
                                                            "typeString": "uint256"
                                                        },
                                                        {
                                                            "typeIdentifier": "t_uint256",
                                                            "typeString": "uint256"
                                                        },
                                                        {
                                                            "typeIdentifier": "t_uint256",
                                                            "typeString": "uint256"
                                                        },
                                                        {
                                                            "typeIdentifier": "t_string_memory_ptr",
                                                            "typeString": "string memory"
                                                        }
                                                    ],
                                                    "expression": {
                                                        "id": 15066,
                                                        "name": "abi",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 4294967295,
                                                        "src": "17497:3:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_magic_abi",
                                                            "typeString": "abi"
                                                        }
                                                    },
                                                    "id": 15067,
                                                    "isConstant": false,
                                                    "isLValue": false,
                                                    "isPure": true,
                                                    "lValueRequested": false,
                                                    "memberName": "encodeWithSignature",
                                                    "nodeType": "MemberAccess",
                                                    "src": "17497:23:62",
                                                    "typeDescriptions": {
                                                        "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$",
                                                        "typeString": "function (string memory) pure returns (bytes memory)"
                                                    }
                                                },
                                                "id": 15073,
                                                "isConstant": false,
                                                "isLValue": false,
                                                "isPure": false,
                                                "kind": "functionCall",
                                                "lValueRequested": false,
                                                "names": [],
                                                "nodeType": "FunctionCall",
                                                "src": "17497:69:62",
                                                "tryCall": false,
                                                "typeDescriptions": {
                                                    "typeIdentifier": "t_bytes_memory_ptr",
                                                    "typeString": "bytes memory"
                                                }
                                            }
                                        ],
                                        "expression": {
                                            "argumentTypes": [
                                                {
                                                    "typeIdentifier": "t_bytes_memory_ptr",
                                                    "typeString": "bytes memory"
                                                }
                                            ],
                                            "id": 15065,
                                            "name": "_sendLogPayload",
                                            "nodeType": "Identifier",
                                            "overloadedDeclarations": [],
                                            "referencedDeclaration": 12880,
                                            "src": "17481:15:62",
                                            "typeDescriptions": {
                                                "typeIdentifier": "t_function_internal_view$_t_bytes_memory_ptr_$returns$__$",
                                                "typeString": "function (bytes memory) view"
                                            }
                                        },
                                        "id": 15074,
                                        "isConstant": false,
                                        "isLValue": false,
                                        "isPure": false,
                                        "kind": "functionCall",
                                        "lValueRequested": false,
                                        "names": [],
                                        "nodeType": "FunctionCall",
                                        "src": "17481:86:62",
                                        "tryCall": false,
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_tuple$__$",
                                            "typeString": "tuple()"
                                        }
                                    },
                                    "id": 15075,
                                    "nodeType": "ExpressionStatement",
                                    "src": "17481:86:62"
                                }
                            ]
                        },
                        "id": 15077,
                        "implemented": true,
                        "kind": "function",
                        "modifiers": [],
                        "name": "log",
                        "nameLocation": "17414:3:62",
                        "nodeType": "FunctionDefinition",
                        "parameters": {
                            "id": 15063,
                            "nodeType": "ParameterList",
                            "parameters": [
                                {
                                    "constant": false,
                                    "id": 15056,
                                    "mutability": "mutable",
                                    "name": "p0",
                                    "nameLocation": "17423:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 15077,
                                    "src": "17418:7:62",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_uint256",
                                        "typeString": "uint256"
                                    },
                                    "typeName": {
                                        "id": 15055,
                                        "name": "uint",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "17418:4:62",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_uint256",
                                            "typeString": "uint256"
                                        }
                                    },
                                    "visibility": "internal"
                                },
                                {
                                    "constant": false,
                                    "id": 15058,
                                    "mutability": "mutable",
                                    "name": "p1",
                                    "nameLocation": "17432:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 15077,
                                    "src": "17427:7:62",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_uint256",
                                        "typeString": "uint256"
                                    },
                                    "typeName": {
                                        "id": 15057,
                                        "name": "uint",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "17427:4:62",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_uint256",
                                            "typeString": "uint256"
                                        }
                                    },
                                    "visibility": "internal"
                                },
                                {
                                    "constant": false,
                                    "id": 15060,
                                    "mutability": "mutable",
                                    "name": "p2",
                                    "nameLocation": "17441:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 15077,
                                    "src": "17436:7:62",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_uint256",
                                        "typeString": "uint256"
                                    },
                                    "typeName": {
                                        "id": 15059,
                                        "name": "uint",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "17436:4:62",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_uint256",
                                            "typeString": "uint256"
                                        }
                                    },
                                    "visibility": "internal"
                                },
                                {
                                    "constant": false,
                                    "id": 15062,
                                    "mutability": "mutable",
                                    "name": "p3",
                                    "nameLocation": "17459:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 15077,
                                    "src": "17445:16:62",
                                    "stateVariable": false,
                                    "storageLocation": "memory",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_string_memory_ptr",
                                        "typeString": "string"
                                    },
                                    "typeName": {
                                        "id": 15061,
                                        "name": "string",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "17445:6:62",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_string_storage_ptr",
                                            "typeString": "string"
                                        }
                                    },
                                    "visibility": "internal"
                                }
                            ],
                            "src": "17417:45:62"
                        },
                        "returnParameters": {
                            "id": 15064,
                            "nodeType": "ParameterList",
                            "parameters": [],
                            "src": "17477:0:62"
                        },
                        "scope": 20920,
                        "src": "17405:166:62",
                        "stateMutability": "view",
                        "virtual": false,
                        "visibility": "internal"
                    },
                    {
                        "body": {
                            "id": 15099,
                            "nodeType": "Block",
                            "src": "17637:92:62",
                            "statements": [
                                {
                                    "expression": {
                                        "arguments": [
                                            {
                                                "arguments": [
                                                    {
                                                        "hexValue": "6c6f672875696e742c75696e742c75696e742c626f6f6c29",
                                                        "id": 15091,
                                                        "isConstant": false,
                                                        "isLValue": false,
                                                        "isPure": true,
                                                        "kind": "string",
                                                        "lValueRequested": false,
                                                        "nodeType": "Literal",
                                                        "src": "17681:26:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_stringliteral_6452b9cbdf8b8479d7ee301237b2d6dfa173fc92538628ab30d643fb4351918f",
                                                            "typeString": "literal_string \"log(uint,uint,uint,bool)\""
                                                        },
                                                        "value": "log(uint,uint,uint,bool)"
                                                    },
                                                    {
                                                        "id": 15092,
                                                        "name": "p0",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 15079,
                                                        "src": "17709:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_uint256",
                                                            "typeString": "uint256"
                                                        }
                                                    },
                                                    {
                                                        "id": 15093,
                                                        "name": "p1",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 15081,
                                                        "src": "17713:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_uint256",
                                                            "typeString": "uint256"
                                                        }
                                                    },
                                                    {
                                                        "id": 15094,
                                                        "name": "p2",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 15083,
                                                        "src": "17717:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_uint256",
                                                            "typeString": "uint256"
                                                        }
                                                    },
                                                    {
                                                        "id": 15095,
                                                        "name": "p3",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 15085,
                                                        "src": "17721:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_bool",
                                                            "typeString": "bool"
                                                        }
                                                    }
                                                ],
                                                "expression": {
                                                    "argumentTypes": [
                                                        {
                                                            "typeIdentifier": "t_stringliteral_6452b9cbdf8b8479d7ee301237b2d6dfa173fc92538628ab30d643fb4351918f",
                                                            "typeString": "literal_string \"log(uint,uint,uint,bool)\""
                                                        },
                                                        {
                                                            "typeIdentifier": "t_uint256",
                                                            "typeString": "uint256"
                                                        },
                                                        {
                                                            "typeIdentifier": "t_uint256",
                                                            "typeString": "uint256"
                                                        },
                                                        {
                                                            "typeIdentifier": "t_uint256",
                                                            "typeString": "uint256"
                                                        },
                                                        {
                                                            "typeIdentifier": "t_bool",
                                                            "typeString": "bool"
                                                        }
                                                    ],
                                                    "expression": {
                                                        "id": 15089,
                                                        "name": "abi",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 4294967295,
                                                        "src": "17657:3:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_magic_abi",
                                                            "typeString": "abi"
                                                        }
                                                    },
                                                    "id": 15090,
                                                    "isConstant": false,
                                                    "isLValue": false,
                                                    "isPure": true,
                                                    "lValueRequested": false,
                                                    "memberName": "encodeWithSignature",
                                                    "nodeType": "MemberAccess",
                                                    "src": "17657:23:62",
                                                    "typeDescriptions": {
                                                        "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$",
                                                        "typeString": "function (string memory) pure returns (bytes memory)"
                                                    }
                                                },
                                                "id": 15096,
                                                "isConstant": false,
                                                "isLValue": false,
                                                "isPure": false,
                                                "kind": "functionCall",
                                                "lValueRequested": false,
                                                "names": [],
                                                "nodeType": "FunctionCall",
                                                "src": "17657:67:62",
                                                "tryCall": false,
                                                "typeDescriptions": {
                                                    "typeIdentifier": "t_bytes_memory_ptr",
                                                    "typeString": "bytes memory"
                                                }
                                            }
                                        ],
                                        "expression": {
                                            "argumentTypes": [
                                                {
                                                    "typeIdentifier": "t_bytes_memory_ptr",
                                                    "typeString": "bytes memory"
                                                }
                                            ],
                                            "id": 15088,
                                            "name": "_sendLogPayload",
                                            "nodeType": "Identifier",
                                            "overloadedDeclarations": [],
                                            "referencedDeclaration": 12880,
                                            "src": "17641:15:62",
                                            "typeDescriptions": {
                                                "typeIdentifier": "t_function_internal_view$_t_bytes_memory_ptr_$returns$__$",
                                                "typeString": "function (bytes memory) view"
                                            }
                                        },
                                        "id": 15097,
                                        "isConstant": false,
                                        "isLValue": false,
                                        "isPure": false,
                                        "kind": "functionCall",
                                        "lValueRequested": false,
                                        "names": [],
                                        "nodeType": "FunctionCall",
                                        "src": "17641:84:62",
                                        "tryCall": false,
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_tuple$__$",
                                            "typeString": "tuple()"
                                        }
                                    },
                                    "id": 15098,
                                    "nodeType": "ExpressionStatement",
                                    "src": "17641:84:62"
                                }
                            ]
                        },
                        "id": 15100,
                        "implemented": true,
                        "kind": "function",
                        "modifiers": [],
                        "name": "log",
                        "nameLocation": "17583:3:62",
                        "nodeType": "FunctionDefinition",
                        "parameters": {
                            "id": 15086,
                            "nodeType": "ParameterList",
                            "parameters": [
                                {
                                    "constant": false,
                                    "id": 15079,
                                    "mutability": "mutable",
                                    "name": "p0",
                                    "nameLocation": "17592:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 15100,
                                    "src": "17587:7:62",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_uint256",
                                        "typeString": "uint256"
                                    },
                                    "typeName": {
                                        "id": 15078,
                                        "name": "uint",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "17587:4:62",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_uint256",
                                            "typeString": "uint256"
                                        }
                                    },
                                    "visibility": "internal"
                                },
                                {
                                    "constant": false,
                                    "id": 15081,
                                    "mutability": "mutable",
                                    "name": "p1",
                                    "nameLocation": "17601:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 15100,
                                    "src": "17596:7:62",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_uint256",
                                        "typeString": "uint256"
                                    },
                                    "typeName": {
                                        "id": 15080,
                                        "name": "uint",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "17596:4:62",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_uint256",
                                            "typeString": "uint256"
                                        }
                                    },
                                    "visibility": "internal"
                                },
                                {
                                    "constant": false,
                                    "id": 15083,
                                    "mutability": "mutable",
                                    "name": "p2",
                                    "nameLocation": "17610:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 15100,
                                    "src": "17605:7:62",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_uint256",
                                        "typeString": "uint256"
                                    },
                                    "typeName": {
                                        "id": 15082,
                                        "name": "uint",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "17605:4:62",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_uint256",
                                            "typeString": "uint256"
                                        }
                                    },
                                    "visibility": "internal"
                                },
                                {
                                    "constant": false,
                                    "id": 15085,
                                    "mutability": "mutable",
                                    "name": "p3",
                                    "nameLocation": "17619:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 15100,
                                    "src": "17614:7:62",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_bool",
                                        "typeString": "bool"
                                    },
                                    "typeName": {
                                        "id": 15084,
                                        "name": "bool",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "17614:4:62",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_bool",
                                            "typeString": "bool"
                                        }
                                    },
                                    "visibility": "internal"
                                }
                            ],
                            "src": "17586:36:62"
                        },
                        "returnParameters": {
                            "id": 15087,
                            "nodeType": "ParameterList",
                            "parameters": [],
                            "src": "17637:0:62"
                        },
                        "scope": 20920,
                        "src": "17574:155:62",
                        "stateMutability": "view",
                        "virtual": false,
                        "visibility": "internal"
                    },
                    {
                        "body": {
                            "id": 15122,
                            "nodeType": "Block",
                            "src": "17798:95:62",
                            "statements": [
                                {
                                    "expression": {
                                        "arguments": [
                                            {
                                                "arguments": [
                                                    {
                                                        "hexValue": "6c6f672875696e742c75696e742c75696e742c6164647265737329",
                                                        "id": 15114,
                                                        "isConstant": false,
                                                        "isLValue": false,
                                                        "isPure": true,
                                                        "kind": "string",
                                                        "lValueRequested": false,
                                                        "nodeType": "Literal",
                                                        "src": "17842:29:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_stringliteral_e0853f69a5584c9e0aa87ddae9bd870cf5164166d612d334644e66176c1213ba",
                                                            "typeString": "literal_string \"log(uint,uint,uint,address)\""
                                                        },
                                                        "value": "log(uint,uint,uint,address)"
                                                    },
                                                    {
                                                        "id": 15115,
                                                        "name": "p0",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 15102,
                                                        "src": "17873:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_uint256",
                                                            "typeString": "uint256"
                                                        }
                                                    },
                                                    {
                                                        "id": 15116,
                                                        "name": "p1",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 15104,
                                                        "src": "17877:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_uint256",
                                                            "typeString": "uint256"
                                                        }
                                                    },
                                                    {
                                                        "id": 15117,
                                                        "name": "p2",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 15106,
                                                        "src": "17881:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_uint256",
                                                            "typeString": "uint256"
                                                        }
                                                    },
                                                    {
                                                        "id": 15118,
                                                        "name": "p3",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 15108,
                                                        "src": "17885:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_address",
                                                            "typeString": "address"
                                                        }
                                                    }
                                                ],
                                                "expression": {
                                                    "argumentTypes": [
                                                        {
                                                            "typeIdentifier": "t_stringliteral_e0853f69a5584c9e0aa87ddae9bd870cf5164166d612d334644e66176c1213ba",
                                                            "typeString": "literal_string \"log(uint,uint,uint,address)\""
                                                        },
                                                        {
                                                            "typeIdentifier": "t_uint256",
                                                            "typeString": "uint256"
                                                        },
                                                        {
                                                            "typeIdentifier": "t_uint256",
                                                            "typeString": "uint256"
                                                        },
                                                        {
                                                            "typeIdentifier": "t_uint256",
                                                            "typeString": "uint256"
                                                        },
                                                        {
                                                            "typeIdentifier": "t_address",
                                                            "typeString": "address"
                                                        }
                                                    ],
                                                    "expression": {
                                                        "id": 15112,
                                                        "name": "abi",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 4294967295,
                                                        "src": "17818:3:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_magic_abi",
                                                            "typeString": "abi"
                                                        }
                                                    },
                                                    "id": 15113,
                                                    "isConstant": false,
                                                    "isLValue": false,
                                                    "isPure": true,
                                                    "lValueRequested": false,
                                                    "memberName": "encodeWithSignature",
                                                    "nodeType": "MemberAccess",
                                                    "src": "17818:23:62",
                                                    "typeDescriptions": {
                                                        "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$",
                                                        "typeString": "function (string memory) pure returns (bytes memory)"
                                                    }
                                                },
                                                "id": 15119,
                                                "isConstant": false,
                                                "isLValue": false,
                                                "isPure": false,
                                                "kind": "functionCall",
                                                "lValueRequested": false,
                                                "names": [],
                                                "nodeType": "FunctionCall",
                                                "src": "17818:70:62",
                                                "tryCall": false,
                                                "typeDescriptions": {
                                                    "typeIdentifier": "t_bytes_memory_ptr",
                                                    "typeString": "bytes memory"
                                                }
                                            }
                                        ],
                                        "expression": {
                                            "argumentTypes": [
                                                {
                                                    "typeIdentifier": "t_bytes_memory_ptr",
                                                    "typeString": "bytes memory"
                                                }
                                            ],
                                            "id": 15111,
                                            "name": "_sendLogPayload",
                                            "nodeType": "Identifier",
                                            "overloadedDeclarations": [],
                                            "referencedDeclaration": 12880,
                                            "src": "17802:15:62",
                                            "typeDescriptions": {
                                                "typeIdentifier": "t_function_internal_view$_t_bytes_memory_ptr_$returns$__$",
                                                "typeString": "function (bytes memory) view"
                                            }
                                        },
                                        "id": 15120,
                                        "isConstant": false,
                                        "isLValue": false,
                                        "isPure": false,
                                        "kind": "functionCall",
                                        "lValueRequested": false,
                                        "names": [],
                                        "nodeType": "FunctionCall",
                                        "src": "17802:87:62",
                                        "tryCall": false,
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_tuple$__$",
                                            "typeString": "tuple()"
                                        }
                                    },
                                    "id": 15121,
                                    "nodeType": "ExpressionStatement",
                                    "src": "17802:87:62"
                                }
                            ]
                        },
                        "id": 15123,
                        "implemented": true,
                        "kind": "function",
                        "modifiers": [],
                        "name": "log",
                        "nameLocation": "17741:3:62",
                        "nodeType": "FunctionDefinition",
                        "parameters": {
                            "id": 15109,
                            "nodeType": "ParameterList",
                            "parameters": [
                                {
                                    "constant": false,
                                    "id": 15102,
                                    "mutability": "mutable",
                                    "name": "p0",
                                    "nameLocation": "17750:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 15123,
                                    "src": "17745:7:62",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_uint256",
                                        "typeString": "uint256"
                                    },
                                    "typeName": {
                                        "id": 15101,
                                        "name": "uint",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "17745:4:62",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_uint256",
                                            "typeString": "uint256"
                                        }
                                    },
                                    "visibility": "internal"
                                },
                                {
                                    "constant": false,
                                    "id": 15104,
                                    "mutability": "mutable",
                                    "name": "p1",
                                    "nameLocation": "17759:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 15123,
                                    "src": "17754:7:62",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_uint256",
                                        "typeString": "uint256"
                                    },
                                    "typeName": {
                                        "id": 15103,
                                        "name": "uint",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "17754:4:62",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_uint256",
                                            "typeString": "uint256"
                                        }
                                    },
                                    "visibility": "internal"
                                },
                                {
                                    "constant": false,
                                    "id": 15106,
                                    "mutability": "mutable",
                                    "name": "p2",
                                    "nameLocation": "17768:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 15123,
                                    "src": "17763:7:62",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_uint256",
                                        "typeString": "uint256"
                                    },
                                    "typeName": {
                                        "id": 15105,
                                        "name": "uint",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "17763:4:62",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_uint256",
                                            "typeString": "uint256"
                                        }
                                    },
                                    "visibility": "internal"
                                },
                                {
                                    "constant": false,
                                    "id": 15108,
                                    "mutability": "mutable",
                                    "name": "p3",
                                    "nameLocation": "17780:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 15123,
                                    "src": "17772:10:62",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_address",
                                        "typeString": "address"
                                    },
                                    "typeName": {
                                        "id": 15107,
                                        "name": "address",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "17772:7:62",
                                        "stateMutability": "nonpayable",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_address",
                                            "typeString": "address"
                                        }
                                    },
                                    "visibility": "internal"
                                }
                            ],
                            "src": "17744:39:62"
                        },
                        "returnParameters": {
                            "id": 15110,
                            "nodeType": "ParameterList",
                            "parameters": [],
                            "src": "17798:0:62"
                        },
                        "scope": 20920,
                        "src": "17732:161:62",
                        "stateMutability": "view",
                        "virtual": false,
                        "visibility": "internal"
                    },
                    {
                        "body": {
                            "id": 15145,
                            "nodeType": "Block",
                            "src": "17968:94:62",
                            "statements": [
                                {
                                    "expression": {
                                        "arguments": [
                                            {
                                                "arguments": [
                                                    {
                                                        "hexValue": "6c6f672875696e742c75696e742c737472696e672c75696e7429",
                                                        "id": 15137,
                                                        "isConstant": false,
                                                        "isLValue": false,
                                                        "isPure": true,
                                                        "kind": "string",
                                                        "lValueRequested": false,
                                                        "nodeType": "Literal",
                                                        "src": "18012:28:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_stringliteral_3894163d4e8f3eec101fb8e2c1029563bd05d05ee1d1790a46910ebbbdc3072e",
                                                            "typeString": "literal_string \"log(uint,uint,string,uint)\""
                                                        },
                                                        "value": "log(uint,uint,string,uint)"
                                                    },
                                                    {
                                                        "id": 15138,
                                                        "name": "p0",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 15125,
                                                        "src": "18042:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_uint256",
                                                            "typeString": "uint256"
                                                        }
                                                    },
                                                    {
                                                        "id": 15139,
                                                        "name": "p1",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 15127,
                                                        "src": "18046:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_uint256",
                                                            "typeString": "uint256"
                                                        }
                                                    },
                                                    {
                                                        "id": 15140,
                                                        "name": "p2",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 15129,
                                                        "src": "18050:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_string_memory_ptr",
                                                            "typeString": "string memory"
                                                        }
                                                    },
                                                    {
                                                        "id": 15141,
                                                        "name": "p3",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 15131,
                                                        "src": "18054:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_uint256",
                                                            "typeString": "uint256"
                                                        }
                                                    }
                                                ],
                                                "expression": {
                                                    "argumentTypes": [
                                                        {
                                                            "typeIdentifier": "t_stringliteral_3894163d4e8f3eec101fb8e2c1029563bd05d05ee1d1790a46910ebbbdc3072e",
                                                            "typeString": "literal_string \"log(uint,uint,string,uint)\""
                                                        },
                                                        {
                                                            "typeIdentifier": "t_uint256",
                                                            "typeString": "uint256"
                                                        },
                                                        {
                                                            "typeIdentifier": "t_uint256",
                                                            "typeString": "uint256"
                                                        },
                                                        {
                                                            "typeIdentifier": "t_string_memory_ptr",
                                                            "typeString": "string memory"
                                                        },
                                                        {
                                                            "typeIdentifier": "t_uint256",
                                                            "typeString": "uint256"
                                                        }
                                                    ],
                                                    "expression": {
                                                        "id": 15135,
                                                        "name": "abi",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 4294967295,
                                                        "src": "17988:3:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_magic_abi",
                                                            "typeString": "abi"
                                                        }
                                                    },
                                                    "id": 15136,
                                                    "isConstant": false,
                                                    "isLValue": false,
                                                    "isPure": true,
                                                    "lValueRequested": false,
                                                    "memberName": "encodeWithSignature",
                                                    "nodeType": "MemberAccess",
                                                    "src": "17988:23:62",
                                                    "typeDescriptions": {
                                                        "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$",
                                                        "typeString": "function (string memory) pure returns (bytes memory)"
                                                    }
                                                },
                                                "id": 15142,
                                                "isConstant": false,
                                                "isLValue": false,
                                                "isPure": false,
                                                "kind": "functionCall",
                                                "lValueRequested": false,
                                                "names": [],
                                                "nodeType": "FunctionCall",
                                                "src": "17988:69:62",
                                                "tryCall": false,
                                                "typeDescriptions": {
                                                    "typeIdentifier": "t_bytes_memory_ptr",
                                                    "typeString": "bytes memory"
                                                }
                                            }
                                        ],
                                        "expression": {
                                            "argumentTypes": [
                                                {
                                                    "typeIdentifier": "t_bytes_memory_ptr",
                                                    "typeString": "bytes memory"
                                                }
                                            ],
                                            "id": 15134,
                                            "name": "_sendLogPayload",
                                            "nodeType": "Identifier",
                                            "overloadedDeclarations": [],
                                            "referencedDeclaration": 12880,
                                            "src": "17972:15:62",
                                            "typeDescriptions": {
                                                "typeIdentifier": "t_function_internal_view$_t_bytes_memory_ptr_$returns$__$",
                                                "typeString": "function (bytes memory) view"
                                            }
                                        },
                                        "id": 15143,
                                        "isConstant": false,
                                        "isLValue": false,
                                        "isPure": false,
                                        "kind": "functionCall",
                                        "lValueRequested": false,
                                        "names": [],
                                        "nodeType": "FunctionCall",
                                        "src": "17972:86:62",
                                        "tryCall": false,
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_tuple$__$",
                                            "typeString": "tuple()"
                                        }
                                    },
                                    "id": 15144,
                                    "nodeType": "ExpressionStatement",
                                    "src": "17972:86:62"
                                }
                            ]
                        },
                        "id": 15146,
                        "implemented": true,
                        "kind": "function",
                        "modifiers": [],
                        "name": "log",
                        "nameLocation": "17905:3:62",
                        "nodeType": "FunctionDefinition",
                        "parameters": {
                            "id": 15132,
                            "nodeType": "ParameterList",
                            "parameters": [
                                {
                                    "constant": false,
                                    "id": 15125,
                                    "mutability": "mutable",
                                    "name": "p0",
                                    "nameLocation": "17914:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 15146,
                                    "src": "17909:7:62",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_uint256",
                                        "typeString": "uint256"
                                    },
                                    "typeName": {
                                        "id": 15124,
                                        "name": "uint",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "17909:4:62",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_uint256",
                                            "typeString": "uint256"
                                        }
                                    },
                                    "visibility": "internal"
                                },
                                {
                                    "constant": false,
                                    "id": 15127,
                                    "mutability": "mutable",
                                    "name": "p1",
                                    "nameLocation": "17923:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 15146,
                                    "src": "17918:7:62",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_uint256",
                                        "typeString": "uint256"
                                    },
                                    "typeName": {
                                        "id": 15126,
                                        "name": "uint",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "17918:4:62",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_uint256",
                                            "typeString": "uint256"
                                        }
                                    },
                                    "visibility": "internal"
                                },
                                {
                                    "constant": false,
                                    "id": 15129,
                                    "mutability": "mutable",
                                    "name": "p2",
                                    "nameLocation": "17941:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 15146,
                                    "src": "17927:16:62",
                                    "stateVariable": false,
                                    "storageLocation": "memory",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_string_memory_ptr",
                                        "typeString": "string"
                                    },
                                    "typeName": {
                                        "id": 15128,
                                        "name": "string",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "17927:6:62",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_string_storage_ptr",
                                            "typeString": "string"
                                        }
                                    },
                                    "visibility": "internal"
                                },
                                {
                                    "constant": false,
                                    "id": 15131,
                                    "mutability": "mutable",
                                    "name": "p3",
                                    "nameLocation": "17950:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 15146,
                                    "src": "17945:7:62",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_uint256",
                                        "typeString": "uint256"
                                    },
                                    "typeName": {
                                        "id": 15130,
                                        "name": "uint",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "17945:4:62",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_uint256",
                                            "typeString": "uint256"
                                        }
                                    },
                                    "visibility": "internal"
                                }
                            ],
                            "src": "17908:45:62"
                        },
                        "returnParameters": {
                            "id": 15133,
                            "nodeType": "ParameterList",
                            "parameters": [],
                            "src": "17968:0:62"
                        },
                        "scope": 20920,
                        "src": "17896:166:62",
                        "stateMutability": "view",
                        "virtual": false,
                        "visibility": "internal"
                    },
                    {
                        "body": {
                            "id": 15168,
                            "nodeType": "Block",
                            "src": "18146:96:62",
                            "statements": [
                                {
                                    "expression": {
                                        "arguments": [
                                            {
                                                "arguments": [
                                                    {
                                                        "hexValue": "6c6f672875696e742c75696e742c737472696e672c737472696e6729",
                                                        "id": 15160,
                                                        "isConstant": false,
                                                        "isLValue": false,
                                                        "isPure": true,
                                                        "kind": "string",
                                                        "lValueRequested": false,
                                                        "nodeType": "Literal",
                                                        "src": "18190:30:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_stringliteral_7c032a3207958e3d969ab52b045e7a59226129ee4b9e813f7071f9a5e80813f6",
                                                            "typeString": "literal_string \"log(uint,uint,string,string)\""
                                                        },
                                                        "value": "log(uint,uint,string,string)"
                                                    },
                                                    {
                                                        "id": 15161,
                                                        "name": "p0",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 15148,
                                                        "src": "18222:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_uint256",
                                                            "typeString": "uint256"
                                                        }
                                                    },
                                                    {
                                                        "id": 15162,
                                                        "name": "p1",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 15150,
                                                        "src": "18226:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_uint256",
                                                            "typeString": "uint256"
                                                        }
                                                    },
                                                    {
                                                        "id": 15163,
                                                        "name": "p2",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 15152,
                                                        "src": "18230:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_string_memory_ptr",
                                                            "typeString": "string memory"
                                                        }
                                                    },
                                                    {
                                                        "id": 15164,
                                                        "name": "p3",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 15154,
                                                        "src": "18234:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_string_memory_ptr",
                                                            "typeString": "string memory"
                                                        }
                                                    }
                                                ],
                                                "expression": {
                                                    "argumentTypes": [
                                                        {
                                                            "typeIdentifier": "t_stringliteral_7c032a3207958e3d969ab52b045e7a59226129ee4b9e813f7071f9a5e80813f6",
                                                            "typeString": "literal_string \"log(uint,uint,string,string)\""
                                                        },
                                                        {
                                                            "typeIdentifier": "t_uint256",
                                                            "typeString": "uint256"
                                                        },
                                                        {
                                                            "typeIdentifier": "t_uint256",
                                                            "typeString": "uint256"
                                                        },
                                                        {
                                                            "typeIdentifier": "t_string_memory_ptr",
                                                            "typeString": "string memory"
                                                        },
                                                        {
                                                            "typeIdentifier": "t_string_memory_ptr",
                                                            "typeString": "string memory"
                                                        }
                                                    ],
                                                    "expression": {
                                                        "id": 15158,
                                                        "name": "abi",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 4294967295,
                                                        "src": "18166:3:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_magic_abi",
                                                            "typeString": "abi"
                                                        }
                                                    },
                                                    "id": 15159,
                                                    "isConstant": false,
                                                    "isLValue": false,
                                                    "isPure": true,
                                                    "lValueRequested": false,
                                                    "memberName": "encodeWithSignature",
                                                    "nodeType": "MemberAccess",
                                                    "src": "18166:23:62",
                                                    "typeDescriptions": {
                                                        "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$",
                                                        "typeString": "function (string memory) pure returns (bytes memory)"
                                                    }
                                                },
                                                "id": 15165,
                                                "isConstant": false,
                                                "isLValue": false,
                                                "isPure": false,
                                                "kind": "functionCall",
                                                "lValueRequested": false,
                                                "names": [],
                                                "nodeType": "FunctionCall",
                                                "src": "18166:71:62",
                                                "tryCall": false,
                                                "typeDescriptions": {
                                                    "typeIdentifier": "t_bytes_memory_ptr",
                                                    "typeString": "bytes memory"
                                                }
                                            }
                                        ],
                                        "expression": {
                                            "argumentTypes": [
                                                {
                                                    "typeIdentifier": "t_bytes_memory_ptr",
                                                    "typeString": "bytes memory"
                                                }
                                            ],
                                            "id": 15157,
                                            "name": "_sendLogPayload",
                                            "nodeType": "Identifier",
                                            "overloadedDeclarations": [],
                                            "referencedDeclaration": 12880,
                                            "src": "18150:15:62",
                                            "typeDescriptions": {
                                                "typeIdentifier": "t_function_internal_view$_t_bytes_memory_ptr_$returns$__$",
                                                "typeString": "function (bytes memory) view"
                                            }
                                        },
                                        "id": 15166,
                                        "isConstant": false,
                                        "isLValue": false,
                                        "isPure": false,
                                        "kind": "functionCall",
                                        "lValueRequested": false,
                                        "names": [],
                                        "nodeType": "FunctionCall",
                                        "src": "18150:88:62",
                                        "tryCall": false,
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_tuple$__$",
                                            "typeString": "tuple()"
                                        }
                                    },
                                    "id": 15167,
                                    "nodeType": "ExpressionStatement",
                                    "src": "18150:88:62"
                                }
                            ]
                        },
                        "id": 15169,
                        "implemented": true,
                        "kind": "function",
                        "modifiers": [],
                        "name": "log",
                        "nameLocation": "18074:3:62",
                        "nodeType": "FunctionDefinition",
                        "parameters": {
                            "id": 15155,
                            "nodeType": "ParameterList",
                            "parameters": [
                                {
                                    "constant": false,
                                    "id": 15148,
                                    "mutability": "mutable",
                                    "name": "p0",
                                    "nameLocation": "18083:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 15169,
                                    "src": "18078:7:62",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_uint256",
                                        "typeString": "uint256"
                                    },
                                    "typeName": {
                                        "id": 15147,
                                        "name": "uint",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "18078:4:62",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_uint256",
                                            "typeString": "uint256"
                                        }
                                    },
                                    "visibility": "internal"
                                },
                                {
                                    "constant": false,
                                    "id": 15150,
                                    "mutability": "mutable",
                                    "name": "p1",
                                    "nameLocation": "18092:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 15169,
                                    "src": "18087:7:62",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_uint256",
                                        "typeString": "uint256"
                                    },
                                    "typeName": {
                                        "id": 15149,
                                        "name": "uint",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "18087:4:62",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_uint256",
                                            "typeString": "uint256"
                                        }
                                    },
                                    "visibility": "internal"
                                },
                                {
                                    "constant": false,
                                    "id": 15152,
                                    "mutability": "mutable",
                                    "name": "p2",
                                    "nameLocation": "18110:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 15169,
                                    "src": "18096:16:62",
                                    "stateVariable": false,
                                    "storageLocation": "memory",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_string_memory_ptr",
                                        "typeString": "string"
                                    },
                                    "typeName": {
                                        "id": 15151,
                                        "name": "string",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "18096:6:62",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_string_storage_ptr",
                                            "typeString": "string"
                                        }
                                    },
                                    "visibility": "internal"
                                },
                                {
                                    "constant": false,
                                    "id": 15154,
                                    "mutability": "mutable",
                                    "name": "p3",
                                    "nameLocation": "18128:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 15169,
                                    "src": "18114:16:62",
                                    "stateVariable": false,
                                    "storageLocation": "memory",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_string_memory_ptr",
                                        "typeString": "string"
                                    },
                                    "typeName": {
                                        "id": 15153,
                                        "name": "string",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "18114:6:62",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_string_storage_ptr",
                                            "typeString": "string"
                                        }
                                    },
                                    "visibility": "internal"
                                }
                            ],
                            "src": "18077:54:62"
                        },
                        "returnParameters": {
                            "id": 15156,
                            "nodeType": "ParameterList",
                            "parameters": [],
                            "src": "18146:0:62"
                        },
                        "scope": 20920,
                        "src": "18065:177:62",
                        "stateMutability": "view",
                        "virtual": false,
                        "visibility": "internal"
                    },
                    {
                        "body": {
                            "id": 15191,
                            "nodeType": "Block",
                            "src": "18317:94:62",
                            "statements": [
                                {
                                    "expression": {
                                        "arguments": [
                                            {
                                                "arguments": [
                                                    {
                                                        "hexValue": "6c6f672875696e742c75696e742c737472696e672c626f6f6c29",
                                                        "id": 15183,
                                                        "isConstant": false,
                                                        "isLValue": false,
                                                        "isPure": true,
                                                        "kind": "string",
                                                        "lValueRequested": false,
                                                        "nodeType": "Literal",
                                                        "src": "18361:28:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_stringliteral_b22eaf06d72d481cf9b94b8f4d5fb89cf08bbfd924ee166a250ac94617be65b9",
                                                            "typeString": "literal_string \"log(uint,uint,string,bool)\""
                                                        },
                                                        "value": "log(uint,uint,string,bool)"
                                                    },
                                                    {
                                                        "id": 15184,
                                                        "name": "p0",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 15171,
                                                        "src": "18391:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_uint256",
                                                            "typeString": "uint256"
                                                        }
                                                    },
                                                    {
                                                        "id": 15185,
                                                        "name": "p1",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 15173,
                                                        "src": "18395:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_uint256",
                                                            "typeString": "uint256"
                                                        }
                                                    },
                                                    {
                                                        "id": 15186,
                                                        "name": "p2",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 15175,
                                                        "src": "18399:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_string_memory_ptr",
                                                            "typeString": "string memory"
                                                        }
                                                    },
                                                    {
                                                        "id": 15187,
                                                        "name": "p3",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 15177,
                                                        "src": "18403:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_bool",
                                                            "typeString": "bool"
                                                        }
                                                    }
                                                ],
                                                "expression": {
                                                    "argumentTypes": [
                                                        {
                                                            "typeIdentifier": "t_stringliteral_b22eaf06d72d481cf9b94b8f4d5fb89cf08bbfd924ee166a250ac94617be65b9",
                                                            "typeString": "literal_string \"log(uint,uint,string,bool)\""
                                                        },
                                                        {
                                                            "typeIdentifier": "t_uint256",
                                                            "typeString": "uint256"
                                                        },
                                                        {
                                                            "typeIdentifier": "t_uint256",
                                                            "typeString": "uint256"
                                                        },
                                                        {
                                                            "typeIdentifier": "t_string_memory_ptr",
                                                            "typeString": "string memory"
                                                        },
                                                        {
                                                            "typeIdentifier": "t_bool",
                                                            "typeString": "bool"
                                                        }
                                                    ],
                                                    "expression": {
                                                        "id": 15181,
                                                        "name": "abi",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 4294967295,
                                                        "src": "18337:3:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_magic_abi",
                                                            "typeString": "abi"
                                                        }
                                                    },
                                                    "id": 15182,
                                                    "isConstant": false,
                                                    "isLValue": false,
                                                    "isPure": true,
                                                    "lValueRequested": false,
                                                    "memberName": "encodeWithSignature",
                                                    "nodeType": "MemberAccess",
                                                    "src": "18337:23:62",
                                                    "typeDescriptions": {
                                                        "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$",
                                                        "typeString": "function (string memory) pure returns (bytes memory)"
                                                    }
                                                },
                                                "id": 15188,
                                                "isConstant": false,
                                                "isLValue": false,
                                                "isPure": false,
                                                "kind": "functionCall",
                                                "lValueRequested": false,
                                                "names": [],
                                                "nodeType": "FunctionCall",
                                                "src": "18337:69:62",
                                                "tryCall": false,
                                                "typeDescriptions": {
                                                    "typeIdentifier": "t_bytes_memory_ptr",
                                                    "typeString": "bytes memory"
                                                }
                                            }
                                        ],
                                        "expression": {
                                            "argumentTypes": [
                                                {
                                                    "typeIdentifier": "t_bytes_memory_ptr",
                                                    "typeString": "bytes memory"
                                                }
                                            ],
                                            "id": 15180,
                                            "name": "_sendLogPayload",
                                            "nodeType": "Identifier",
                                            "overloadedDeclarations": [],
                                            "referencedDeclaration": 12880,
                                            "src": "18321:15:62",
                                            "typeDescriptions": {
                                                "typeIdentifier": "t_function_internal_view$_t_bytes_memory_ptr_$returns$__$",
                                                "typeString": "function (bytes memory) view"
                                            }
                                        },
                                        "id": 15189,
                                        "isConstant": false,
                                        "isLValue": false,
                                        "isPure": false,
                                        "kind": "functionCall",
                                        "lValueRequested": false,
                                        "names": [],
                                        "nodeType": "FunctionCall",
                                        "src": "18321:86:62",
                                        "tryCall": false,
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_tuple$__$",
                                            "typeString": "tuple()"
                                        }
                                    },
                                    "id": 15190,
                                    "nodeType": "ExpressionStatement",
                                    "src": "18321:86:62"
                                }
                            ]
                        },
                        "id": 15192,
                        "implemented": true,
                        "kind": "function",
                        "modifiers": [],
                        "name": "log",
                        "nameLocation": "18254:3:62",
                        "nodeType": "FunctionDefinition",
                        "parameters": {
                            "id": 15178,
                            "nodeType": "ParameterList",
                            "parameters": [
                                {
                                    "constant": false,
                                    "id": 15171,
                                    "mutability": "mutable",
                                    "name": "p0",
                                    "nameLocation": "18263:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 15192,
                                    "src": "18258:7:62",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_uint256",
                                        "typeString": "uint256"
                                    },
                                    "typeName": {
                                        "id": 15170,
                                        "name": "uint",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "18258:4:62",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_uint256",
                                            "typeString": "uint256"
                                        }
                                    },
                                    "visibility": "internal"
                                },
                                {
                                    "constant": false,
                                    "id": 15173,
                                    "mutability": "mutable",
                                    "name": "p1",
                                    "nameLocation": "18272:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 15192,
                                    "src": "18267:7:62",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_uint256",
                                        "typeString": "uint256"
                                    },
                                    "typeName": {
                                        "id": 15172,
                                        "name": "uint",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "18267:4:62",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_uint256",
                                            "typeString": "uint256"
                                        }
                                    },
                                    "visibility": "internal"
                                },
                                {
                                    "constant": false,
                                    "id": 15175,
                                    "mutability": "mutable",
                                    "name": "p2",
                                    "nameLocation": "18290:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 15192,
                                    "src": "18276:16:62",
                                    "stateVariable": false,
                                    "storageLocation": "memory",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_string_memory_ptr",
                                        "typeString": "string"
                                    },
                                    "typeName": {
                                        "id": 15174,
                                        "name": "string",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "18276:6:62",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_string_storage_ptr",
                                            "typeString": "string"
                                        }
                                    },
                                    "visibility": "internal"
                                },
                                {
                                    "constant": false,
                                    "id": 15177,
                                    "mutability": "mutable",
                                    "name": "p3",
                                    "nameLocation": "18299:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 15192,
                                    "src": "18294:7:62",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_bool",
                                        "typeString": "bool"
                                    },
                                    "typeName": {
                                        "id": 15176,
                                        "name": "bool",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "18294:4:62",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_bool",
                                            "typeString": "bool"
                                        }
                                    },
                                    "visibility": "internal"
                                }
                            ],
                            "src": "18257:45:62"
                        },
                        "returnParameters": {
                            "id": 15179,
                            "nodeType": "ParameterList",
                            "parameters": [],
                            "src": "18317:0:62"
                        },
                        "scope": 20920,
                        "src": "18245:166:62",
                        "stateMutability": "view",
                        "virtual": false,
                        "visibility": "internal"
                    },
                    {
                        "body": {
                            "id": 15214,
                            "nodeType": "Block",
                            "src": "18489:97:62",
                            "statements": [
                                {
                                    "expression": {
                                        "arguments": [
                                            {
                                                "arguments": [
                                                    {
                                                        "hexValue": "6c6f672875696e742c75696e742c737472696e672c6164647265737329",
                                                        "id": 15206,
                                                        "isConstant": false,
                                                        "isLValue": false,
                                                        "isPure": true,
                                                        "kind": "string",
                                                        "lValueRequested": false,
                                                        "nodeType": "Literal",
                                                        "src": "18533:31:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_stringliteral_433285a23ec6b1f0f76da64682232527561857544109f80e3e5d46b0e16980e7",
                                                            "typeString": "literal_string \"log(uint,uint,string,address)\""
                                                        },
                                                        "value": "log(uint,uint,string,address)"
                                                    },
                                                    {
                                                        "id": 15207,
                                                        "name": "p0",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 15194,
                                                        "src": "18566:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_uint256",
                                                            "typeString": "uint256"
                                                        }
                                                    },
                                                    {
                                                        "id": 15208,
                                                        "name": "p1",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 15196,
                                                        "src": "18570:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_uint256",
                                                            "typeString": "uint256"
                                                        }
                                                    },
                                                    {
                                                        "id": 15209,
                                                        "name": "p2",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 15198,
                                                        "src": "18574:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_string_memory_ptr",
                                                            "typeString": "string memory"
                                                        }
                                                    },
                                                    {
                                                        "id": 15210,
                                                        "name": "p3",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 15200,
                                                        "src": "18578:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_address",
                                                            "typeString": "address"
                                                        }
                                                    }
                                                ],
                                                "expression": {
                                                    "argumentTypes": [
                                                        {
                                                            "typeIdentifier": "t_stringliteral_433285a23ec6b1f0f76da64682232527561857544109f80e3e5d46b0e16980e7",
                                                            "typeString": "literal_string \"log(uint,uint,string,address)\""
                                                        },
                                                        {
                                                            "typeIdentifier": "t_uint256",
                                                            "typeString": "uint256"
                                                        },
                                                        {
                                                            "typeIdentifier": "t_uint256",
                                                            "typeString": "uint256"
                                                        },
                                                        {
                                                            "typeIdentifier": "t_string_memory_ptr",
                                                            "typeString": "string memory"
                                                        },
                                                        {
                                                            "typeIdentifier": "t_address",
                                                            "typeString": "address"
                                                        }
                                                    ],
                                                    "expression": {
                                                        "id": 15204,
                                                        "name": "abi",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 4294967295,
                                                        "src": "18509:3:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_magic_abi",
                                                            "typeString": "abi"
                                                        }
                                                    },
                                                    "id": 15205,
                                                    "isConstant": false,
                                                    "isLValue": false,
                                                    "isPure": true,
                                                    "lValueRequested": false,
                                                    "memberName": "encodeWithSignature",
                                                    "nodeType": "MemberAccess",
                                                    "src": "18509:23:62",
                                                    "typeDescriptions": {
                                                        "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$",
                                                        "typeString": "function (string memory) pure returns (bytes memory)"
                                                    }
                                                },
                                                "id": 15211,
                                                "isConstant": false,
                                                "isLValue": false,
                                                "isPure": false,
                                                "kind": "functionCall",
                                                "lValueRequested": false,
                                                "names": [],
                                                "nodeType": "FunctionCall",
                                                "src": "18509:72:62",
                                                "tryCall": false,
                                                "typeDescriptions": {
                                                    "typeIdentifier": "t_bytes_memory_ptr",
                                                    "typeString": "bytes memory"
                                                }
                                            }
                                        ],
                                        "expression": {
                                            "argumentTypes": [
                                                {
                                                    "typeIdentifier": "t_bytes_memory_ptr",
                                                    "typeString": "bytes memory"
                                                }
                                            ],
                                            "id": 15203,
                                            "name": "_sendLogPayload",
                                            "nodeType": "Identifier",
                                            "overloadedDeclarations": [],
                                            "referencedDeclaration": 12880,
                                            "src": "18493:15:62",
                                            "typeDescriptions": {
                                                "typeIdentifier": "t_function_internal_view$_t_bytes_memory_ptr_$returns$__$",
                                                "typeString": "function (bytes memory) view"
                                            }
                                        },
                                        "id": 15212,
                                        "isConstant": false,
                                        "isLValue": false,
                                        "isPure": false,
                                        "kind": "functionCall",
                                        "lValueRequested": false,
                                        "names": [],
                                        "nodeType": "FunctionCall",
                                        "src": "18493:89:62",
                                        "tryCall": false,
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_tuple$__$",
                                            "typeString": "tuple()"
                                        }
                                    },
                                    "id": 15213,
                                    "nodeType": "ExpressionStatement",
                                    "src": "18493:89:62"
                                }
                            ]
                        },
                        "id": 15215,
                        "implemented": true,
                        "kind": "function",
                        "modifiers": [],
                        "name": "log",
                        "nameLocation": "18423:3:62",
                        "nodeType": "FunctionDefinition",
                        "parameters": {
                            "id": 15201,
                            "nodeType": "ParameterList",
                            "parameters": [
                                {
                                    "constant": false,
                                    "id": 15194,
                                    "mutability": "mutable",
                                    "name": "p0",
                                    "nameLocation": "18432:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 15215,
                                    "src": "18427:7:62",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_uint256",
                                        "typeString": "uint256"
                                    },
                                    "typeName": {
                                        "id": 15193,
                                        "name": "uint",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "18427:4:62",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_uint256",
                                            "typeString": "uint256"
                                        }
                                    },
                                    "visibility": "internal"
                                },
                                {
                                    "constant": false,
                                    "id": 15196,
                                    "mutability": "mutable",
                                    "name": "p1",
                                    "nameLocation": "18441:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 15215,
                                    "src": "18436:7:62",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_uint256",
                                        "typeString": "uint256"
                                    },
                                    "typeName": {
                                        "id": 15195,
                                        "name": "uint",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "18436:4:62",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_uint256",
                                            "typeString": "uint256"
                                        }
                                    },
                                    "visibility": "internal"
                                },
                                {
                                    "constant": false,
                                    "id": 15198,
                                    "mutability": "mutable",
                                    "name": "p2",
                                    "nameLocation": "18459:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 15215,
                                    "src": "18445:16:62",
                                    "stateVariable": false,
                                    "storageLocation": "memory",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_string_memory_ptr",
                                        "typeString": "string"
                                    },
                                    "typeName": {
                                        "id": 15197,
                                        "name": "string",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "18445:6:62",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_string_storage_ptr",
                                            "typeString": "string"
                                        }
                                    },
                                    "visibility": "internal"
                                },
                                {
                                    "constant": false,
                                    "id": 15200,
                                    "mutability": "mutable",
                                    "name": "p3",
                                    "nameLocation": "18471:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 15215,
                                    "src": "18463:10:62",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_address",
                                        "typeString": "address"
                                    },
                                    "typeName": {
                                        "id": 15199,
                                        "name": "address",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "18463:7:62",
                                        "stateMutability": "nonpayable",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_address",
                                            "typeString": "address"
                                        }
                                    },
                                    "visibility": "internal"
                                }
                            ],
                            "src": "18426:48:62"
                        },
                        "returnParameters": {
                            "id": 15202,
                            "nodeType": "ParameterList",
                            "parameters": [],
                            "src": "18489:0:62"
                        },
                        "scope": 20920,
                        "src": "18414:172:62",
                        "stateMutability": "view",
                        "virtual": false,
                        "visibility": "internal"
                    },
                    {
                        "body": {
                            "id": 15237,
                            "nodeType": "Block",
                            "src": "18652:92:62",
                            "statements": [
                                {
                                    "expression": {
                                        "arguments": [
                                            {
                                                "arguments": [
                                                    {
                                                        "hexValue": "6c6f672875696e742c75696e742c626f6f6c2c75696e7429",
                                                        "id": 15229,
                                                        "isConstant": false,
                                                        "isLValue": false,
                                                        "isPure": true,
                                                        "kind": "string",
                                                        "lValueRequested": false,
                                                        "nodeType": "Literal",
                                                        "src": "18696:26:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_stringliteral_6c647c8c5fed6e02ad4f1c7bfb891e58ba00758f5d6cb92966fd0684c5b3fc8d",
                                                            "typeString": "literal_string \"log(uint,uint,bool,uint)\""
                                                        },
                                                        "value": "log(uint,uint,bool,uint)"
                                                    },
                                                    {
                                                        "id": 15230,
                                                        "name": "p0",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 15217,
                                                        "src": "18724:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_uint256",
                                                            "typeString": "uint256"
                                                        }
                                                    },
                                                    {
                                                        "id": 15231,
                                                        "name": "p1",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 15219,
                                                        "src": "18728:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_uint256",
                                                            "typeString": "uint256"
                                                        }
                                                    },
                                                    {
                                                        "id": 15232,
                                                        "name": "p2",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 15221,
                                                        "src": "18732:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_bool",
                                                            "typeString": "bool"
                                                        }
                                                    },
                                                    {
                                                        "id": 15233,
                                                        "name": "p3",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 15223,
                                                        "src": "18736:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_uint256",
                                                            "typeString": "uint256"
                                                        }
                                                    }
                                                ],
                                                "expression": {
                                                    "argumentTypes": [
                                                        {
                                                            "typeIdentifier": "t_stringliteral_6c647c8c5fed6e02ad4f1c7bfb891e58ba00758f5d6cb92966fd0684c5b3fc8d",
                                                            "typeString": "literal_string \"log(uint,uint,bool,uint)\""
                                                        },
                                                        {
                                                            "typeIdentifier": "t_uint256",
                                                            "typeString": "uint256"
                                                        },
                                                        {
                                                            "typeIdentifier": "t_uint256",
                                                            "typeString": "uint256"
                                                        },
                                                        {
                                                            "typeIdentifier": "t_bool",
                                                            "typeString": "bool"
                                                        },
                                                        {
                                                            "typeIdentifier": "t_uint256",
                                                            "typeString": "uint256"
                                                        }
                                                    ],
                                                    "expression": {
                                                        "id": 15227,
                                                        "name": "abi",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 4294967295,
                                                        "src": "18672:3:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_magic_abi",
                                                            "typeString": "abi"
                                                        }
                                                    },
                                                    "id": 15228,
                                                    "isConstant": false,
                                                    "isLValue": false,
                                                    "isPure": true,
                                                    "lValueRequested": false,
                                                    "memberName": "encodeWithSignature",
                                                    "nodeType": "MemberAccess",
                                                    "src": "18672:23:62",
                                                    "typeDescriptions": {
                                                        "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$",
                                                        "typeString": "function (string memory) pure returns (bytes memory)"
                                                    }
                                                },
                                                "id": 15234,
                                                "isConstant": false,
                                                "isLValue": false,
                                                "isPure": false,
                                                "kind": "functionCall",
                                                "lValueRequested": false,
                                                "names": [],
                                                "nodeType": "FunctionCall",
                                                "src": "18672:67:62",
                                                "tryCall": false,
                                                "typeDescriptions": {
                                                    "typeIdentifier": "t_bytes_memory_ptr",
                                                    "typeString": "bytes memory"
                                                }
                                            }
                                        ],
                                        "expression": {
                                            "argumentTypes": [
                                                {
                                                    "typeIdentifier": "t_bytes_memory_ptr",
                                                    "typeString": "bytes memory"
                                                }
                                            ],
                                            "id": 15226,
                                            "name": "_sendLogPayload",
                                            "nodeType": "Identifier",
                                            "overloadedDeclarations": [],
                                            "referencedDeclaration": 12880,
                                            "src": "18656:15:62",
                                            "typeDescriptions": {
                                                "typeIdentifier": "t_function_internal_view$_t_bytes_memory_ptr_$returns$__$",
                                                "typeString": "function (bytes memory) view"
                                            }
                                        },
                                        "id": 15235,
                                        "isConstant": false,
                                        "isLValue": false,
                                        "isPure": false,
                                        "kind": "functionCall",
                                        "lValueRequested": false,
                                        "names": [],
                                        "nodeType": "FunctionCall",
                                        "src": "18656:84:62",
                                        "tryCall": false,
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_tuple$__$",
                                            "typeString": "tuple()"
                                        }
                                    },
                                    "id": 15236,
                                    "nodeType": "ExpressionStatement",
                                    "src": "18656:84:62"
                                }
                            ]
                        },
                        "id": 15238,
                        "implemented": true,
                        "kind": "function",
                        "modifiers": [],
                        "name": "log",
                        "nameLocation": "18598:3:62",
                        "nodeType": "FunctionDefinition",
                        "parameters": {
                            "id": 15224,
                            "nodeType": "ParameterList",
                            "parameters": [
                                {
                                    "constant": false,
                                    "id": 15217,
                                    "mutability": "mutable",
                                    "name": "p0",
                                    "nameLocation": "18607:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 15238,
                                    "src": "18602:7:62",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_uint256",
                                        "typeString": "uint256"
                                    },
                                    "typeName": {
                                        "id": 15216,
                                        "name": "uint",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "18602:4:62",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_uint256",
                                            "typeString": "uint256"
                                        }
                                    },
                                    "visibility": "internal"
                                },
                                {
                                    "constant": false,
                                    "id": 15219,
                                    "mutability": "mutable",
                                    "name": "p1",
                                    "nameLocation": "18616:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 15238,
                                    "src": "18611:7:62",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_uint256",
                                        "typeString": "uint256"
                                    },
                                    "typeName": {
                                        "id": 15218,
                                        "name": "uint",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "18611:4:62",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_uint256",
                                            "typeString": "uint256"
                                        }
                                    },
                                    "visibility": "internal"
                                },
                                {
                                    "constant": false,
                                    "id": 15221,
                                    "mutability": "mutable",
                                    "name": "p2",
                                    "nameLocation": "18625:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 15238,
                                    "src": "18620:7:62",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_bool",
                                        "typeString": "bool"
                                    },
                                    "typeName": {
                                        "id": 15220,
                                        "name": "bool",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "18620:4:62",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_bool",
                                            "typeString": "bool"
                                        }
                                    },
                                    "visibility": "internal"
                                },
                                {
                                    "constant": false,
                                    "id": 15223,
                                    "mutability": "mutable",
                                    "name": "p3",
                                    "nameLocation": "18634:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 15238,
                                    "src": "18629:7:62",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_uint256",
                                        "typeString": "uint256"
                                    },
                                    "typeName": {
                                        "id": 15222,
                                        "name": "uint",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "18629:4:62",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_uint256",
                                            "typeString": "uint256"
                                        }
                                    },
                                    "visibility": "internal"
                                }
                            ],
                            "src": "18601:36:62"
                        },
                        "returnParameters": {
                            "id": 15225,
                            "nodeType": "ParameterList",
                            "parameters": [],
                            "src": "18652:0:62"
                        },
                        "scope": 20920,
                        "src": "18589:155:62",
                        "stateMutability": "view",
                        "virtual": false,
                        "visibility": "internal"
                    },
                    {
                        "body": {
                            "id": 15260,
                            "nodeType": "Block",
                            "src": "18819:94:62",
                            "statements": [
                                {
                                    "expression": {
                                        "arguments": [
                                            {
                                                "arguments": [
                                                    {
                                                        "hexValue": "6c6f672875696e742c75696e742c626f6f6c2c737472696e6729",
                                                        "id": 15252,
                                                        "isConstant": false,
                                                        "isLValue": false,
                                                        "isPure": true,
                                                        "kind": "string",
                                                        "lValueRequested": false,
                                                        "nodeType": "Literal",
                                                        "src": "18863:28:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_stringliteral_efd9cbeee79713372dd0a748a26a3fb36cbe4eb4e01a37fbde0cde0e101fc85a",
                                                            "typeString": "literal_string \"log(uint,uint,bool,string)\""
                                                        },
                                                        "value": "log(uint,uint,bool,string)"
                                                    },
                                                    {
                                                        "id": 15253,
                                                        "name": "p0",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 15240,
                                                        "src": "18893:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_uint256",
                                                            "typeString": "uint256"
                                                        }
                                                    },
                                                    {
                                                        "id": 15254,
                                                        "name": "p1",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 15242,
                                                        "src": "18897:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_uint256",
                                                            "typeString": "uint256"
                                                        }
                                                    },
                                                    {
                                                        "id": 15255,
                                                        "name": "p2",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 15244,
                                                        "src": "18901:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_bool",
                                                            "typeString": "bool"
                                                        }
                                                    },
                                                    {
                                                        "id": 15256,
                                                        "name": "p3",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 15246,
                                                        "src": "18905:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_string_memory_ptr",
                                                            "typeString": "string memory"
                                                        }
                                                    }
                                                ],
                                                "expression": {
                                                    "argumentTypes": [
                                                        {
                                                            "typeIdentifier": "t_stringliteral_efd9cbeee79713372dd0a748a26a3fb36cbe4eb4e01a37fbde0cde0e101fc85a",
                                                            "typeString": "literal_string \"log(uint,uint,bool,string)\""
                                                        },
                                                        {
                                                            "typeIdentifier": "t_uint256",
                                                            "typeString": "uint256"
                                                        },
                                                        {
                                                            "typeIdentifier": "t_uint256",
                                                            "typeString": "uint256"
                                                        },
                                                        {
                                                            "typeIdentifier": "t_bool",
                                                            "typeString": "bool"
                                                        },
                                                        {
                                                            "typeIdentifier": "t_string_memory_ptr",
                                                            "typeString": "string memory"
                                                        }
                                                    ],
                                                    "expression": {
                                                        "id": 15250,
                                                        "name": "abi",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 4294967295,
                                                        "src": "18839:3:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_magic_abi",
                                                            "typeString": "abi"
                                                        }
                                                    },
                                                    "id": 15251,
                                                    "isConstant": false,
                                                    "isLValue": false,
                                                    "isPure": true,
                                                    "lValueRequested": false,
                                                    "memberName": "encodeWithSignature",
                                                    "nodeType": "MemberAccess",
                                                    "src": "18839:23:62",
                                                    "typeDescriptions": {
                                                        "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$",
                                                        "typeString": "function (string memory) pure returns (bytes memory)"
                                                    }
                                                },
                                                "id": 15257,
                                                "isConstant": false,
                                                "isLValue": false,
                                                "isPure": false,
                                                "kind": "functionCall",
                                                "lValueRequested": false,
                                                "names": [],
                                                "nodeType": "FunctionCall",
                                                "src": "18839:69:62",
                                                "tryCall": false,
                                                "typeDescriptions": {
                                                    "typeIdentifier": "t_bytes_memory_ptr",
                                                    "typeString": "bytes memory"
                                                }
                                            }
                                        ],
                                        "expression": {
                                            "argumentTypes": [
                                                {
                                                    "typeIdentifier": "t_bytes_memory_ptr",
                                                    "typeString": "bytes memory"
                                                }
                                            ],
                                            "id": 15249,
                                            "name": "_sendLogPayload",
                                            "nodeType": "Identifier",
                                            "overloadedDeclarations": [],
                                            "referencedDeclaration": 12880,
                                            "src": "18823:15:62",
                                            "typeDescriptions": {
                                                "typeIdentifier": "t_function_internal_view$_t_bytes_memory_ptr_$returns$__$",
                                                "typeString": "function (bytes memory) view"
                                            }
                                        },
                                        "id": 15258,
                                        "isConstant": false,
                                        "isLValue": false,
                                        "isPure": false,
                                        "kind": "functionCall",
                                        "lValueRequested": false,
                                        "names": [],
                                        "nodeType": "FunctionCall",
                                        "src": "18823:86:62",
                                        "tryCall": false,
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_tuple$__$",
                                            "typeString": "tuple()"
                                        }
                                    },
                                    "id": 15259,
                                    "nodeType": "ExpressionStatement",
                                    "src": "18823:86:62"
                                }
                            ]
                        },
                        "id": 15261,
                        "implemented": true,
                        "kind": "function",
                        "modifiers": [],
                        "name": "log",
                        "nameLocation": "18756:3:62",
                        "nodeType": "FunctionDefinition",
                        "parameters": {
                            "id": 15247,
                            "nodeType": "ParameterList",
                            "parameters": [
                                {
                                    "constant": false,
                                    "id": 15240,
                                    "mutability": "mutable",
                                    "name": "p0",
                                    "nameLocation": "18765:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 15261,
                                    "src": "18760:7:62",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_uint256",
                                        "typeString": "uint256"
                                    },
                                    "typeName": {
                                        "id": 15239,
                                        "name": "uint",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "18760:4:62",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_uint256",
                                            "typeString": "uint256"
                                        }
                                    },
                                    "visibility": "internal"
                                },
                                {
                                    "constant": false,
                                    "id": 15242,
                                    "mutability": "mutable",
                                    "name": "p1",
                                    "nameLocation": "18774:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 15261,
                                    "src": "18769:7:62",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_uint256",
                                        "typeString": "uint256"
                                    },
                                    "typeName": {
                                        "id": 15241,
                                        "name": "uint",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "18769:4:62",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_uint256",
                                            "typeString": "uint256"
                                        }
                                    },
                                    "visibility": "internal"
                                },
                                {
                                    "constant": false,
                                    "id": 15244,
                                    "mutability": "mutable",
                                    "name": "p2",
                                    "nameLocation": "18783:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 15261,
                                    "src": "18778:7:62",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_bool",
                                        "typeString": "bool"
                                    },
                                    "typeName": {
                                        "id": 15243,
                                        "name": "bool",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "18778:4:62",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_bool",
                                            "typeString": "bool"
                                        }
                                    },
                                    "visibility": "internal"
                                },
                                {
                                    "constant": false,
                                    "id": 15246,
                                    "mutability": "mutable",
                                    "name": "p3",
                                    "nameLocation": "18801:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 15261,
                                    "src": "18787:16:62",
                                    "stateVariable": false,
                                    "storageLocation": "memory",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_string_memory_ptr",
                                        "typeString": "string"
                                    },
                                    "typeName": {
                                        "id": 15245,
                                        "name": "string",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "18787:6:62",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_string_storage_ptr",
                                            "typeString": "string"
                                        }
                                    },
                                    "visibility": "internal"
                                }
                            ],
                            "src": "18759:45:62"
                        },
                        "returnParameters": {
                            "id": 15248,
                            "nodeType": "ParameterList",
                            "parameters": [],
                            "src": "18819:0:62"
                        },
                        "scope": 20920,
                        "src": "18747:166:62",
                        "stateMutability": "view",
                        "virtual": false,
                        "visibility": "internal"
                    },
                    {
                        "body": {
                            "id": 15283,
                            "nodeType": "Block",
                            "src": "18979:92:62",
                            "statements": [
                                {
                                    "expression": {
                                        "arguments": [
                                            {
                                                "arguments": [
                                                    {
                                                        "hexValue": "6c6f672875696e742c75696e742c626f6f6c2c626f6f6c29",
                                                        "id": 15275,
                                                        "isConstant": false,
                                                        "isLValue": false,
                                                        "isPure": true,
                                                        "kind": "string",
                                                        "lValueRequested": false,
                                                        "nodeType": "Literal",
                                                        "src": "19023:26:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_stringliteral_94be3bb13e096cdbc5a1999a524e3b6664a32da7e2c2954ae0e2b792a0dd1f41",
                                                            "typeString": "literal_string \"log(uint,uint,bool,bool)\""
                                                        },
                                                        "value": "log(uint,uint,bool,bool)"
                                                    },
                                                    {
                                                        "id": 15276,
                                                        "name": "p0",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 15263,
                                                        "src": "19051:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_uint256",
                                                            "typeString": "uint256"
                                                        }
                                                    },
                                                    {
                                                        "id": 15277,
                                                        "name": "p1",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 15265,
                                                        "src": "19055:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_uint256",
                                                            "typeString": "uint256"
                                                        }
                                                    },
                                                    {
                                                        "id": 15278,
                                                        "name": "p2",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 15267,
                                                        "src": "19059:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_bool",
                                                            "typeString": "bool"
                                                        }
                                                    },
                                                    {
                                                        "id": 15279,
                                                        "name": "p3",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 15269,
                                                        "src": "19063:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_bool",
                                                            "typeString": "bool"
                                                        }
                                                    }
                                                ],
                                                "expression": {
                                                    "argumentTypes": [
                                                        {
                                                            "typeIdentifier": "t_stringliteral_94be3bb13e096cdbc5a1999a524e3b6664a32da7e2c2954ae0e2b792a0dd1f41",
                                                            "typeString": "literal_string \"log(uint,uint,bool,bool)\""
                                                        },
                                                        {
                                                            "typeIdentifier": "t_uint256",
                                                            "typeString": "uint256"
                                                        },
                                                        {
                                                            "typeIdentifier": "t_uint256",
                                                            "typeString": "uint256"
                                                        },
                                                        {
                                                            "typeIdentifier": "t_bool",
                                                            "typeString": "bool"
                                                        },
                                                        {
                                                            "typeIdentifier": "t_bool",
                                                            "typeString": "bool"
                                                        }
                                                    ],
                                                    "expression": {
                                                        "id": 15273,
                                                        "name": "abi",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 4294967295,
                                                        "src": "18999:3:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_magic_abi",
                                                            "typeString": "abi"
                                                        }
                                                    },
                                                    "id": 15274,
                                                    "isConstant": false,
                                                    "isLValue": false,
                                                    "isPure": true,
                                                    "lValueRequested": false,
                                                    "memberName": "encodeWithSignature",
                                                    "nodeType": "MemberAccess",
                                                    "src": "18999:23:62",
                                                    "typeDescriptions": {
                                                        "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$",
                                                        "typeString": "function (string memory) pure returns (bytes memory)"
                                                    }
                                                },
                                                "id": 15280,
                                                "isConstant": false,
                                                "isLValue": false,
                                                "isPure": false,
                                                "kind": "functionCall",
                                                "lValueRequested": false,
                                                "names": [],
                                                "nodeType": "FunctionCall",
                                                "src": "18999:67:62",
                                                "tryCall": false,
                                                "typeDescriptions": {
                                                    "typeIdentifier": "t_bytes_memory_ptr",
                                                    "typeString": "bytes memory"
                                                }
                                            }
                                        ],
                                        "expression": {
                                            "argumentTypes": [
                                                {
                                                    "typeIdentifier": "t_bytes_memory_ptr",
                                                    "typeString": "bytes memory"
                                                }
                                            ],
                                            "id": 15272,
                                            "name": "_sendLogPayload",
                                            "nodeType": "Identifier",
                                            "overloadedDeclarations": [],
                                            "referencedDeclaration": 12880,
                                            "src": "18983:15:62",
                                            "typeDescriptions": {
                                                "typeIdentifier": "t_function_internal_view$_t_bytes_memory_ptr_$returns$__$",
                                                "typeString": "function (bytes memory) view"
                                            }
                                        },
                                        "id": 15281,
                                        "isConstant": false,
                                        "isLValue": false,
                                        "isPure": false,
                                        "kind": "functionCall",
                                        "lValueRequested": false,
                                        "names": [],
                                        "nodeType": "FunctionCall",
                                        "src": "18983:84:62",
                                        "tryCall": false,
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_tuple$__$",
                                            "typeString": "tuple()"
                                        }
                                    },
                                    "id": 15282,
                                    "nodeType": "ExpressionStatement",
                                    "src": "18983:84:62"
                                }
                            ]
                        },
                        "id": 15284,
                        "implemented": true,
                        "kind": "function",
                        "modifiers": [],
                        "name": "log",
                        "nameLocation": "18925:3:62",
                        "nodeType": "FunctionDefinition",
                        "parameters": {
                            "id": 15270,
                            "nodeType": "ParameterList",
                            "parameters": [
                                {
                                    "constant": false,
                                    "id": 15263,
                                    "mutability": "mutable",
                                    "name": "p0",
                                    "nameLocation": "18934:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 15284,
                                    "src": "18929:7:62",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_uint256",
                                        "typeString": "uint256"
                                    },
                                    "typeName": {
                                        "id": 15262,
                                        "name": "uint",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "18929:4:62",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_uint256",
                                            "typeString": "uint256"
                                        }
                                    },
                                    "visibility": "internal"
                                },
                                {
                                    "constant": false,
                                    "id": 15265,
                                    "mutability": "mutable",
                                    "name": "p1",
                                    "nameLocation": "18943:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 15284,
                                    "src": "18938:7:62",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_uint256",
                                        "typeString": "uint256"
                                    },
                                    "typeName": {
                                        "id": 15264,
                                        "name": "uint",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "18938:4:62",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_uint256",
                                            "typeString": "uint256"
                                        }
                                    },
                                    "visibility": "internal"
                                },
                                {
                                    "constant": false,
                                    "id": 15267,
                                    "mutability": "mutable",
                                    "name": "p2",
                                    "nameLocation": "18952:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 15284,
                                    "src": "18947:7:62",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_bool",
                                        "typeString": "bool"
                                    },
                                    "typeName": {
                                        "id": 15266,
                                        "name": "bool",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "18947:4:62",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_bool",
                                            "typeString": "bool"
                                        }
                                    },
                                    "visibility": "internal"
                                },
                                {
                                    "constant": false,
                                    "id": 15269,
                                    "mutability": "mutable",
                                    "name": "p3",
                                    "nameLocation": "18961:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 15284,
                                    "src": "18956:7:62",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_bool",
                                        "typeString": "bool"
                                    },
                                    "typeName": {
                                        "id": 15268,
                                        "name": "bool",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "18956:4:62",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_bool",
                                            "typeString": "bool"
                                        }
                                    },
                                    "visibility": "internal"
                                }
                            ],
                            "src": "18928:36:62"
                        },
                        "returnParameters": {
                            "id": 15271,
                            "nodeType": "ParameterList",
                            "parameters": [],
                            "src": "18979:0:62"
                        },
                        "scope": 20920,
                        "src": "18916:155:62",
                        "stateMutability": "view",
                        "virtual": false,
                        "visibility": "internal"
                    },
                    {
                        "body": {
                            "id": 15306,
                            "nodeType": "Block",
                            "src": "19140:95:62",
                            "statements": [
                                {
                                    "expression": {
                                        "arguments": [
                                            {
                                                "arguments": [
                                                    {
                                                        "hexValue": "6c6f672875696e742c75696e742c626f6f6c2c6164647265737329",
                                                        "id": 15298,
                                                        "isConstant": false,
                                                        "isLValue": false,
                                                        "isPure": true,
                                                        "kind": "string",
                                                        "lValueRequested": false,
                                                        "nodeType": "Literal",
                                                        "src": "19184:29:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_stringliteral_e117744fcc46e4484cabd18d640497b4a9d76b7f775e79fe9a95e42427bd8976",
                                                            "typeString": "literal_string \"log(uint,uint,bool,address)\""
                                                        },
                                                        "value": "log(uint,uint,bool,address)"
                                                    },
                                                    {
                                                        "id": 15299,
                                                        "name": "p0",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 15286,
                                                        "src": "19215:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_uint256",
                                                            "typeString": "uint256"
                                                        }
                                                    },
                                                    {
                                                        "id": 15300,
                                                        "name": "p1",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 15288,
                                                        "src": "19219:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_uint256",
                                                            "typeString": "uint256"
                                                        }
                                                    },
                                                    {
                                                        "id": 15301,
                                                        "name": "p2",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 15290,
                                                        "src": "19223:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_bool",
                                                            "typeString": "bool"
                                                        }
                                                    },
                                                    {
                                                        "id": 15302,
                                                        "name": "p3",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 15292,
                                                        "src": "19227:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_address",
                                                            "typeString": "address"
                                                        }
                                                    }
                                                ],
                                                "expression": {
                                                    "argumentTypes": [
                                                        {
                                                            "typeIdentifier": "t_stringliteral_e117744fcc46e4484cabd18d640497b4a9d76b7f775e79fe9a95e42427bd8976",
                                                            "typeString": "literal_string \"log(uint,uint,bool,address)\""
                                                        },
                                                        {
                                                            "typeIdentifier": "t_uint256",
                                                            "typeString": "uint256"
                                                        },
                                                        {
                                                            "typeIdentifier": "t_uint256",
                                                            "typeString": "uint256"
                                                        },
                                                        {
                                                            "typeIdentifier": "t_bool",
                                                            "typeString": "bool"
                                                        },
                                                        {
                                                            "typeIdentifier": "t_address",
                                                            "typeString": "address"
                                                        }
                                                    ],
                                                    "expression": {
                                                        "id": 15296,
                                                        "name": "abi",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 4294967295,
                                                        "src": "19160:3:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_magic_abi",
                                                            "typeString": "abi"
                                                        }
                                                    },
                                                    "id": 15297,
                                                    "isConstant": false,
                                                    "isLValue": false,
                                                    "isPure": true,
                                                    "lValueRequested": false,
                                                    "memberName": "encodeWithSignature",
                                                    "nodeType": "MemberAccess",
                                                    "src": "19160:23:62",
                                                    "typeDescriptions": {
                                                        "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$",
                                                        "typeString": "function (string memory) pure returns (bytes memory)"
                                                    }
                                                },
                                                "id": 15303,
                                                "isConstant": false,
                                                "isLValue": false,
                                                "isPure": false,
                                                "kind": "functionCall",
                                                "lValueRequested": false,
                                                "names": [],
                                                "nodeType": "FunctionCall",
                                                "src": "19160:70:62",
                                                "tryCall": false,
                                                "typeDescriptions": {
                                                    "typeIdentifier": "t_bytes_memory_ptr",
                                                    "typeString": "bytes memory"
                                                }
                                            }
                                        ],
                                        "expression": {
                                            "argumentTypes": [
                                                {
                                                    "typeIdentifier": "t_bytes_memory_ptr",
                                                    "typeString": "bytes memory"
                                                }
                                            ],
                                            "id": 15295,
                                            "name": "_sendLogPayload",
                                            "nodeType": "Identifier",
                                            "overloadedDeclarations": [],
                                            "referencedDeclaration": 12880,
                                            "src": "19144:15:62",
                                            "typeDescriptions": {
                                                "typeIdentifier": "t_function_internal_view$_t_bytes_memory_ptr_$returns$__$",
                                                "typeString": "function (bytes memory) view"
                                            }
                                        },
                                        "id": 15304,
                                        "isConstant": false,
                                        "isLValue": false,
                                        "isPure": false,
                                        "kind": "functionCall",
                                        "lValueRequested": false,
                                        "names": [],
                                        "nodeType": "FunctionCall",
                                        "src": "19144:87:62",
                                        "tryCall": false,
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_tuple$__$",
                                            "typeString": "tuple()"
                                        }
                                    },
                                    "id": 15305,
                                    "nodeType": "ExpressionStatement",
                                    "src": "19144:87:62"
                                }
                            ]
                        },
                        "id": 15307,
                        "implemented": true,
                        "kind": "function",
                        "modifiers": [],
                        "name": "log",
                        "nameLocation": "19083:3:62",
                        "nodeType": "FunctionDefinition",
                        "parameters": {
                            "id": 15293,
                            "nodeType": "ParameterList",
                            "parameters": [
                                {
                                    "constant": false,
                                    "id": 15286,
                                    "mutability": "mutable",
                                    "name": "p0",
                                    "nameLocation": "19092:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 15307,
                                    "src": "19087:7:62",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_uint256",
                                        "typeString": "uint256"
                                    },
                                    "typeName": {
                                        "id": 15285,
                                        "name": "uint",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "19087:4:62",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_uint256",
                                            "typeString": "uint256"
                                        }
                                    },
                                    "visibility": "internal"
                                },
                                {
                                    "constant": false,
                                    "id": 15288,
                                    "mutability": "mutable",
                                    "name": "p1",
                                    "nameLocation": "19101:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 15307,
                                    "src": "19096:7:62",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_uint256",
                                        "typeString": "uint256"
                                    },
                                    "typeName": {
                                        "id": 15287,
                                        "name": "uint",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "19096:4:62",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_uint256",
                                            "typeString": "uint256"
                                        }
                                    },
                                    "visibility": "internal"
                                },
                                {
                                    "constant": false,
                                    "id": 15290,
                                    "mutability": "mutable",
                                    "name": "p2",
                                    "nameLocation": "19110:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 15307,
                                    "src": "19105:7:62",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_bool",
                                        "typeString": "bool"
                                    },
                                    "typeName": {
                                        "id": 15289,
                                        "name": "bool",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "19105:4:62",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_bool",
                                            "typeString": "bool"
                                        }
                                    },
                                    "visibility": "internal"
                                },
                                {
                                    "constant": false,
                                    "id": 15292,
                                    "mutability": "mutable",
                                    "name": "p3",
                                    "nameLocation": "19122:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 15307,
                                    "src": "19114:10:62",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_address",
                                        "typeString": "address"
                                    },
                                    "typeName": {
                                        "id": 15291,
                                        "name": "address",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "19114:7:62",
                                        "stateMutability": "nonpayable",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_address",
                                            "typeString": "address"
                                        }
                                    },
                                    "visibility": "internal"
                                }
                            ],
                            "src": "19086:39:62"
                        },
                        "returnParameters": {
                            "id": 15294,
                            "nodeType": "ParameterList",
                            "parameters": [],
                            "src": "19140:0:62"
                        },
                        "scope": 20920,
                        "src": "19074:161:62",
                        "stateMutability": "view",
                        "virtual": false,
                        "visibility": "internal"
                    },
                    {
                        "body": {
                            "id": 15329,
                            "nodeType": "Block",
                            "src": "19304:95:62",
                            "statements": [
                                {
                                    "expression": {
                                        "arguments": [
                                            {
                                                "arguments": [
                                                    {
                                                        "hexValue": "6c6f672875696e742c75696e742c616464726573732c75696e7429",
                                                        "id": 15321,
                                                        "isConstant": false,
                                                        "isLValue": false,
                                                        "isPure": true,
                                                        "kind": "string",
                                                        "lValueRequested": false,
                                                        "nodeType": "Literal",
                                                        "src": "19348:29:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_stringliteral_610ba8c0cae1123f7f8ad76791afd86dc185a4f1fe79a263112118ddb5231e9f",
                                                            "typeString": "literal_string \"log(uint,uint,address,uint)\""
                                                        },
                                                        "value": "log(uint,uint,address,uint)"
                                                    },
                                                    {
                                                        "id": 15322,
                                                        "name": "p0",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 15309,
                                                        "src": "19379:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_uint256",
                                                            "typeString": "uint256"
                                                        }
                                                    },
                                                    {
                                                        "id": 15323,
                                                        "name": "p1",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 15311,
                                                        "src": "19383:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_uint256",
                                                            "typeString": "uint256"
                                                        }
                                                    },
                                                    {
                                                        "id": 15324,
                                                        "name": "p2",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 15313,
                                                        "src": "19387:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_address",
                                                            "typeString": "address"
                                                        }
                                                    },
                                                    {
                                                        "id": 15325,
                                                        "name": "p3",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 15315,
                                                        "src": "19391:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_uint256",
                                                            "typeString": "uint256"
                                                        }
                                                    }
                                                ],
                                                "expression": {
                                                    "argumentTypes": [
                                                        {
                                                            "typeIdentifier": "t_stringliteral_610ba8c0cae1123f7f8ad76791afd86dc185a4f1fe79a263112118ddb5231e9f",
                                                            "typeString": "literal_string \"log(uint,uint,address,uint)\""
                                                        },
                                                        {
                                                            "typeIdentifier": "t_uint256",
                                                            "typeString": "uint256"
                                                        },
                                                        {
                                                            "typeIdentifier": "t_uint256",
                                                            "typeString": "uint256"
                                                        },
                                                        {
                                                            "typeIdentifier": "t_address",
                                                            "typeString": "address"
                                                        },
                                                        {
                                                            "typeIdentifier": "t_uint256",
                                                            "typeString": "uint256"
                                                        }
                                                    ],
                                                    "expression": {
                                                        "id": 15319,
                                                        "name": "abi",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 4294967295,
                                                        "src": "19324:3:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_magic_abi",
                                                            "typeString": "abi"
                                                        }
                                                    },
                                                    "id": 15320,
                                                    "isConstant": false,
                                                    "isLValue": false,
                                                    "isPure": true,
                                                    "lValueRequested": false,
                                                    "memberName": "encodeWithSignature",
                                                    "nodeType": "MemberAccess",
                                                    "src": "19324:23:62",
                                                    "typeDescriptions": {
                                                        "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$",
                                                        "typeString": "function (string memory) pure returns (bytes memory)"
                                                    }
                                                },
                                                "id": 15326,
                                                "isConstant": false,
                                                "isLValue": false,
                                                "isPure": false,
                                                "kind": "functionCall",
                                                "lValueRequested": false,
                                                "names": [],
                                                "nodeType": "FunctionCall",
                                                "src": "19324:70:62",
                                                "tryCall": false,
                                                "typeDescriptions": {
                                                    "typeIdentifier": "t_bytes_memory_ptr",
                                                    "typeString": "bytes memory"
                                                }
                                            }
                                        ],
                                        "expression": {
                                            "argumentTypes": [
                                                {
                                                    "typeIdentifier": "t_bytes_memory_ptr",
                                                    "typeString": "bytes memory"
                                                }
                                            ],
                                            "id": 15318,
                                            "name": "_sendLogPayload",
                                            "nodeType": "Identifier",
                                            "overloadedDeclarations": [],
                                            "referencedDeclaration": 12880,
                                            "src": "19308:15:62",
                                            "typeDescriptions": {
                                                "typeIdentifier": "t_function_internal_view$_t_bytes_memory_ptr_$returns$__$",
                                                "typeString": "function (bytes memory) view"
                                            }
                                        },
                                        "id": 15327,
                                        "isConstant": false,
                                        "isLValue": false,
                                        "isPure": false,
                                        "kind": "functionCall",
                                        "lValueRequested": false,
                                        "names": [],
                                        "nodeType": "FunctionCall",
                                        "src": "19308:87:62",
                                        "tryCall": false,
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_tuple$__$",
                                            "typeString": "tuple()"
                                        }
                                    },
                                    "id": 15328,
                                    "nodeType": "ExpressionStatement",
                                    "src": "19308:87:62"
                                }
                            ]
                        },
                        "id": 15330,
                        "implemented": true,
                        "kind": "function",
                        "modifiers": [],
                        "name": "log",
                        "nameLocation": "19247:3:62",
                        "nodeType": "FunctionDefinition",
                        "parameters": {
                            "id": 15316,
                            "nodeType": "ParameterList",
                            "parameters": [
                                {
                                    "constant": false,
                                    "id": 15309,
                                    "mutability": "mutable",
                                    "name": "p0",
                                    "nameLocation": "19256:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 15330,
                                    "src": "19251:7:62",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_uint256",
                                        "typeString": "uint256"
                                    },
                                    "typeName": {
                                        "id": 15308,
                                        "name": "uint",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "19251:4:62",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_uint256",
                                            "typeString": "uint256"
                                        }
                                    },
                                    "visibility": "internal"
                                },
                                {
                                    "constant": false,
                                    "id": 15311,
                                    "mutability": "mutable",
                                    "name": "p1",
                                    "nameLocation": "19265:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 15330,
                                    "src": "19260:7:62",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_uint256",
                                        "typeString": "uint256"
                                    },
                                    "typeName": {
                                        "id": 15310,
                                        "name": "uint",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "19260:4:62",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_uint256",
                                            "typeString": "uint256"
                                        }
                                    },
                                    "visibility": "internal"
                                },
                                {
                                    "constant": false,
                                    "id": 15313,
                                    "mutability": "mutable",
                                    "name": "p2",
                                    "nameLocation": "19277:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 15330,
                                    "src": "19269:10:62",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_address",
                                        "typeString": "address"
                                    },
                                    "typeName": {
                                        "id": 15312,
                                        "name": "address",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "19269:7:62",
                                        "stateMutability": "nonpayable",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_address",
                                            "typeString": "address"
                                        }
                                    },
                                    "visibility": "internal"
                                },
                                {
                                    "constant": false,
                                    "id": 15315,
                                    "mutability": "mutable",
                                    "name": "p3",
                                    "nameLocation": "19286:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 15330,
                                    "src": "19281:7:62",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_uint256",
                                        "typeString": "uint256"
                                    },
                                    "typeName": {
                                        "id": 15314,
                                        "name": "uint",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "19281:4:62",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_uint256",
                                            "typeString": "uint256"
                                        }
                                    },
                                    "visibility": "internal"
                                }
                            ],
                            "src": "19250:39:62"
                        },
                        "returnParameters": {
                            "id": 15317,
                            "nodeType": "ParameterList",
                            "parameters": [],
                            "src": "19304:0:62"
                        },
                        "scope": 20920,
                        "src": "19238:161:62",
                        "stateMutability": "view",
                        "virtual": false,
                        "visibility": "internal"
                    },
                    {
                        "body": {
                            "id": 15352,
                            "nodeType": "Block",
                            "src": "19477:97:62",
                            "statements": [
                                {
                                    "expression": {
                                        "arguments": [
                                            {
                                                "arguments": [
                                                    {
                                                        "hexValue": "6c6f672875696e742c75696e742c616464726573732c737472696e6729",
                                                        "id": 15344,
                                                        "isConstant": false,
                                                        "isLValue": false,
                                                        "isPure": true,
                                                        "kind": "string",
                                                        "lValueRequested": false,
                                                        "nodeType": "Literal",
                                                        "src": "19521:31:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_stringliteral_d6a2d1de1bf5c0a47e82220cd592c8fb4a4a43f17ecab471044861ef70454227",
                                                            "typeString": "literal_string \"log(uint,uint,address,string)\""
                                                        },
                                                        "value": "log(uint,uint,address,string)"
                                                    },
                                                    {
                                                        "id": 15345,
                                                        "name": "p0",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 15332,
                                                        "src": "19554:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_uint256",
                                                            "typeString": "uint256"
                                                        }
                                                    },
                                                    {
                                                        "id": 15346,
                                                        "name": "p1",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 15334,
                                                        "src": "19558:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_uint256",
                                                            "typeString": "uint256"
                                                        }
                                                    },
                                                    {
                                                        "id": 15347,
                                                        "name": "p2",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 15336,
                                                        "src": "19562:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_address",
                                                            "typeString": "address"
                                                        }
                                                    },
                                                    {
                                                        "id": 15348,
                                                        "name": "p3",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 15338,
                                                        "src": "19566:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_string_memory_ptr",
                                                            "typeString": "string memory"
                                                        }
                                                    }
                                                ],
                                                "expression": {
                                                    "argumentTypes": [
                                                        {
                                                            "typeIdentifier": "t_stringliteral_d6a2d1de1bf5c0a47e82220cd592c8fb4a4a43f17ecab471044861ef70454227",
                                                            "typeString": "literal_string \"log(uint,uint,address,string)\""
                                                        },
                                                        {
                                                            "typeIdentifier": "t_uint256",
                                                            "typeString": "uint256"
                                                        },
                                                        {
                                                            "typeIdentifier": "t_uint256",
                                                            "typeString": "uint256"
                                                        },
                                                        {
                                                            "typeIdentifier": "t_address",
                                                            "typeString": "address"
                                                        },
                                                        {
                                                            "typeIdentifier": "t_string_memory_ptr",
                                                            "typeString": "string memory"
                                                        }
                                                    ],
                                                    "expression": {
                                                        "id": 15342,
                                                        "name": "abi",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 4294967295,
                                                        "src": "19497:3:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_magic_abi",
                                                            "typeString": "abi"
                                                        }
                                                    },
                                                    "id": 15343,
                                                    "isConstant": false,
                                                    "isLValue": false,
                                                    "isPure": true,
                                                    "lValueRequested": false,
                                                    "memberName": "encodeWithSignature",
                                                    "nodeType": "MemberAccess",
                                                    "src": "19497:23:62",
                                                    "typeDescriptions": {
                                                        "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$",
                                                        "typeString": "function (string memory) pure returns (bytes memory)"
                                                    }
                                                },
                                                "id": 15349,
                                                "isConstant": false,
                                                "isLValue": false,
                                                "isPure": false,
                                                "kind": "functionCall",
                                                "lValueRequested": false,
                                                "names": [],
                                                "nodeType": "FunctionCall",
                                                "src": "19497:72:62",
                                                "tryCall": false,
                                                "typeDescriptions": {
                                                    "typeIdentifier": "t_bytes_memory_ptr",
                                                    "typeString": "bytes memory"
                                                }
                                            }
                                        ],
                                        "expression": {
                                            "argumentTypes": [
                                                {
                                                    "typeIdentifier": "t_bytes_memory_ptr",
                                                    "typeString": "bytes memory"
                                                }
                                            ],
                                            "id": 15341,
                                            "name": "_sendLogPayload",
                                            "nodeType": "Identifier",
                                            "overloadedDeclarations": [],
                                            "referencedDeclaration": 12880,
                                            "src": "19481:15:62",
                                            "typeDescriptions": {
                                                "typeIdentifier": "t_function_internal_view$_t_bytes_memory_ptr_$returns$__$",
                                                "typeString": "function (bytes memory) view"
                                            }
                                        },
                                        "id": 15350,
                                        "isConstant": false,
                                        "isLValue": false,
                                        "isPure": false,
                                        "kind": "functionCall",
                                        "lValueRequested": false,
                                        "names": [],
                                        "nodeType": "FunctionCall",
                                        "src": "19481:89:62",
                                        "tryCall": false,
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_tuple$__$",
                                            "typeString": "tuple()"
                                        }
                                    },
                                    "id": 15351,
                                    "nodeType": "ExpressionStatement",
                                    "src": "19481:89:62"
                                }
                            ]
                        },
                        "id": 15353,
                        "implemented": true,
                        "kind": "function",
                        "modifiers": [],
                        "name": "log",
                        "nameLocation": "19411:3:62",
                        "nodeType": "FunctionDefinition",
                        "parameters": {
                            "id": 15339,
                            "nodeType": "ParameterList",
                            "parameters": [
                                {
                                    "constant": false,
                                    "id": 15332,
                                    "mutability": "mutable",
                                    "name": "p0",
                                    "nameLocation": "19420:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 15353,
                                    "src": "19415:7:62",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_uint256",
                                        "typeString": "uint256"
                                    },
                                    "typeName": {
                                        "id": 15331,
                                        "name": "uint",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "19415:4:62",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_uint256",
                                            "typeString": "uint256"
                                        }
                                    },
                                    "visibility": "internal"
                                },
                                {
                                    "constant": false,
                                    "id": 15334,
                                    "mutability": "mutable",
                                    "name": "p1",
                                    "nameLocation": "19429:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 15353,
                                    "src": "19424:7:62",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_uint256",
                                        "typeString": "uint256"
                                    },
                                    "typeName": {
                                        "id": 15333,
                                        "name": "uint",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "19424:4:62",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_uint256",
                                            "typeString": "uint256"
                                        }
                                    },
                                    "visibility": "internal"
                                },
                                {
                                    "constant": false,
                                    "id": 15336,
                                    "mutability": "mutable",
                                    "name": "p2",
                                    "nameLocation": "19441:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 15353,
                                    "src": "19433:10:62",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_address",
                                        "typeString": "address"
                                    },
                                    "typeName": {
                                        "id": 15335,
                                        "name": "address",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "19433:7:62",
                                        "stateMutability": "nonpayable",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_address",
                                            "typeString": "address"
                                        }
                                    },
                                    "visibility": "internal"
                                },
                                {
                                    "constant": false,
                                    "id": 15338,
                                    "mutability": "mutable",
                                    "name": "p3",
                                    "nameLocation": "19459:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 15353,
                                    "src": "19445:16:62",
                                    "stateVariable": false,
                                    "storageLocation": "memory",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_string_memory_ptr",
                                        "typeString": "string"
                                    },
                                    "typeName": {
                                        "id": 15337,
                                        "name": "string",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "19445:6:62",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_string_storage_ptr",
                                            "typeString": "string"
                                        }
                                    },
                                    "visibility": "internal"
                                }
                            ],
                            "src": "19414:48:62"
                        },
                        "returnParameters": {
                            "id": 15340,
                            "nodeType": "ParameterList",
                            "parameters": [],
                            "src": "19477:0:62"
                        },
                        "scope": 20920,
                        "src": "19402:172:62",
                        "stateMutability": "view",
                        "virtual": false,
                        "visibility": "internal"
                    },
                    {
                        "body": {
                            "id": 15375,
                            "nodeType": "Block",
                            "src": "19643:95:62",
                            "statements": [
                                {
                                    "expression": {
                                        "arguments": [
                                            {
                                                "arguments": [
                                                    {
                                                        "hexValue": "6c6f672875696e742c75696e742c616464726573732c626f6f6c29",
                                                        "id": 15367,
                                                        "isConstant": false,
                                                        "isLValue": false,
                                                        "isPure": true,
                                                        "kind": "string",
                                                        "lValueRequested": false,
                                                        "nodeType": "Literal",
                                                        "src": "19687:29:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_stringliteral_a8e820ae9dc5fd5a845e5dabf2b296e5588fe5a0d8101de14323ebe3e8e2b6c0",
                                                            "typeString": "literal_string \"log(uint,uint,address,bool)\""
                                                        },
                                                        "value": "log(uint,uint,address,bool)"
                                                    },
                                                    {
                                                        "id": 15368,
                                                        "name": "p0",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 15355,
                                                        "src": "19718:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_uint256",
                                                            "typeString": "uint256"
                                                        }
                                                    },
                                                    {
                                                        "id": 15369,
                                                        "name": "p1",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 15357,
                                                        "src": "19722:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_uint256",
                                                            "typeString": "uint256"
                                                        }
                                                    },
                                                    {
                                                        "id": 15370,
                                                        "name": "p2",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 15359,
                                                        "src": "19726:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_address",
                                                            "typeString": "address"
                                                        }
                                                    },
                                                    {
                                                        "id": 15371,
                                                        "name": "p3",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 15361,
                                                        "src": "19730:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_bool",
                                                            "typeString": "bool"
                                                        }
                                                    }
                                                ],
                                                "expression": {
                                                    "argumentTypes": [
                                                        {
                                                            "typeIdentifier": "t_stringliteral_a8e820ae9dc5fd5a845e5dabf2b296e5588fe5a0d8101de14323ebe3e8e2b6c0",
                                                            "typeString": "literal_string \"log(uint,uint,address,bool)\""
                                                        },
                                                        {
                                                            "typeIdentifier": "t_uint256",
                                                            "typeString": "uint256"
                                                        },
                                                        {
                                                            "typeIdentifier": "t_uint256",
                                                            "typeString": "uint256"
                                                        },
                                                        {
                                                            "typeIdentifier": "t_address",
                                                            "typeString": "address"
                                                        },
                                                        {
                                                            "typeIdentifier": "t_bool",
                                                            "typeString": "bool"
                                                        }
                                                    ],
                                                    "expression": {
                                                        "id": 15365,
                                                        "name": "abi",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 4294967295,
                                                        "src": "19663:3:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_magic_abi",
                                                            "typeString": "abi"
                                                        }
                                                    },
                                                    "id": 15366,
                                                    "isConstant": false,
                                                    "isLValue": false,
                                                    "isPure": true,
                                                    "lValueRequested": false,
                                                    "memberName": "encodeWithSignature",
                                                    "nodeType": "MemberAccess",
                                                    "src": "19663:23:62",
                                                    "typeDescriptions": {
                                                        "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$",
                                                        "typeString": "function (string memory) pure returns (bytes memory)"
                                                    }
                                                },
                                                "id": 15372,
                                                "isConstant": false,
                                                "isLValue": false,
                                                "isPure": false,
                                                "kind": "functionCall",
                                                "lValueRequested": false,
                                                "names": [],
                                                "nodeType": "FunctionCall",
                                                "src": "19663:70:62",
                                                "tryCall": false,
                                                "typeDescriptions": {
                                                    "typeIdentifier": "t_bytes_memory_ptr",
                                                    "typeString": "bytes memory"
                                                }
                                            }
                                        ],
                                        "expression": {
                                            "argumentTypes": [
                                                {
                                                    "typeIdentifier": "t_bytes_memory_ptr",
                                                    "typeString": "bytes memory"
                                                }
                                            ],
                                            "id": 15364,
                                            "name": "_sendLogPayload",
                                            "nodeType": "Identifier",
                                            "overloadedDeclarations": [],
                                            "referencedDeclaration": 12880,
                                            "src": "19647:15:62",
                                            "typeDescriptions": {
                                                "typeIdentifier": "t_function_internal_view$_t_bytes_memory_ptr_$returns$__$",
                                                "typeString": "function (bytes memory) view"
                                            }
                                        },
                                        "id": 15373,
                                        "isConstant": false,
                                        "isLValue": false,
                                        "isPure": false,
                                        "kind": "functionCall",
                                        "lValueRequested": false,
                                        "names": [],
                                        "nodeType": "FunctionCall",
                                        "src": "19647:87:62",
                                        "tryCall": false,
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_tuple$__$",
                                            "typeString": "tuple()"
                                        }
                                    },
                                    "id": 15374,
                                    "nodeType": "ExpressionStatement",
                                    "src": "19647:87:62"
                                }
                            ]
                        },
                        "id": 15376,
                        "implemented": true,
                        "kind": "function",
                        "modifiers": [],
                        "name": "log",
                        "nameLocation": "19586:3:62",
                        "nodeType": "FunctionDefinition",
                        "parameters": {
                            "id": 15362,
                            "nodeType": "ParameterList",
                            "parameters": [
                                {
                                    "constant": false,
                                    "id": 15355,
                                    "mutability": "mutable",
                                    "name": "p0",
                                    "nameLocation": "19595:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 15376,
                                    "src": "19590:7:62",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_uint256",
                                        "typeString": "uint256"
                                    },
                                    "typeName": {
                                        "id": 15354,
                                        "name": "uint",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "19590:4:62",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_uint256",
                                            "typeString": "uint256"
                                        }
                                    },
                                    "visibility": "internal"
                                },
                                {
                                    "constant": false,
                                    "id": 15357,
                                    "mutability": "mutable",
                                    "name": "p1",
                                    "nameLocation": "19604:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 15376,
                                    "src": "19599:7:62",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_uint256",
                                        "typeString": "uint256"
                                    },
                                    "typeName": {
                                        "id": 15356,
                                        "name": "uint",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "19599:4:62",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_uint256",
                                            "typeString": "uint256"
                                        }
                                    },
                                    "visibility": "internal"
                                },
                                {
                                    "constant": false,
                                    "id": 15359,
                                    "mutability": "mutable",
                                    "name": "p2",
                                    "nameLocation": "19616:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 15376,
                                    "src": "19608:10:62",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_address",
                                        "typeString": "address"
                                    },
                                    "typeName": {
                                        "id": 15358,
                                        "name": "address",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "19608:7:62",
                                        "stateMutability": "nonpayable",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_address",
                                            "typeString": "address"
                                        }
                                    },
                                    "visibility": "internal"
                                },
                                {
                                    "constant": false,
                                    "id": 15361,
                                    "mutability": "mutable",
                                    "name": "p3",
                                    "nameLocation": "19625:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 15376,
                                    "src": "19620:7:62",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_bool",
                                        "typeString": "bool"
                                    },
                                    "typeName": {
                                        "id": 15360,
                                        "name": "bool",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "19620:4:62",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_bool",
                                            "typeString": "bool"
                                        }
                                    },
                                    "visibility": "internal"
                                }
                            ],
                            "src": "19589:39:62"
                        },
                        "returnParameters": {
                            "id": 15363,
                            "nodeType": "ParameterList",
                            "parameters": [],
                            "src": "19643:0:62"
                        },
                        "scope": 20920,
                        "src": "19577:161:62",
                        "stateMutability": "view",
                        "virtual": false,
                        "visibility": "internal"
                    },
                    {
                        "body": {
                            "id": 15398,
                            "nodeType": "Block",
                            "src": "19810:98:62",
                            "statements": [
                                {
                                    "expression": {
                                        "arguments": [
                                            {
                                                "arguments": [
                                                    {
                                                        "hexValue": "6c6f672875696e742c75696e742c616464726573732c6164647265737329",
                                                        "id": 15390,
                                                        "isConstant": false,
                                                        "isLValue": false,
                                                        "isPure": true,
                                                        "kind": "string",
                                                        "lValueRequested": false,
                                                        "nodeType": "Literal",
                                                        "src": "19854:32:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_stringliteral_ca939b20e9284d76bbbc091d0d45d06f650171230ac4f1f35652b8b6e1579811",
                                                            "typeString": "literal_string \"log(uint,uint,address,address)\""
                                                        },
                                                        "value": "log(uint,uint,address,address)"
                                                    },
                                                    {
                                                        "id": 15391,
                                                        "name": "p0",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 15378,
                                                        "src": "19888:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_uint256",
                                                            "typeString": "uint256"
                                                        }
                                                    },
                                                    {
                                                        "id": 15392,
                                                        "name": "p1",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 15380,
                                                        "src": "19892:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_uint256",
                                                            "typeString": "uint256"
                                                        }
                                                    },
                                                    {
                                                        "id": 15393,
                                                        "name": "p2",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 15382,
                                                        "src": "19896:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_address",
                                                            "typeString": "address"
                                                        }
                                                    },
                                                    {
                                                        "id": 15394,
                                                        "name": "p3",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 15384,
                                                        "src": "19900:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_address",
                                                            "typeString": "address"
                                                        }
                                                    }
                                                ],
                                                "expression": {
                                                    "argumentTypes": [
                                                        {
                                                            "typeIdentifier": "t_stringliteral_ca939b20e9284d76bbbc091d0d45d06f650171230ac4f1f35652b8b6e1579811",
                                                            "typeString": "literal_string \"log(uint,uint,address,address)\""
                                                        },
                                                        {
                                                            "typeIdentifier": "t_uint256",
                                                            "typeString": "uint256"
                                                        },
                                                        {
                                                            "typeIdentifier": "t_uint256",
                                                            "typeString": "uint256"
                                                        },
                                                        {
                                                            "typeIdentifier": "t_address",
                                                            "typeString": "address"
                                                        },
                                                        {
                                                            "typeIdentifier": "t_address",
                                                            "typeString": "address"
                                                        }
                                                    ],
                                                    "expression": {
                                                        "id": 15388,
                                                        "name": "abi",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 4294967295,
                                                        "src": "19830:3:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_magic_abi",
                                                            "typeString": "abi"
                                                        }
                                                    },
                                                    "id": 15389,
                                                    "isConstant": false,
                                                    "isLValue": false,
                                                    "isPure": true,
                                                    "lValueRequested": false,
                                                    "memberName": "encodeWithSignature",
                                                    "nodeType": "MemberAccess",
                                                    "src": "19830:23:62",
                                                    "typeDescriptions": {
                                                        "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$",
                                                        "typeString": "function (string memory) pure returns (bytes memory)"
                                                    }
                                                },
                                                "id": 15395,
                                                "isConstant": false,
                                                "isLValue": false,
                                                "isPure": false,
                                                "kind": "functionCall",
                                                "lValueRequested": false,
                                                "names": [],
                                                "nodeType": "FunctionCall",
                                                "src": "19830:73:62",
                                                "tryCall": false,
                                                "typeDescriptions": {
                                                    "typeIdentifier": "t_bytes_memory_ptr",
                                                    "typeString": "bytes memory"
                                                }
                                            }
                                        ],
                                        "expression": {
                                            "argumentTypes": [
                                                {
                                                    "typeIdentifier": "t_bytes_memory_ptr",
                                                    "typeString": "bytes memory"
                                                }
                                            ],
                                            "id": 15387,
                                            "name": "_sendLogPayload",
                                            "nodeType": "Identifier",
                                            "overloadedDeclarations": [],
                                            "referencedDeclaration": 12880,
                                            "src": "19814:15:62",
                                            "typeDescriptions": {
                                                "typeIdentifier": "t_function_internal_view$_t_bytes_memory_ptr_$returns$__$",
                                                "typeString": "function (bytes memory) view"
                                            }
                                        },
                                        "id": 15396,
                                        "isConstant": false,
                                        "isLValue": false,
                                        "isPure": false,
                                        "kind": "functionCall",
                                        "lValueRequested": false,
                                        "names": [],
                                        "nodeType": "FunctionCall",
                                        "src": "19814:90:62",
                                        "tryCall": false,
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_tuple$__$",
                                            "typeString": "tuple()"
                                        }
                                    },
                                    "id": 15397,
                                    "nodeType": "ExpressionStatement",
                                    "src": "19814:90:62"
                                }
                            ]
                        },
                        "id": 15399,
                        "implemented": true,
                        "kind": "function",
                        "modifiers": [],
                        "name": "log",
                        "nameLocation": "19750:3:62",
                        "nodeType": "FunctionDefinition",
                        "parameters": {
                            "id": 15385,
                            "nodeType": "ParameterList",
                            "parameters": [
                                {
                                    "constant": false,
                                    "id": 15378,
                                    "mutability": "mutable",
                                    "name": "p0",
                                    "nameLocation": "19759:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 15399,
                                    "src": "19754:7:62",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_uint256",
                                        "typeString": "uint256"
                                    },
                                    "typeName": {
                                        "id": 15377,
                                        "name": "uint",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "19754:4:62",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_uint256",
                                            "typeString": "uint256"
                                        }
                                    },
                                    "visibility": "internal"
                                },
                                {
                                    "constant": false,
                                    "id": 15380,
                                    "mutability": "mutable",
                                    "name": "p1",
                                    "nameLocation": "19768:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 15399,
                                    "src": "19763:7:62",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_uint256",
                                        "typeString": "uint256"
                                    },
                                    "typeName": {
                                        "id": 15379,
                                        "name": "uint",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "19763:4:62",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_uint256",
                                            "typeString": "uint256"
                                        }
                                    },
                                    "visibility": "internal"
                                },
                                {
                                    "constant": false,
                                    "id": 15382,
                                    "mutability": "mutable",
                                    "name": "p2",
                                    "nameLocation": "19780:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 15399,
                                    "src": "19772:10:62",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_address",
                                        "typeString": "address"
                                    },
                                    "typeName": {
                                        "id": 15381,
                                        "name": "address",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "19772:7:62",
                                        "stateMutability": "nonpayable",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_address",
                                            "typeString": "address"
                                        }
                                    },
                                    "visibility": "internal"
                                },
                                {
                                    "constant": false,
                                    "id": 15384,
                                    "mutability": "mutable",
                                    "name": "p3",
                                    "nameLocation": "19792:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 15399,
                                    "src": "19784:10:62",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_address",
                                        "typeString": "address"
                                    },
                                    "typeName": {
                                        "id": 15383,
                                        "name": "address",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "19784:7:62",
                                        "stateMutability": "nonpayable",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_address",
                                            "typeString": "address"
                                        }
                                    },
                                    "visibility": "internal"
                                }
                            ],
                            "src": "19753:42:62"
                        },
                        "returnParameters": {
                            "id": 15386,
                            "nodeType": "ParameterList",
                            "parameters": [],
                            "src": "19810:0:62"
                        },
                        "scope": 20920,
                        "src": "19741:167:62",
                        "stateMutability": "view",
                        "virtual": false,
                        "visibility": "internal"
                    },
                    {
                        "body": {
                            "id": 15421,
                            "nodeType": "Block",
                            "src": "19983:94:62",
                            "statements": [
                                {
                                    "expression": {
                                        "arguments": [
                                            {
                                                "arguments": [
                                                    {
                                                        "hexValue": "6c6f672875696e742c737472696e672c75696e742c75696e7429",
                                                        "id": 15413,
                                                        "isConstant": false,
                                                        "isLValue": false,
                                                        "isPure": true,
                                                        "kind": "string",
                                                        "lValueRequested": false,
                                                        "nodeType": "Literal",
                                                        "src": "20027:28:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_stringliteral_c0043807b5f951e0375253205c951c6e6a6b19b5de111342e8f6be7c7f284628",
                                                            "typeString": "literal_string \"log(uint,string,uint,uint)\""
                                                        },
                                                        "value": "log(uint,string,uint,uint)"
                                                    },
                                                    {
                                                        "id": 15414,
                                                        "name": "p0",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 15401,
                                                        "src": "20057:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_uint256",
                                                            "typeString": "uint256"
                                                        }
                                                    },
                                                    {
                                                        "id": 15415,
                                                        "name": "p1",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 15403,
                                                        "src": "20061:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_string_memory_ptr",
                                                            "typeString": "string memory"
                                                        }
                                                    },
                                                    {
                                                        "id": 15416,
                                                        "name": "p2",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 15405,
                                                        "src": "20065:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_uint256",
                                                            "typeString": "uint256"
                                                        }
                                                    },
                                                    {
                                                        "id": 15417,
                                                        "name": "p3",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 15407,
                                                        "src": "20069:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_uint256",
                                                            "typeString": "uint256"
                                                        }
                                                    }
                                                ],
                                                "expression": {
                                                    "argumentTypes": [
                                                        {
                                                            "typeIdentifier": "t_stringliteral_c0043807b5f951e0375253205c951c6e6a6b19b5de111342e8f6be7c7f284628",
                                                            "typeString": "literal_string \"log(uint,string,uint,uint)\""
                                                        },
                                                        {
                                                            "typeIdentifier": "t_uint256",
                                                            "typeString": "uint256"
                                                        },
                                                        {
                                                            "typeIdentifier": "t_string_memory_ptr",
                                                            "typeString": "string memory"
                                                        },
                                                        {
                                                            "typeIdentifier": "t_uint256",
                                                            "typeString": "uint256"
                                                        },
                                                        {
                                                            "typeIdentifier": "t_uint256",
                                                            "typeString": "uint256"
                                                        }
                                                    ],
                                                    "expression": {
                                                        "id": 15411,
                                                        "name": "abi",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 4294967295,
                                                        "src": "20003:3:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_magic_abi",
                                                            "typeString": "abi"
                                                        }
                                                    },
                                                    "id": 15412,
                                                    "isConstant": false,
                                                    "isLValue": false,
                                                    "isPure": true,
                                                    "lValueRequested": false,
                                                    "memberName": "encodeWithSignature",
                                                    "nodeType": "MemberAccess",
                                                    "src": "20003:23:62",
                                                    "typeDescriptions": {
                                                        "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$",
                                                        "typeString": "function (string memory) pure returns (bytes memory)"
                                                    }
                                                },
                                                "id": 15418,
                                                "isConstant": false,
                                                "isLValue": false,
                                                "isPure": false,
                                                "kind": "functionCall",
                                                "lValueRequested": false,
                                                "names": [],
                                                "nodeType": "FunctionCall",
                                                "src": "20003:69:62",
                                                "tryCall": false,
                                                "typeDescriptions": {
                                                    "typeIdentifier": "t_bytes_memory_ptr",
                                                    "typeString": "bytes memory"
                                                }
                                            }
                                        ],
                                        "expression": {
                                            "argumentTypes": [
                                                {
                                                    "typeIdentifier": "t_bytes_memory_ptr",
                                                    "typeString": "bytes memory"
                                                }
                                            ],
                                            "id": 15410,
                                            "name": "_sendLogPayload",
                                            "nodeType": "Identifier",
                                            "overloadedDeclarations": [],
                                            "referencedDeclaration": 12880,
                                            "src": "19987:15:62",
                                            "typeDescriptions": {
                                                "typeIdentifier": "t_function_internal_view$_t_bytes_memory_ptr_$returns$__$",
                                                "typeString": "function (bytes memory) view"
                                            }
                                        },
                                        "id": 15419,
                                        "isConstant": false,
                                        "isLValue": false,
                                        "isPure": false,
                                        "kind": "functionCall",
                                        "lValueRequested": false,
                                        "names": [],
                                        "nodeType": "FunctionCall",
                                        "src": "19987:86:62",
                                        "tryCall": false,
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_tuple$__$",
                                            "typeString": "tuple()"
                                        }
                                    },
                                    "id": 15420,
                                    "nodeType": "ExpressionStatement",
                                    "src": "19987:86:62"
                                }
                            ]
                        },
                        "id": 15422,
                        "implemented": true,
                        "kind": "function",
                        "modifiers": [],
                        "name": "log",
                        "nameLocation": "19920:3:62",
                        "nodeType": "FunctionDefinition",
                        "parameters": {
                            "id": 15408,
                            "nodeType": "ParameterList",
                            "parameters": [
                                {
                                    "constant": false,
                                    "id": 15401,
                                    "mutability": "mutable",
                                    "name": "p0",
                                    "nameLocation": "19929:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 15422,
                                    "src": "19924:7:62",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_uint256",
                                        "typeString": "uint256"
                                    },
                                    "typeName": {
                                        "id": 15400,
                                        "name": "uint",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "19924:4:62",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_uint256",
                                            "typeString": "uint256"
                                        }
                                    },
                                    "visibility": "internal"
                                },
                                {
                                    "constant": false,
                                    "id": 15403,
                                    "mutability": "mutable",
                                    "name": "p1",
                                    "nameLocation": "19947:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 15422,
                                    "src": "19933:16:62",
                                    "stateVariable": false,
                                    "storageLocation": "memory",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_string_memory_ptr",
                                        "typeString": "string"
                                    },
                                    "typeName": {
                                        "id": 15402,
                                        "name": "string",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "19933:6:62",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_string_storage_ptr",
                                            "typeString": "string"
                                        }
                                    },
                                    "visibility": "internal"
                                },
                                {
                                    "constant": false,
                                    "id": 15405,
                                    "mutability": "mutable",
                                    "name": "p2",
                                    "nameLocation": "19956:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 15422,
                                    "src": "19951:7:62",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_uint256",
                                        "typeString": "uint256"
                                    },
                                    "typeName": {
                                        "id": 15404,
                                        "name": "uint",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "19951:4:62",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_uint256",
                                            "typeString": "uint256"
                                        }
                                    },
                                    "visibility": "internal"
                                },
                                {
                                    "constant": false,
                                    "id": 15407,
                                    "mutability": "mutable",
                                    "name": "p3",
                                    "nameLocation": "19965:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 15422,
                                    "src": "19960:7:62",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_uint256",
                                        "typeString": "uint256"
                                    },
                                    "typeName": {
                                        "id": 15406,
                                        "name": "uint",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "19960:4:62",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_uint256",
                                            "typeString": "uint256"
                                        }
                                    },
                                    "visibility": "internal"
                                }
                            ],
                            "src": "19923:45:62"
                        },
                        "returnParameters": {
                            "id": 15409,
                            "nodeType": "ParameterList",
                            "parameters": [],
                            "src": "19983:0:62"
                        },
                        "scope": 20920,
                        "src": "19911:166:62",
                        "stateMutability": "view",
                        "virtual": false,
                        "visibility": "internal"
                    },
                    {
                        "body": {
                            "id": 15444,
                            "nodeType": "Block",
                            "src": "20161:96:62",
                            "statements": [
                                {
                                    "expression": {
                                        "arguments": [
                                            {
                                                "arguments": [
                                                    {
                                                        "hexValue": "6c6f672875696e742c737472696e672c75696e742c737472696e6729",
                                                        "id": 15436,
                                                        "isConstant": false,
                                                        "isLValue": false,
                                                        "isPure": true,
                                                        "kind": "string",
                                                        "lValueRequested": false,
                                                        "nodeType": "Literal",
                                                        "src": "20205:30:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_stringliteral_a2bc0c99cedfd873182e8eb1e68799dc8925c663b8ce2430858586fba62fe313",
                                                            "typeString": "literal_string \"log(uint,string,uint,string)\""
                                                        },
                                                        "value": "log(uint,string,uint,string)"
                                                    },
                                                    {
                                                        "id": 15437,
                                                        "name": "p0",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 15424,
                                                        "src": "20237:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_uint256",
                                                            "typeString": "uint256"
                                                        }
                                                    },
                                                    {
                                                        "id": 15438,
                                                        "name": "p1",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 15426,
                                                        "src": "20241:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_string_memory_ptr",
                                                            "typeString": "string memory"
                                                        }
                                                    },
                                                    {
                                                        "id": 15439,
                                                        "name": "p2",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 15428,
                                                        "src": "20245:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_uint256",
                                                            "typeString": "uint256"
                                                        }
                                                    },
                                                    {
                                                        "id": 15440,
                                                        "name": "p3",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 15430,
                                                        "src": "20249:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_string_memory_ptr",
                                                            "typeString": "string memory"
                                                        }
                                                    }
                                                ],
                                                "expression": {
                                                    "argumentTypes": [
                                                        {
                                                            "typeIdentifier": "t_stringliteral_a2bc0c99cedfd873182e8eb1e68799dc8925c663b8ce2430858586fba62fe313",
                                                            "typeString": "literal_string \"log(uint,string,uint,string)\""
                                                        },
                                                        {
                                                            "typeIdentifier": "t_uint256",
                                                            "typeString": "uint256"
                                                        },
                                                        {
                                                            "typeIdentifier": "t_string_memory_ptr",
                                                            "typeString": "string memory"
                                                        },
                                                        {
                                                            "typeIdentifier": "t_uint256",
                                                            "typeString": "uint256"
                                                        },
                                                        {
                                                            "typeIdentifier": "t_string_memory_ptr",
                                                            "typeString": "string memory"
                                                        }
                                                    ],
                                                    "expression": {
                                                        "id": 15434,
                                                        "name": "abi",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 4294967295,
                                                        "src": "20181:3:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_magic_abi",
                                                            "typeString": "abi"
                                                        }
                                                    },
                                                    "id": 15435,
                                                    "isConstant": false,
                                                    "isLValue": false,
                                                    "isPure": true,
                                                    "lValueRequested": false,
                                                    "memberName": "encodeWithSignature",
                                                    "nodeType": "MemberAccess",
                                                    "src": "20181:23:62",
                                                    "typeDescriptions": {
                                                        "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$",
                                                        "typeString": "function (string memory) pure returns (bytes memory)"
                                                    }
                                                },
                                                "id": 15441,
                                                "isConstant": false,
                                                "isLValue": false,
                                                "isPure": false,
                                                "kind": "functionCall",
                                                "lValueRequested": false,
                                                "names": [],
                                                "nodeType": "FunctionCall",
                                                "src": "20181:71:62",
                                                "tryCall": false,
                                                "typeDescriptions": {
                                                    "typeIdentifier": "t_bytes_memory_ptr",
                                                    "typeString": "bytes memory"
                                                }
                                            }
                                        ],
                                        "expression": {
                                            "argumentTypes": [
                                                {
                                                    "typeIdentifier": "t_bytes_memory_ptr",
                                                    "typeString": "bytes memory"
                                                }
                                            ],
                                            "id": 15433,
                                            "name": "_sendLogPayload",
                                            "nodeType": "Identifier",
                                            "overloadedDeclarations": [],
                                            "referencedDeclaration": 12880,
                                            "src": "20165:15:62",
                                            "typeDescriptions": {
                                                "typeIdentifier": "t_function_internal_view$_t_bytes_memory_ptr_$returns$__$",
                                                "typeString": "function (bytes memory) view"
                                            }
                                        },
                                        "id": 15442,
                                        "isConstant": false,
                                        "isLValue": false,
                                        "isPure": false,
                                        "kind": "functionCall",
                                        "lValueRequested": false,
                                        "names": [],
                                        "nodeType": "FunctionCall",
                                        "src": "20165:88:62",
                                        "tryCall": false,
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_tuple$__$",
                                            "typeString": "tuple()"
                                        }
                                    },
                                    "id": 15443,
                                    "nodeType": "ExpressionStatement",
                                    "src": "20165:88:62"
                                }
                            ]
                        },
                        "id": 15445,
                        "implemented": true,
                        "kind": "function",
                        "modifiers": [],
                        "name": "log",
                        "nameLocation": "20089:3:62",
                        "nodeType": "FunctionDefinition",
                        "parameters": {
                            "id": 15431,
                            "nodeType": "ParameterList",
                            "parameters": [
                                {
                                    "constant": false,
                                    "id": 15424,
                                    "mutability": "mutable",
                                    "name": "p0",
                                    "nameLocation": "20098:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 15445,
                                    "src": "20093:7:62",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_uint256",
                                        "typeString": "uint256"
                                    },
                                    "typeName": {
                                        "id": 15423,
                                        "name": "uint",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "20093:4:62",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_uint256",
                                            "typeString": "uint256"
                                        }
                                    },
                                    "visibility": "internal"
                                },
                                {
                                    "constant": false,
                                    "id": 15426,
                                    "mutability": "mutable",
                                    "name": "p1",
                                    "nameLocation": "20116:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 15445,
                                    "src": "20102:16:62",
                                    "stateVariable": false,
                                    "storageLocation": "memory",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_string_memory_ptr",
                                        "typeString": "string"
                                    },
                                    "typeName": {
                                        "id": 15425,
                                        "name": "string",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "20102:6:62",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_string_storage_ptr",
                                            "typeString": "string"
                                        }
                                    },
                                    "visibility": "internal"
                                },
                                {
                                    "constant": false,
                                    "id": 15428,
                                    "mutability": "mutable",
                                    "name": "p2",
                                    "nameLocation": "20125:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 15445,
                                    "src": "20120:7:62",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_uint256",
                                        "typeString": "uint256"
                                    },
                                    "typeName": {
                                        "id": 15427,
                                        "name": "uint",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "20120:4:62",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_uint256",
                                            "typeString": "uint256"
                                        }
                                    },
                                    "visibility": "internal"
                                },
                                {
                                    "constant": false,
                                    "id": 15430,
                                    "mutability": "mutable",
                                    "name": "p3",
                                    "nameLocation": "20143:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 15445,
                                    "src": "20129:16:62",
                                    "stateVariable": false,
                                    "storageLocation": "memory",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_string_memory_ptr",
                                        "typeString": "string"
                                    },
                                    "typeName": {
                                        "id": 15429,
                                        "name": "string",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "20129:6:62",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_string_storage_ptr",
                                            "typeString": "string"
                                        }
                                    },
                                    "visibility": "internal"
                                }
                            ],
                            "src": "20092:54:62"
                        },
                        "returnParameters": {
                            "id": 15432,
                            "nodeType": "ParameterList",
                            "parameters": [],
                            "src": "20161:0:62"
                        },
                        "scope": 20920,
                        "src": "20080:177:62",
                        "stateMutability": "view",
                        "virtual": false,
                        "visibility": "internal"
                    },
                    {
                        "body": {
                            "id": 15467,
                            "nodeType": "Block",
                            "src": "20332:94:62",
                            "statements": [
                                {
                                    "expression": {
                                        "arguments": [
                                            {
                                                "arguments": [
                                                    {
                                                        "hexValue": "6c6f672875696e742c737472696e672c75696e742c626f6f6c29",
                                                        "id": 15459,
                                                        "isConstant": false,
                                                        "isLValue": false,
                                                        "isPure": true,
                                                        "kind": "string",
                                                        "lValueRequested": false,
                                                        "nodeType": "Literal",
                                                        "src": "20376:28:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_stringliteral_875a6e2ed2444d0d09e264b06717914212d8a793bea0f48b5633e707ac53784d",
                                                            "typeString": "literal_string \"log(uint,string,uint,bool)\""
                                                        },
                                                        "value": "log(uint,string,uint,bool)"
                                                    },
                                                    {
                                                        "id": 15460,
                                                        "name": "p0",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 15447,
                                                        "src": "20406:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_uint256",
                                                            "typeString": "uint256"
                                                        }
                                                    },
                                                    {
                                                        "id": 15461,
                                                        "name": "p1",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 15449,
                                                        "src": "20410:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_string_memory_ptr",
                                                            "typeString": "string memory"
                                                        }
                                                    },
                                                    {
                                                        "id": 15462,
                                                        "name": "p2",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 15451,
                                                        "src": "20414:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_uint256",
                                                            "typeString": "uint256"
                                                        }
                                                    },
                                                    {
                                                        "id": 15463,
                                                        "name": "p3",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 15453,
                                                        "src": "20418:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_bool",
                                                            "typeString": "bool"
                                                        }
                                                    }
                                                ],
                                                "expression": {
                                                    "argumentTypes": [
                                                        {
                                                            "typeIdentifier": "t_stringliteral_875a6e2ed2444d0d09e264b06717914212d8a793bea0f48b5633e707ac53784d",
                                                            "typeString": "literal_string \"log(uint,string,uint,bool)\""
                                                        },
                                                        {
                                                            "typeIdentifier": "t_uint256",
                                                            "typeString": "uint256"
                                                        },
                                                        {
                                                            "typeIdentifier": "t_string_memory_ptr",
                                                            "typeString": "string memory"
                                                        },
                                                        {
                                                            "typeIdentifier": "t_uint256",
                                                            "typeString": "uint256"
                                                        },
                                                        {
                                                            "typeIdentifier": "t_bool",
                                                            "typeString": "bool"
                                                        }
                                                    ],
                                                    "expression": {
                                                        "id": 15457,
                                                        "name": "abi",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 4294967295,
                                                        "src": "20352:3:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_magic_abi",
                                                            "typeString": "abi"
                                                        }
                                                    },
                                                    "id": 15458,
                                                    "isConstant": false,
                                                    "isLValue": false,
                                                    "isPure": true,
                                                    "lValueRequested": false,
                                                    "memberName": "encodeWithSignature",
                                                    "nodeType": "MemberAccess",
                                                    "src": "20352:23:62",
                                                    "typeDescriptions": {
                                                        "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$",
                                                        "typeString": "function (string memory) pure returns (bytes memory)"
                                                    }
                                                },
                                                "id": 15464,
                                                "isConstant": false,
                                                "isLValue": false,
                                                "isPure": false,
                                                "kind": "functionCall",
                                                "lValueRequested": false,
                                                "names": [],
                                                "nodeType": "FunctionCall",
                                                "src": "20352:69:62",
                                                "tryCall": false,
                                                "typeDescriptions": {
                                                    "typeIdentifier": "t_bytes_memory_ptr",
                                                    "typeString": "bytes memory"
                                                }
                                            }
                                        ],
                                        "expression": {
                                            "argumentTypes": [
                                                {
                                                    "typeIdentifier": "t_bytes_memory_ptr",
                                                    "typeString": "bytes memory"
                                                }
                                            ],
                                            "id": 15456,
                                            "name": "_sendLogPayload",
                                            "nodeType": "Identifier",
                                            "overloadedDeclarations": [],
                                            "referencedDeclaration": 12880,
                                            "src": "20336:15:62",
                                            "typeDescriptions": {
                                                "typeIdentifier": "t_function_internal_view$_t_bytes_memory_ptr_$returns$__$",
                                                "typeString": "function (bytes memory) view"
                                            }
                                        },
                                        "id": 15465,
                                        "isConstant": false,
                                        "isLValue": false,
                                        "isPure": false,
                                        "kind": "functionCall",
                                        "lValueRequested": false,
                                        "names": [],
                                        "nodeType": "FunctionCall",
                                        "src": "20336:86:62",
                                        "tryCall": false,
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_tuple$__$",
                                            "typeString": "tuple()"
                                        }
                                    },
                                    "id": 15466,
                                    "nodeType": "ExpressionStatement",
                                    "src": "20336:86:62"
                                }
                            ]
                        },
                        "id": 15468,
                        "implemented": true,
                        "kind": "function",
                        "modifiers": [],
                        "name": "log",
                        "nameLocation": "20269:3:62",
                        "nodeType": "FunctionDefinition",
                        "parameters": {
                            "id": 15454,
                            "nodeType": "ParameterList",
                            "parameters": [
                                {
                                    "constant": false,
                                    "id": 15447,
                                    "mutability": "mutable",
                                    "name": "p0",
                                    "nameLocation": "20278:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 15468,
                                    "src": "20273:7:62",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_uint256",
                                        "typeString": "uint256"
                                    },
                                    "typeName": {
                                        "id": 15446,
                                        "name": "uint",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "20273:4:62",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_uint256",
                                            "typeString": "uint256"
                                        }
                                    },
                                    "visibility": "internal"
                                },
                                {
                                    "constant": false,
                                    "id": 15449,
                                    "mutability": "mutable",
                                    "name": "p1",
                                    "nameLocation": "20296:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 15468,
                                    "src": "20282:16:62",
                                    "stateVariable": false,
                                    "storageLocation": "memory",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_string_memory_ptr",
                                        "typeString": "string"
                                    },
                                    "typeName": {
                                        "id": 15448,
                                        "name": "string",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "20282:6:62",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_string_storage_ptr",
                                            "typeString": "string"
                                        }
                                    },
                                    "visibility": "internal"
                                },
                                {
                                    "constant": false,
                                    "id": 15451,
                                    "mutability": "mutable",
                                    "name": "p2",
                                    "nameLocation": "20305:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 15468,
                                    "src": "20300:7:62",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_uint256",
                                        "typeString": "uint256"
                                    },
                                    "typeName": {
                                        "id": 15450,
                                        "name": "uint",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "20300:4:62",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_uint256",
                                            "typeString": "uint256"
                                        }
                                    },
                                    "visibility": "internal"
                                },
                                {
                                    "constant": false,
                                    "id": 15453,
                                    "mutability": "mutable",
                                    "name": "p3",
                                    "nameLocation": "20314:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 15468,
                                    "src": "20309:7:62",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_bool",
                                        "typeString": "bool"
                                    },
                                    "typeName": {
                                        "id": 15452,
                                        "name": "bool",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "20309:4:62",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_bool",
                                            "typeString": "bool"
                                        }
                                    },
                                    "visibility": "internal"
                                }
                            ],
                            "src": "20272:45:62"
                        },
                        "returnParameters": {
                            "id": 15455,
                            "nodeType": "ParameterList",
                            "parameters": [],
                            "src": "20332:0:62"
                        },
                        "scope": 20920,
                        "src": "20260:166:62",
                        "stateMutability": "view",
                        "virtual": false,
                        "visibility": "internal"
                    },
                    {
                        "body": {
                            "id": 15490,
                            "nodeType": "Block",
                            "src": "20504:97:62",
                            "statements": [
                                {
                                    "expression": {
                                        "arguments": [
                                            {
                                                "arguments": [
                                                    {
                                                        "hexValue": "6c6f672875696e742c737472696e672c75696e742c6164647265737329",
                                                        "id": 15482,
                                                        "isConstant": false,
                                                        "isLValue": false,
                                                        "isPure": true,
                                                        "kind": "string",
                                                        "lValueRequested": false,
                                                        "nodeType": "Literal",
                                                        "src": "20548:31:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_stringliteral_ab7bd9fd9b149127bbb235a3e1bec9a2e844f3968bdc1f48944c4b1973dacfda",
                                                            "typeString": "literal_string \"log(uint,string,uint,address)\""
                                                        },
                                                        "value": "log(uint,string,uint,address)"
                                                    },
                                                    {
                                                        "id": 15483,
                                                        "name": "p0",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 15470,
                                                        "src": "20581:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_uint256",
                                                            "typeString": "uint256"
                                                        }
                                                    },
                                                    {
                                                        "id": 15484,
                                                        "name": "p1",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 15472,
                                                        "src": "20585:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_string_memory_ptr",
                                                            "typeString": "string memory"
                                                        }
                                                    },
                                                    {
                                                        "id": 15485,
                                                        "name": "p2",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 15474,
                                                        "src": "20589:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_uint256",
                                                            "typeString": "uint256"
                                                        }
                                                    },
                                                    {
                                                        "id": 15486,
                                                        "name": "p3",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 15476,
                                                        "src": "20593:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_address",
                                                            "typeString": "address"
                                                        }
                                                    }
                                                ],
                                                "expression": {
                                                    "argumentTypes": [
                                                        {
                                                            "typeIdentifier": "t_stringliteral_ab7bd9fd9b149127bbb235a3e1bec9a2e844f3968bdc1f48944c4b1973dacfda",
                                                            "typeString": "literal_string \"log(uint,string,uint,address)\""
                                                        },
                                                        {
                                                            "typeIdentifier": "t_uint256",
                                                            "typeString": "uint256"
                                                        },
                                                        {
                                                            "typeIdentifier": "t_string_memory_ptr",
                                                            "typeString": "string memory"
                                                        },
                                                        {
                                                            "typeIdentifier": "t_uint256",
                                                            "typeString": "uint256"
                                                        },
                                                        {
                                                            "typeIdentifier": "t_address",
                                                            "typeString": "address"
                                                        }
                                                    ],
                                                    "expression": {
                                                        "id": 15480,
                                                        "name": "abi",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 4294967295,
                                                        "src": "20524:3:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_magic_abi",
                                                            "typeString": "abi"
                                                        }
                                                    },
                                                    "id": 15481,
                                                    "isConstant": false,
                                                    "isLValue": false,
                                                    "isPure": true,
                                                    "lValueRequested": false,
                                                    "memberName": "encodeWithSignature",
                                                    "nodeType": "MemberAccess",
                                                    "src": "20524:23:62",
                                                    "typeDescriptions": {
                                                        "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$",
                                                        "typeString": "function (string memory) pure returns (bytes memory)"
                                                    }
                                                },
                                                "id": 15487,
                                                "isConstant": false,
                                                "isLValue": false,
                                                "isPure": false,
                                                "kind": "functionCall",
                                                "lValueRequested": false,
                                                "names": [],
                                                "nodeType": "FunctionCall",
                                                "src": "20524:72:62",
                                                "tryCall": false,
                                                "typeDescriptions": {
                                                    "typeIdentifier": "t_bytes_memory_ptr",
                                                    "typeString": "bytes memory"
                                                }
                                            }
                                        ],
                                        "expression": {
                                            "argumentTypes": [
                                                {
                                                    "typeIdentifier": "t_bytes_memory_ptr",
                                                    "typeString": "bytes memory"
                                                }
                                            ],
                                            "id": 15479,
                                            "name": "_sendLogPayload",
                                            "nodeType": "Identifier",
                                            "overloadedDeclarations": [],
                                            "referencedDeclaration": 12880,
                                            "src": "20508:15:62",
                                            "typeDescriptions": {
                                                "typeIdentifier": "t_function_internal_view$_t_bytes_memory_ptr_$returns$__$",
                                                "typeString": "function (bytes memory) view"
                                            }
                                        },
                                        "id": 15488,
                                        "isConstant": false,
                                        "isLValue": false,
                                        "isPure": false,
                                        "kind": "functionCall",
                                        "lValueRequested": false,
                                        "names": [],
                                        "nodeType": "FunctionCall",
                                        "src": "20508:89:62",
                                        "tryCall": false,
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_tuple$__$",
                                            "typeString": "tuple()"
                                        }
                                    },
                                    "id": 15489,
                                    "nodeType": "ExpressionStatement",
                                    "src": "20508:89:62"
                                }
                            ]
                        },
                        "id": 15491,
                        "implemented": true,
                        "kind": "function",
                        "modifiers": [],
                        "name": "log",
                        "nameLocation": "20438:3:62",
                        "nodeType": "FunctionDefinition",
                        "parameters": {
                            "id": 15477,
                            "nodeType": "ParameterList",
                            "parameters": [
                                {
                                    "constant": false,
                                    "id": 15470,
                                    "mutability": "mutable",
                                    "name": "p0",
                                    "nameLocation": "20447:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 15491,
                                    "src": "20442:7:62",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_uint256",
                                        "typeString": "uint256"
                                    },
                                    "typeName": {
                                        "id": 15469,
                                        "name": "uint",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "20442:4:62",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_uint256",
                                            "typeString": "uint256"
                                        }
                                    },
                                    "visibility": "internal"
                                },
                                {
                                    "constant": false,
                                    "id": 15472,
                                    "mutability": "mutable",
                                    "name": "p1",
                                    "nameLocation": "20465:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 15491,
                                    "src": "20451:16:62",
                                    "stateVariable": false,
                                    "storageLocation": "memory",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_string_memory_ptr",
                                        "typeString": "string"
                                    },
                                    "typeName": {
                                        "id": 15471,
                                        "name": "string",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "20451:6:62",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_string_storage_ptr",
                                            "typeString": "string"
                                        }
                                    },
                                    "visibility": "internal"
                                },
                                {
                                    "constant": false,
                                    "id": 15474,
                                    "mutability": "mutable",
                                    "name": "p2",
                                    "nameLocation": "20474:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 15491,
                                    "src": "20469:7:62",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_uint256",
                                        "typeString": "uint256"
                                    },
                                    "typeName": {
                                        "id": 15473,
                                        "name": "uint",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "20469:4:62",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_uint256",
                                            "typeString": "uint256"
                                        }
                                    },
                                    "visibility": "internal"
                                },
                                {
                                    "constant": false,
                                    "id": 15476,
                                    "mutability": "mutable",
                                    "name": "p3",
                                    "nameLocation": "20486:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 15491,
                                    "src": "20478:10:62",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_address",
                                        "typeString": "address"
                                    },
                                    "typeName": {
                                        "id": 15475,
                                        "name": "address",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "20478:7:62",
                                        "stateMutability": "nonpayable",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_address",
                                            "typeString": "address"
                                        }
                                    },
                                    "visibility": "internal"
                                }
                            ],
                            "src": "20441:48:62"
                        },
                        "returnParameters": {
                            "id": 15478,
                            "nodeType": "ParameterList",
                            "parameters": [],
                            "src": "20504:0:62"
                        },
                        "scope": 20920,
                        "src": "20429:172:62",
                        "stateMutability": "view",
                        "virtual": false,
                        "visibility": "internal"
                    },
                    {
                        "body": {
                            "id": 15513,
                            "nodeType": "Block",
                            "src": "20685:96:62",
                            "statements": [
                                {
                                    "expression": {
                                        "arguments": [
                                            {
                                                "arguments": [
                                                    {
                                                        "hexValue": "6c6f672875696e742c737472696e672c737472696e672c75696e7429",
                                                        "id": 15505,
                                                        "isConstant": false,
                                                        "isLValue": false,
                                                        "isPure": true,
                                                        "kind": "string",
                                                        "lValueRequested": false,
                                                        "nodeType": "Literal",
                                                        "src": "20729:30:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_stringliteral_76ec635e4702367bf449b895743175fa2654af8170b6d9c20dd183616d0a192b",
                                                            "typeString": "literal_string \"log(uint,string,string,uint)\""
                                                        },
                                                        "value": "log(uint,string,string,uint)"
                                                    },
                                                    {
                                                        "id": 15506,
                                                        "name": "p0",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 15493,
                                                        "src": "20761:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_uint256",
                                                            "typeString": "uint256"
                                                        }
                                                    },
                                                    {
                                                        "id": 15507,
                                                        "name": "p1",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 15495,
                                                        "src": "20765:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_string_memory_ptr",
                                                            "typeString": "string memory"
                                                        }
                                                    },
                                                    {
                                                        "id": 15508,
                                                        "name": "p2",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 15497,
                                                        "src": "20769:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_string_memory_ptr",
                                                            "typeString": "string memory"
                                                        }
                                                    },
                                                    {
                                                        "id": 15509,
                                                        "name": "p3",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 15499,
                                                        "src": "20773:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_uint256",
                                                            "typeString": "uint256"
                                                        }
                                                    }
                                                ],
                                                "expression": {
                                                    "argumentTypes": [
                                                        {
                                                            "typeIdentifier": "t_stringliteral_76ec635e4702367bf449b895743175fa2654af8170b6d9c20dd183616d0a192b",
                                                            "typeString": "literal_string \"log(uint,string,string,uint)\""
                                                        },
                                                        {
                                                            "typeIdentifier": "t_uint256",
                                                            "typeString": "uint256"
                                                        },
                                                        {
                                                            "typeIdentifier": "t_string_memory_ptr",
                                                            "typeString": "string memory"
                                                        },
                                                        {
                                                            "typeIdentifier": "t_string_memory_ptr",
                                                            "typeString": "string memory"
                                                        },
                                                        {
                                                            "typeIdentifier": "t_uint256",
                                                            "typeString": "uint256"
                                                        }
                                                    ],
                                                    "expression": {
                                                        "id": 15503,
                                                        "name": "abi",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 4294967295,
                                                        "src": "20705:3:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_magic_abi",
                                                            "typeString": "abi"
                                                        }
                                                    },
                                                    "id": 15504,
                                                    "isConstant": false,
                                                    "isLValue": false,
                                                    "isPure": true,
                                                    "lValueRequested": false,
                                                    "memberName": "encodeWithSignature",
                                                    "nodeType": "MemberAccess",
                                                    "src": "20705:23:62",
                                                    "typeDescriptions": {
                                                        "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$",
                                                        "typeString": "function (string memory) pure returns (bytes memory)"
                                                    }
                                                },
                                                "id": 15510,
                                                "isConstant": false,
                                                "isLValue": false,
                                                "isPure": false,
                                                "kind": "functionCall",
                                                "lValueRequested": false,
                                                "names": [],
                                                "nodeType": "FunctionCall",
                                                "src": "20705:71:62",
                                                "tryCall": false,
                                                "typeDescriptions": {
                                                    "typeIdentifier": "t_bytes_memory_ptr",
                                                    "typeString": "bytes memory"
                                                }
                                            }
                                        ],
                                        "expression": {
                                            "argumentTypes": [
                                                {
                                                    "typeIdentifier": "t_bytes_memory_ptr",
                                                    "typeString": "bytes memory"
                                                }
                                            ],
                                            "id": 15502,
                                            "name": "_sendLogPayload",
                                            "nodeType": "Identifier",
                                            "overloadedDeclarations": [],
                                            "referencedDeclaration": 12880,
                                            "src": "20689:15:62",
                                            "typeDescriptions": {
                                                "typeIdentifier": "t_function_internal_view$_t_bytes_memory_ptr_$returns$__$",
                                                "typeString": "function (bytes memory) view"
                                            }
                                        },
                                        "id": 15511,
                                        "isConstant": false,
                                        "isLValue": false,
                                        "isPure": false,
                                        "kind": "functionCall",
                                        "lValueRequested": false,
                                        "names": [],
                                        "nodeType": "FunctionCall",
                                        "src": "20689:88:62",
                                        "tryCall": false,
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_tuple$__$",
                                            "typeString": "tuple()"
                                        }
                                    },
                                    "id": 15512,
                                    "nodeType": "ExpressionStatement",
                                    "src": "20689:88:62"
                                }
                            ]
                        },
                        "id": 15514,
                        "implemented": true,
                        "kind": "function",
                        "modifiers": [],
                        "name": "log",
                        "nameLocation": "20613:3:62",
                        "nodeType": "FunctionDefinition",
                        "parameters": {
                            "id": 15500,
                            "nodeType": "ParameterList",
                            "parameters": [
                                {
                                    "constant": false,
                                    "id": 15493,
                                    "mutability": "mutable",
                                    "name": "p0",
                                    "nameLocation": "20622:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 15514,
                                    "src": "20617:7:62",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_uint256",
                                        "typeString": "uint256"
                                    },
                                    "typeName": {
                                        "id": 15492,
                                        "name": "uint",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "20617:4:62",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_uint256",
                                            "typeString": "uint256"
                                        }
                                    },
                                    "visibility": "internal"
                                },
                                {
                                    "constant": false,
                                    "id": 15495,
                                    "mutability": "mutable",
                                    "name": "p1",
                                    "nameLocation": "20640:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 15514,
                                    "src": "20626:16:62",
                                    "stateVariable": false,
                                    "storageLocation": "memory",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_string_memory_ptr",
                                        "typeString": "string"
                                    },
                                    "typeName": {
                                        "id": 15494,
                                        "name": "string",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "20626:6:62",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_string_storage_ptr",
                                            "typeString": "string"
                                        }
                                    },
                                    "visibility": "internal"
                                },
                                {
                                    "constant": false,
                                    "id": 15497,
                                    "mutability": "mutable",
                                    "name": "p2",
                                    "nameLocation": "20658:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 15514,
                                    "src": "20644:16:62",
                                    "stateVariable": false,
                                    "storageLocation": "memory",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_string_memory_ptr",
                                        "typeString": "string"
                                    },
                                    "typeName": {
                                        "id": 15496,
                                        "name": "string",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "20644:6:62",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_string_storage_ptr",
                                            "typeString": "string"
                                        }
                                    },
                                    "visibility": "internal"
                                },
                                {
                                    "constant": false,
                                    "id": 15499,
                                    "mutability": "mutable",
                                    "name": "p3",
                                    "nameLocation": "20667:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 15514,
                                    "src": "20662:7:62",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_uint256",
                                        "typeString": "uint256"
                                    },
                                    "typeName": {
                                        "id": 15498,
                                        "name": "uint",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "20662:4:62",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_uint256",
                                            "typeString": "uint256"
                                        }
                                    },
                                    "visibility": "internal"
                                }
                            ],
                            "src": "20616:54:62"
                        },
                        "returnParameters": {
                            "id": 15501,
                            "nodeType": "ParameterList",
                            "parameters": [],
                            "src": "20685:0:62"
                        },
                        "scope": 20920,
                        "src": "20604:177:62",
                        "stateMutability": "view",
                        "virtual": false,
                        "visibility": "internal"
                    },
                    {
                        "body": {
                            "id": 15536,
                            "nodeType": "Block",
                            "src": "20874:98:62",
                            "statements": [
                                {
                                    "expression": {
                                        "arguments": [
                                            {
                                                "arguments": [
                                                    {
                                                        "hexValue": "6c6f672875696e742c737472696e672c737472696e672c737472696e6729",
                                                        "id": 15528,
                                                        "isConstant": false,
                                                        "isLValue": false,
                                                        "isPure": true,
                                                        "kind": "string",
                                                        "lValueRequested": false,
                                                        "nodeType": "Literal",
                                                        "src": "20918:32:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_stringliteral_57dd0a119927787a0c91b48333e191a1b3a4082dcb6efc912e2ba5b047e15156",
                                                            "typeString": "literal_string \"log(uint,string,string,string)\""
                                                        },
                                                        "value": "log(uint,string,string,string)"
                                                    },
                                                    {
                                                        "id": 15529,
                                                        "name": "p0",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 15516,
                                                        "src": "20952:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_uint256",
                                                            "typeString": "uint256"
                                                        }
                                                    },
                                                    {
                                                        "id": 15530,
                                                        "name": "p1",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 15518,
                                                        "src": "20956:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_string_memory_ptr",
                                                            "typeString": "string memory"
                                                        }
                                                    },
                                                    {
                                                        "id": 15531,
                                                        "name": "p2",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 15520,
                                                        "src": "20960:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_string_memory_ptr",
                                                            "typeString": "string memory"
                                                        }
                                                    },
                                                    {
                                                        "id": 15532,
                                                        "name": "p3",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 15522,
                                                        "src": "20964:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_string_memory_ptr",
                                                            "typeString": "string memory"
                                                        }
                                                    }
                                                ],
                                                "expression": {
                                                    "argumentTypes": [
                                                        {
                                                            "typeIdentifier": "t_stringliteral_57dd0a119927787a0c91b48333e191a1b3a4082dcb6efc912e2ba5b047e15156",
                                                            "typeString": "literal_string \"log(uint,string,string,string)\""
                                                        },
                                                        {
                                                            "typeIdentifier": "t_uint256",
                                                            "typeString": "uint256"
                                                        },
                                                        {
                                                            "typeIdentifier": "t_string_memory_ptr",
                                                            "typeString": "string memory"
                                                        },
                                                        {
                                                            "typeIdentifier": "t_string_memory_ptr",
                                                            "typeString": "string memory"
                                                        },
                                                        {
                                                            "typeIdentifier": "t_string_memory_ptr",
                                                            "typeString": "string memory"
                                                        }
                                                    ],
                                                    "expression": {
                                                        "id": 15526,
                                                        "name": "abi",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 4294967295,
                                                        "src": "20894:3:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_magic_abi",
                                                            "typeString": "abi"
                                                        }
                                                    },
                                                    "id": 15527,
                                                    "isConstant": false,
                                                    "isLValue": false,
                                                    "isPure": true,
                                                    "lValueRequested": false,
                                                    "memberName": "encodeWithSignature",
                                                    "nodeType": "MemberAccess",
                                                    "src": "20894:23:62",
                                                    "typeDescriptions": {
                                                        "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$",
                                                        "typeString": "function (string memory) pure returns (bytes memory)"
                                                    }
                                                },
                                                "id": 15533,
                                                "isConstant": false,
                                                "isLValue": false,
                                                "isPure": false,
                                                "kind": "functionCall",
                                                "lValueRequested": false,
                                                "names": [],
                                                "nodeType": "FunctionCall",
                                                "src": "20894:73:62",
                                                "tryCall": false,
                                                "typeDescriptions": {
                                                    "typeIdentifier": "t_bytes_memory_ptr",
                                                    "typeString": "bytes memory"
                                                }
                                            }
                                        ],
                                        "expression": {
                                            "argumentTypes": [
                                                {
                                                    "typeIdentifier": "t_bytes_memory_ptr",
                                                    "typeString": "bytes memory"
                                                }
                                            ],
                                            "id": 15525,
                                            "name": "_sendLogPayload",
                                            "nodeType": "Identifier",
                                            "overloadedDeclarations": [],
                                            "referencedDeclaration": 12880,
                                            "src": "20878:15:62",
                                            "typeDescriptions": {
                                                "typeIdentifier": "t_function_internal_view$_t_bytes_memory_ptr_$returns$__$",
                                                "typeString": "function (bytes memory) view"
                                            }
                                        },
                                        "id": 15534,
                                        "isConstant": false,
                                        "isLValue": false,
                                        "isPure": false,
                                        "kind": "functionCall",
                                        "lValueRequested": false,
                                        "names": [],
                                        "nodeType": "FunctionCall",
                                        "src": "20878:90:62",
                                        "tryCall": false,
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_tuple$__$",
                                            "typeString": "tuple()"
                                        }
                                    },
                                    "id": 15535,
                                    "nodeType": "ExpressionStatement",
                                    "src": "20878:90:62"
                                }
                            ]
                        },
                        "id": 15537,
                        "implemented": true,
                        "kind": "function",
                        "modifiers": [],
                        "name": "log",
                        "nameLocation": "20793:3:62",
                        "nodeType": "FunctionDefinition",
                        "parameters": {
                            "id": 15523,
                            "nodeType": "ParameterList",
                            "parameters": [
                                {
                                    "constant": false,
                                    "id": 15516,
                                    "mutability": "mutable",
                                    "name": "p0",
                                    "nameLocation": "20802:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 15537,
                                    "src": "20797:7:62",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_uint256",
                                        "typeString": "uint256"
                                    },
                                    "typeName": {
                                        "id": 15515,
                                        "name": "uint",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "20797:4:62",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_uint256",
                                            "typeString": "uint256"
                                        }
                                    },
                                    "visibility": "internal"
                                },
                                {
                                    "constant": false,
                                    "id": 15518,
                                    "mutability": "mutable",
                                    "name": "p1",
                                    "nameLocation": "20820:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 15537,
                                    "src": "20806:16:62",
                                    "stateVariable": false,
                                    "storageLocation": "memory",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_string_memory_ptr",
                                        "typeString": "string"
                                    },
                                    "typeName": {
                                        "id": 15517,
                                        "name": "string",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "20806:6:62",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_string_storage_ptr",
                                            "typeString": "string"
                                        }
                                    },
                                    "visibility": "internal"
                                },
                                {
                                    "constant": false,
                                    "id": 15520,
                                    "mutability": "mutable",
                                    "name": "p2",
                                    "nameLocation": "20838:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 15537,
                                    "src": "20824:16:62",
                                    "stateVariable": false,
                                    "storageLocation": "memory",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_string_memory_ptr",
                                        "typeString": "string"
                                    },
                                    "typeName": {
                                        "id": 15519,
                                        "name": "string",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "20824:6:62",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_string_storage_ptr",
                                            "typeString": "string"
                                        }
                                    },
                                    "visibility": "internal"
                                },
                                {
                                    "constant": false,
                                    "id": 15522,
                                    "mutability": "mutable",
                                    "name": "p3",
                                    "nameLocation": "20856:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 15537,
                                    "src": "20842:16:62",
                                    "stateVariable": false,
                                    "storageLocation": "memory",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_string_memory_ptr",
                                        "typeString": "string"
                                    },
                                    "typeName": {
                                        "id": 15521,
                                        "name": "string",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "20842:6:62",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_string_storage_ptr",
                                            "typeString": "string"
                                        }
                                    },
                                    "visibility": "internal"
                                }
                            ],
                            "src": "20796:63:62"
                        },
                        "returnParameters": {
                            "id": 15524,
                            "nodeType": "ParameterList",
                            "parameters": [],
                            "src": "20874:0:62"
                        },
                        "scope": 20920,
                        "src": "20784:188:62",
                        "stateMutability": "view",
                        "virtual": false,
                        "visibility": "internal"
                    },
                    {
                        "body": {
                            "id": 15559,
                            "nodeType": "Block",
                            "src": "21056:96:62",
                            "statements": [
                                {
                                    "expression": {
                                        "arguments": [
                                            {
                                                "arguments": [
                                                    {
                                                        "hexValue": "6c6f672875696e742c737472696e672c737472696e672c626f6f6c29",
                                                        "id": 15551,
                                                        "isConstant": false,
                                                        "isLValue": false,
                                                        "isPure": true,
                                                        "kind": "string",
                                                        "lValueRequested": false,
                                                        "nodeType": "Literal",
                                                        "src": "21100:30:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_stringliteral_12862b98fdb7950b0e6908443bc9d7894b44d5616424da5cdb6206a848affcbc",
                                                            "typeString": "literal_string \"log(uint,string,string,bool)\""
                                                        },
                                                        "value": "log(uint,string,string,bool)"
                                                    },
                                                    {
                                                        "id": 15552,
                                                        "name": "p0",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 15539,
                                                        "src": "21132:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_uint256",
                                                            "typeString": "uint256"
                                                        }
                                                    },
                                                    {
                                                        "id": 15553,
                                                        "name": "p1",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 15541,
                                                        "src": "21136:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_string_memory_ptr",
                                                            "typeString": "string memory"
                                                        }
                                                    },
                                                    {
                                                        "id": 15554,
                                                        "name": "p2",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 15543,
                                                        "src": "21140:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_string_memory_ptr",
                                                            "typeString": "string memory"
                                                        }
                                                    },
                                                    {
                                                        "id": 15555,
                                                        "name": "p3",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 15545,
                                                        "src": "21144:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_bool",
                                                            "typeString": "bool"
                                                        }
                                                    }
                                                ],
                                                "expression": {
                                                    "argumentTypes": [
                                                        {
                                                            "typeIdentifier": "t_stringliteral_12862b98fdb7950b0e6908443bc9d7894b44d5616424da5cdb6206a848affcbc",
                                                            "typeString": "literal_string \"log(uint,string,string,bool)\""
                                                        },
                                                        {
                                                            "typeIdentifier": "t_uint256",
                                                            "typeString": "uint256"
                                                        },
                                                        {
                                                            "typeIdentifier": "t_string_memory_ptr",
                                                            "typeString": "string memory"
                                                        },
                                                        {
                                                            "typeIdentifier": "t_string_memory_ptr",
                                                            "typeString": "string memory"
                                                        },
                                                        {
                                                            "typeIdentifier": "t_bool",
                                                            "typeString": "bool"
                                                        }
                                                    ],
                                                    "expression": {
                                                        "id": 15549,
                                                        "name": "abi",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 4294967295,
                                                        "src": "21076:3:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_magic_abi",
                                                            "typeString": "abi"
                                                        }
                                                    },
                                                    "id": 15550,
                                                    "isConstant": false,
                                                    "isLValue": false,
                                                    "isPure": true,
                                                    "lValueRequested": false,
                                                    "memberName": "encodeWithSignature",
                                                    "nodeType": "MemberAccess",
                                                    "src": "21076:23:62",
                                                    "typeDescriptions": {
                                                        "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$",
                                                        "typeString": "function (string memory) pure returns (bytes memory)"
                                                    }
                                                },
                                                "id": 15556,
                                                "isConstant": false,
                                                "isLValue": false,
                                                "isPure": false,
                                                "kind": "functionCall",
                                                "lValueRequested": false,
                                                "names": [],
                                                "nodeType": "FunctionCall",
                                                "src": "21076:71:62",
                                                "tryCall": false,
                                                "typeDescriptions": {
                                                    "typeIdentifier": "t_bytes_memory_ptr",
                                                    "typeString": "bytes memory"
                                                }
                                            }
                                        ],
                                        "expression": {
                                            "argumentTypes": [
                                                {
                                                    "typeIdentifier": "t_bytes_memory_ptr",
                                                    "typeString": "bytes memory"
                                                }
                                            ],
                                            "id": 15548,
                                            "name": "_sendLogPayload",
                                            "nodeType": "Identifier",
                                            "overloadedDeclarations": [],
                                            "referencedDeclaration": 12880,
                                            "src": "21060:15:62",
                                            "typeDescriptions": {
                                                "typeIdentifier": "t_function_internal_view$_t_bytes_memory_ptr_$returns$__$",
                                                "typeString": "function (bytes memory) view"
                                            }
                                        },
                                        "id": 15557,
                                        "isConstant": false,
                                        "isLValue": false,
                                        "isPure": false,
                                        "kind": "functionCall",
                                        "lValueRequested": false,
                                        "names": [],
                                        "nodeType": "FunctionCall",
                                        "src": "21060:88:62",
                                        "tryCall": false,
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_tuple$__$",
                                            "typeString": "tuple()"
                                        }
                                    },
                                    "id": 15558,
                                    "nodeType": "ExpressionStatement",
                                    "src": "21060:88:62"
                                }
                            ]
                        },
                        "id": 15560,
                        "implemented": true,
                        "kind": "function",
                        "modifiers": [],
                        "name": "log",
                        "nameLocation": "20984:3:62",
                        "nodeType": "FunctionDefinition",
                        "parameters": {
                            "id": 15546,
                            "nodeType": "ParameterList",
                            "parameters": [
                                {
                                    "constant": false,
                                    "id": 15539,
                                    "mutability": "mutable",
                                    "name": "p0",
                                    "nameLocation": "20993:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 15560,
                                    "src": "20988:7:62",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_uint256",
                                        "typeString": "uint256"
                                    },
                                    "typeName": {
                                        "id": 15538,
                                        "name": "uint",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "20988:4:62",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_uint256",
                                            "typeString": "uint256"
                                        }
                                    },
                                    "visibility": "internal"
                                },
                                {
                                    "constant": false,
                                    "id": 15541,
                                    "mutability": "mutable",
                                    "name": "p1",
                                    "nameLocation": "21011:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 15560,
                                    "src": "20997:16:62",
                                    "stateVariable": false,
                                    "storageLocation": "memory",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_string_memory_ptr",
                                        "typeString": "string"
                                    },
                                    "typeName": {
                                        "id": 15540,
                                        "name": "string",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "20997:6:62",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_string_storage_ptr",
                                            "typeString": "string"
                                        }
                                    },
                                    "visibility": "internal"
                                },
                                {
                                    "constant": false,
                                    "id": 15543,
                                    "mutability": "mutable",
                                    "name": "p2",
                                    "nameLocation": "21029:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 15560,
                                    "src": "21015:16:62",
                                    "stateVariable": false,
                                    "storageLocation": "memory",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_string_memory_ptr",
                                        "typeString": "string"
                                    },
                                    "typeName": {
                                        "id": 15542,
                                        "name": "string",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "21015:6:62",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_string_storage_ptr",
                                            "typeString": "string"
                                        }
                                    },
                                    "visibility": "internal"
                                },
                                {
                                    "constant": false,
                                    "id": 15545,
                                    "mutability": "mutable",
                                    "name": "p3",
                                    "nameLocation": "21038:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 15560,
                                    "src": "21033:7:62",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_bool",
                                        "typeString": "bool"
                                    },
                                    "typeName": {
                                        "id": 15544,
                                        "name": "bool",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "21033:4:62",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_bool",
                                            "typeString": "bool"
                                        }
                                    },
                                    "visibility": "internal"
                                }
                            ],
                            "src": "20987:54:62"
                        },
                        "returnParameters": {
                            "id": 15547,
                            "nodeType": "ParameterList",
                            "parameters": [],
                            "src": "21056:0:62"
                        },
                        "scope": 20920,
                        "src": "20975:177:62",
                        "stateMutability": "view",
                        "virtual": false,
                        "visibility": "internal"
                    },
                    {
                        "body": {
                            "id": 15582,
                            "nodeType": "Block",
                            "src": "21239:99:62",
                            "statements": [
                                {
                                    "expression": {
                                        "arguments": [
                                            {
                                                "arguments": [
                                                    {
                                                        "hexValue": "6c6f672875696e742c737472696e672c737472696e672c6164647265737329",
                                                        "id": 15574,
                                                        "isConstant": false,
                                                        "isLValue": false,
                                                        "isPure": true,
                                                        "kind": "string",
                                                        "lValueRequested": false,
                                                        "nodeType": "Literal",
                                                        "src": "21283:33:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_stringliteral_cc988aa0514d1ed8be70a6bf2bdff4972e3f3420811b4adbd40f9b75b873fded",
                                                            "typeString": "literal_string \"log(uint,string,string,address)\""
                                                        },
                                                        "value": "log(uint,string,string,address)"
                                                    },
                                                    {
                                                        "id": 15575,
                                                        "name": "p0",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 15562,
                                                        "src": "21318:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_uint256",
                                                            "typeString": "uint256"
                                                        }
                                                    },
                                                    {
                                                        "id": 15576,
                                                        "name": "p1",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 15564,
                                                        "src": "21322:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_string_memory_ptr",
                                                            "typeString": "string memory"
                                                        }
                                                    },
                                                    {
                                                        "id": 15577,
                                                        "name": "p2",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 15566,
                                                        "src": "21326:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_string_memory_ptr",
                                                            "typeString": "string memory"
                                                        }
                                                    },
                                                    {
                                                        "id": 15578,
                                                        "name": "p3",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 15568,
                                                        "src": "21330:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_address",
                                                            "typeString": "address"
                                                        }
                                                    }
                                                ],
                                                "expression": {
                                                    "argumentTypes": [
                                                        {
                                                            "typeIdentifier": "t_stringliteral_cc988aa0514d1ed8be70a6bf2bdff4972e3f3420811b4adbd40f9b75b873fded",
                                                            "typeString": "literal_string \"log(uint,string,string,address)\""
                                                        },
                                                        {
                                                            "typeIdentifier": "t_uint256",
                                                            "typeString": "uint256"
                                                        },
                                                        {
                                                            "typeIdentifier": "t_string_memory_ptr",
                                                            "typeString": "string memory"
                                                        },
                                                        {
                                                            "typeIdentifier": "t_string_memory_ptr",
                                                            "typeString": "string memory"
                                                        },
                                                        {
                                                            "typeIdentifier": "t_address",
                                                            "typeString": "address"
                                                        }
                                                    ],
                                                    "expression": {
                                                        "id": 15572,
                                                        "name": "abi",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 4294967295,
                                                        "src": "21259:3:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_magic_abi",
                                                            "typeString": "abi"
                                                        }
                                                    },
                                                    "id": 15573,
                                                    "isConstant": false,
                                                    "isLValue": false,
                                                    "isPure": true,
                                                    "lValueRequested": false,
                                                    "memberName": "encodeWithSignature",
                                                    "nodeType": "MemberAccess",
                                                    "src": "21259:23:62",
                                                    "typeDescriptions": {
                                                        "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$",
                                                        "typeString": "function (string memory) pure returns (bytes memory)"
                                                    }
                                                },
                                                "id": 15579,
                                                "isConstant": false,
                                                "isLValue": false,
                                                "isPure": false,
                                                "kind": "functionCall",
                                                "lValueRequested": false,
                                                "names": [],
                                                "nodeType": "FunctionCall",
                                                "src": "21259:74:62",
                                                "tryCall": false,
                                                "typeDescriptions": {
                                                    "typeIdentifier": "t_bytes_memory_ptr",
                                                    "typeString": "bytes memory"
                                                }
                                            }
                                        ],
                                        "expression": {
                                            "argumentTypes": [
                                                {
                                                    "typeIdentifier": "t_bytes_memory_ptr",
                                                    "typeString": "bytes memory"
                                                }
                                            ],
                                            "id": 15571,
                                            "name": "_sendLogPayload",
                                            "nodeType": "Identifier",
                                            "overloadedDeclarations": [],
                                            "referencedDeclaration": 12880,
                                            "src": "21243:15:62",
                                            "typeDescriptions": {
                                                "typeIdentifier": "t_function_internal_view$_t_bytes_memory_ptr_$returns$__$",
                                                "typeString": "function (bytes memory) view"
                                            }
                                        },
                                        "id": 15580,
                                        "isConstant": false,
                                        "isLValue": false,
                                        "isPure": false,
                                        "kind": "functionCall",
                                        "lValueRequested": false,
                                        "names": [],
                                        "nodeType": "FunctionCall",
                                        "src": "21243:91:62",
                                        "tryCall": false,
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_tuple$__$",
                                            "typeString": "tuple()"
                                        }
                                    },
                                    "id": 15581,
                                    "nodeType": "ExpressionStatement",
                                    "src": "21243:91:62"
                                }
                            ]
                        },
                        "id": 15583,
                        "implemented": true,
                        "kind": "function",
                        "modifiers": [],
                        "name": "log",
                        "nameLocation": "21164:3:62",
                        "nodeType": "FunctionDefinition",
                        "parameters": {
                            "id": 15569,
                            "nodeType": "ParameterList",
                            "parameters": [
                                {
                                    "constant": false,
                                    "id": 15562,
                                    "mutability": "mutable",
                                    "name": "p0",
                                    "nameLocation": "21173:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 15583,
                                    "src": "21168:7:62",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_uint256",
                                        "typeString": "uint256"
                                    },
                                    "typeName": {
                                        "id": 15561,
                                        "name": "uint",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "21168:4:62",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_uint256",
                                            "typeString": "uint256"
                                        }
                                    },
                                    "visibility": "internal"
                                },
                                {
                                    "constant": false,
                                    "id": 15564,
                                    "mutability": "mutable",
                                    "name": "p1",
                                    "nameLocation": "21191:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 15583,
                                    "src": "21177:16:62",
                                    "stateVariable": false,
                                    "storageLocation": "memory",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_string_memory_ptr",
                                        "typeString": "string"
                                    },
                                    "typeName": {
                                        "id": 15563,
                                        "name": "string",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "21177:6:62",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_string_storage_ptr",
                                            "typeString": "string"
                                        }
                                    },
                                    "visibility": "internal"
                                },
                                {
                                    "constant": false,
                                    "id": 15566,
                                    "mutability": "mutable",
                                    "name": "p2",
                                    "nameLocation": "21209:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 15583,
                                    "src": "21195:16:62",
                                    "stateVariable": false,
                                    "storageLocation": "memory",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_string_memory_ptr",
                                        "typeString": "string"
                                    },
                                    "typeName": {
                                        "id": 15565,
                                        "name": "string",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "21195:6:62",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_string_storage_ptr",
                                            "typeString": "string"
                                        }
                                    },
                                    "visibility": "internal"
                                },
                                {
                                    "constant": false,
                                    "id": 15568,
                                    "mutability": "mutable",
                                    "name": "p3",
                                    "nameLocation": "21221:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 15583,
                                    "src": "21213:10:62",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_address",
                                        "typeString": "address"
                                    },
                                    "typeName": {
                                        "id": 15567,
                                        "name": "address",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "21213:7:62",
                                        "stateMutability": "nonpayable",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_address",
                                            "typeString": "address"
                                        }
                                    },
                                    "visibility": "internal"
                                }
                            ],
                            "src": "21167:57:62"
                        },
                        "returnParameters": {
                            "id": 15570,
                            "nodeType": "ParameterList",
                            "parameters": [],
                            "src": "21239:0:62"
                        },
                        "scope": 20920,
                        "src": "21155:183:62",
                        "stateMutability": "view",
                        "virtual": false,
                        "visibility": "internal"
                    },
                    {
                        "body": {
                            "id": 15605,
                            "nodeType": "Block",
                            "src": "21413:94:62",
                            "statements": [
                                {
                                    "expression": {
                                        "arguments": [
                                            {
                                                "arguments": [
                                                    {
                                                        "hexValue": "6c6f672875696e742c737472696e672c626f6f6c2c75696e7429",
                                                        "id": 15597,
                                                        "isConstant": false,
                                                        "isLValue": false,
                                                        "isPure": true,
                                                        "kind": "string",
                                                        "lValueRequested": false,
                                                        "nodeType": "Literal",
                                                        "src": "21457:28:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_stringliteral_a4b48a7f4bdefee99950b35e5da7ba9724c3954e445cc3077000bce7a4265081",
                                                            "typeString": "literal_string \"log(uint,string,bool,uint)\""
                                                        },
                                                        "value": "log(uint,string,bool,uint)"
                                                    },
                                                    {
                                                        "id": 15598,
                                                        "name": "p0",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 15585,
                                                        "src": "21487:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_uint256",
                                                            "typeString": "uint256"
                                                        }
                                                    },
                                                    {
                                                        "id": 15599,
                                                        "name": "p1",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 15587,
                                                        "src": "21491:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_string_memory_ptr",
                                                            "typeString": "string memory"
                                                        }
                                                    },
                                                    {
                                                        "id": 15600,
                                                        "name": "p2",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 15589,
                                                        "src": "21495:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_bool",
                                                            "typeString": "bool"
                                                        }
                                                    },
                                                    {
                                                        "id": 15601,
                                                        "name": "p3",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 15591,
                                                        "src": "21499:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_uint256",
                                                            "typeString": "uint256"
                                                        }
                                                    }
                                                ],
                                                "expression": {
                                                    "argumentTypes": [
                                                        {
                                                            "typeIdentifier": "t_stringliteral_a4b48a7f4bdefee99950b35e5da7ba9724c3954e445cc3077000bce7a4265081",
                                                            "typeString": "literal_string \"log(uint,string,bool,uint)\""
                                                        },
                                                        {
                                                            "typeIdentifier": "t_uint256",
                                                            "typeString": "uint256"
                                                        },
                                                        {
                                                            "typeIdentifier": "t_string_memory_ptr",
                                                            "typeString": "string memory"
                                                        },
                                                        {
                                                            "typeIdentifier": "t_bool",
                                                            "typeString": "bool"
                                                        },
                                                        {
                                                            "typeIdentifier": "t_uint256",
                                                            "typeString": "uint256"
                                                        }
                                                    ],
                                                    "expression": {
                                                        "id": 15595,
                                                        "name": "abi",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 4294967295,
                                                        "src": "21433:3:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_magic_abi",
                                                            "typeString": "abi"
                                                        }
                                                    },
                                                    "id": 15596,
                                                    "isConstant": false,
                                                    "isLValue": false,
                                                    "isPure": true,
                                                    "lValueRequested": false,
                                                    "memberName": "encodeWithSignature",
                                                    "nodeType": "MemberAccess",
                                                    "src": "21433:23:62",
                                                    "typeDescriptions": {
                                                        "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$",
                                                        "typeString": "function (string memory) pure returns (bytes memory)"
                                                    }
                                                },
                                                "id": 15602,
                                                "isConstant": false,
                                                "isLValue": false,
                                                "isPure": false,
                                                "kind": "functionCall",
                                                "lValueRequested": false,
                                                "names": [],
                                                "nodeType": "FunctionCall",
                                                "src": "21433:69:62",
                                                "tryCall": false,
                                                "typeDescriptions": {
                                                    "typeIdentifier": "t_bytes_memory_ptr",
                                                    "typeString": "bytes memory"
                                                }
                                            }
                                        ],
                                        "expression": {
                                            "argumentTypes": [
                                                {
                                                    "typeIdentifier": "t_bytes_memory_ptr",
                                                    "typeString": "bytes memory"
                                                }
                                            ],
                                            "id": 15594,
                                            "name": "_sendLogPayload",
                                            "nodeType": "Identifier",
                                            "overloadedDeclarations": [],
                                            "referencedDeclaration": 12880,
                                            "src": "21417:15:62",
                                            "typeDescriptions": {
                                                "typeIdentifier": "t_function_internal_view$_t_bytes_memory_ptr_$returns$__$",
                                                "typeString": "function (bytes memory) view"
                                            }
                                        },
                                        "id": 15603,
                                        "isConstant": false,
                                        "isLValue": false,
                                        "isPure": false,
                                        "kind": "functionCall",
                                        "lValueRequested": false,
                                        "names": [],
                                        "nodeType": "FunctionCall",
                                        "src": "21417:86:62",
                                        "tryCall": false,
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_tuple$__$",
                                            "typeString": "tuple()"
                                        }
                                    },
                                    "id": 15604,
                                    "nodeType": "ExpressionStatement",
                                    "src": "21417:86:62"
                                }
                            ]
                        },
                        "id": 15606,
                        "implemented": true,
                        "kind": "function",
                        "modifiers": [],
                        "name": "log",
                        "nameLocation": "21350:3:62",
                        "nodeType": "FunctionDefinition",
                        "parameters": {
                            "id": 15592,
                            "nodeType": "ParameterList",
                            "parameters": [
                                {
                                    "constant": false,
                                    "id": 15585,
                                    "mutability": "mutable",
                                    "name": "p0",
                                    "nameLocation": "21359:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 15606,
                                    "src": "21354:7:62",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_uint256",
                                        "typeString": "uint256"
                                    },
                                    "typeName": {
                                        "id": 15584,
                                        "name": "uint",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "21354:4:62",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_uint256",
                                            "typeString": "uint256"
                                        }
                                    },
                                    "visibility": "internal"
                                },
                                {
                                    "constant": false,
                                    "id": 15587,
                                    "mutability": "mutable",
                                    "name": "p1",
                                    "nameLocation": "21377:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 15606,
                                    "src": "21363:16:62",
                                    "stateVariable": false,
                                    "storageLocation": "memory",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_string_memory_ptr",
                                        "typeString": "string"
                                    },
                                    "typeName": {
                                        "id": 15586,
                                        "name": "string",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "21363:6:62",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_string_storage_ptr",
                                            "typeString": "string"
                                        }
                                    },
                                    "visibility": "internal"
                                },
                                {
                                    "constant": false,
                                    "id": 15589,
                                    "mutability": "mutable",
                                    "name": "p2",
                                    "nameLocation": "21386:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 15606,
                                    "src": "21381:7:62",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_bool",
                                        "typeString": "bool"
                                    },
                                    "typeName": {
                                        "id": 15588,
                                        "name": "bool",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "21381:4:62",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_bool",
                                            "typeString": "bool"
                                        }
                                    },
                                    "visibility": "internal"
                                },
                                {
                                    "constant": false,
                                    "id": 15591,
                                    "mutability": "mutable",
                                    "name": "p3",
                                    "nameLocation": "21395:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 15606,
                                    "src": "21390:7:62",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_uint256",
                                        "typeString": "uint256"
                                    },
                                    "typeName": {
                                        "id": 15590,
                                        "name": "uint",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "21390:4:62",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_uint256",
                                            "typeString": "uint256"
                                        }
                                    },
                                    "visibility": "internal"
                                }
                            ],
                            "src": "21353:45:62"
                        },
                        "returnParameters": {
                            "id": 15593,
                            "nodeType": "ParameterList",
                            "parameters": [],
                            "src": "21413:0:62"
                        },
                        "scope": 20920,
                        "src": "21341:166:62",
                        "stateMutability": "view",
                        "virtual": false,
                        "visibility": "internal"
                    },
                    {
                        "body": {
                            "id": 15628,
                            "nodeType": "Block",
                            "src": "21591:96:62",
                            "statements": [
                                {
                                    "expression": {
                                        "arguments": [
                                            {
                                                "arguments": [
                                                    {
                                                        "hexValue": "6c6f672875696e742c737472696e672c626f6f6c2c737472696e6729",
                                                        "id": 15620,
                                                        "isConstant": false,
                                                        "isLValue": false,
                                                        "isPure": true,
                                                        "kind": "string",
                                                        "lValueRequested": false,
                                                        "nodeType": "Literal",
                                                        "src": "21635:30:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_stringliteral_8d489ca064b1083bafb8388fd8f3d44c2255dbe322f7a52abe786a76257d06e4",
                                                            "typeString": "literal_string \"log(uint,string,bool,string)\""
                                                        },
                                                        "value": "log(uint,string,bool,string)"
                                                    },
                                                    {
                                                        "id": 15621,
                                                        "name": "p0",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 15608,
                                                        "src": "21667:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_uint256",
                                                            "typeString": "uint256"
                                                        }
                                                    },
                                                    {
                                                        "id": 15622,
                                                        "name": "p1",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 15610,
                                                        "src": "21671:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_string_memory_ptr",
                                                            "typeString": "string memory"
                                                        }
                                                    },
                                                    {
                                                        "id": 15623,
                                                        "name": "p2",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 15612,
                                                        "src": "21675:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_bool",
                                                            "typeString": "bool"
                                                        }
                                                    },
                                                    {
                                                        "id": 15624,
                                                        "name": "p3",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 15614,
                                                        "src": "21679:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_string_memory_ptr",
                                                            "typeString": "string memory"
                                                        }
                                                    }
                                                ],
                                                "expression": {
                                                    "argumentTypes": [
                                                        {
                                                            "typeIdentifier": "t_stringliteral_8d489ca064b1083bafb8388fd8f3d44c2255dbe322f7a52abe786a76257d06e4",
                                                            "typeString": "literal_string \"log(uint,string,bool,string)\""
                                                        },
                                                        {
                                                            "typeIdentifier": "t_uint256",
                                                            "typeString": "uint256"
                                                        },
                                                        {
                                                            "typeIdentifier": "t_string_memory_ptr",
                                                            "typeString": "string memory"
                                                        },
                                                        {
                                                            "typeIdentifier": "t_bool",
                                                            "typeString": "bool"
                                                        },
                                                        {
                                                            "typeIdentifier": "t_string_memory_ptr",
                                                            "typeString": "string memory"
                                                        }
                                                    ],
                                                    "expression": {
                                                        "id": 15618,
                                                        "name": "abi",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 4294967295,
                                                        "src": "21611:3:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_magic_abi",
                                                            "typeString": "abi"
                                                        }
                                                    },
                                                    "id": 15619,
                                                    "isConstant": false,
                                                    "isLValue": false,
                                                    "isPure": true,
                                                    "lValueRequested": false,
                                                    "memberName": "encodeWithSignature",
                                                    "nodeType": "MemberAccess",
                                                    "src": "21611:23:62",
                                                    "typeDescriptions": {
                                                        "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$",
                                                        "typeString": "function (string memory) pure returns (bytes memory)"
                                                    }
                                                },
                                                "id": 15625,
                                                "isConstant": false,
                                                "isLValue": false,
                                                "isPure": false,
                                                "kind": "functionCall",
                                                "lValueRequested": false,
                                                "names": [],
                                                "nodeType": "FunctionCall",
                                                "src": "21611:71:62",
                                                "tryCall": false,
                                                "typeDescriptions": {
                                                    "typeIdentifier": "t_bytes_memory_ptr",
                                                    "typeString": "bytes memory"
                                                }
                                            }
                                        ],
                                        "expression": {
                                            "argumentTypes": [
                                                {
                                                    "typeIdentifier": "t_bytes_memory_ptr",
                                                    "typeString": "bytes memory"
                                                }
                                            ],
                                            "id": 15617,
                                            "name": "_sendLogPayload",
                                            "nodeType": "Identifier",
                                            "overloadedDeclarations": [],
                                            "referencedDeclaration": 12880,
                                            "src": "21595:15:62",
                                            "typeDescriptions": {
                                                "typeIdentifier": "t_function_internal_view$_t_bytes_memory_ptr_$returns$__$",
                                                "typeString": "function (bytes memory) view"
                                            }
                                        },
                                        "id": 15626,
                                        "isConstant": false,
                                        "isLValue": false,
                                        "isPure": false,
                                        "kind": "functionCall",
                                        "lValueRequested": false,
                                        "names": [],
                                        "nodeType": "FunctionCall",
                                        "src": "21595:88:62",
                                        "tryCall": false,
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_tuple$__$",
                                            "typeString": "tuple()"
                                        }
                                    },
                                    "id": 15627,
                                    "nodeType": "ExpressionStatement",
                                    "src": "21595:88:62"
                                }
                            ]
                        },
                        "id": 15629,
                        "implemented": true,
                        "kind": "function",
                        "modifiers": [],
                        "name": "log",
                        "nameLocation": "21519:3:62",
                        "nodeType": "FunctionDefinition",
                        "parameters": {
                            "id": 15615,
                            "nodeType": "ParameterList",
                            "parameters": [
                                {
                                    "constant": false,
                                    "id": 15608,
                                    "mutability": "mutable",
                                    "name": "p0",
                                    "nameLocation": "21528:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 15629,
                                    "src": "21523:7:62",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_uint256",
                                        "typeString": "uint256"
                                    },
                                    "typeName": {
                                        "id": 15607,
                                        "name": "uint",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "21523:4:62",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_uint256",
                                            "typeString": "uint256"
                                        }
                                    },
                                    "visibility": "internal"
                                },
                                {
                                    "constant": false,
                                    "id": 15610,
                                    "mutability": "mutable",
                                    "name": "p1",
                                    "nameLocation": "21546:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 15629,
                                    "src": "21532:16:62",
                                    "stateVariable": false,
                                    "storageLocation": "memory",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_string_memory_ptr",
                                        "typeString": "string"
                                    },
                                    "typeName": {
                                        "id": 15609,
                                        "name": "string",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "21532:6:62",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_string_storage_ptr",
                                            "typeString": "string"
                                        }
                                    },
                                    "visibility": "internal"
                                },
                                {
                                    "constant": false,
                                    "id": 15612,
                                    "mutability": "mutable",
                                    "name": "p2",
                                    "nameLocation": "21555:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 15629,
                                    "src": "21550:7:62",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_bool",
                                        "typeString": "bool"
                                    },
                                    "typeName": {
                                        "id": 15611,
                                        "name": "bool",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "21550:4:62",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_bool",
                                            "typeString": "bool"
                                        }
                                    },
                                    "visibility": "internal"
                                },
                                {
                                    "constant": false,
                                    "id": 15614,
                                    "mutability": "mutable",
                                    "name": "p3",
                                    "nameLocation": "21573:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 15629,
                                    "src": "21559:16:62",
                                    "stateVariable": false,
                                    "storageLocation": "memory",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_string_memory_ptr",
                                        "typeString": "string"
                                    },
                                    "typeName": {
                                        "id": 15613,
                                        "name": "string",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "21559:6:62",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_string_storage_ptr",
                                            "typeString": "string"
                                        }
                                    },
                                    "visibility": "internal"
                                }
                            ],
                            "src": "21522:54:62"
                        },
                        "returnParameters": {
                            "id": 15616,
                            "nodeType": "ParameterList",
                            "parameters": [],
                            "src": "21591:0:62"
                        },
                        "scope": 20920,
                        "src": "21510:177:62",
                        "stateMutability": "view",
                        "virtual": false,
                        "visibility": "internal"
                    },
                    {
                        "body": {
                            "id": 15651,
                            "nodeType": "Block",
                            "src": "21762:94:62",
                            "statements": [
                                {
                                    "expression": {
                                        "arguments": [
                                            {
                                                "arguments": [
                                                    {
                                                        "hexValue": "6c6f672875696e742c737472696e672c626f6f6c2c626f6f6c29",
                                                        "id": 15643,
                                                        "isConstant": false,
                                                        "isLValue": false,
                                                        "isPure": true,
                                                        "kind": "string",
                                                        "lValueRequested": false,
                                                        "nodeType": "Literal",
                                                        "src": "21806:28:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_stringliteral_51bc2bc161debf765eefa84d88e06440adeb87045d559377a9edb97406168b2a",
                                                            "typeString": "literal_string \"log(uint,string,bool,bool)\""
                                                        },
                                                        "value": "log(uint,string,bool,bool)"
                                                    },
                                                    {
                                                        "id": 15644,
                                                        "name": "p0",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 15631,
                                                        "src": "21836:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_uint256",
                                                            "typeString": "uint256"
                                                        }
                                                    },
                                                    {
                                                        "id": 15645,
                                                        "name": "p1",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 15633,
                                                        "src": "21840:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_string_memory_ptr",
                                                            "typeString": "string memory"
                                                        }
                                                    },
                                                    {
                                                        "id": 15646,
                                                        "name": "p2",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 15635,
                                                        "src": "21844:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_bool",
                                                            "typeString": "bool"
                                                        }
                                                    },
                                                    {
                                                        "id": 15647,
                                                        "name": "p3",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 15637,
                                                        "src": "21848:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_bool",
                                                            "typeString": "bool"
                                                        }
                                                    }
                                                ],
                                                "expression": {
                                                    "argumentTypes": [
                                                        {
                                                            "typeIdentifier": "t_stringliteral_51bc2bc161debf765eefa84d88e06440adeb87045d559377a9edb97406168b2a",
                                                            "typeString": "literal_string \"log(uint,string,bool,bool)\""
                                                        },
                                                        {
                                                            "typeIdentifier": "t_uint256",
                                                            "typeString": "uint256"
                                                        },
                                                        {
                                                            "typeIdentifier": "t_string_memory_ptr",
                                                            "typeString": "string memory"
                                                        },
                                                        {
                                                            "typeIdentifier": "t_bool",
                                                            "typeString": "bool"
                                                        },
                                                        {
                                                            "typeIdentifier": "t_bool",
                                                            "typeString": "bool"
                                                        }
                                                    ],
                                                    "expression": {
                                                        "id": 15641,
                                                        "name": "abi",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 4294967295,
                                                        "src": "21782:3:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_magic_abi",
                                                            "typeString": "abi"
                                                        }
                                                    },
                                                    "id": 15642,
                                                    "isConstant": false,
                                                    "isLValue": false,
                                                    "isPure": true,
                                                    "lValueRequested": false,
                                                    "memberName": "encodeWithSignature",
                                                    "nodeType": "MemberAccess",
                                                    "src": "21782:23:62",
                                                    "typeDescriptions": {
                                                        "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$",
                                                        "typeString": "function (string memory) pure returns (bytes memory)"
                                                    }
                                                },
                                                "id": 15648,
                                                "isConstant": false,
                                                "isLValue": false,
                                                "isPure": false,
                                                "kind": "functionCall",
                                                "lValueRequested": false,
                                                "names": [],
                                                "nodeType": "FunctionCall",
                                                "src": "21782:69:62",
                                                "tryCall": false,
                                                "typeDescriptions": {
                                                    "typeIdentifier": "t_bytes_memory_ptr",
                                                    "typeString": "bytes memory"
                                                }
                                            }
                                        ],
                                        "expression": {
                                            "argumentTypes": [
                                                {
                                                    "typeIdentifier": "t_bytes_memory_ptr",
                                                    "typeString": "bytes memory"
                                                }
                                            ],
                                            "id": 15640,
                                            "name": "_sendLogPayload",
                                            "nodeType": "Identifier",
                                            "overloadedDeclarations": [],
                                            "referencedDeclaration": 12880,
                                            "src": "21766:15:62",
                                            "typeDescriptions": {
                                                "typeIdentifier": "t_function_internal_view$_t_bytes_memory_ptr_$returns$__$",
                                                "typeString": "function (bytes memory) view"
                                            }
                                        },
                                        "id": 15649,
                                        "isConstant": false,
                                        "isLValue": false,
                                        "isPure": false,
                                        "kind": "functionCall",
                                        "lValueRequested": false,
                                        "names": [],
                                        "nodeType": "FunctionCall",
                                        "src": "21766:86:62",
                                        "tryCall": false,
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_tuple$__$",
                                            "typeString": "tuple()"
                                        }
                                    },
                                    "id": 15650,
                                    "nodeType": "ExpressionStatement",
                                    "src": "21766:86:62"
                                }
                            ]
                        },
                        "id": 15652,
                        "implemented": true,
                        "kind": "function",
                        "modifiers": [],
                        "name": "log",
                        "nameLocation": "21699:3:62",
                        "nodeType": "FunctionDefinition",
                        "parameters": {
                            "id": 15638,
                            "nodeType": "ParameterList",
                            "parameters": [
                                {
                                    "constant": false,
                                    "id": 15631,
                                    "mutability": "mutable",
                                    "name": "p0",
                                    "nameLocation": "21708:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 15652,
                                    "src": "21703:7:62",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_uint256",
                                        "typeString": "uint256"
                                    },
                                    "typeName": {
                                        "id": 15630,
                                        "name": "uint",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "21703:4:62",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_uint256",
                                            "typeString": "uint256"
                                        }
                                    },
                                    "visibility": "internal"
                                },
                                {
                                    "constant": false,
                                    "id": 15633,
                                    "mutability": "mutable",
                                    "name": "p1",
                                    "nameLocation": "21726:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 15652,
                                    "src": "21712:16:62",
                                    "stateVariable": false,
                                    "storageLocation": "memory",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_string_memory_ptr",
                                        "typeString": "string"
                                    },
                                    "typeName": {
                                        "id": 15632,
                                        "name": "string",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "21712:6:62",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_string_storage_ptr",
                                            "typeString": "string"
                                        }
                                    },
                                    "visibility": "internal"
                                },
                                {
                                    "constant": false,
                                    "id": 15635,
                                    "mutability": "mutable",
                                    "name": "p2",
                                    "nameLocation": "21735:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 15652,
                                    "src": "21730:7:62",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_bool",
                                        "typeString": "bool"
                                    },
                                    "typeName": {
                                        "id": 15634,
                                        "name": "bool",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "21730:4:62",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_bool",
                                            "typeString": "bool"
                                        }
                                    },
                                    "visibility": "internal"
                                },
                                {
                                    "constant": false,
                                    "id": 15637,
                                    "mutability": "mutable",
                                    "name": "p3",
                                    "nameLocation": "21744:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 15652,
                                    "src": "21739:7:62",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_bool",
                                        "typeString": "bool"
                                    },
                                    "typeName": {
                                        "id": 15636,
                                        "name": "bool",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "21739:4:62",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_bool",
                                            "typeString": "bool"
                                        }
                                    },
                                    "visibility": "internal"
                                }
                            ],
                            "src": "21702:45:62"
                        },
                        "returnParameters": {
                            "id": 15639,
                            "nodeType": "ParameterList",
                            "parameters": [],
                            "src": "21762:0:62"
                        },
                        "scope": 20920,
                        "src": "21690:166:62",
                        "stateMutability": "view",
                        "virtual": false,
                        "visibility": "internal"
                    },
                    {
                        "body": {
                            "id": 15674,
                            "nodeType": "Block",
                            "src": "21934:97:62",
                            "statements": [
                                {
                                    "expression": {
                                        "arguments": [
                                            {
                                                "arguments": [
                                                    {
                                                        "hexValue": "6c6f672875696e742c737472696e672c626f6f6c2c6164647265737329",
                                                        "id": 15666,
                                                        "isConstant": false,
                                                        "isLValue": false,
                                                        "isPure": true,
                                                        "kind": "string",
                                                        "lValueRequested": false,
                                                        "nodeType": "Literal",
                                                        "src": "21978:31:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_stringliteral_796f28a06ededa438107c0866560412d4d4337e29da4c7300f50c49a73c18829",
                                                            "typeString": "literal_string \"log(uint,string,bool,address)\""
                                                        },
                                                        "value": "log(uint,string,bool,address)"
                                                    },
                                                    {
                                                        "id": 15667,
                                                        "name": "p0",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 15654,
                                                        "src": "22011:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_uint256",
                                                            "typeString": "uint256"
                                                        }
                                                    },
                                                    {
                                                        "id": 15668,
                                                        "name": "p1",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 15656,
                                                        "src": "22015:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_string_memory_ptr",
                                                            "typeString": "string memory"
                                                        }
                                                    },
                                                    {
                                                        "id": 15669,
                                                        "name": "p2",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 15658,
                                                        "src": "22019:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_bool",
                                                            "typeString": "bool"
                                                        }
                                                    },
                                                    {
                                                        "id": 15670,
                                                        "name": "p3",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 15660,
                                                        "src": "22023:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_address",
                                                            "typeString": "address"
                                                        }
                                                    }
                                                ],
                                                "expression": {
                                                    "argumentTypes": [
                                                        {
                                                            "typeIdentifier": "t_stringliteral_796f28a06ededa438107c0866560412d4d4337e29da4c7300f50c49a73c18829",
                                                            "typeString": "literal_string \"log(uint,string,bool,address)\""
                                                        },
                                                        {
                                                            "typeIdentifier": "t_uint256",
                                                            "typeString": "uint256"
                                                        },
                                                        {
                                                            "typeIdentifier": "t_string_memory_ptr",
                                                            "typeString": "string memory"
                                                        },
                                                        {
                                                            "typeIdentifier": "t_bool",
                                                            "typeString": "bool"
                                                        },
                                                        {
                                                            "typeIdentifier": "t_address",
                                                            "typeString": "address"
                                                        }
                                                    ],
                                                    "expression": {
                                                        "id": 15664,
                                                        "name": "abi",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 4294967295,
                                                        "src": "21954:3:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_magic_abi",
                                                            "typeString": "abi"
                                                        }
                                                    },
                                                    "id": 15665,
                                                    "isConstant": false,
                                                    "isLValue": false,
                                                    "isPure": true,
                                                    "lValueRequested": false,
                                                    "memberName": "encodeWithSignature",
                                                    "nodeType": "MemberAccess",
                                                    "src": "21954:23:62",
                                                    "typeDescriptions": {
                                                        "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$",
                                                        "typeString": "function (string memory) pure returns (bytes memory)"
                                                    }
                                                },
                                                "id": 15671,
                                                "isConstant": false,
                                                "isLValue": false,
                                                "isPure": false,
                                                "kind": "functionCall",
                                                "lValueRequested": false,
                                                "names": [],
                                                "nodeType": "FunctionCall",
                                                "src": "21954:72:62",
                                                "tryCall": false,
                                                "typeDescriptions": {
                                                    "typeIdentifier": "t_bytes_memory_ptr",
                                                    "typeString": "bytes memory"
                                                }
                                            }
                                        ],
                                        "expression": {
                                            "argumentTypes": [
                                                {
                                                    "typeIdentifier": "t_bytes_memory_ptr",
                                                    "typeString": "bytes memory"
                                                }
                                            ],
                                            "id": 15663,
                                            "name": "_sendLogPayload",
                                            "nodeType": "Identifier",
                                            "overloadedDeclarations": [],
                                            "referencedDeclaration": 12880,
                                            "src": "21938:15:62",
                                            "typeDescriptions": {
                                                "typeIdentifier": "t_function_internal_view$_t_bytes_memory_ptr_$returns$__$",
                                                "typeString": "function (bytes memory) view"
                                            }
                                        },
                                        "id": 15672,
                                        "isConstant": false,
                                        "isLValue": false,
                                        "isPure": false,
                                        "kind": "functionCall",
                                        "lValueRequested": false,
                                        "names": [],
                                        "nodeType": "FunctionCall",
                                        "src": "21938:89:62",
                                        "tryCall": false,
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_tuple$__$",
                                            "typeString": "tuple()"
                                        }
                                    },
                                    "id": 15673,
                                    "nodeType": "ExpressionStatement",
                                    "src": "21938:89:62"
                                }
                            ]
                        },
                        "id": 15675,
                        "implemented": true,
                        "kind": "function",
                        "modifiers": [],
                        "name": "log",
                        "nameLocation": "21868:3:62",
                        "nodeType": "FunctionDefinition",
                        "parameters": {
                            "id": 15661,
                            "nodeType": "ParameterList",
                            "parameters": [
                                {
                                    "constant": false,
                                    "id": 15654,
                                    "mutability": "mutable",
                                    "name": "p0",
                                    "nameLocation": "21877:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 15675,
                                    "src": "21872:7:62",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_uint256",
                                        "typeString": "uint256"
                                    },
                                    "typeName": {
                                        "id": 15653,
                                        "name": "uint",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "21872:4:62",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_uint256",
                                            "typeString": "uint256"
                                        }
                                    },
                                    "visibility": "internal"
                                },
                                {
                                    "constant": false,
                                    "id": 15656,
                                    "mutability": "mutable",
                                    "name": "p1",
                                    "nameLocation": "21895:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 15675,
                                    "src": "21881:16:62",
                                    "stateVariable": false,
                                    "storageLocation": "memory",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_string_memory_ptr",
                                        "typeString": "string"
                                    },
                                    "typeName": {
                                        "id": 15655,
                                        "name": "string",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "21881:6:62",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_string_storage_ptr",
                                            "typeString": "string"
                                        }
                                    },
                                    "visibility": "internal"
                                },
                                {
                                    "constant": false,
                                    "id": 15658,
                                    "mutability": "mutable",
                                    "name": "p2",
                                    "nameLocation": "21904:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 15675,
                                    "src": "21899:7:62",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_bool",
                                        "typeString": "bool"
                                    },
                                    "typeName": {
                                        "id": 15657,
                                        "name": "bool",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "21899:4:62",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_bool",
                                            "typeString": "bool"
                                        }
                                    },
                                    "visibility": "internal"
                                },
                                {
                                    "constant": false,
                                    "id": 15660,
                                    "mutability": "mutable",
                                    "name": "p3",
                                    "nameLocation": "21916:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 15675,
                                    "src": "21908:10:62",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_address",
                                        "typeString": "address"
                                    },
                                    "typeName": {
                                        "id": 15659,
                                        "name": "address",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "21908:7:62",
                                        "stateMutability": "nonpayable",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_address",
                                            "typeString": "address"
                                        }
                                    },
                                    "visibility": "internal"
                                }
                            ],
                            "src": "21871:48:62"
                        },
                        "returnParameters": {
                            "id": 15662,
                            "nodeType": "ParameterList",
                            "parameters": [],
                            "src": "21934:0:62"
                        },
                        "scope": 20920,
                        "src": "21859:172:62",
                        "stateMutability": "view",
                        "virtual": false,
                        "visibility": "internal"
                    },
                    {
                        "body": {
                            "id": 15697,
                            "nodeType": "Block",
                            "src": "22109:97:62",
                            "statements": [
                                {
                                    "expression": {
                                        "arguments": [
                                            {
                                                "arguments": [
                                                    {
                                                        "hexValue": "6c6f672875696e742c737472696e672c616464726573732c75696e7429",
                                                        "id": 15689,
                                                        "isConstant": false,
                                                        "isLValue": false,
                                                        "isPure": true,
                                                        "kind": "string",
                                                        "lValueRequested": false,
                                                        "nodeType": "Literal",
                                                        "src": "22153:31:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_stringliteral_98e7f3f3a2c39a91982b0a3ae7f29043579abd563fc10531c052f92c3317af43",
                                                            "typeString": "literal_string \"log(uint,string,address,uint)\""
                                                        },
                                                        "value": "log(uint,string,address,uint)"
                                                    },
                                                    {
                                                        "id": 15690,
                                                        "name": "p0",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 15677,
                                                        "src": "22186:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_uint256",
                                                            "typeString": "uint256"
                                                        }
                                                    },
                                                    {
                                                        "id": 15691,
                                                        "name": "p1",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 15679,
                                                        "src": "22190:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_string_memory_ptr",
                                                            "typeString": "string memory"
                                                        }
                                                    },
                                                    {
                                                        "id": 15692,
                                                        "name": "p2",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 15681,
                                                        "src": "22194:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_address",
                                                            "typeString": "address"
                                                        }
                                                    },
                                                    {
                                                        "id": 15693,
                                                        "name": "p3",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 15683,
                                                        "src": "22198:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_uint256",
                                                            "typeString": "uint256"
                                                        }
                                                    }
                                                ],
                                                "expression": {
                                                    "argumentTypes": [
                                                        {
                                                            "typeIdentifier": "t_stringliteral_98e7f3f3a2c39a91982b0a3ae7f29043579abd563fc10531c052f92c3317af43",
                                                            "typeString": "literal_string \"log(uint,string,address,uint)\""
                                                        },
                                                        {
                                                            "typeIdentifier": "t_uint256",
                                                            "typeString": "uint256"
                                                        },
                                                        {
                                                            "typeIdentifier": "t_string_memory_ptr",
                                                            "typeString": "string memory"
                                                        },
                                                        {
                                                            "typeIdentifier": "t_address",
                                                            "typeString": "address"
                                                        },
                                                        {
                                                            "typeIdentifier": "t_uint256",
                                                            "typeString": "uint256"
                                                        }
                                                    ],
                                                    "expression": {
                                                        "id": 15687,
                                                        "name": "abi",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 4294967295,
                                                        "src": "22129:3:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_magic_abi",
                                                            "typeString": "abi"
                                                        }
                                                    },
                                                    "id": 15688,
                                                    "isConstant": false,
                                                    "isLValue": false,
                                                    "isPure": true,
                                                    "lValueRequested": false,
                                                    "memberName": "encodeWithSignature",
                                                    "nodeType": "MemberAccess",
                                                    "src": "22129:23:62",
                                                    "typeDescriptions": {
                                                        "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$",
                                                        "typeString": "function (string memory) pure returns (bytes memory)"
                                                    }
                                                },
                                                "id": 15694,
                                                "isConstant": false,
                                                "isLValue": false,
                                                "isPure": false,
                                                "kind": "functionCall",
                                                "lValueRequested": false,
                                                "names": [],
                                                "nodeType": "FunctionCall",
                                                "src": "22129:72:62",
                                                "tryCall": false,
                                                "typeDescriptions": {
                                                    "typeIdentifier": "t_bytes_memory_ptr",
                                                    "typeString": "bytes memory"
                                                }
                                            }
                                        ],
                                        "expression": {
                                            "argumentTypes": [
                                                {
                                                    "typeIdentifier": "t_bytes_memory_ptr",
                                                    "typeString": "bytes memory"
                                                }
                                            ],
                                            "id": 15686,
                                            "name": "_sendLogPayload",
                                            "nodeType": "Identifier",
                                            "overloadedDeclarations": [],
                                            "referencedDeclaration": 12880,
                                            "src": "22113:15:62",
                                            "typeDescriptions": {
                                                "typeIdentifier": "t_function_internal_view$_t_bytes_memory_ptr_$returns$__$",
                                                "typeString": "function (bytes memory) view"
                                            }
                                        },
                                        "id": 15695,
                                        "isConstant": false,
                                        "isLValue": false,
                                        "isPure": false,
                                        "kind": "functionCall",
                                        "lValueRequested": false,
                                        "names": [],
                                        "nodeType": "FunctionCall",
                                        "src": "22113:89:62",
                                        "tryCall": false,
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_tuple$__$",
                                            "typeString": "tuple()"
                                        }
                                    },
                                    "id": 15696,
                                    "nodeType": "ExpressionStatement",
                                    "src": "22113:89:62"
                                }
                            ]
                        },
                        "id": 15698,
                        "implemented": true,
                        "kind": "function",
                        "modifiers": [],
                        "name": "log",
                        "nameLocation": "22043:3:62",
                        "nodeType": "FunctionDefinition",
                        "parameters": {
                            "id": 15684,
                            "nodeType": "ParameterList",
                            "parameters": [
                                {
                                    "constant": false,
                                    "id": 15677,
                                    "mutability": "mutable",
                                    "name": "p0",
                                    "nameLocation": "22052:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 15698,
                                    "src": "22047:7:62",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_uint256",
                                        "typeString": "uint256"
                                    },
                                    "typeName": {
                                        "id": 15676,
                                        "name": "uint",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "22047:4:62",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_uint256",
                                            "typeString": "uint256"
                                        }
                                    },
                                    "visibility": "internal"
                                },
                                {
                                    "constant": false,
                                    "id": 15679,
                                    "mutability": "mutable",
                                    "name": "p1",
                                    "nameLocation": "22070:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 15698,
                                    "src": "22056:16:62",
                                    "stateVariable": false,
                                    "storageLocation": "memory",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_string_memory_ptr",
                                        "typeString": "string"
                                    },
                                    "typeName": {
                                        "id": 15678,
                                        "name": "string",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "22056:6:62",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_string_storage_ptr",
                                            "typeString": "string"
                                        }
                                    },
                                    "visibility": "internal"
                                },
                                {
                                    "constant": false,
                                    "id": 15681,
                                    "mutability": "mutable",
                                    "name": "p2",
                                    "nameLocation": "22082:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 15698,
                                    "src": "22074:10:62",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_address",
                                        "typeString": "address"
                                    },
                                    "typeName": {
                                        "id": 15680,
                                        "name": "address",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "22074:7:62",
                                        "stateMutability": "nonpayable",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_address",
                                            "typeString": "address"
                                        }
                                    },
                                    "visibility": "internal"
                                },
                                {
                                    "constant": false,
                                    "id": 15683,
                                    "mutability": "mutable",
                                    "name": "p3",
                                    "nameLocation": "22091:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 15698,
                                    "src": "22086:7:62",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_uint256",
                                        "typeString": "uint256"
                                    },
                                    "typeName": {
                                        "id": 15682,
                                        "name": "uint",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "22086:4:62",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_uint256",
                                            "typeString": "uint256"
                                        }
                                    },
                                    "visibility": "internal"
                                }
                            ],
                            "src": "22046:48:62"
                        },
                        "returnParameters": {
                            "id": 15685,
                            "nodeType": "ParameterList",
                            "parameters": [],
                            "src": "22109:0:62"
                        },
                        "scope": 20920,
                        "src": "22034:172:62",
                        "stateMutability": "view",
                        "virtual": false,
                        "visibility": "internal"
                    },
                    {
                        "body": {
                            "id": 15720,
                            "nodeType": "Block",
                            "src": "22293:99:62",
                            "statements": [
                                {
                                    "expression": {
                                        "arguments": [
                                            {
                                                "arguments": [
                                                    {
                                                        "hexValue": "6c6f672875696e742c737472696e672c616464726573732c737472696e6729",
                                                        "id": 15712,
                                                        "isConstant": false,
                                                        "isLValue": false,
                                                        "isPure": true,
                                                        "kind": "string",
                                                        "lValueRequested": false,
                                                        "nodeType": "Literal",
                                                        "src": "22337:33:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_stringliteral_f898577fdc87bf80b54b2b838f8b58bf5a74554c7beeb61b98f3c2b7d59f31e2",
                                                            "typeString": "literal_string \"log(uint,string,address,string)\""
                                                        },
                                                        "value": "log(uint,string,address,string)"
                                                    },
                                                    {
                                                        "id": 15713,
                                                        "name": "p0",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 15700,
                                                        "src": "22372:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_uint256",
                                                            "typeString": "uint256"
                                                        }
                                                    },
                                                    {
                                                        "id": 15714,
                                                        "name": "p1",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 15702,
                                                        "src": "22376:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_string_memory_ptr",
                                                            "typeString": "string memory"
                                                        }
                                                    },
                                                    {
                                                        "id": 15715,
                                                        "name": "p2",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 15704,
                                                        "src": "22380:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_address",
                                                            "typeString": "address"
                                                        }
                                                    },
                                                    {
                                                        "id": 15716,
                                                        "name": "p3",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 15706,
                                                        "src": "22384:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_string_memory_ptr",
                                                            "typeString": "string memory"
                                                        }
                                                    }
                                                ],
                                                "expression": {
                                                    "argumentTypes": [
                                                        {
                                                            "typeIdentifier": "t_stringliteral_f898577fdc87bf80b54b2b838f8b58bf5a74554c7beeb61b98f3c2b7d59f31e2",
                                                            "typeString": "literal_string \"log(uint,string,address,string)\""
                                                        },
                                                        {
                                                            "typeIdentifier": "t_uint256",
                                                            "typeString": "uint256"
                                                        },
                                                        {
                                                            "typeIdentifier": "t_string_memory_ptr",
                                                            "typeString": "string memory"
                                                        },
                                                        {
                                                            "typeIdentifier": "t_address",
                                                            "typeString": "address"
                                                        },
                                                        {
                                                            "typeIdentifier": "t_string_memory_ptr",
                                                            "typeString": "string memory"
                                                        }
                                                    ],
                                                    "expression": {
                                                        "id": 15710,
                                                        "name": "abi",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 4294967295,
                                                        "src": "22313:3:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_magic_abi",
                                                            "typeString": "abi"
                                                        }
                                                    },
                                                    "id": 15711,
                                                    "isConstant": false,
                                                    "isLValue": false,
                                                    "isPure": true,
                                                    "lValueRequested": false,
                                                    "memberName": "encodeWithSignature",
                                                    "nodeType": "MemberAccess",
                                                    "src": "22313:23:62",
                                                    "typeDescriptions": {
                                                        "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$",
                                                        "typeString": "function (string memory) pure returns (bytes memory)"
                                                    }
                                                },
                                                "id": 15717,
                                                "isConstant": false,
                                                "isLValue": false,
                                                "isPure": false,
                                                "kind": "functionCall",
                                                "lValueRequested": false,
                                                "names": [],
                                                "nodeType": "FunctionCall",
                                                "src": "22313:74:62",
                                                "tryCall": false,
                                                "typeDescriptions": {
                                                    "typeIdentifier": "t_bytes_memory_ptr",
                                                    "typeString": "bytes memory"
                                                }
                                            }
                                        ],
                                        "expression": {
                                            "argumentTypes": [
                                                {
                                                    "typeIdentifier": "t_bytes_memory_ptr",
                                                    "typeString": "bytes memory"
                                                }
                                            ],
                                            "id": 15709,
                                            "name": "_sendLogPayload",
                                            "nodeType": "Identifier",
                                            "overloadedDeclarations": [],
                                            "referencedDeclaration": 12880,
                                            "src": "22297:15:62",
                                            "typeDescriptions": {
                                                "typeIdentifier": "t_function_internal_view$_t_bytes_memory_ptr_$returns$__$",
                                                "typeString": "function (bytes memory) view"
                                            }
                                        },
                                        "id": 15718,
                                        "isConstant": false,
                                        "isLValue": false,
                                        "isPure": false,
                                        "kind": "functionCall",
                                        "lValueRequested": false,
                                        "names": [],
                                        "nodeType": "FunctionCall",
                                        "src": "22297:91:62",
                                        "tryCall": false,
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_tuple$__$",
                                            "typeString": "tuple()"
                                        }
                                    },
                                    "id": 15719,
                                    "nodeType": "ExpressionStatement",
                                    "src": "22297:91:62"
                                }
                            ]
                        },
                        "id": 15721,
                        "implemented": true,
                        "kind": "function",
                        "modifiers": [],
                        "name": "log",
                        "nameLocation": "22218:3:62",
                        "nodeType": "FunctionDefinition",
                        "parameters": {
                            "id": 15707,
                            "nodeType": "ParameterList",
                            "parameters": [
                                {
                                    "constant": false,
                                    "id": 15700,
                                    "mutability": "mutable",
                                    "name": "p0",
                                    "nameLocation": "22227:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 15721,
                                    "src": "22222:7:62",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_uint256",
                                        "typeString": "uint256"
                                    },
                                    "typeName": {
                                        "id": 15699,
                                        "name": "uint",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "22222:4:62",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_uint256",
                                            "typeString": "uint256"
                                        }
                                    },
                                    "visibility": "internal"
                                },
                                {
                                    "constant": false,
                                    "id": 15702,
                                    "mutability": "mutable",
                                    "name": "p1",
                                    "nameLocation": "22245:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 15721,
                                    "src": "22231:16:62",
                                    "stateVariable": false,
                                    "storageLocation": "memory",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_string_memory_ptr",
                                        "typeString": "string"
                                    },
                                    "typeName": {
                                        "id": 15701,
                                        "name": "string",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "22231:6:62",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_string_storage_ptr",
                                            "typeString": "string"
                                        }
                                    },
                                    "visibility": "internal"
                                },
                                {
                                    "constant": false,
                                    "id": 15704,
                                    "mutability": "mutable",
                                    "name": "p2",
                                    "nameLocation": "22257:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 15721,
                                    "src": "22249:10:62",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_address",
                                        "typeString": "address"
                                    },
                                    "typeName": {
                                        "id": 15703,
                                        "name": "address",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "22249:7:62",
                                        "stateMutability": "nonpayable",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_address",
                                            "typeString": "address"
                                        }
                                    },
                                    "visibility": "internal"
                                },
                                {
                                    "constant": false,
                                    "id": 15706,
                                    "mutability": "mutable",
                                    "name": "p3",
                                    "nameLocation": "22275:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 15721,
                                    "src": "22261:16:62",
                                    "stateVariable": false,
                                    "storageLocation": "memory",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_string_memory_ptr",
                                        "typeString": "string"
                                    },
                                    "typeName": {
                                        "id": 15705,
                                        "name": "string",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "22261:6:62",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_string_storage_ptr",
                                            "typeString": "string"
                                        }
                                    },
                                    "visibility": "internal"
                                }
                            ],
                            "src": "22221:57:62"
                        },
                        "returnParameters": {
                            "id": 15708,
                            "nodeType": "ParameterList",
                            "parameters": [],
                            "src": "22293:0:62"
                        },
                        "scope": 20920,
                        "src": "22209:183:62",
                        "stateMutability": "view",
                        "virtual": false,
                        "visibility": "internal"
                    },
                    {
                        "body": {
                            "id": 15743,
                            "nodeType": "Block",
                            "src": "22470:97:62",
                            "statements": [
                                {
                                    "expression": {
                                        "arguments": [
                                            {
                                                "arguments": [
                                                    {
                                                        "hexValue": "6c6f672875696e742c737472696e672c616464726573732c626f6f6c29",
                                                        "id": 15735,
                                                        "isConstant": false,
                                                        "isLValue": false,
                                                        "isPure": true,
                                                        "kind": "string",
                                                        "lValueRequested": false,
                                                        "nodeType": "Literal",
                                                        "src": "22514:31:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_stringliteral_f93fff378483bab1a84a8ae346090ff91e793863821a5430c45153390c3262e1",
                                                            "typeString": "literal_string \"log(uint,string,address,bool)\""
                                                        },
                                                        "value": "log(uint,string,address,bool)"
                                                    },
                                                    {
                                                        "id": 15736,
                                                        "name": "p0",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 15723,
                                                        "src": "22547:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_uint256",
                                                            "typeString": "uint256"
                                                        }
                                                    },
                                                    {
                                                        "id": 15737,
                                                        "name": "p1",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 15725,
                                                        "src": "22551:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_string_memory_ptr",
                                                            "typeString": "string memory"
                                                        }
                                                    },
                                                    {
                                                        "id": 15738,
                                                        "name": "p2",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 15727,
                                                        "src": "22555:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_address",
                                                            "typeString": "address"
                                                        }
                                                    },
                                                    {
                                                        "id": 15739,
                                                        "name": "p3",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 15729,
                                                        "src": "22559:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_bool",
                                                            "typeString": "bool"
                                                        }
                                                    }
                                                ],
                                                "expression": {
                                                    "argumentTypes": [
                                                        {
                                                            "typeIdentifier": "t_stringliteral_f93fff378483bab1a84a8ae346090ff91e793863821a5430c45153390c3262e1",
                                                            "typeString": "literal_string \"log(uint,string,address,bool)\""
                                                        },
                                                        {
                                                            "typeIdentifier": "t_uint256",
                                                            "typeString": "uint256"
                                                        },
                                                        {
                                                            "typeIdentifier": "t_string_memory_ptr",
                                                            "typeString": "string memory"
                                                        },
                                                        {
                                                            "typeIdentifier": "t_address",
                                                            "typeString": "address"
                                                        },
                                                        {
                                                            "typeIdentifier": "t_bool",
                                                            "typeString": "bool"
                                                        }
                                                    ],
                                                    "expression": {
                                                        "id": 15733,
                                                        "name": "abi",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 4294967295,
                                                        "src": "22490:3:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_magic_abi",
                                                            "typeString": "abi"
                                                        }
                                                    },
                                                    "id": 15734,
                                                    "isConstant": false,
                                                    "isLValue": false,
                                                    "isPure": true,
                                                    "lValueRequested": false,
                                                    "memberName": "encodeWithSignature",
                                                    "nodeType": "MemberAccess",
                                                    "src": "22490:23:62",
                                                    "typeDescriptions": {
                                                        "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$",
                                                        "typeString": "function (string memory) pure returns (bytes memory)"
                                                    }
                                                },
                                                "id": 15740,
                                                "isConstant": false,
                                                "isLValue": false,
                                                "isPure": false,
                                                "kind": "functionCall",
                                                "lValueRequested": false,
                                                "names": [],
                                                "nodeType": "FunctionCall",
                                                "src": "22490:72:62",
                                                "tryCall": false,
                                                "typeDescriptions": {
                                                    "typeIdentifier": "t_bytes_memory_ptr",
                                                    "typeString": "bytes memory"
                                                }
                                            }
                                        ],
                                        "expression": {
                                            "argumentTypes": [
                                                {
                                                    "typeIdentifier": "t_bytes_memory_ptr",
                                                    "typeString": "bytes memory"
                                                }
                                            ],
                                            "id": 15732,
                                            "name": "_sendLogPayload",
                                            "nodeType": "Identifier",
                                            "overloadedDeclarations": [],
                                            "referencedDeclaration": 12880,
                                            "src": "22474:15:62",
                                            "typeDescriptions": {
                                                "typeIdentifier": "t_function_internal_view$_t_bytes_memory_ptr_$returns$__$",
                                                "typeString": "function (bytes memory) view"
                                            }
                                        },
                                        "id": 15741,
                                        "isConstant": false,
                                        "isLValue": false,
                                        "isPure": false,
                                        "kind": "functionCall",
                                        "lValueRequested": false,
                                        "names": [],
                                        "nodeType": "FunctionCall",
                                        "src": "22474:89:62",
                                        "tryCall": false,
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_tuple$__$",
                                            "typeString": "tuple()"
                                        }
                                    },
                                    "id": 15742,
                                    "nodeType": "ExpressionStatement",
                                    "src": "22474:89:62"
                                }
                            ]
                        },
                        "id": 15744,
                        "implemented": true,
                        "kind": "function",
                        "modifiers": [],
                        "name": "log",
                        "nameLocation": "22404:3:62",
                        "nodeType": "FunctionDefinition",
                        "parameters": {
                            "id": 15730,
                            "nodeType": "ParameterList",
                            "parameters": [
                                {
                                    "constant": false,
                                    "id": 15723,
                                    "mutability": "mutable",
                                    "name": "p0",
                                    "nameLocation": "22413:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 15744,
                                    "src": "22408:7:62",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_uint256",
                                        "typeString": "uint256"
                                    },
                                    "typeName": {
                                        "id": 15722,
                                        "name": "uint",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "22408:4:62",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_uint256",
                                            "typeString": "uint256"
                                        }
                                    },
                                    "visibility": "internal"
                                },
                                {
                                    "constant": false,
                                    "id": 15725,
                                    "mutability": "mutable",
                                    "name": "p1",
                                    "nameLocation": "22431:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 15744,
                                    "src": "22417:16:62",
                                    "stateVariable": false,
                                    "storageLocation": "memory",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_string_memory_ptr",
                                        "typeString": "string"
                                    },
                                    "typeName": {
                                        "id": 15724,
                                        "name": "string",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "22417:6:62",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_string_storage_ptr",
                                            "typeString": "string"
                                        }
                                    },
                                    "visibility": "internal"
                                },
                                {
                                    "constant": false,
                                    "id": 15727,
                                    "mutability": "mutable",
                                    "name": "p2",
                                    "nameLocation": "22443:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 15744,
                                    "src": "22435:10:62",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_address",
                                        "typeString": "address"
                                    },
                                    "typeName": {
                                        "id": 15726,
                                        "name": "address",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "22435:7:62",
                                        "stateMutability": "nonpayable",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_address",
                                            "typeString": "address"
                                        }
                                    },
                                    "visibility": "internal"
                                },
                                {
                                    "constant": false,
                                    "id": 15729,
                                    "mutability": "mutable",
                                    "name": "p3",
                                    "nameLocation": "22452:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 15744,
                                    "src": "22447:7:62",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_bool",
                                        "typeString": "bool"
                                    },
                                    "typeName": {
                                        "id": 15728,
                                        "name": "bool",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "22447:4:62",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_bool",
                                            "typeString": "bool"
                                        }
                                    },
                                    "visibility": "internal"
                                }
                            ],
                            "src": "22407:48:62"
                        },
                        "returnParameters": {
                            "id": 15731,
                            "nodeType": "ParameterList",
                            "parameters": [],
                            "src": "22470:0:62"
                        },
                        "scope": 20920,
                        "src": "22395:172:62",
                        "stateMutability": "view",
                        "virtual": false,
                        "visibility": "internal"
                    },
                    {
                        "body": {
                            "id": 15766,
                            "nodeType": "Block",
                            "src": "22648:100:62",
                            "statements": [
                                {
                                    "expression": {
                                        "arguments": [
                                            {
                                                "arguments": [
                                                    {
                                                        "hexValue": "6c6f672875696e742c737472696e672c616464726573732c6164647265737329",
                                                        "id": 15758,
                                                        "isConstant": false,
                                                        "isLValue": false,
                                                        "isPure": true,
                                                        "kind": "string",
                                                        "lValueRequested": false,
                                                        "nodeType": "Literal",
                                                        "src": "22692:34:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_stringliteral_7fa5458bb859a8b444c46f9915b7879afe7e200298580a00c5813ecf5c0a77cb",
                                                            "typeString": "literal_string \"log(uint,string,address,address)\""
                                                        },
                                                        "value": "log(uint,string,address,address)"
                                                    },
                                                    {
                                                        "id": 15759,
                                                        "name": "p0",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 15746,
                                                        "src": "22728:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_uint256",
                                                            "typeString": "uint256"
                                                        }
                                                    },
                                                    {
                                                        "id": 15760,
                                                        "name": "p1",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 15748,
                                                        "src": "22732:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_string_memory_ptr",
                                                            "typeString": "string memory"
                                                        }
                                                    },
                                                    {
                                                        "id": 15761,
                                                        "name": "p2",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 15750,
                                                        "src": "22736:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_address",
                                                            "typeString": "address"
                                                        }
                                                    },
                                                    {
                                                        "id": 15762,
                                                        "name": "p3",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 15752,
                                                        "src": "22740:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_address",
                                                            "typeString": "address"
                                                        }
                                                    }
                                                ],
                                                "expression": {
                                                    "argumentTypes": [
                                                        {
                                                            "typeIdentifier": "t_stringliteral_7fa5458bb859a8b444c46f9915b7879afe7e200298580a00c5813ecf5c0a77cb",
                                                            "typeString": "literal_string \"log(uint,string,address,address)\""
                                                        },
                                                        {
                                                            "typeIdentifier": "t_uint256",
                                                            "typeString": "uint256"
                                                        },
                                                        {
                                                            "typeIdentifier": "t_string_memory_ptr",
                                                            "typeString": "string memory"
                                                        },
                                                        {
                                                            "typeIdentifier": "t_address",
                                                            "typeString": "address"
                                                        },
                                                        {
                                                            "typeIdentifier": "t_address",
                                                            "typeString": "address"
                                                        }
                                                    ],
                                                    "expression": {
                                                        "id": 15756,
                                                        "name": "abi",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 4294967295,
                                                        "src": "22668:3:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_magic_abi",
                                                            "typeString": "abi"
                                                        }
                                                    },
                                                    "id": 15757,
                                                    "isConstant": false,
                                                    "isLValue": false,
                                                    "isPure": true,
                                                    "lValueRequested": false,
                                                    "memberName": "encodeWithSignature",
                                                    "nodeType": "MemberAccess",
                                                    "src": "22668:23:62",
                                                    "typeDescriptions": {
                                                        "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$",
                                                        "typeString": "function (string memory) pure returns (bytes memory)"
                                                    }
                                                },
                                                "id": 15763,
                                                "isConstant": false,
                                                "isLValue": false,
                                                "isPure": false,
                                                "kind": "functionCall",
                                                "lValueRequested": false,
                                                "names": [],
                                                "nodeType": "FunctionCall",
                                                "src": "22668:75:62",
                                                "tryCall": false,
                                                "typeDescriptions": {
                                                    "typeIdentifier": "t_bytes_memory_ptr",
                                                    "typeString": "bytes memory"
                                                }
                                            }
                                        ],
                                        "expression": {
                                            "argumentTypes": [
                                                {
                                                    "typeIdentifier": "t_bytes_memory_ptr",
                                                    "typeString": "bytes memory"
                                                }
                                            ],
                                            "id": 15755,
                                            "name": "_sendLogPayload",
                                            "nodeType": "Identifier",
                                            "overloadedDeclarations": [],
                                            "referencedDeclaration": 12880,
                                            "src": "22652:15:62",
                                            "typeDescriptions": {
                                                "typeIdentifier": "t_function_internal_view$_t_bytes_memory_ptr_$returns$__$",
                                                "typeString": "function (bytes memory) view"
                                            }
                                        },
                                        "id": 15764,
                                        "isConstant": false,
                                        "isLValue": false,
                                        "isPure": false,
                                        "kind": "functionCall",
                                        "lValueRequested": false,
                                        "names": [],
                                        "nodeType": "FunctionCall",
                                        "src": "22652:92:62",
                                        "tryCall": false,
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_tuple$__$",
                                            "typeString": "tuple()"
                                        }
                                    },
                                    "id": 15765,
                                    "nodeType": "ExpressionStatement",
                                    "src": "22652:92:62"
                                }
                            ]
                        },
                        "id": 15767,
                        "implemented": true,
                        "kind": "function",
                        "modifiers": [],
                        "name": "log",
                        "nameLocation": "22579:3:62",
                        "nodeType": "FunctionDefinition",
                        "parameters": {
                            "id": 15753,
                            "nodeType": "ParameterList",
                            "parameters": [
                                {
                                    "constant": false,
                                    "id": 15746,
                                    "mutability": "mutable",
                                    "name": "p0",
                                    "nameLocation": "22588:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 15767,
                                    "src": "22583:7:62",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_uint256",
                                        "typeString": "uint256"
                                    },
                                    "typeName": {
                                        "id": 15745,
                                        "name": "uint",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "22583:4:62",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_uint256",
                                            "typeString": "uint256"
                                        }
                                    },
                                    "visibility": "internal"
                                },
                                {
                                    "constant": false,
                                    "id": 15748,
                                    "mutability": "mutable",
                                    "name": "p1",
                                    "nameLocation": "22606:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 15767,
                                    "src": "22592:16:62",
                                    "stateVariable": false,
                                    "storageLocation": "memory",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_string_memory_ptr",
                                        "typeString": "string"
                                    },
                                    "typeName": {
                                        "id": 15747,
                                        "name": "string",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "22592:6:62",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_string_storage_ptr",
                                            "typeString": "string"
                                        }
                                    },
                                    "visibility": "internal"
                                },
                                {
                                    "constant": false,
                                    "id": 15750,
                                    "mutability": "mutable",
                                    "name": "p2",
                                    "nameLocation": "22618:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 15767,
                                    "src": "22610:10:62",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_address",
                                        "typeString": "address"
                                    },
                                    "typeName": {
                                        "id": 15749,
                                        "name": "address",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "22610:7:62",
                                        "stateMutability": "nonpayable",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_address",
                                            "typeString": "address"
                                        }
                                    },
                                    "visibility": "internal"
                                },
                                {
                                    "constant": false,
                                    "id": 15752,
                                    "mutability": "mutable",
                                    "name": "p3",
                                    "nameLocation": "22630:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 15767,
                                    "src": "22622:10:62",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_address",
                                        "typeString": "address"
                                    },
                                    "typeName": {
                                        "id": 15751,
                                        "name": "address",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "22622:7:62",
                                        "stateMutability": "nonpayable",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_address",
                                            "typeString": "address"
                                        }
                                    },
                                    "visibility": "internal"
                                }
                            ],
                            "src": "22582:51:62"
                        },
                        "returnParameters": {
                            "id": 15754,
                            "nodeType": "ParameterList",
                            "parameters": [],
                            "src": "22648:0:62"
                        },
                        "scope": 20920,
                        "src": "22570:178:62",
                        "stateMutability": "view",
                        "virtual": false,
                        "visibility": "internal"
                    },
                    {
                        "body": {
                            "id": 15789,
                            "nodeType": "Block",
                            "src": "22814:92:62",
                            "statements": [
                                {
                                    "expression": {
                                        "arguments": [
                                            {
                                                "arguments": [
                                                    {
                                                        "hexValue": "6c6f672875696e742c626f6f6c2c75696e742c75696e7429",
                                                        "id": 15781,
                                                        "isConstant": false,
                                                        "isLValue": false,
                                                        "isPure": true,
                                                        "kind": "string",
                                                        "lValueRequested": false,
                                                        "nodeType": "Literal",
                                                        "src": "22858:26:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_stringliteral_56828da42a6ecdc94480e6d223af96b676cdc4ca9a00b1d88a7646ef1e12541e",
                                                            "typeString": "literal_string \"log(uint,bool,uint,uint)\""
                                                        },
                                                        "value": "log(uint,bool,uint,uint)"
                                                    },
                                                    {
                                                        "id": 15782,
                                                        "name": "p0",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 15769,
                                                        "src": "22886:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_uint256",
                                                            "typeString": "uint256"
                                                        }
                                                    },
                                                    {
                                                        "id": 15783,
                                                        "name": "p1",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 15771,
                                                        "src": "22890:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_bool",
                                                            "typeString": "bool"
                                                        }
                                                    },
                                                    {
                                                        "id": 15784,
                                                        "name": "p2",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 15773,
                                                        "src": "22894:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_uint256",
                                                            "typeString": "uint256"
                                                        }
                                                    },
                                                    {
                                                        "id": 15785,
                                                        "name": "p3",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 15775,
                                                        "src": "22898:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_uint256",
                                                            "typeString": "uint256"
                                                        }
                                                    }
                                                ],
                                                "expression": {
                                                    "argumentTypes": [
                                                        {
                                                            "typeIdentifier": "t_stringliteral_56828da42a6ecdc94480e6d223af96b676cdc4ca9a00b1d88a7646ef1e12541e",
                                                            "typeString": "literal_string \"log(uint,bool,uint,uint)\""
                                                        },
                                                        {
                                                            "typeIdentifier": "t_uint256",
                                                            "typeString": "uint256"
                                                        },
                                                        {
                                                            "typeIdentifier": "t_bool",
                                                            "typeString": "bool"
                                                        },
                                                        {
                                                            "typeIdentifier": "t_uint256",
                                                            "typeString": "uint256"
                                                        },
                                                        {
                                                            "typeIdentifier": "t_uint256",
                                                            "typeString": "uint256"
                                                        }
                                                    ],
                                                    "expression": {
                                                        "id": 15779,
                                                        "name": "abi",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 4294967295,
                                                        "src": "22834:3:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_magic_abi",
                                                            "typeString": "abi"
                                                        }
                                                    },
                                                    "id": 15780,
                                                    "isConstant": false,
                                                    "isLValue": false,
                                                    "isPure": true,
                                                    "lValueRequested": false,
                                                    "memberName": "encodeWithSignature",
                                                    "nodeType": "MemberAccess",
                                                    "src": "22834:23:62",
                                                    "typeDescriptions": {
                                                        "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$",
                                                        "typeString": "function (string memory) pure returns (bytes memory)"
                                                    }
                                                },
                                                "id": 15786,
                                                "isConstant": false,
                                                "isLValue": false,
                                                "isPure": false,
                                                "kind": "functionCall",
                                                "lValueRequested": false,
                                                "names": [],
                                                "nodeType": "FunctionCall",
                                                "src": "22834:67:62",
                                                "tryCall": false,
                                                "typeDescriptions": {
                                                    "typeIdentifier": "t_bytes_memory_ptr",
                                                    "typeString": "bytes memory"
                                                }
                                            }
                                        ],
                                        "expression": {
                                            "argumentTypes": [
                                                {
                                                    "typeIdentifier": "t_bytes_memory_ptr",
                                                    "typeString": "bytes memory"
                                                }
                                            ],
                                            "id": 15778,
                                            "name": "_sendLogPayload",
                                            "nodeType": "Identifier",
                                            "overloadedDeclarations": [],
                                            "referencedDeclaration": 12880,
                                            "src": "22818:15:62",
                                            "typeDescriptions": {
                                                "typeIdentifier": "t_function_internal_view$_t_bytes_memory_ptr_$returns$__$",
                                                "typeString": "function (bytes memory) view"
                                            }
                                        },
                                        "id": 15787,
                                        "isConstant": false,
                                        "isLValue": false,
                                        "isPure": false,
                                        "kind": "functionCall",
                                        "lValueRequested": false,
                                        "names": [],
                                        "nodeType": "FunctionCall",
                                        "src": "22818:84:62",
                                        "tryCall": false,
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_tuple$__$",
                                            "typeString": "tuple()"
                                        }
                                    },
                                    "id": 15788,
                                    "nodeType": "ExpressionStatement",
                                    "src": "22818:84:62"
                                }
                            ]
                        },
                        "id": 15790,
                        "implemented": true,
                        "kind": "function",
                        "modifiers": [],
                        "name": "log",
                        "nameLocation": "22760:3:62",
                        "nodeType": "FunctionDefinition",
                        "parameters": {
                            "id": 15776,
                            "nodeType": "ParameterList",
                            "parameters": [
                                {
                                    "constant": false,
                                    "id": 15769,
                                    "mutability": "mutable",
                                    "name": "p0",
                                    "nameLocation": "22769:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 15790,
                                    "src": "22764:7:62",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_uint256",
                                        "typeString": "uint256"
                                    },
                                    "typeName": {
                                        "id": 15768,
                                        "name": "uint",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "22764:4:62",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_uint256",
                                            "typeString": "uint256"
                                        }
                                    },
                                    "visibility": "internal"
                                },
                                {
                                    "constant": false,
                                    "id": 15771,
                                    "mutability": "mutable",
                                    "name": "p1",
                                    "nameLocation": "22778:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 15790,
                                    "src": "22773:7:62",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_bool",
                                        "typeString": "bool"
                                    },
                                    "typeName": {
                                        "id": 15770,
                                        "name": "bool",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "22773:4:62",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_bool",
                                            "typeString": "bool"
                                        }
                                    },
                                    "visibility": "internal"
                                },
                                {
                                    "constant": false,
                                    "id": 15773,
                                    "mutability": "mutable",
                                    "name": "p2",
                                    "nameLocation": "22787:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 15790,
                                    "src": "22782:7:62",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_uint256",
                                        "typeString": "uint256"
                                    },
                                    "typeName": {
                                        "id": 15772,
                                        "name": "uint",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "22782:4:62",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_uint256",
                                            "typeString": "uint256"
                                        }
                                    },
                                    "visibility": "internal"
                                },
                                {
                                    "constant": false,
                                    "id": 15775,
                                    "mutability": "mutable",
                                    "name": "p3",
                                    "nameLocation": "22796:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 15790,
                                    "src": "22791:7:62",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_uint256",
                                        "typeString": "uint256"
                                    },
                                    "typeName": {
                                        "id": 15774,
                                        "name": "uint",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "22791:4:62",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_uint256",
                                            "typeString": "uint256"
                                        }
                                    },
                                    "visibility": "internal"
                                }
                            ],
                            "src": "22763:36:62"
                        },
                        "returnParameters": {
                            "id": 15777,
                            "nodeType": "ParameterList",
                            "parameters": [],
                            "src": "22814:0:62"
                        },
                        "scope": 20920,
                        "src": "22751:155:62",
                        "stateMutability": "view",
                        "virtual": false,
                        "visibility": "internal"
                    },
                    {
                        "body": {
                            "id": 15812,
                            "nodeType": "Block",
                            "src": "22981:94:62",
                            "statements": [
                                {
                                    "expression": {
                                        "arguments": [
                                            {
                                                "arguments": [
                                                    {
                                                        "hexValue": "6c6f672875696e742c626f6f6c2c75696e742c737472696e6729",
                                                        "id": 15804,
                                                        "isConstant": false,
                                                        "isLValue": false,
                                                        "isPure": true,
                                                        "kind": "string",
                                                        "lValueRequested": false,
                                                        "nodeType": "Literal",
                                                        "src": "23025:28:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_stringliteral_e8ddbc56b4712607102717eb35a3ee6aa0309358d07a4257a282d4a44ceb2f63",
                                                            "typeString": "literal_string \"log(uint,bool,uint,string)\""
                                                        },
                                                        "value": "log(uint,bool,uint,string)"
                                                    },
                                                    {
                                                        "id": 15805,
                                                        "name": "p0",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 15792,
                                                        "src": "23055:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_uint256",
                                                            "typeString": "uint256"
                                                        }
                                                    },
                                                    {
                                                        "id": 15806,
                                                        "name": "p1",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 15794,
                                                        "src": "23059:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_bool",
                                                            "typeString": "bool"
                                                        }
                                                    },
                                                    {
                                                        "id": 15807,
                                                        "name": "p2",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 15796,
                                                        "src": "23063:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_uint256",
                                                            "typeString": "uint256"
                                                        }
                                                    },
                                                    {
                                                        "id": 15808,
                                                        "name": "p3",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 15798,
                                                        "src": "23067:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_string_memory_ptr",
                                                            "typeString": "string memory"
                                                        }
                                                    }
                                                ],
                                                "expression": {
                                                    "argumentTypes": [
                                                        {
                                                            "typeIdentifier": "t_stringliteral_e8ddbc56b4712607102717eb35a3ee6aa0309358d07a4257a282d4a44ceb2f63",
                                                            "typeString": "literal_string \"log(uint,bool,uint,string)\""
                                                        },
                                                        {
                                                            "typeIdentifier": "t_uint256",
                                                            "typeString": "uint256"
                                                        },
                                                        {
                                                            "typeIdentifier": "t_bool",
                                                            "typeString": "bool"
                                                        },
                                                        {
                                                            "typeIdentifier": "t_uint256",
                                                            "typeString": "uint256"
                                                        },
                                                        {
                                                            "typeIdentifier": "t_string_memory_ptr",
                                                            "typeString": "string memory"
                                                        }
                                                    ],
                                                    "expression": {
                                                        "id": 15802,
                                                        "name": "abi",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 4294967295,
                                                        "src": "23001:3:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_magic_abi",
                                                            "typeString": "abi"
                                                        }
                                                    },
                                                    "id": 15803,
                                                    "isConstant": false,
                                                    "isLValue": false,
                                                    "isPure": true,
                                                    "lValueRequested": false,
                                                    "memberName": "encodeWithSignature",
                                                    "nodeType": "MemberAccess",
                                                    "src": "23001:23:62",
                                                    "typeDescriptions": {
                                                        "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$",
                                                        "typeString": "function (string memory) pure returns (bytes memory)"
                                                    }
                                                },
                                                "id": 15809,
                                                "isConstant": false,
                                                "isLValue": false,
                                                "isPure": false,
                                                "kind": "functionCall",
                                                "lValueRequested": false,
                                                "names": [],
                                                "nodeType": "FunctionCall",
                                                "src": "23001:69:62",
                                                "tryCall": false,
                                                "typeDescriptions": {
                                                    "typeIdentifier": "t_bytes_memory_ptr",
                                                    "typeString": "bytes memory"
                                                }
                                            }
                                        ],
                                        "expression": {
                                            "argumentTypes": [
                                                {
                                                    "typeIdentifier": "t_bytes_memory_ptr",
                                                    "typeString": "bytes memory"
                                                }
                                            ],
                                            "id": 15801,
                                            "name": "_sendLogPayload",
                                            "nodeType": "Identifier",
                                            "overloadedDeclarations": [],
                                            "referencedDeclaration": 12880,
                                            "src": "22985:15:62",
                                            "typeDescriptions": {
                                                "typeIdentifier": "t_function_internal_view$_t_bytes_memory_ptr_$returns$__$",
                                                "typeString": "function (bytes memory) view"
                                            }
                                        },
                                        "id": 15810,
                                        "isConstant": false,
                                        "isLValue": false,
                                        "isPure": false,
                                        "kind": "functionCall",
                                        "lValueRequested": false,
                                        "names": [],
                                        "nodeType": "FunctionCall",
                                        "src": "22985:86:62",
                                        "tryCall": false,
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_tuple$__$",
                                            "typeString": "tuple()"
                                        }
                                    },
                                    "id": 15811,
                                    "nodeType": "ExpressionStatement",
                                    "src": "22985:86:62"
                                }
                            ]
                        },
                        "id": 15813,
                        "implemented": true,
                        "kind": "function",
                        "modifiers": [],
                        "name": "log",
                        "nameLocation": "22918:3:62",
                        "nodeType": "FunctionDefinition",
                        "parameters": {
                            "id": 15799,
                            "nodeType": "ParameterList",
                            "parameters": [
                                {
                                    "constant": false,
                                    "id": 15792,
                                    "mutability": "mutable",
                                    "name": "p0",
                                    "nameLocation": "22927:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 15813,
                                    "src": "22922:7:62",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_uint256",
                                        "typeString": "uint256"
                                    },
                                    "typeName": {
                                        "id": 15791,
                                        "name": "uint",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "22922:4:62",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_uint256",
                                            "typeString": "uint256"
                                        }
                                    },
                                    "visibility": "internal"
                                },
                                {
                                    "constant": false,
                                    "id": 15794,
                                    "mutability": "mutable",
                                    "name": "p1",
                                    "nameLocation": "22936:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 15813,
                                    "src": "22931:7:62",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_bool",
                                        "typeString": "bool"
                                    },
                                    "typeName": {
                                        "id": 15793,
                                        "name": "bool",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "22931:4:62",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_bool",
                                            "typeString": "bool"
                                        }
                                    },
                                    "visibility": "internal"
                                },
                                {
                                    "constant": false,
                                    "id": 15796,
                                    "mutability": "mutable",
                                    "name": "p2",
                                    "nameLocation": "22945:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 15813,
                                    "src": "22940:7:62",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_uint256",
                                        "typeString": "uint256"
                                    },
                                    "typeName": {
                                        "id": 15795,
                                        "name": "uint",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "22940:4:62",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_uint256",
                                            "typeString": "uint256"
                                        }
                                    },
                                    "visibility": "internal"
                                },
                                {
                                    "constant": false,
                                    "id": 15798,
                                    "mutability": "mutable",
                                    "name": "p3",
                                    "nameLocation": "22963:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 15813,
                                    "src": "22949:16:62",
                                    "stateVariable": false,
                                    "storageLocation": "memory",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_string_memory_ptr",
                                        "typeString": "string"
                                    },
                                    "typeName": {
                                        "id": 15797,
                                        "name": "string",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "22949:6:62",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_string_storage_ptr",
                                            "typeString": "string"
                                        }
                                    },
                                    "visibility": "internal"
                                }
                            ],
                            "src": "22921:45:62"
                        },
                        "returnParameters": {
                            "id": 15800,
                            "nodeType": "ParameterList",
                            "parameters": [],
                            "src": "22981:0:62"
                        },
                        "scope": 20920,
                        "src": "22909:166:62",
                        "stateMutability": "view",
                        "virtual": false,
                        "visibility": "internal"
                    },
                    {
                        "body": {
                            "id": 15835,
                            "nodeType": "Block",
                            "src": "23141:92:62",
                            "statements": [
                                {
                                    "expression": {
                                        "arguments": [
                                            {
                                                "arguments": [
                                                    {
                                                        "hexValue": "6c6f672875696e742c626f6f6c2c75696e742c626f6f6c29",
                                                        "id": 15827,
                                                        "isConstant": false,
                                                        "isLValue": false,
                                                        "isPure": true,
                                                        "kind": "string",
                                                        "lValueRequested": false,
                                                        "nodeType": "Literal",
                                                        "src": "23185:26:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_stringliteral_d2abc4fdef6f35f3785755f2ca3a26416b52c0c4c5ad8b27342fc84a56532f2f",
                                                            "typeString": "literal_string \"log(uint,bool,uint,bool)\""
                                                        },
                                                        "value": "log(uint,bool,uint,bool)"
                                                    },
                                                    {
                                                        "id": 15828,
                                                        "name": "p0",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 15815,
                                                        "src": "23213:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_uint256",
                                                            "typeString": "uint256"
                                                        }
                                                    },
                                                    {
                                                        "id": 15829,
                                                        "name": "p1",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 15817,
                                                        "src": "23217:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_bool",
                                                            "typeString": "bool"
                                                        }
                                                    },
                                                    {
                                                        "id": 15830,
                                                        "name": "p2",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 15819,
                                                        "src": "23221:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_uint256",
                                                            "typeString": "uint256"
                                                        }
                                                    },
                                                    {
                                                        "id": 15831,
                                                        "name": "p3",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 15821,
                                                        "src": "23225:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_bool",
                                                            "typeString": "bool"
                                                        }
                                                    }
                                                ],
                                                "expression": {
                                                    "argumentTypes": [
                                                        {
                                                            "typeIdentifier": "t_stringliteral_d2abc4fdef6f35f3785755f2ca3a26416b52c0c4c5ad8b27342fc84a56532f2f",
                                                            "typeString": "literal_string \"log(uint,bool,uint,bool)\""
                                                        },
                                                        {
                                                            "typeIdentifier": "t_uint256",
                                                            "typeString": "uint256"
                                                        },
                                                        {
                                                            "typeIdentifier": "t_bool",
                                                            "typeString": "bool"
                                                        },
                                                        {
                                                            "typeIdentifier": "t_uint256",
                                                            "typeString": "uint256"
                                                        },
                                                        {
                                                            "typeIdentifier": "t_bool",
                                                            "typeString": "bool"
                                                        }
                                                    ],
                                                    "expression": {
                                                        "id": 15825,
                                                        "name": "abi",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 4294967295,
                                                        "src": "23161:3:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_magic_abi",
                                                            "typeString": "abi"
                                                        }
                                                    },
                                                    "id": 15826,
                                                    "isConstant": false,
                                                    "isLValue": false,
                                                    "isPure": true,
                                                    "lValueRequested": false,
                                                    "memberName": "encodeWithSignature",
                                                    "nodeType": "MemberAccess",
                                                    "src": "23161:23:62",
                                                    "typeDescriptions": {
                                                        "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$",
                                                        "typeString": "function (string memory) pure returns (bytes memory)"
                                                    }
                                                },
                                                "id": 15832,
                                                "isConstant": false,
                                                "isLValue": false,
                                                "isPure": false,
                                                "kind": "functionCall",
                                                "lValueRequested": false,
                                                "names": [],
                                                "nodeType": "FunctionCall",
                                                "src": "23161:67:62",
                                                "tryCall": false,
                                                "typeDescriptions": {
                                                    "typeIdentifier": "t_bytes_memory_ptr",
                                                    "typeString": "bytes memory"
                                                }
                                            }
                                        ],
                                        "expression": {
                                            "argumentTypes": [
                                                {
                                                    "typeIdentifier": "t_bytes_memory_ptr",
                                                    "typeString": "bytes memory"
                                                }
                                            ],
                                            "id": 15824,
                                            "name": "_sendLogPayload",
                                            "nodeType": "Identifier",
                                            "overloadedDeclarations": [],
                                            "referencedDeclaration": 12880,
                                            "src": "23145:15:62",
                                            "typeDescriptions": {
                                                "typeIdentifier": "t_function_internal_view$_t_bytes_memory_ptr_$returns$__$",
                                                "typeString": "function (bytes memory) view"
                                            }
                                        },
                                        "id": 15833,
                                        "isConstant": false,
                                        "isLValue": false,
                                        "isPure": false,
                                        "kind": "functionCall",
                                        "lValueRequested": false,
                                        "names": [],
                                        "nodeType": "FunctionCall",
                                        "src": "23145:84:62",
                                        "tryCall": false,
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_tuple$__$",
                                            "typeString": "tuple()"
                                        }
                                    },
                                    "id": 15834,
                                    "nodeType": "ExpressionStatement",
                                    "src": "23145:84:62"
                                }
                            ]
                        },
                        "id": 15836,
                        "implemented": true,
                        "kind": "function",
                        "modifiers": [],
                        "name": "log",
                        "nameLocation": "23087:3:62",
                        "nodeType": "FunctionDefinition",
                        "parameters": {
                            "id": 15822,
                            "nodeType": "ParameterList",
                            "parameters": [
                                {
                                    "constant": false,
                                    "id": 15815,
                                    "mutability": "mutable",
                                    "name": "p0",
                                    "nameLocation": "23096:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 15836,
                                    "src": "23091:7:62",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_uint256",
                                        "typeString": "uint256"
                                    },
                                    "typeName": {
                                        "id": 15814,
                                        "name": "uint",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "23091:4:62",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_uint256",
                                            "typeString": "uint256"
                                        }
                                    },
                                    "visibility": "internal"
                                },
                                {
                                    "constant": false,
                                    "id": 15817,
                                    "mutability": "mutable",
                                    "name": "p1",
                                    "nameLocation": "23105:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 15836,
                                    "src": "23100:7:62",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_bool",
                                        "typeString": "bool"
                                    },
                                    "typeName": {
                                        "id": 15816,
                                        "name": "bool",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "23100:4:62",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_bool",
                                            "typeString": "bool"
                                        }
                                    },
                                    "visibility": "internal"
                                },
                                {
                                    "constant": false,
                                    "id": 15819,
                                    "mutability": "mutable",
                                    "name": "p2",
                                    "nameLocation": "23114:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 15836,
                                    "src": "23109:7:62",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_uint256",
                                        "typeString": "uint256"
                                    },
                                    "typeName": {
                                        "id": 15818,
                                        "name": "uint",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "23109:4:62",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_uint256",
                                            "typeString": "uint256"
                                        }
                                    },
                                    "visibility": "internal"
                                },
                                {
                                    "constant": false,
                                    "id": 15821,
                                    "mutability": "mutable",
                                    "name": "p3",
                                    "nameLocation": "23123:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 15836,
                                    "src": "23118:7:62",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_bool",
                                        "typeString": "bool"
                                    },
                                    "typeName": {
                                        "id": 15820,
                                        "name": "bool",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "23118:4:62",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_bool",
                                            "typeString": "bool"
                                        }
                                    },
                                    "visibility": "internal"
                                }
                            ],
                            "src": "23090:36:62"
                        },
                        "returnParameters": {
                            "id": 15823,
                            "nodeType": "ParameterList",
                            "parameters": [],
                            "src": "23141:0:62"
                        },
                        "scope": 20920,
                        "src": "23078:155:62",
                        "stateMutability": "view",
                        "virtual": false,
                        "visibility": "internal"
                    },
                    {
                        "body": {
                            "id": 15858,
                            "nodeType": "Block",
                            "src": "23302:95:62",
                            "statements": [
                                {
                                    "expression": {
                                        "arguments": [
                                            {
                                                "arguments": [
                                                    {
                                                        "hexValue": "6c6f672875696e742c626f6f6c2c75696e742c6164647265737329",
                                                        "id": 15850,
                                                        "isConstant": false,
                                                        "isLValue": false,
                                                        "isPure": true,
                                                        "kind": "string",
                                                        "lValueRequested": false,
                                                        "nodeType": "Literal",
                                                        "src": "23346:29:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_stringliteral_4f40058ea8927b23c60661eeb28f54d3ce10f5f6cdd8e3ce445d34409ceb50a3",
                                                            "typeString": "literal_string \"log(uint,bool,uint,address)\""
                                                        },
                                                        "value": "log(uint,bool,uint,address)"
                                                    },
                                                    {
                                                        "id": 15851,
                                                        "name": "p0",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 15838,
                                                        "src": "23377:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_uint256",
                                                            "typeString": "uint256"
                                                        }
                                                    },
                                                    {
                                                        "id": 15852,
                                                        "name": "p1",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 15840,
                                                        "src": "23381:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_bool",
                                                            "typeString": "bool"
                                                        }
                                                    },
                                                    {
                                                        "id": 15853,
                                                        "name": "p2",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 15842,
                                                        "src": "23385:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_uint256",
                                                            "typeString": "uint256"
                                                        }
                                                    },
                                                    {
                                                        "id": 15854,
                                                        "name": "p3",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 15844,
                                                        "src": "23389:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_address",
                                                            "typeString": "address"
                                                        }
                                                    }
                                                ],
                                                "expression": {
                                                    "argumentTypes": [
                                                        {
                                                            "typeIdentifier": "t_stringliteral_4f40058ea8927b23c60661eeb28f54d3ce10f5f6cdd8e3ce445d34409ceb50a3",
                                                            "typeString": "literal_string \"log(uint,bool,uint,address)\""
                                                        },
                                                        {
                                                            "typeIdentifier": "t_uint256",
                                                            "typeString": "uint256"
                                                        },
                                                        {
                                                            "typeIdentifier": "t_bool",
                                                            "typeString": "bool"
                                                        },
                                                        {
                                                            "typeIdentifier": "t_uint256",
                                                            "typeString": "uint256"
                                                        },
                                                        {
                                                            "typeIdentifier": "t_address",
                                                            "typeString": "address"
                                                        }
                                                    ],
                                                    "expression": {
                                                        "id": 15848,
                                                        "name": "abi",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 4294967295,
                                                        "src": "23322:3:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_magic_abi",
                                                            "typeString": "abi"
                                                        }
                                                    },
                                                    "id": 15849,
                                                    "isConstant": false,
                                                    "isLValue": false,
                                                    "isPure": true,
                                                    "lValueRequested": false,
                                                    "memberName": "encodeWithSignature",
                                                    "nodeType": "MemberAccess",
                                                    "src": "23322:23:62",
                                                    "typeDescriptions": {
                                                        "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$",
                                                        "typeString": "function (string memory) pure returns (bytes memory)"
                                                    }
                                                },
                                                "id": 15855,
                                                "isConstant": false,
                                                "isLValue": false,
                                                "isPure": false,
                                                "kind": "functionCall",
                                                "lValueRequested": false,
                                                "names": [],
                                                "nodeType": "FunctionCall",
                                                "src": "23322:70:62",
                                                "tryCall": false,
                                                "typeDescriptions": {
                                                    "typeIdentifier": "t_bytes_memory_ptr",
                                                    "typeString": "bytes memory"
                                                }
                                            }
                                        ],
                                        "expression": {
                                            "argumentTypes": [
                                                {
                                                    "typeIdentifier": "t_bytes_memory_ptr",
                                                    "typeString": "bytes memory"
                                                }
                                            ],
                                            "id": 15847,
                                            "name": "_sendLogPayload",
                                            "nodeType": "Identifier",
                                            "overloadedDeclarations": [],
                                            "referencedDeclaration": 12880,
                                            "src": "23306:15:62",
                                            "typeDescriptions": {
                                                "typeIdentifier": "t_function_internal_view$_t_bytes_memory_ptr_$returns$__$",
                                                "typeString": "function (bytes memory) view"
                                            }
                                        },
                                        "id": 15856,
                                        "isConstant": false,
                                        "isLValue": false,
                                        "isPure": false,
                                        "kind": "functionCall",
                                        "lValueRequested": false,
                                        "names": [],
                                        "nodeType": "FunctionCall",
                                        "src": "23306:87:62",
                                        "tryCall": false,
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_tuple$__$",
                                            "typeString": "tuple()"
                                        }
                                    },
                                    "id": 15857,
                                    "nodeType": "ExpressionStatement",
                                    "src": "23306:87:62"
                                }
                            ]
                        },
                        "id": 15859,
                        "implemented": true,
                        "kind": "function",
                        "modifiers": [],
                        "name": "log",
                        "nameLocation": "23245:3:62",
                        "nodeType": "FunctionDefinition",
                        "parameters": {
                            "id": 15845,
                            "nodeType": "ParameterList",
                            "parameters": [
                                {
                                    "constant": false,
                                    "id": 15838,
                                    "mutability": "mutable",
                                    "name": "p0",
                                    "nameLocation": "23254:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 15859,
                                    "src": "23249:7:62",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_uint256",
                                        "typeString": "uint256"
                                    },
                                    "typeName": {
                                        "id": 15837,
                                        "name": "uint",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "23249:4:62",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_uint256",
                                            "typeString": "uint256"
                                        }
                                    },
                                    "visibility": "internal"
                                },
                                {
                                    "constant": false,
                                    "id": 15840,
                                    "mutability": "mutable",
                                    "name": "p1",
                                    "nameLocation": "23263:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 15859,
                                    "src": "23258:7:62",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_bool",
                                        "typeString": "bool"
                                    },
                                    "typeName": {
                                        "id": 15839,
                                        "name": "bool",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "23258:4:62",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_bool",
                                            "typeString": "bool"
                                        }
                                    },
                                    "visibility": "internal"
                                },
                                {
                                    "constant": false,
                                    "id": 15842,
                                    "mutability": "mutable",
                                    "name": "p2",
                                    "nameLocation": "23272:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 15859,
                                    "src": "23267:7:62",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_uint256",
                                        "typeString": "uint256"
                                    },
                                    "typeName": {
                                        "id": 15841,
                                        "name": "uint",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "23267:4:62",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_uint256",
                                            "typeString": "uint256"
                                        }
                                    },
                                    "visibility": "internal"
                                },
                                {
                                    "constant": false,
                                    "id": 15844,
                                    "mutability": "mutable",
                                    "name": "p3",
                                    "nameLocation": "23284:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 15859,
                                    "src": "23276:10:62",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_address",
                                        "typeString": "address"
                                    },
                                    "typeName": {
                                        "id": 15843,
                                        "name": "address",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "23276:7:62",
                                        "stateMutability": "nonpayable",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_address",
                                            "typeString": "address"
                                        }
                                    },
                                    "visibility": "internal"
                                }
                            ],
                            "src": "23248:39:62"
                        },
                        "returnParameters": {
                            "id": 15846,
                            "nodeType": "ParameterList",
                            "parameters": [],
                            "src": "23302:0:62"
                        },
                        "scope": 20920,
                        "src": "23236:161:62",
                        "stateMutability": "view",
                        "virtual": false,
                        "visibility": "internal"
                    },
                    {
                        "body": {
                            "id": 15881,
                            "nodeType": "Block",
                            "src": "23472:94:62",
                            "statements": [
                                {
                                    "expression": {
                                        "arguments": [
                                            {
                                                "arguments": [
                                                    {
                                                        "hexValue": "6c6f672875696e742c626f6f6c2c737472696e672c75696e7429",
                                                        "id": 15873,
                                                        "isConstant": false,
                                                        "isLValue": false,
                                                        "isPure": true,
                                                        "kind": "string",
                                                        "lValueRequested": false,
                                                        "nodeType": "Literal",
                                                        "src": "23516:28:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_stringliteral_915fdb28841654f5e04882ad0aa4f5de28bd90db1a700dae8b1eb5e67e36a012",
                                                            "typeString": "literal_string \"log(uint,bool,string,uint)\""
                                                        },
                                                        "value": "log(uint,bool,string,uint)"
                                                    },
                                                    {
                                                        "id": 15874,
                                                        "name": "p0",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 15861,
                                                        "src": "23546:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_uint256",
                                                            "typeString": "uint256"
                                                        }
                                                    },
                                                    {
                                                        "id": 15875,
                                                        "name": "p1",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 15863,
                                                        "src": "23550:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_bool",
                                                            "typeString": "bool"
                                                        }
                                                    },
                                                    {
                                                        "id": 15876,
                                                        "name": "p2",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 15865,
                                                        "src": "23554:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_string_memory_ptr",
                                                            "typeString": "string memory"
                                                        }
                                                    },
                                                    {
                                                        "id": 15877,
                                                        "name": "p3",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 15867,
                                                        "src": "23558:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_uint256",
                                                            "typeString": "uint256"
                                                        }
                                                    }
                                                ],
                                                "expression": {
                                                    "argumentTypes": [
                                                        {
                                                            "typeIdentifier": "t_stringliteral_915fdb28841654f5e04882ad0aa4f5de28bd90db1a700dae8b1eb5e67e36a012",
                                                            "typeString": "literal_string \"log(uint,bool,string,uint)\""
                                                        },
                                                        {
                                                            "typeIdentifier": "t_uint256",
                                                            "typeString": "uint256"
                                                        },
                                                        {
                                                            "typeIdentifier": "t_bool",
                                                            "typeString": "bool"
                                                        },
                                                        {
                                                            "typeIdentifier": "t_string_memory_ptr",
                                                            "typeString": "string memory"
                                                        },
                                                        {
                                                            "typeIdentifier": "t_uint256",
                                                            "typeString": "uint256"
                                                        }
                                                    ],
                                                    "expression": {
                                                        "id": 15871,
                                                        "name": "abi",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 4294967295,
                                                        "src": "23492:3:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_magic_abi",
                                                            "typeString": "abi"
                                                        }
                                                    },
                                                    "id": 15872,
                                                    "isConstant": false,
                                                    "isLValue": false,
                                                    "isPure": true,
                                                    "lValueRequested": false,
                                                    "memberName": "encodeWithSignature",
                                                    "nodeType": "MemberAccess",
                                                    "src": "23492:23:62",
                                                    "typeDescriptions": {
                                                        "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$",
                                                        "typeString": "function (string memory) pure returns (bytes memory)"
                                                    }
                                                },
                                                "id": 15878,
                                                "isConstant": false,
                                                "isLValue": false,
                                                "isPure": false,
                                                "kind": "functionCall",
                                                "lValueRequested": false,
                                                "names": [],
                                                "nodeType": "FunctionCall",
                                                "src": "23492:69:62",
                                                "tryCall": false,
                                                "typeDescriptions": {
                                                    "typeIdentifier": "t_bytes_memory_ptr",
                                                    "typeString": "bytes memory"
                                                }
                                            }
                                        ],
                                        "expression": {
                                            "argumentTypes": [
                                                {
                                                    "typeIdentifier": "t_bytes_memory_ptr",
                                                    "typeString": "bytes memory"
                                                }
                                            ],
                                            "id": 15870,
                                            "name": "_sendLogPayload",
                                            "nodeType": "Identifier",
                                            "overloadedDeclarations": [],
                                            "referencedDeclaration": 12880,
                                            "src": "23476:15:62",
                                            "typeDescriptions": {
                                                "typeIdentifier": "t_function_internal_view$_t_bytes_memory_ptr_$returns$__$",
                                                "typeString": "function (bytes memory) view"
                                            }
                                        },
                                        "id": 15879,
                                        "isConstant": false,
                                        "isLValue": false,
                                        "isPure": false,
                                        "kind": "functionCall",
                                        "lValueRequested": false,
                                        "names": [],
                                        "nodeType": "FunctionCall",
                                        "src": "23476:86:62",
                                        "tryCall": false,
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_tuple$__$",
                                            "typeString": "tuple()"
                                        }
                                    },
                                    "id": 15880,
                                    "nodeType": "ExpressionStatement",
                                    "src": "23476:86:62"
                                }
                            ]
                        },
                        "id": 15882,
                        "implemented": true,
                        "kind": "function",
                        "modifiers": [],
                        "name": "log",
                        "nameLocation": "23409:3:62",
                        "nodeType": "FunctionDefinition",
                        "parameters": {
                            "id": 15868,
                            "nodeType": "ParameterList",
                            "parameters": [
                                {
                                    "constant": false,
                                    "id": 15861,
                                    "mutability": "mutable",
                                    "name": "p0",
                                    "nameLocation": "23418:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 15882,
                                    "src": "23413:7:62",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_uint256",
                                        "typeString": "uint256"
                                    },
                                    "typeName": {
                                        "id": 15860,
                                        "name": "uint",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "23413:4:62",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_uint256",
                                            "typeString": "uint256"
                                        }
                                    },
                                    "visibility": "internal"
                                },
                                {
                                    "constant": false,
                                    "id": 15863,
                                    "mutability": "mutable",
                                    "name": "p1",
                                    "nameLocation": "23427:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 15882,
                                    "src": "23422:7:62",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_bool",
                                        "typeString": "bool"
                                    },
                                    "typeName": {
                                        "id": 15862,
                                        "name": "bool",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "23422:4:62",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_bool",
                                            "typeString": "bool"
                                        }
                                    },
                                    "visibility": "internal"
                                },
                                {
                                    "constant": false,
                                    "id": 15865,
                                    "mutability": "mutable",
                                    "name": "p2",
                                    "nameLocation": "23445:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 15882,
                                    "src": "23431:16:62",
                                    "stateVariable": false,
                                    "storageLocation": "memory",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_string_memory_ptr",
                                        "typeString": "string"
                                    },
                                    "typeName": {
                                        "id": 15864,
                                        "name": "string",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "23431:6:62",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_string_storage_ptr",
                                            "typeString": "string"
                                        }
                                    },
                                    "visibility": "internal"
                                },
                                {
                                    "constant": false,
                                    "id": 15867,
                                    "mutability": "mutable",
                                    "name": "p3",
                                    "nameLocation": "23454:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 15882,
                                    "src": "23449:7:62",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_uint256",
                                        "typeString": "uint256"
                                    },
                                    "typeName": {
                                        "id": 15866,
                                        "name": "uint",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "23449:4:62",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_uint256",
                                            "typeString": "uint256"
                                        }
                                    },
                                    "visibility": "internal"
                                }
                            ],
                            "src": "23412:45:62"
                        },
                        "returnParameters": {
                            "id": 15869,
                            "nodeType": "ParameterList",
                            "parameters": [],
                            "src": "23472:0:62"
                        },
                        "scope": 20920,
                        "src": "23400:166:62",
                        "stateMutability": "view",
                        "virtual": false,
                        "visibility": "internal"
                    },
                    {
                        "body": {
                            "id": 15904,
                            "nodeType": "Block",
                            "src": "23650:96:62",
                            "statements": [
                                {
                                    "expression": {
                                        "arguments": [
                                            {
                                                "arguments": [
                                                    {
                                                        "hexValue": "6c6f672875696e742c626f6f6c2c737472696e672c737472696e6729",
                                                        "id": 15896,
                                                        "isConstant": false,
                                                        "isLValue": false,
                                                        "isPure": true,
                                                        "kind": "string",
                                                        "lValueRequested": false,
                                                        "nodeType": "Literal",
                                                        "src": "23694:30:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_stringliteral_a433fcfd538cd0e077747fbb2c5a6453c1804c6ad4af653273e0d14ab4a0566a",
                                                            "typeString": "literal_string \"log(uint,bool,string,string)\""
                                                        },
                                                        "value": "log(uint,bool,string,string)"
                                                    },
                                                    {
                                                        "id": 15897,
                                                        "name": "p0",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 15884,
                                                        "src": "23726:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_uint256",
                                                            "typeString": "uint256"
                                                        }
                                                    },
                                                    {
                                                        "id": 15898,
                                                        "name": "p1",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 15886,
                                                        "src": "23730:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_bool",
                                                            "typeString": "bool"
                                                        }
                                                    },
                                                    {
                                                        "id": 15899,
                                                        "name": "p2",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 15888,
                                                        "src": "23734:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_string_memory_ptr",
                                                            "typeString": "string memory"
                                                        }
                                                    },
                                                    {
                                                        "id": 15900,
                                                        "name": "p3",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 15890,
                                                        "src": "23738:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_string_memory_ptr",
                                                            "typeString": "string memory"
                                                        }
                                                    }
                                                ],
                                                "expression": {
                                                    "argumentTypes": [
                                                        {
                                                            "typeIdentifier": "t_stringliteral_a433fcfd538cd0e077747fbb2c5a6453c1804c6ad4af653273e0d14ab4a0566a",
                                                            "typeString": "literal_string \"log(uint,bool,string,string)\""
                                                        },
                                                        {
                                                            "typeIdentifier": "t_uint256",
                                                            "typeString": "uint256"
                                                        },
                                                        {
                                                            "typeIdentifier": "t_bool",
                                                            "typeString": "bool"
                                                        },
                                                        {
                                                            "typeIdentifier": "t_string_memory_ptr",
                                                            "typeString": "string memory"
                                                        },
                                                        {
                                                            "typeIdentifier": "t_string_memory_ptr",
                                                            "typeString": "string memory"
                                                        }
                                                    ],
                                                    "expression": {
                                                        "id": 15894,
                                                        "name": "abi",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 4294967295,
                                                        "src": "23670:3:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_magic_abi",
                                                            "typeString": "abi"
                                                        }
                                                    },
                                                    "id": 15895,
                                                    "isConstant": false,
                                                    "isLValue": false,
                                                    "isPure": true,
                                                    "lValueRequested": false,
                                                    "memberName": "encodeWithSignature",
                                                    "nodeType": "MemberAccess",
                                                    "src": "23670:23:62",
                                                    "typeDescriptions": {
                                                        "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$",
                                                        "typeString": "function (string memory) pure returns (bytes memory)"
                                                    }
                                                },
                                                "id": 15901,
                                                "isConstant": false,
                                                "isLValue": false,
                                                "isPure": false,
                                                "kind": "functionCall",
                                                "lValueRequested": false,
                                                "names": [],
                                                "nodeType": "FunctionCall",
                                                "src": "23670:71:62",
                                                "tryCall": false,
                                                "typeDescriptions": {
                                                    "typeIdentifier": "t_bytes_memory_ptr",
                                                    "typeString": "bytes memory"
                                                }
                                            }
                                        ],
                                        "expression": {
                                            "argumentTypes": [
                                                {
                                                    "typeIdentifier": "t_bytes_memory_ptr",
                                                    "typeString": "bytes memory"
                                                }
                                            ],
                                            "id": 15893,
                                            "name": "_sendLogPayload",
                                            "nodeType": "Identifier",
                                            "overloadedDeclarations": [],
                                            "referencedDeclaration": 12880,
                                            "src": "23654:15:62",
                                            "typeDescriptions": {
                                                "typeIdentifier": "t_function_internal_view$_t_bytes_memory_ptr_$returns$__$",
                                                "typeString": "function (bytes memory) view"
                                            }
                                        },
                                        "id": 15902,
                                        "isConstant": false,
                                        "isLValue": false,
                                        "isPure": false,
                                        "kind": "functionCall",
                                        "lValueRequested": false,
                                        "names": [],
                                        "nodeType": "FunctionCall",
                                        "src": "23654:88:62",
                                        "tryCall": false,
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_tuple$__$",
                                            "typeString": "tuple()"
                                        }
                                    },
                                    "id": 15903,
                                    "nodeType": "ExpressionStatement",
                                    "src": "23654:88:62"
                                }
                            ]
                        },
                        "id": 15905,
                        "implemented": true,
                        "kind": "function",
                        "modifiers": [],
                        "name": "log",
                        "nameLocation": "23578:3:62",
                        "nodeType": "FunctionDefinition",
                        "parameters": {
                            "id": 15891,
                            "nodeType": "ParameterList",
                            "parameters": [
                                {
                                    "constant": false,
                                    "id": 15884,
                                    "mutability": "mutable",
                                    "name": "p0",
                                    "nameLocation": "23587:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 15905,
                                    "src": "23582:7:62",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_uint256",
                                        "typeString": "uint256"
                                    },
                                    "typeName": {
                                        "id": 15883,
                                        "name": "uint",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "23582:4:62",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_uint256",
                                            "typeString": "uint256"
                                        }
                                    },
                                    "visibility": "internal"
                                },
                                {
                                    "constant": false,
                                    "id": 15886,
                                    "mutability": "mutable",
                                    "name": "p1",
                                    "nameLocation": "23596:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 15905,
                                    "src": "23591:7:62",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_bool",
                                        "typeString": "bool"
                                    },
                                    "typeName": {
                                        "id": 15885,
                                        "name": "bool",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "23591:4:62",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_bool",
                                            "typeString": "bool"
                                        }
                                    },
                                    "visibility": "internal"
                                },
                                {
                                    "constant": false,
                                    "id": 15888,
                                    "mutability": "mutable",
                                    "name": "p2",
                                    "nameLocation": "23614:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 15905,
                                    "src": "23600:16:62",
                                    "stateVariable": false,
                                    "storageLocation": "memory",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_string_memory_ptr",
                                        "typeString": "string"
                                    },
                                    "typeName": {
                                        "id": 15887,
                                        "name": "string",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "23600:6:62",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_string_storage_ptr",
                                            "typeString": "string"
                                        }
                                    },
                                    "visibility": "internal"
                                },
                                {
                                    "constant": false,
                                    "id": 15890,
                                    "mutability": "mutable",
                                    "name": "p3",
                                    "nameLocation": "23632:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 15905,
                                    "src": "23618:16:62",
                                    "stateVariable": false,
                                    "storageLocation": "memory",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_string_memory_ptr",
                                        "typeString": "string"
                                    },
                                    "typeName": {
                                        "id": 15889,
                                        "name": "string",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "23618:6:62",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_string_storage_ptr",
                                            "typeString": "string"
                                        }
                                    },
                                    "visibility": "internal"
                                }
                            ],
                            "src": "23581:54:62"
                        },
                        "returnParameters": {
                            "id": 15892,
                            "nodeType": "ParameterList",
                            "parameters": [],
                            "src": "23650:0:62"
                        },
                        "scope": 20920,
                        "src": "23569:177:62",
                        "stateMutability": "view",
                        "virtual": false,
                        "visibility": "internal"
                    },
                    {
                        "body": {
                            "id": 15927,
                            "nodeType": "Block",
                            "src": "23821:94:62",
                            "statements": [
                                {
                                    "expression": {
                                        "arguments": [
                                            {
                                                "arguments": [
                                                    {
                                                        "hexValue": "6c6f672875696e742c626f6f6c2c737472696e672c626f6f6c29",
                                                        "id": 15919,
                                                        "isConstant": false,
                                                        "isLValue": false,
                                                        "isPure": true,
                                                        "kind": "string",
                                                        "lValueRequested": false,
                                                        "nodeType": "Literal",
                                                        "src": "23865:28:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_stringliteral_346eb8c74221bcb2c0a69b8dde628b7e6175c4f090782c8f07996b251212e22d",
                                                            "typeString": "literal_string \"log(uint,bool,string,bool)\""
                                                        },
                                                        "value": "log(uint,bool,string,bool)"
                                                    },
                                                    {
                                                        "id": 15920,
                                                        "name": "p0",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 15907,
                                                        "src": "23895:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_uint256",
                                                            "typeString": "uint256"
                                                        }
                                                    },
                                                    {
                                                        "id": 15921,
                                                        "name": "p1",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 15909,
                                                        "src": "23899:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_bool",
                                                            "typeString": "bool"
                                                        }
                                                    },
                                                    {
                                                        "id": 15922,
                                                        "name": "p2",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 15911,
                                                        "src": "23903:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_string_memory_ptr",
                                                            "typeString": "string memory"
                                                        }
                                                    },
                                                    {
                                                        "id": 15923,
                                                        "name": "p3",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 15913,
                                                        "src": "23907:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_bool",
                                                            "typeString": "bool"
                                                        }
                                                    }
                                                ],
                                                "expression": {
                                                    "argumentTypes": [
                                                        {
                                                            "typeIdentifier": "t_stringliteral_346eb8c74221bcb2c0a69b8dde628b7e6175c4f090782c8f07996b251212e22d",
                                                            "typeString": "literal_string \"log(uint,bool,string,bool)\""
                                                        },
                                                        {
                                                            "typeIdentifier": "t_uint256",
                                                            "typeString": "uint256"
                                                        },
                                                        {
                                                            "typeIdentifier": "t_bool",
                                                            "typeString": "bool"
                                                        },
                                                        {
                                                            "typeIdentifier": "t_string_memory_ptr",
                                                            "typeString": "string memory"
                                                        },
                                                        {
                                                            "typeIdentifier": "t_bool",
                                                            "typeString": "bool"
                                                        }
                                                    ],
                                                    "expression": {
                                                        "id": 15917,
                                                        "name": "abi",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 4294967295,
                                                        "src": "23841:3:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_magic_abi",
                                                            "typeString": "abi"
                                                        }
                                                    },
                                                    "id": 15918,
                                                    "isConstant": false,
                                                    "isLValue": false,
                                                    "isPure": true,
                                                    "lValueRequested": false,
                                                    "memberName": "encodeWithSignature",
                                                    "nodeType": "MemberAccess",
                                                    "src": "23841:23:62",
                                                    "typeDescriptions": {
                                                        "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$",
                                                        "typeString": "function (string memory) pure returns (bytes memory)"
                                                    }
                                                },
                                                "id": 15924,
                                                "isConstant": false,
                                                "isLValue": false,
                                                "isPure": false,
                                                "kind": "functionCall",
                                                "lValueRequested": false,
                                                "names": [],
                                                "nodeType": "FunctionCall",
                                                "src": "23841:69:62",
                                                "tryCall": false,
                                                "typeDescriptions": {
                                                    "typeIdentifier": "t_bytes_memory_ptr",
                                                    "typeString": "bytes memory"
                                                }
                                            }
                                        ],
                                        "expression": {
                                            "argumentTypes": [
                                                {
                                                    "typeIdentifier": "t_bytes_memory_ptr",
                                                    "typeString": "bytes memory"
                                                }
                                            ],
                                            "id": 15916,
                                            "name": "_sendLogPayload",
                                            "nodeType": "Identifier",
                                            "overloadedDeclarations": [],
                                            "referencedDeclaration": 12880,
                                            "src": "23825:15:62",
                                            "typeDescriptions": {
                                                "typeIdentifier": "t_function_internal_view$_t_bytes_memory_ptr_$returns$__$",
                                                "typeString": "function (bytes memory) view"
                                            }
                                        },
                                        "id": 15925,
                                        "isConstant": false,
                                        "isLValue": false,
                                        "isPure": false,
                                        "kind": "functionCall",
                                        "lValueRequested": false,
                                        "names": [],
                                        "nodeType": "FunctionCall",
                                        "src": "23825:86:62",
                                        "tryCall": false,
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_tuple$__$",
                                            "typeString": "tuple()"
                                        }
                                    },
                                    "id": 15926,
                                    "nodeType": "ExpressionStatement",
                                    "src": "23825:86:62"
                                }
                            ]
                        },
                        "id": 15928,
                        "implemented": true,
                        "kind": "function",
                        "modifiers": [],
                        "name": "log",
                        "nameLocation": "23758:3:62",
                        "nodeType": "FunctionDefinition",
                        "parameters": {
                            "id": 15914,
                            "nodeType": "ParameterList",
                            "parameters": [
                                {
                                    "constant": false,
                                    "id": 15907,
                                    "mutability": "mutable",
                                    "name": "p0",
                                    "nameLocation": "23767:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 15928,
                                    "src": "23762:7:62",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_uint256",
                                        "typeString": "uint256"
                                    },
                                    "typeName": {
                                        "id": 15906,
                                        "name": "uint",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "23762:4:62",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_uint256",
                                            "typeString": "uint256"
                                        }
                                    },
                                    "visibility": "internal"
                                },
                                {
                                    "constant": false,
                                    "id": 15909,
                                    "mutability": "mutable",
                                    "name": "p1",
                                    "nameLocation": "23776:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 15928,
                                    "src": "23771:7:62",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_bool",
                                        "typeString": "bool"
                                    },
                                    "typeName": {
                                        "id": 15908,
                                        "name": "bool",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "23771:4:62",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_bool",
                                            "typeString": "bool"
                                        }
                                    },
                                    "visibility": "internal"
                                },
                                {
                                    "constant": false,
                                    "id": 15911,
                                    "mutability": "mutable",
                                    "name": "p2",
                                    "nameLocation": "23794:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 15928,
                                    "src": "23780:16:62",
                                    "stateVariable": false,
                                    "storageLocation": "memory",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_string_memory_ptr",
                                        "typeString": "string"
                                    },
                                    "typeName": {
                                        "id": 15910,
                                        "name": "string",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "23780:6:62",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_string_storage_ptr",
                                            "typeString": "string"
                                        }
                                    },
                                    "visibility": "internal"
                                },
                                {
                                    "constant": false,
                                    "id": 15913,
                                    "mutability": "mutable",
                                    "name": "p3",
                                    "nameLocation": "23803:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 15928,
                                    "src": "23798:7:62",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_bool",
                                        "typeString": "bool"
                                    },
                                    "typeName": {
                                        "id": 15912,
                                        "name": "bool",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "23798:4:62",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_bool",
                                            "typeString": "bool"
                                        }
                                    },
                                    "visibility": "internal"
                                }
                            ],
                            "src": "23761:45:62"
                        },
                        "returnParameters": {
                            "id": 15915,
                            "nodeType": "ParameterList",
                            "parameters": [],
                            "src": "23821:0:62"
                        },
                        "scope": 20920,
                        "src": "23749:166:62",
                        "stateMutability": "view",
                        "virtual": false,
                        "visibility": "internal"
                    },
                    {
                        "body": {
                            "id": 15950,
                            "nodeType": "Block",
                            "src": "23993:97:62",
                            "statements": [
                                {
                                    "expression": {
                                        "arguments": [
                                            {
                                                "arguments": [
                                                    {
                                                        "hexValue": "6c6f672875696e742c626f6f6c2c737472696e672c6164647265737329",
                                                        "id": 15942,
                                                        "isConstant": false,
                                                        "isLValue": false,
                                                        "isPure": true,
                                                        "kind": "string",
                                                        "lValueRequested": false,
                                                        "nodeType": "Literal",
                                                        "src": "24037:31:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_stringliteral_496e2bb45f5cdd3680c3e807c53955b9de163e898851c7844433c0a9c91dcd9d",
                                                            "typeString": "literal_string \"log(uint,bool,string,address)\""
                                                        },
                                                        "value": "log(uint,bool,string,address)"
                                                    },
                                                    {
                                                        "id": 15943,
                                                        "name": "p0",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 15930,
                                                        "src": "24070:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_uint256",
                                                            "typeString": "uint256"
                                                        }
                                                    },
                                                    {
                                                        "id": 15944,
                                                        "name": "p1",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 15932,
                                                        "src": "24074:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_bool",
                                                            "typeString": "bool"
                                                        }
                                                    },
                                                    {
                                                        "id": 15945,
                                                        "name": "p2",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 15934,
                                                        "src": "24078:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_string_memory_ptr",
                                                            "typeString": "string memory"
                                                        }
                                                    },
                                                    {
                                                        "id": 15946,
                                                        "name": "p3",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 15936,
                                                        "src": "24082:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_address",
                                                            "typeString": "address"
                                                        }
                                                    }
                                                ],
                                                "expression": {
                                                    "argumentTypes": [
                                                        {
                                                            "typeIdentifier": "t_stringliteral_496e2bb45f5cdd3680c3e807c53955b9de163e898851c7844433c0a9c91dcd9d",
                                                            "typeString": "literal_string \"log(uint,bool,string,address)\""
                                                        },
                                                        {
                                                            "typeIdentifier": "t_uint256",
                                                            "typeString": "uint256"
                                                        },
                                                        {
                                                            "typeIdentifier": "t_bool",
                                                            "typeString": "bool"
                                                        },
                                                        {
                                                            "typeIdentifier": "t_string_memory_ptr",
                                                            "typeString": "string memory"
                                                        },
                                                        {
                                                            "typeIdentifier": "t_address",
                                                            "typeString": "address"
                                                        }
                                                    ],
                                                    "expression": {
                                                        "id": 15940,
                                                        "name": "abi",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 4294967295,
                                                        "src": "24013:3:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_magic_abi",
                                                            "typeString": "abi"
                                                        }
                                                    },
                                                    "id": 15941,
                                                    "isConstant": false,
                                                    "isLValue": false,
                                                    "isPure": true,
                                                    "lValueRequested": false,
                                                    "memberName": "encodeWithSignature",
                                                    "nodeType": "MemberAccess",
                                                    "src": "24013:23:62",
                                                    "typeDescriptions": {
                                                        "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$",
                                                        "typeString": "function (string memory) pure returns (bytes memory)"
                                                    }
                                                },
                                                "id": 15947,
                                                "isConstant": false,
                                                "isLValue": false,
                                                "isPure": false,
                                                "kind": "functionCall",
                                                "lValueRequested": false,
                                                "names": [],
                                                "nodeType": "FunctionCall",
                                                "src": "24013:72:62",
                                                "tryCall": false,
                                                "typeDescriptions": {
                                                    "typeIdentifier": "t_bytes_memory_ptr",
                                                    "typeString": "bytes memory"
                                                }
                                            }
                                        ],
                                        "expression": {
                                            "argumentTypes": [
                                                {
                                                    "typeIdentifier": "t_bytes_memory_ptr",
                                                    "typeString": "bytes memory"
                                                }
                                            ],
                                            "id": 15939,
                                            "name": "_sendLogPayload",
                                            "nodeType": "Identifier",
                                            "overloadedDeclarations": [],
                                            "referencedDeclaration": 12880,
                                            "src": "23997:15:62",
                                            "typeDescriptions": {
                                                "typeIdentifier": "t_function_internal_view$_t_bytes_memory_ptr_$returns$__$",
                                                "typeString": "function (bytes memory) view"
                                            }
                                        },
                                        "id": 15948,
                                        "isConstant": false,
                                        "isLValue": false,
                                        "isPure": false,
                                        "kind": "functionCall",
                                        "lValueRequested": false,
                                        "names": [],
                                        "nodeType": "FunctionCall",
                                        "src": "23997:89:62",
                                        "tryCall": false,
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_tuple$__$",
                                            "typeString": "tuple()"
                                        }
                                    },
                                    "id": 15949,
                                    "nodeType": "ExpressionStatement",
                                    "src": "23997:89:62"
                                }
                            ]
                        },
                        "id": 15951,
                        "implemented": true,
                        "kind": "function",
                        "modifiers": [],
                        "name": "log",
                        "nameLocation": "23927:3:62",
                        "nodeType": "FunctionDefinition",
                        "parameters": {
                            "id": 15937,
                            "nodeType": "ParameterList",
                            "parameters": [
                                {
                                    "constant": false,
                                    "id": 15930,
                                    "mutability": "mutable",
                                    "name": "p0",
                                    "nameLocation": "23936:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 15951,
                                    "src": "23931:7:62",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_uint256",
                                        "typeString": "uint256"
                                    },
                                    "typeName": {
                                        "id": 15929,
                                        "name": "uint",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "23931:4:62",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_uint256",
                                            "typeString": "uint256"
                                        }
                                    },
                                    "visibility": "internal"
                                },
                                {
                                    "constant": false,
                                    "id": 15932,
                                    "mutability": "mutable",
                                    "name": "p1",
                                    "nameLocation": "23945:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 15951,
                                    "src": "23940:7:62",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_bool",
                                        "typeString": "bool"
                                    },
                                    "typeName": {
                                        "id": 15931,
                                        "name": "bool",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "23940:4:62",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_bool",
                                            "typeString": "bool"
                                        }
                                    },
                                    "visibility": "internal"
                                },
                                {
                                    "constant": false,
                                    "id": 15934,
                                    "mutability": "mutable",
                                    "name": "p2",
                                    "nameLocation": "23963:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 15951,
                                    "src": "23949:16:62",
                                    "stateVariable": false,
                                    "storageLocation": "memory",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_string_memory_ptr",
                                        "typeString": "string"
                                    },
                                    "typeName": {
                                        "id": 15933,
                                        "name": "string",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "23949:6:62",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_string_storage_ptr",
                                            "typeString": "string"
                                        }
                                    },
                                    "visibility": "internal"
                                },
                                {
                                    "constant": false,
                                    "id": 15936,
                                    "mutability": "mutable",
                                    "name": "p3",
                                    "nameLocation": "23975:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 15951,
                                    "src": "23967:10:62",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_address",
                                        "typeString": "address"
                                    },
                                    "typeName": {
                                        "id": 15935,
                                        "name": "address",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "23967:7:62",
                                        "stateMutability": "nonpayable",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_address",
                                            "typeString": "address"
                                        }
                                    },
                                    "visibility": "internal"
                                }
                            ],
                            "src": "23930:48:62"
                        },
                        "returnParameters": {
                            "id": 15938,
                            "nodeType": "ParameterList",
                            "parameters": [],
                            "src": "23993:0:62"
                        },
                        "scope": 20920,
                        "src": "23918:172:62",
                        "stateMutability": "view",
                        "virtual": false,
                        "visibility": "internal"
                    },
                    {
                        "body": {
                            "id": 15973,
                            "nodeType": "Block",
                            "src": "24156:92:62",
                            "statements": [
                                {
                                    "expression": {
                                        "arguments": [
                                            {
                                                "arguments": [
                                                    {
                                                        "hexValue": "6c6f672875696e742c626f6f6c2c626f6f6c2c75696e7429",
                                                        "id": 15965,
                                                        "isConstant": false,
                                                        "isLValue": false,
                                                        "isPure": true,
                                                        "kind": "string",
                                                        "lValueRequested": false,
                                                        "nodeType": "Literal",
                                                        "src": "24200:26:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_stringliteral_bd25ad5987e2f3e90d5ff2c9e0dad802782e9040e45e823722ccf598278cf7ed",
                                                            "typeString": "literal_string \"log(uint,bool,bool,uint)\""
                                                        },
                                                        "value": "log(uint,bool,bool,uint)"
                                                    },
                                                    {
                                                        "id": 15966,
                                                        "name": "p0",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 15953,
                                                        "src": "24228:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_uint256",
                                                            "typeString": "uint256"
                                                        }
                                                    },
                                                    {
                                                        "id": 15967,
                                                        "name": "p1",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 15955,
                                                        "src": "24232:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_bool",
                                                            "typeString": "bool"
                                                        }
                                                    },
                                                    {
                                                        "id": 15968,
                                                        "name": "p2",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 15957,
                                                        "src": "24236:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_bool",
                                                            "typeString": "bool"
                                                        }
                                                    },
                                                    {
                                                        "id": 15969,
                                                        "name": "p3",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 15959,
                                                        "src": "24240:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_uint256",
                                                            "typeString": "uint256"
                                                        }
                                                    }
                                                ],
                                                "expression": {
                                                    "argumentTypes": [
                                                        {
                                                            "typeIdentifier": "t_stringliteral_bd25ad5987e2f3e90d5ff2c9e0dad802782e9040e45e823722ccf598278cf7ed",
                                                            "typeString": "literal_string \"log(uint,bool,bool,uint)\""
                                                        },
                                                        {
                                                            "typeIdentifier": "t_uint256",
                                                            "typeString": "uint256"
                                                        },
                                                        {
                                                            "typeIdentifier": "t_bool",
                                                            "typeString": "bool"
                                                        },
                                                        {
                                                            "typeIdentifier": "t_bool",
                                                            "typeString": "bool"
                                                        },
                                                        {
                                                            "typeIdentifier": "t_uint256",
                                                            "typeString": "uint256"
                                                        }
                                                    ],
                                                    "expression": {
                                                        "id": 15963,
                                                        "name": "abi",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 4294967295,
                                                        "src": "24176:3:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_magic_abi",
                                                            "typeString": "abi"
                                                        }
                                                    },
                                                    "id": 15964,
                                                    "isConstant": false,
                                                    "isLValue": false,
                                                    "isPure": true,
                                                    "lValueRequested": false,
                                                    "memberName": "encodeWithSignature",
                                                    "nodeType": "MemberAccess",
                                                    "src": "24176:23:62",
                                                    "typeDescriptions": {
                                                        "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$",
                                                        "typeString": "function (string memory) pure returns (bytes memory)"
                                                    }
                                                },
                                                "id": 15970,
                                                "isConstant": false,
                                                "isLValue": false,
                                                "isPure": false,
                                                "kind": "functionCall",
                                                "lValueRequested": false,
                                                "names": [],
                                                "nodeType": "FunctionCall",
                                                "src": "24176:67:62",
                                                "tryCall": false,
                                                "typeDescriptions": {
                                                    "typeIdentifier": "t_bytes_memory_ptr",
                                                    "typeString": "bytes memory"
                                                }
                                            }
                                        ],
                                        "expression": {
                                            "argumentTypes": [
                                                {
                                                    "typeIdentifier": "t_bytes_memory_ptr",
                                                    "typeString": "bytes memory"
                                                }
                                            ],
                                            "id": 15962,
                                            "name": "_sendLogPayload",
                                            "nodeType": "Identifier",
                                            "overloadedDeclarations": [],
                                            "referencedDeclaration": 12880,
                                            "src": "24160:15:62",
                                            "typeDescriptions": {
                                                "typeIdentifier": "t_function_internal_view$_t_bytes_memory_ptr_$returns$__$",
                                                "typeString": "function (bytes memory) view"
                                            }
                                        },
                                        "id": 15971,
                                        "isConstant": false,
                                        "isLValue": false,
                                        "isPure": false,
                                        "kind": "functionCall",
                                        "lValueRequested": false,
                                        "names": [],
                                        "nodeType": "FunctionCall",
                                        "src": "24160:84:62",
                                        "tryCall": false,
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_tuple$__$",
                                            "typeString": "tuple()"
                                        }
                                    },
                                    "id": 15972,
                                    "nodeType": "ExpressionStatement",
                                    "src": "24160:84:62"
                                }
                            ]
                        },
                        "id": 15974,
                        "implemented": true,
                        "kind": "function",
                        "modifiers": [],
                        "name": "log",
                        "nameLocation": "24102:3:62",
                        "nodeType": "FunctionDefinition",
                        "parameters": {
                            "id": 15960,
                            "nodeType": "ParameterList",
                            "parameters": [
                                {
                                    "constant": false,
                                    "id": 15953,
                                    "mutability": "mutable",
                                    "name": "p0",
                                    "nameLocation": "24111:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 15974,
                                    "src": "24106:7:62",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_uint256",
                                        "typeString": "uint256"
                                    },
                                    "typeName": {
                                        "id": 15952,
                                        "name": "uint",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "24106:4:62",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_uint256",
                                            "typeString": "uint256"
                                        }
                                    },
                                    "visibility": "internal"
                                },
                                {
                                    "constant": false,
                                    "id": 15955,
                                    "mutability": "mutable",
                                    "name": "p1",
                                    "nameLocation": "24120:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 15974,
                                    "src": "24115:7:62",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_bool",
                                        "typeString": "bool"
                                    },
                                    "typeName": {
                                        "id": 15954,
                                        "name": "bool",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "24115:4:62",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_bool",
                                            "typeString": "bool"
                                        }
                                    },
                                    "visibility": "internal"
                                },
                                {
                                    "constant": false,
                                    "id": 15957,
                                    "mutability": "mutable",
                                    "name": "p2",
                                    "nameLocation": "24129:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 15974,
                                    "src": "24124:7:62",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_bool",
                                        "typeString": "bool"
                                    },
                                    "typeName": {
                                        "id": 15956,
                                        "name": "bool",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "24124:4:62",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_bool",
                                            "typeString": "bool"
                                        }
                                    },
                                    "visibility": "internal"
                                },
                                {
                                    "constant": false,
                                    "id": 15959,
                                    "mutability": "mutable",
                                    "name": "p3",
                                    "nameLocation": "24138:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 15974,
                                    "src": "24133:7:62",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_uint256",
                                        "typeString": "uint256"
                                    },
                                    "typeName": {
                                        "id": 15958,
                                        "name": "uint",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "24133:4:62",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_uint256",
                                            "typeString": "uint256"
                                        }
                                    },
                                    "visibility": "internal"
                                }
                            ],
                            "src": "24105:36:62"
                        },
                        "returnParameters": {
                            "id": 15961,
                            "nodeType": "ParameterList",
                            "parameters": [],
                            "src": "24156:0:62"
                        },
                        "scope": 20920,
                        "src": "24093:155:62",
                        "stateMutability": "view",
                        "virtual": false,
                        "visibility": "internal"
                    },
                    {
                        "body": {
                            "id": 15996,
                            "nodeType": "Block",
                            "src": "24323:94:62",
                            "statements": [
                                {
                                    "expression": {
                                        "arguments": [
                                            {
                                                "arguments": [
                                                    {
                                                        "hexValue": "6c6f672875696e742c626f6f6c2c626f6f6c2c737472696e6729",
                                                        "id": 15988,
                                                        "isConstant": false,
                                                        "isLValue": false,
                                                        "isPure": true,
                                                        "kind": "string",
                                                        "lValueRequested": false,
                                                        "nodeType": "Literal",
                                                        "src": "24367:28:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_stringliteral_318ae59b506d4efe5cd02b34be9f24009f0134ab1136defc4789a09e425a8861",
                                                            "typeString": "literal_string \"log(uint,bool,bool,string)\""
                                                        },
                                                        "value": "log(uint,bool,bool,string)"
                                                    },
                                                    {
                                                        "id": 15989,
                                                        "name": "p0",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 15976,
                                                        "src": "24397:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_uint256",
                                                            "typeString": "uint256"
                                                        }
                                                    },
                                                    {
                                                        "id": 15990,
                                                        "name": "p1",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 15978,
                                                        "src": "24401:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_bool",
                                                            "typeString": "bool"
                                                        }
                                                    },
                                                    {
                                                        "id": 15991,
                                                        "name": "p2",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 15980,
                                                        "src": "24405:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_bool",
                                                            "typeString": "bool"
                                                        }
                                                    },
                                                    {
                                                        "id": 15992,
                                                        "name": "p3",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 15982,
                                                        "src": "24409:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_string_memory_ptr",
                                                            "typeString": "string memory"
                                                        }
                                                    }
                                                ],
                                                "expression": {
                                                    "argumentTypes": [
                                                        {
                                                            "typeIdentifier": "t_stringliteral_318ae59b506d4efe5cd02b34be9f24009f0134ab1136defc4789a09e425a8861",
                                                            "typeString": "literal_string \"log(uint,bool,bool,string)\""
                                                        },
                                                        {
                                                            "typeIdentifier": "t_uint256",
                                                            "typeString": "uint256"
                                                        },
                                                        {
                                                            "typeIdentifier": "t_bool",
                                                            "typeString": "bool"
                                                        },
                                                        {
                                                            "typeIdentifier": "t_bool",
                                                            "typeString": "bool"
                                                        },
                                                        {
                                                            "typeIdentifier": "t_string_memory_ptr",
                                                            "typeString": "string memory"
                                                        }
                                                    ],
                                                    "expression": {
                                                        "id": 15986,
                                                        "name": "abi",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 4294967295,
                                                        "src": "24343:3:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_magic_abi",
                                                            "typeString": "abi"
                                                        }
                                                    },
                                                    "id": 15987,
                                                    "isConstant": false,
                                                    "isLValue": false,
                                                    "isPure": true,
                                                    "lValueRequested": false,
                                                    "memberName": "encodeWithSignature",
                                                    "nodeType": "MemberAccess",
                                                    "src": "24343:23:62",
                                                    "typeDescriptions": {
                                                        "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$",
                                                        "typeString": "function (string memory) pure returns (bytes memory)"
                                                    }
                                                },
                                                "id": 15993,
                                                "isConstant": false,
                                                "isLValue": false,
                                                "isPure": false,
                                                "kind": "functionCall",
                                                "lValueRequested": false,
                                                "names": [],
                                                "nodeType": "FunctionCall",
                                                "src": "24343:69:62",
                                                "tryCall": false,
                                                "typeDescriptions": {
                                                    "typeIdentifier": "t_bytes_memory_ptr",
                                                    "typeString": "bytes memory"
                                                }
                                            }
                                        ],
                                        "expression": {
                                            "argumentTypes": [
                                                {
                                                    "typeIdentifier": "t_bytes_memory_ptr",
                                                    "typeString": "bytes memory"
                                                }
                                            ],
                                            "id": 15985,
                                            "name": "_sendLogPayload",
                                            "nodeType": "Identifier",
                                            "overloadedDeclarations": [],
                                            "referencedDeclaration": 12880,
                                            "src": "24327:15:62",
                                            "typeDescriptions": {
                                                "typeIdentifier": "t_function_internal_view$_t_bytes_memory_ptr_$returns$__$",
                                                "typeString": "function (bytes memory) view"
                                            }
                                        },
                                        "id": 15994,
                                        "isConstant": false,
                                        "isLValue": false,
                                        "isPure": false,
                                        "kind": "functionCall",
                                        "lValueRequested": false,
                                        "names": [],
                                        "nodeType": "FunctionCall",
                                        "src": "24327:86:62",
                                        "tryCall": false,
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_tuple$__$",
                                            "typeString": "tuple()"
                                        }
                                    },
                                    "id": 15995,
                                    "nodeType": "ExpressionStatement",
                                    "src": "24327:86:62"
                                }
                            ]
                        },
                        "id": 15997,
                        "implemented": true,
                        "kind": "function",
                        "modifiers": [],
                        "name": "log",
                        "nameLocation": "24260:3:62",
                        "nodeType": "FunctionDefinition",
                        "parameters": {
                            "id": 15983,
                            "nodeType": "ParameterList",
                            "parameters": [
                                {
                                    "constant": false,
                                    "id": 15976,
                                    "mutability": "mutable",
                                    "name": "p0",
                                    "nameLocation": "24269:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 15997,
                                    "src": "24264:7:62",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_uint256",
                                        "typeString": "uint256"
                                    },
                                    "typeName": {
                                        "id": 15975,
                                        "name": "uint",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "24264:4:62",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_uint256",
                                            "typeString": "uint256"
                                        }
                                    },
                                    "visibility": "internal"
                                },
                                {
                                    "constant": false,
                                    "id": 15978,
                                    "mutability": "mutable",
                                    "name": "p1",
                                    "nameLocation": "24278:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 15997,
                                    "src": "24273:7:62",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_bool",
                                        "typeString": "bool"
                                    },
                                    "typeName": {
                                        "id": 15977,
                                        "name": "bool",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "24273:4:62",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_bool",
                                            "typeString": "bool"
                                        }
                                    },
                                    "visibility": "internal"
                                },
                                {
                                    "constant": false,
                                    "id": 15980,
                                    "mutability": "mutable",
                                    "name": "p2",
                                    "nameLocation": "24287:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 15997,
                                    "src": "24282:7:62",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_bool",
                                        "typeString": "bool"
                                    },
                                    "typeName": {
                                        "id": 15979,
                                        "name": "bool",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "24282:4:62",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_bool",
                                            "typeString": "bool"
                                        }
                                    },
                                    "visibility": "internal"
                                },
                                {
                                    "constant": false,
                                    "id": 15982,
                                    "mutability": "mutable",
                                    "name": "p3",
                                    "nameLocation": "24305:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 15997,
                                    "src": "24291:16:62",
                                    "stateVariable": false,
                                    "storageLocation": "memory",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_string_memory_ptr",
                                        "typeString": "string"
                                    },
                                    "typeName": {
                                        "id": 15981,
                                        "name": "string",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "24291:6:62",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_string_storage_ptr",
                                            "typeString": "string"
                                        }
                                    },
                                    "visibility": "internal"
                                }
                            ],
                            "src": "24263:45:62"
                        },
                        "returnParameters": {
                            "id": 15984,
                            "nodeType": "ParameterList",
                            "parameters": [],
                            "src": "24323:0:62"
                        },
                        "scope": 20920,
                        "src": "24251:166:62",
                        "stateMutability": "view",
                        "virtual": false,
                        "visibility": "internal"
                    },
                    {
                        "body": {
                            "id": 16019,
                            "nodeType": "Block",
                            "src": "24483:92:62",
                            "statements": [
                                {
                                    "expression": {
                                        "arguments": [
                                            {
                                                "arguments": [
                                                    {
                                                        "hexValue": "6c6f672875696e742c626f6f6c2c626f6f6c2c626f6f6c29",
                                                        "id": 16011,
                                                        "isConstant": false,
                                                        "isLValue": false,
                                                        "isPure": true,
                                                        "kind": "string",
                                                        "lValueRequested": false,
                                                        "nodeType": "Literal",
                                                        "src": "24527:26:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_stringliteral_4e6c5315e6998332ba87ae2545bc72447c94349a51e999446a98bfab04167b32",
                                                            "typeString": "literal_string \"log(uint,bool,bool,bool)\""
                                                        },
                                                        "value": "log(uint,bool,bool,bool)"
                                                    },
                                                    {
                                                        "id": 16012,
                                                        "name": "p0",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 15999,
                                                        "src": "24555:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_uint256",
                                                            "typeString": "uint256"
                                                        }
                                                    },
                                                    {
                                                        "id": 16013,
                                                        "name": "p1",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 16001,
                                                        "src": "24559:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_bool",
                                                            "typeString": "bool"
                                                        }
                                                    },
                                                    {
                                                        "id": 16014,
                                                        "name": "p2",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 16003,
                                                        "src": "24563:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_bool",
                                                            "typeString": "bool"
                                                        }
                                                    },
                                                    {
                                                        "id": 16015,
                                                        "name": "p3",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 16005,
                                                        "src": "24567:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_bool",
                                                            "typeString": "bool"
                                                        }
                                                    }
                                                ],
                                                "expression": {
                                                    "argumentTypes": [
                                                        {
                                                            "typeIdentifier": "t_stringliteral_4e6c5315e6998332ba87ae2545bc72447c94349a51e999446a98bfab04167b32",
                                                            "typeString": "literal_string \"log(uint,bool,bool,bool)\""
                                                        },
                                                        {
                                                            "typeIdentifier": "t_uint256",
                                                            "typeString": "uint256"
                                                        },
                                                        {
                                                            "typeIdentifier": "t_bool",
                                                            "typeString": "bool"
                                                        },
                                                        {
                                                            "typeIdentifier": "t_bool",
                                                            "typeString": "bool"
                                                        },
                                                        {
                                                            "typeIdentifier": "t_bool",
                                                            "typeString": "bool"
                                                        }
                                                    ],
                                                    "expression": {
                                                        "id": 16009,
                                                        "name": "abi",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 4294967295,
                                                        "src": "24503:3:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_magic_abi",
                                                            "typeString": "abi"
                                                        }
                                                    },
                                                    "id": 16010,
                                                    "isConstant": false,
                                                    "isLValue": false,
                                                    "isPure": true,
                                                    "lValueRequested": false,
                                                    "memberName": "encodeWithSignature",
                                                    "nodeType": "MemberAccess",
                                                    "src": "24503:23:62",
                                                    "typeDescriptions": {
                                                        "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$",
                                                        "typeString": "function (string memory) pure returns (bytes memory)"
                                                    }
                                                },
                                                "id": 16016,
                                                "isConstant": false,
                                                "isLValue": false,
                                                "isPure": false,
                                                "kind": "functionCall",
                                                "lValueRequested": false,
                                                "names": [],
                                                "nodeType": "FunctionCall",
                                                "src": "24503:67:62",
                                                "tryCall": false,
                                                "typeDescriptions": {
                                                    "typeIdentifier": "t_bytes_memory_ptr",
                                                    "typeString": "bytes memory"
                                                }
                                            }
                                        ],
                                        "expression": {
                                            "argumentTypes": [
                                                {
                                                    "typeIdentifier": "t_bytes_memory_ptr",
                                                    "typeString": "bytes memory"
                                                }
                                            ],
                                            "id": 16008,
                                            "name": "_sendLogPayload",
                                            "nodeType": "Identifier",
                                            "overloadedDeclarations": [],
                                            "referencedDeclaration": 12880,
                                            "src": "24487:15:62",
                                            "typeDescriptions": {
                                                "typeIdentifier": "t_function_internal_view$_t_bytes_memory_ptr_$returns$__$",
                                                "typeString": "function (bytes memory) view"
                                            }
                                        },
                                        "id": 16017,
                                        "isConstant": false,
                                        "isLValue": false,
                                        "isPure": false,
                                        "kind": "functionCall",
                                        "lValueRequested": false,
                                        "names": [],
                                        "nodeType": "FunctionCall",
                                        "src": "24487:84:62",
                                        "tryCall": false,
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_tuple$__$",
                                            "typeString": "tuple()"
                                        }
                                    },
                                    "id": 16018,
                                    "nodeType": "ExpressionStatement",
                                    "src": "24487:84:62"
                                }
                            ]
                        },
                        "id": 16020,
                        "implemented": true,
                        "kind": "function",
                        "modifiers": [],
                        "name": "log",
                        "nameLocation": "24429:3:62",
                        "nodeType": "FunctionDefinition",
                        "parameters": {
                            "id": 16006,
                            "nodeType": "ParameterList",
                            "parameters": [
                                {
                                    "constant": false,
                                    "id": 15999,
                                    "mutability": "mutable",
                                    "name": "p0",
                                    "nameLocation": "24438:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 16020,
                                    "src": "24433:7:62",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_uint256",
                                        "typeString": "uint256"
                                    },
                                    "typeName": {
                                        "id": 15998,
                                        "name": "uint",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "24433:4:62",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_uint256",
                                            "typeString": "uint256"
                                        }
                                    },
                                    "visibility": "internal"
                                },
                                {
                                    "constant": false,
                                    "id": 16001,
                                    "mutability": "mutable",
                                    "name": "p1",
                                    "nameLocation": "24447:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 16020,
                                    "src": "24442:7:62",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_bool",
                                        "typeString": "bool"
                                    },
                                    "typeName": {
                                        "id": 16000,
                                        "name": "bool",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "24442:4:62",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_bool",
                                            "typeString": "bool"
                                        }
                                    },
                                    "visibility": "internal"
                                },
                                {
                                    "constant": false,
                                    "id": 16003,
                                    "mutability": "mutable",
                                    "name": "p2",
                                    "nameLocation": "24456:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 16020,
                                    "src": "24451:7:62",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_bool",
                                        "typeString": "bool"
                                    },
                                    "typeName": {
                                        "id": 16002,
                                        "name": "bool",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "24451:4:62",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_bool",
                                            "typeString": "bool"
                                        }
                                    },
                                    "visibility": "internal"
                                },
                                {
                                    "constant": false,
                                    "id": 16005,
                                    "mutability": "mutable",
                                    "name": "p3",
                                    "nameLocation": "24465:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 16020,
                                    "src": "24460:7:62",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_bool",
                                        "typeString": "bool"
                                    },
                                    "typeName": {
                                        "id": 16004,
                                        "name": "bool",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "24460:4:62",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_bool",
                                            "typeString": "bool"
                                        }
                                    },
                                    "visibility": "internal"
                                }
                            ],
                            "src": "24432:36:62"
                        },
                        "returnParameters": {
                            "id": 16007,
                            "nodeType": "ParameterList",
                            "parameters": [],
                            "src": "24483:0:62"
                        },
                        "scope": 20920,
                        "src": "24420:155:62",
                        "stateMutability": "view",
                        "virtual": false,
                        "visibility": "internal"
                    },
                    {
                        "body": {
                            "id": 16042,
                            "nodeType": "Block",
                            "src": "24644:95:62",
                            "statements": [
                                {
                                    "expression": {
                                        "arguments": [
                                            {
                                                "arguments": [
                                                    {
                                                        "hexValue": "6c6f672875696e742c626f6f6c2c626f6f6c2c6164647265737329",
                                                        "id": 16034,
                                                        "isConstant": false,
                                                        "isLValue": false,
                                                        "isPure": true,
                                                        "kind": "string",
                                                        "lValueRequested": false,
                                                        "nodeType": "Literal",
                                                        "src": "24688:29:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_stringliteral_5306225d3f6a0c340e12a634d8571b24a659d0fdcb96dd45e3bd062feb68355b",
                                                            "typeString": "literal_string \"log(uint,bool,bool,address)\""
                                                        },
                                                        "value": "log(uint,bool,bool,address)"
                                                    },
                                                    {
                                                        "id": 16035,
                                                        "name": "p0",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 16022,
                                                        "src": "24719:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_uint256",
                                                            "typeString": "uint256"
                                                        }
                                                    },
                                                    {
                                                        "id": 16036,
                                                        "name": "p1",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 16024,
                                                        "src": "24723:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_bool",
                                                            "typeString": "bool"
                                                        }
                                                    },
                                                    {
                                                        "id": 16037,
                                                        "name": "p2",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 16026,
                                                        "src": "24727:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_bool",
                                                            "typeString": "bool"
                                                        }
                                                    },
                                                    {
                                                        "id": 16038,
                                                        "name": "p3",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 16028,
                                                        "src": "24731:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_address",
                                                            "typeString": "address"
                                                        }
                                                    }
                                                ],
                                                "expression": {
                                                    "argumentTypes": [
                                                        {
                                                            "typeIdentifier": "t_stringliteral_5306225d3f6a0c340e12a634d8571b24a659d0fdcb96dd45e3bd062feb68355b",
                                                            "typeString": "literal_string \"log(uint,bool,bool,address)\""
                                                        },
                                                        {
                                                            "typeIdentifier": "t_uint256",
                                                            "typeString": "uint256"
                                                        },
                                                        {
                                                            "typeIdentifier": "t_bool",
                                                            "typeString": "bool"
                                                        },
                                                        {
                                                            "typeIdentifier": "t_bool",
                                                            "typeString": "bool"
                                                        },
                                                        {
                                                            "typeIdentifier": "t_address",
                                                            "typeString": "address"
                                                        }
                                                    ],
                                                    "expression": {
                                                        "id": 16032,
                                                        "name": "abi",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 4294967295,
                                                        "src": "24664:3:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_magic_abi",
                                                            "typeString": "abi"
                                                        }
                                                    },
                                                    "id": 16033,
                                                    "isConstant": false,
                                                    "isLValue": false,
                                                    "isPure": true,
                                                    "lValueRequested": false,
                                                    "memberName": "encodeWithSignature",
                                                    "nodeType": "MemberAccess",
                                                    "src": "24664:23:62",
                                                    "typeDescriptions": {
                                                        "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$",
                                                        "typeString": "function (string memory) pure returns (bytes memory)"
                                                    }
                                                },
                                                "id": 16039,
                                                "isConstant": false,
                                                "isLValue": false,
                                                "isPure": false,
                                                "kind": "functionCall",
                                                "lValueRequested": false,
                                                "names": [],
                                                "nodeType": "FunctionCall",
                                                "src": "24664:70:62",
                                                "tryCall": false,
                                                "typeDescriptions": {
                                                    "typeIdentifier": "t_bytes_memory_ptr",
                                                    "typeString": "bytes memory"
                                                }
                                            }
                                        ],
                                        "expression": {
                                            "argumentTypes": [
                                                {
                                                    "typeIdentifier": "t_bytes_memory_ptr",
                                                    "typeString": "bytes memory"
                                                }
                                            ],
                                            "id": 16031,
                                            "name": "_sendLogPayload",
                                            "nodeType": "Identifier",
                                            "overloadedDeclarations": [],
                                            "referencedDeclaration": 12880,
                                            "src": "24648:15:62",
                                            "typeDescriptions": {
                                                "typeIdentifier": "t_function_internal_view$_t_bytes_memory_ptr_$returns$__$",
                                                "typeString": "function (bytes memory) view"
                                            }
                                        },
                                        "id": 16040,
                                        "isConstant": false,
                                        "isLValue": false,
                                        "isPure": false,
                                        "kind": "functionCall",
                                        "lValueRequested": false,
                                        "names": [],
                                        "nodeType": "FunctionCall",
                                        "src": "24648:87:62",
                                        "tryCall": false,
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_tuple$__$",
                                            "typeString": "tuple()"
                                        }
                                    },
                                    "id": 16041,
                                    "nodeType": "ExpressionStatement",
                                    "src": "24648:87:62"
                                }
                            ]
                        },
                        "id": 16043,
                        "implemented": true,
                        "kind": "function",
                        "modifiers": [],
                        "name": "log",
                        "nameLocation": "24587:3:62",
                        "nodeType": "FunctionDefinition",
                        "parameters": {
                            "id": 16029,
                            "nodeType": "ParameterList",
                            "parameters": [
                                {
                                    "constant": false,
                                    "id": 16022,
                                    "mutability": "mutable",
                                    "name": "p0",
                                    "nameLocation": "24596:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 16043,
                                    "src": "24591:7:62",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_uint256",
                                        "typeString": "uint256"
                                    },
                                    "typeName": {
                                        "id": 16021,
                                        "name": "uint",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "24591:4:62",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_uint256",
                                            "typeString": "uint256"
                                        }
                                    },
                                    "visibility": "internal"
                                },
                                {
                                    "constant": false,
                                    "id": 16024,
                                    "mutability": "mutable",
                                    "name": "p1",
                                    "nameLocation": "24605:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 16043,
                                    "src": "24600:7:62",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_bool",
                                        "typeString": "bool"
                                    },
                                    "typeName": {
                                        "id": 16023,
                                        "name": "bool",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "24600:4:62",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_bool",
                                            "typeString": "bool"
                                        }
                                    },
                                    "visibility": "internal"
                                },
                                {
                                    "constant": false,
                                    "id": 16026,
                                    "mutability": "mutable",
                                    "name": "p2",
                                    "nameLocation": "24614:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 16043,
                                    "src": "24609:7:62",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_bool",
                                        "typeString": "bool"
                                    },
                                    "typeName": {
                                        "id": 16025,
                                        "name": "bool",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "24609:4:62",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_bool",
                                            "typeString": "bool"
                                        }
                                    },
                                    "visibility": "internal"
                                },
                                {
                                    "constant": false,
                                    "id": 16028,
                                    "mutability": "mutable",
                                    "name": "p3",
                                    "nameLocation": "24626:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 16043,
                                    "src": "24618:10:62",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_address",
                                        "typeString": "address"
                                    },
                                    "typeName": {
                                        "id": 16027,
                                        "name": "address",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "24618:7:62",
                                        "stateMutability": "nonpayable",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_address",
                                            "typeString": "address"
                                        }
                                    },
                                    "visibility": "internal"
                                }
                            ],
                            "src": "24590:39:62"
                        },
                        "returnParameters": {
                            "id": 16030,
                            "nodeType": "ParameterList",
                            "parameters": [],
                            "src": "24644:0:62"
                        },
                        "scope": 20920,
                        "src": "24578:161:62",
                        "stateMutability": "view",
                        "virtual": false,
                        "visibility": "internal"
                    },
                    {
                        "body": {
                            "id": 16065,
                            "nodeType": "Block",
                            "src": "24808:95:62",
                            "statements": [
                                {
                                    "expression": {
                                        "arguments": [
                                            {
                                                "arguments": [
                                                    {
                                                        "hexValue": "6c6f672875696e742c626f6f6c2c616464726573732c75696e7429",
                                                        "id": 16057,
                                                        "isConstant": false,
                                                        "isLValue": false,
                                                        "isPure": true,
                                                        "kind": "string",
                                                        "lValueRequested": false,
                                                        "nodeType": "Literal",
                                                        "src": "24852:29:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_stringliteral_41b5ef3bc57cb6072d9bbab757f04e68fb78a6a8b29741a7b963761abce32fb1",
                                                            "typeString": "literal_string \"log(uint,bool,address,uint)\""
                                                        },
                                                        "value": "log(uint,bool,address,uint)"
                                                    },
                                                    {
                                                        "id": 16058,
                                                        "name": "p0",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 16045,
                                                        "src": "24883:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_uint256",
                                                            "typeString": "uint256"
                                                        }
                                                    },
                                                    {
                                                        "id": 16059,
                                                        "name": "p1",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 16047,
                                                        "src": "24887:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_bool",
                                                            "typeString": "bool"
                                                        }
                                                    },
                                                    {
                                                        "id": 16060,
                                                        "name": "p2",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 16049,
                                                        "src": "24891:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_address",
                                                            "typeString": "address"
                                                        }
                                                    },
                                                    {
                                                        "id": 16061,
                                                        "name": "p3",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 16051,
                                                        "src": "24895:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_uint256",
                                                            "typeString": "uint256"
                                                        }
                                                    }
                                                ],
                                                "expression": {
                                                    "argumentTypes": [
                                                        {
                                                            "typeIdentifier": "t_stringliteral_41b5ef3bc57cb6072d9bbab757f04e68fb78a6a8b29741a7b963761abce32fb1",
                                                            "typeString": "literal_string \"log(uint,bool,address,uint)\""
                                                        },
                                                        {
                                                            "typeIdentifier": "t_uint256",
                                                            "typeString": "uint256"
                                                        },
                                                        {
                                                            "typeIdentifier": "t_bool",
                                                            "typeString": "bool"
                                                        },
                                                        {
                                                            "typeIdentifier": "t_address",
                                                            "typeString": "address"
                                                        },
                                                        {
                                                            "typeIdentifier": "t_uint256",
                                                            "typeString": "uint256"
                                                        }
                                                    ],
                                                    "expression": {
                                                        "id": 16055,
                                                        "name": "abi",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 4294967295,
                                                        "src": "24828:3:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_magic_abi",
                                                            "typeString": "abi"
                                                        }
                                                    },
                                                    "id": 16056,
                                                    "isConstant": false,
                                                    "isLValue": false,
                                                    "isPure": true,
                                                    "lValueRequested": false,
                                                    "memberName": "encodeWithSignature",
                                                    "nodeType": "MemberAccess",
                                                    "src": "24828:23:62",
                                                    "typeDescriptions": {
                                                        "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$",
                                                        "typeString": "function (string memory) pure returns (bytes memory)"
                                                    }
                                                },
                                                "id": 16062,
                                                "isConstant": false,
                                                "isLValue": false,
                                                "isPure": false,
                                                "kind": "functionCall",
                                                "lValueRequested": false,
                                                "names": [],
                                                "nodeType": "FunctionCall",
                                                "src": "24828:70:62",
                                                "tryCall": false,
                                                "typeDescriptions": {
                                                    "typeIdentifier": "t_bytes_memory_ptr",
                                                    "typeString": "bytes memory"
                                                }
                                            }
                                        ],
                                        "expression": {
                                            "argumentTypes": [
                                                {
                                                    "typeIdentifier": "t_bytes_memory_ptr",
                                                    "typeString": "bytes memory"
                                                }
                                            ],
                                            "id": 16054,
                                            "name": "_sendLogPayload",
                                            "nodeType": "Identifier",
                                            "overloadedDeclarations": [],
                                            "referencedDeclaration": 12880,
                                            "src": "24812:15:62",
                                            "typeDescriptions": {
                                                "typeIdentifier": "t_function_internal_view$_t_bytes_memory_ptr_$returns$__$",
                                                "typeString": "function (bytes memory) view"
                                            }
                                        },
                                        "id": 16063,
                                        "isConstant": false,
                                        "isLValue": false,
                                        "isPure": false,
                                        "kind": "functionCall",
                                        "lValueRequested": false,
                                        "names": [],
                                        "nodeType": "FunctionCall",
                                        "src": "24812:87:62",
                                        "tryCall": false,
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_tuple$__$",
                                            "typeString": "tuple()"
                                        }
                                    },
                                    "id": 16064,
                                    "nodeType": "ExpressionStatement",
                                    "src": "24812:87:62"
                                }
                            ]
                        },
                        "id": 16066,
                        "implemented": true,
                        "kind": "function",
                        "modifiers": [],
                        "name": "log",
                        "nameLocation": "24751:3:62",
                        "nodeType": "FunctionDefinition",
                        "parameters": {
                            "id": 16052,
                            "nodeType": "ParameterList",
                            "parameters": [
                                {
                                    "constant": false,
                                    "id": 16045,
                                    "mutability": "mutable",
                                    "name": "p0",
                                    "nameLocation": "24760:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 16066,
                                    "src": "24755:7:62",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_uint256",
                                        "typeString": "uint256"
                                    },
                                    "typeName": {
                                        "id": 16044,
                                        "name": "uint",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "24755:4:62",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_uint256",
                                            "typeString": "uint256"
                                        }
                                    },
                                    "visibility": "internal"
                                },
                                {
                                    "constant": false,
                                    "id": 16047,
                                    "mutability": "mutable",
                                    "name": "p1",
                                    "nameLocation": "24769:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 16066,
                                    "src": "24764:7:62",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_bool",
                                        "typeString": "bool"
                                    },
                                    "typeName": {
                                        "id": 16046,
                                        "name": "bool",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "24764:4:62",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_bool",
                                            "typeString": "bool"
                                        }
                                    },
                                    "visibility": "internal"
                                },
                                {
                                    "constant": false,
                                    "id": 16049,
                                    "mutability": "mutable",
                                    "name": "p2",
                                    "nameLocation": "24781:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 16066,
                                    "src": "24773:10:62",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_address",
                                        "typeString": "address"
                                    },
                                    "typeName": {
                                        "id": 16048,
                                        "name": "address",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "24773:7:62",
                                        "stateMutability": "nonpayable",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_address",
                                            "typeString": "address"
                                        }
                                    },
                                    "visibility": "internal"
                                },
                                {
                                    "constant": false,
                                    "id": 16051,
                                    "mutability": "mutable",
                                    "name": "p3",
                                    "nameLocation": "24790:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 16066,
                                    "src": "24785:7:62",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_uint256",
                                        "typeString": "uint256"
                                    },
                                    "typeName": {
                                        "id": 16050,
                                        "name": "uint",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "24785:4:62",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_uint256",
                                            "typeString": "uint256"
                                        }
                                    },
                                    "visibility": "internal"
                                }
                            ],
                            "src": "24754:39:62"
                        },
                        "returnParameters": {
                            "id": 16053,
                            "nodeType": "ParameterList",
                            "parameters": [],
                            "src": "24808:0:62"
                        },
                        "scope": 20920,
                        "src": "24742:161:62",
                        "stateMutability": "view",
                        "virtual": false,
                        "visibility": "internal"
                    },
                    {
                        "body": {
                            "id": 16088,
                            "nodeType": "Block",
                            "src": "24981:97:62",
                            "statements": [
                                {
                                    "expression": {
                                        "arguments": [
                                            {
                                                "arguments": [
                                                    {
                                                        "hexValue": "6c6f672875696e742c626f6f6c2c616464726573732c737472696e6729",
                                                        "id": 16080,
                                                        "isConstant": false,
                                                        "isLValue": false,
                                                        "isPure": true,
                                                        "kind": "string",
                                                        "lValueRequested": false,
                                                        "nodeType": "Literal",
                                                        "src": "25025:31:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_stringliteral_a230761e3811ae33e11d91e6667cf79e7e0ce8023ec276bdd69859f68587933c",
                                                            "typeString": "literal_string \"log(uint,bool,address,string)\""
                                                        },
                                                        "value": "log(uint,bool,address,string)"
                                                    },
                                                    {
                                                        "id": 16081,
                                                        "name": "p0",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 16068,
                                                        "src": "25058:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_uint256",
                                                            "typeString": "uint256"
                                                        }
                                                    },
                                                    {
                                                        "id": 16082,
                                                        "name": "p1",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 16070,
                                                        "src": "25062:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_bool",
                                                            "typeString": "bool"
                                                        }
                                                    },
                                                    {
                                                        "id": 16083,
                                                        "name": "p2",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 16072,
                                                        "src": "25066:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_address",
                                                            "typeString": "address"
                                                        }
                                                    },
                                                    {
                                                        "id": 16084,
                                                        "name": "p3",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 16074,
                                                        "src": "25070:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_string_memory_ptr",
                                                            "typeString": "string memory"
                                                        }
                                                    }
                                                ],
                                                "expression": {
                                                    "argumentTypes": [
                                                        {
                                                            "typeIdentifier": "t_stringliteral_a230761e3811ae33e11d91e6667cf79e7e0ce8023ec276bdd69859f68587933c",
                                                            "typeString": "literal_string \"log(uint,bool,address,string)\""
                                                        },
                                                        {
                                                            "typeIdentifier": "t_uint256",
                                                            "typeString": "uint256"
                                                        },
                                                        {
                                                            "typeIdentifier": "t_bool",
                                                            "typeString": "bool"
                                                        },
                                                        {
                                                            "typeIdentifier": "t_address",
                                                            "typeString": "address"
                                                        },
                                                        {
                                                            "typeIdentifier": "t_string_memory_ptr",
                                                            "typeString": "string memory"
                                                        }
                                                    ],
                                                    "expression": {
                                                        "id": 16078,
                                                        "name": "abi",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 4294967295,
                                                        "src": "25001:3:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_magic_abi",
                                                            "typeString": "abi"
                                                        }
                                                    },
                                                    "id": 16079,
                                                    "isConstant": false,
                                                    "isLValue": false,
                                                    "isPure": true,
                                                    "lValueRequested": false,
                                                    "memberName": "encodeWithSignature",
                                                    "nodeType": "MemberAccess",
                                                    "src": "25001:23:62",
                                                    "typeDescriptions": {
                                                        "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$",
                                                        "typeString": "function (string memory) pure returns (bytes memory)"
                                                    }
                                                },
                                                "id": 16085,
                                                "isConstant": false,
                                                "isLValue": false,
                                                "isPure": false,
                                                "kind": "functionCall",
                                                "lValueRequested": false,
                                                "names": [],
                                                "nodeType": "FunctionCall",
                                                "src": "25001:72:62",
                                                "tryCall": false,
                                                "typeDescriptions": {
                                                    "typeIdentifier": "t_bytes_memory_ptr",
                                                    "typeString": "bytes memory"
                                                }
                                            }
                                        ],
                                        "expression": {
                                            "argumentTypes": [
                                                {
                                                    "typeIdentifier": "t_bytes_memory_ptr",
                                                    "typeString": "bytes memory"
                                                }
                                            ],
                                            "id": 16077,
                                            "name": "_sendLogPayload",
                                            "nodeType": "Identifier",
                                            "overloadedDeclarations": [],
                                            "referencedDeclaration": 12880,
                                            "src": "24985:15:62",
                                            "typeDescriptions": {
                                                "typeIdentifier": "t_function_internal_view$_t_bytes_memory_ptr_$returns$__$",
                                                "typeString": "function (bytes memory) view"
                                            }
                                        },
                                        "id": 16086,
                                        "isConstant": false,
                                        "isLValue": false,
                                        "isPure": false,
                                        "kind": "functionCall",
                                        "lValueRequested": false,
                                        "names": [],
                                        "nodeType": "FunctionCall",
                                        "src": "24985:89:62",
                                        "tryCall": false,
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_tuple$__$",
                                            "typeString": "tuple()"
                                        }
                                    },
                                    "id": 16087,
                                    "nodeType": "ExpressionStatement",
                                    "src": "24985:89:62"
                                }
                            ]
                        },
                        "id": 16089,
                        "implemented": true,
                        "kind": "function",
                        "modifiers": [],
                        "name": "log",
                        "nameLocation": "24915:3:62",
                        "nodeType": "FunctionDefinition",
                        "parameters": {
                            "id": 16075,
                            "nodeType": "ParameterList",
                            "parameters": [
                                {
                                    "constant": false,
                                    "id": 16068,
                                    "mutability": "mutable",
                                    "name": "p0",
                                    "nameLocation": "24924:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 16089,
                                    "src": "24919:7:62",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_uint256",
                                        "typeString": "uint256"
                                    },
                                    "typeName": {
                                        "id": 16067,
                                        "name": "uint",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "24919:4:62",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_uint256",
                                            "typeString": "uint256"
                                        }
                                    },
                                    "visibility": "internal"
                                },
                                {
                                    "constant": false,
                                    "id": 16070,
                                    "mutability": "mutable",
                                    "name": "p1",
                                    "nameLocation": "24933:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 16089,
                                    "src": "24928:7:62",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_bool",
                                        "typeString": "bool"
                                    },
                                    "typeName": {
                                        "id": 16069,
                                        "name": "bool",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "24928:4:62",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_bool",
                                            "typeString": "bool"
                                        }
                                    },
                                    "visibility": "internal"
                                },
                                {
                                    "constant": false,
                                    "id": 16072,
                                    "mutability": "mutable",
                                    "name": "p2",
                                    "nameLocation": "24945:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 16089,
                                    "src": "24937:10:62",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_address",
                                        "typeString": "address"
                                    },
                                    "typeName": {
                                        "id": 16071,
                                        "name": "address",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "24937:7:62",
                                        "stateMutability": "nonpayable",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_address",
                                            "typeString": "address"
                                        }
                                    },
                                    "visibility": "internal"
                                },
                                {
                                    "constant": false,
                                    "id": 16074,
                                    "mutability": "mutable",
                                    "name": "p3",
                                    "nameLocation": "24963:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 16089,
                                    "src": "24949:16:62",
                                    "stateVariable": false,
                                    "storageLocation": "memory",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_string_memory_ptr",
                                        "typeString": "string"
                                    },
                                    "typeName": {
                                        "id": 16073,
                                        "name": "string",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "24949:6:62",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_string_storage_ptr",
                                            "typeString": "string"
                                        }
                                    },
                                    "visibility": "internal"
                                }
                            ],
                            "src": "24918:48:62"
                        },
                        "returnParameters": {
                            "id": 16076,
                            "nodeType": "ParameterList",
                            "parameters": [],
                            "src": "24981:0:62"
                        },
                        "scope": 20920,
                        "src": "24906:172:62",
                        "stateMutability": "view",
                        "virtual": false,
                        "visibility": "internal"
                    },
                    {
                        "body": {
                            "id": 16111,
                            "nodeType": "Block",
                            "src": "25147:95:62",
                            "statements": [
                                {
                                    "expression": {
                                        "arguments": [
                                            {
                                                "arguments": [
                                                    {
                                                        "hexValue": "6c6f672875696e742c626f6f6c2c616464726573732c626f6f6c29",
                                                        "id": 16103,
                                                        "isConstant": false,
                                                        "isLValue": false,
                                                        "isPure": true,
                                                        "kind": "string",
                                                        "lValueRequested": false,
                                                        "nodeType": "Literal",
                                                        "src": "25191:29:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_stringliteral_91fb124272873b32f25c28f6935451e3d46ffd78ac8ebaaa0e096a7942db5445",
                                                            "typeString": "literal_string \"log(uint,bool,address,bool)\""
                                                        },
                                                        "value": "log(uint,bool,address,bool)"
                                                    },
                                                    {
                                                        "id": 16104,
                                                        "name": "p0",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 16091,
                                                        "src": "25222:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_uint256",
                                                            "typeString": "uint256"
                                                        }
                                                    },
                                                    {
                                                        "id": 16105,
                                                        "name": "p1",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 16093,
                                                        "src": "25226:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_bool",
                                                            "typeString": "bool"
                                                        }
                                                    },
                                                    {
                                                        "id": 16106,
                                                        "name": "p2",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 16095,
                                                        "src": "25230:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_address",
                                                            "typeString": "address"
                                                        }
                                                    },
                                                    {
                                                        "id": 16107,
                                                        "name": "p3",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 16097,
                                                        "src": "25234:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_bool",
                                                            "typeString": "bool"
                                                        }
                                                    }
                                                ],
                                                "expression": {
                                                    "argumentTypes": [
                                                        {
                                                            "typeIdentifier": "t_stringliteral_91fb124272873b32f25c28f6935451e3d46ffd78ac8ebaaa0e096a7942db5445",
                                                            "typeString": "literal_string \"log(uint,bool,address,bool)\""
                                                        },
                                                        {
                                                            "typeIdentifier": "t_uint256",
                                                            "typeString": "uint256"
                                                        },
                                                        {
                                                            "typeIdentifier": "t_bool",
                                                            "typeString": "bool"
                                                        },
                                                        {
                                                            "typeIdentifier": "t_address",
                                                            "typeString": "address"
                                                        },
                                                        {
                                                            "typeIdentifier": "t_bool",
                                                            "typeString": "bool"
                                                        }
                                                    ],
                                                    "expression": {
                                                        "id": 16101,
                                                        "name": "abi",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 4294967295,
                                                        "src": "25167:3:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_magic_abi",
                                                            "typeString": "abi"
                                                        }
                                                    },
                                                    "id": 16102,
                                                    "isConstant": false,
                                                    "isLValue": false,
                                                    "isPure": true,
                                                    "lValueRequested": false,
                                                    "memberName": "encodeWithSignature",
                                                    "nodeType": "MemberAccess",
                                                    "src": "25167:23:62",
                                                    "typeDescriptions": {
                                                        "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$",
                                                        "typeString": "function (string memory) pure returns (bytes memory)"
                                                    }
                                                },
                                                "id": 16108,
                                                "isConstant": false,
                                                "isLValue": false,
                                                "isPure": false,
                                                "kind": "functionCall",
                                                "lValueRequested": false,
                                                "names": [],
                                                "nodeType": "FunctionCall",
                                                "src": "25167:70:62",
                                                "tryCall": false,
                                                "typeDescriptions": {
                                                    "typeIdentifier": "t_bytes_memory_ptr",
                                                    "typeString": "bytes memory"
                                                }
                                            }
                                        ],
                                        "expression": {
                                            "argumentTypes": [
                                                {
                                                    "typeIdentifier": "t_bytes_memory_ptr",
                                                    "typeString": "bytes memory"
                                                }
                                            ],
                                            "id": 16100,
                                            "name": "_sendLogPayload",
                                            "nodeType": "Identifier",
                                            "overloadedDeclarations": [],
                                            "referencedDeclaration": 12880,
                                            "src": "25151:15:62",
                                            "typeDescriptions": {
                                                "typeIdentifier": "t_function_internal_view$_t_bytes_memory_ptr_$returns$__$",
                                                "typeString": "function (bytes memory) view"
                                            }
                                        },
                                        "id": 16109,
                                        "isConstant": false,
                                        "isLValue": false,
                                        "isPure": false,
                                        "kind": "functionCall",
                                        "lValueRequested": false,
                                        "names": [],
                                        "nodeType": "FunctionCall",
                                        "src": "25151:87:62",
                                        "tryCall": false,
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_tuple$__$",
                                            "typeString": "tuple()"
                                        }
                                    },
                                    "id": 16110,
                                    "nodeType": "ExpressionStatement",
                                    "src": "25151:87:62"
                                }
                            ]
                        },
                        "id": 16112,
                        "implemented": true,
                        "kind": "function",
                        "modifiers": [],
                        "name": "log",
                        "nameLocation": "25090:3:62",
                        "nodeType": "FunctionDefinition",
                        "parameters": {
                            "id": 16098,
                            "nodeType": "ParameterList",
                            "parameters": [
                                {
                                    "constant": false,
                                    "id": 16091,
                                    "mutability": "mutable",
                                    "name": "p0",
                                    "nameLocation": "25099:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 16112,
                                    "src": "25094:7:62",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_uint256",
                                        "typeString": "uint256"
                                    },
                                    "typeName": {
                                        "id": 16090,
                                        "name": "uint",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "25094:4:62",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_uint256",
                                            "typeString": "uint256"
                                        }
                                    },
                                    "visibility": "internal"
                                },
                                {
                                    "constant": false,
                                    "id": 16093,
                                    "mutability": "mutable",
                                    "name": "p1",
                                    "nameLocation": "25108:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 16112,
                                    "src": "25103:7:62",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_bool",
                                        "typeString": "bool"
                                    },
                                    "typeName": {
                                        "id": 16092,
                                        "name": "bool",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "25103:4:62",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_bool",
                                            "typeString": "bool"
                                        }
                                    },
                                    "visibility": "internal"
                                },
                                {
                                    "constant": false,
                                    "id": 16095,
                                    "mutability": "mutable",
                                    "name": "p2",
                                    "nameLocation": "25120:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 16112,
                                    "src": "25112:10:62",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_address",
                                        "typeString": "address"
                                    },
                                    "typeName": {
                                        "id": 16094,
                                        "name": "address",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "25112:7:62",
                                        "stateMutability": "nonpayable",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_address",
                                            "typeString": "address"
                                        }
                                    },
                                    "visibility": "internal"
                                },
                                {
                                    "constant": false,
                                    "id": 16097,
                                    "mutability": "mutable",
                                    "name": "p3",
                                    "nameLocation": "25129:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 16112,
                                    "src": "25124:7:62",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_bool",
                                        "typeString": "bool"
                                    },
                                    "typeName": {
                                        "id": 16096,
                                        "name": "bool",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "25124:4:62",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_bool",
                                            "typeString": "bool"
                                        }
                                    },
                                    "visibility": "internal"
                                }
                            ],
                            "src": "25093:39:62"
                        },
                        "returnParameters": {
                            "id": 16099,
                            "nodeType": "ParameterList",
                            "parameters": [],
                            "src": "25147:0:62"
                        },
                        "scope": 20920,
                        "src": "25081:161:62",
                        "stateMutability": "view",
                        "virtual": false,
                        "visibility": "internal"
                    },
                    {
                        "body": {
                            "id": 16134,
                            "nodeType": "Block",
                            "src": "25314:98:62",
                            "statements": [
                                {
                                    "expression": {
                                        "arguments": [
                                            {
                                                "arguments": [
                                                    {
                                                        "hexValue": "6c6f672875696e742c626f6f6c2c616464726573732c6164647265737329",
                                                        "id": 16126,
                                                        "isConstant": false,
                                                        "isLValue": false,
                                                        "isPure": true,
                                                        "kind": "string",
                                                        "lValueRequested": false,
                                                        "nodeType": "Literal",
                                                        "src": "25358:32:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_stringliteral_86edc10cd85187c3b3f180e68e570c794e768808cdffe5158045d6f841ae33f2",
                                                            "typeString": "literal_string \"log(uint,bool,address,address)\""
                                                        },
                                                        "value": "log(uint,bool,address,address)"
                                                    },
                                                    {
                                                        "id": 16127,
                                                        "name": "p0",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 16114,
                                                        "src": "25392:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_uint256",
                                                            "typeString": "uint256"
                                                        }
                                                    },
                                                    {
                                                        "id": 16128,
                                                        "name": "p1",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 16116,
                                                        "src": "25396:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_bool",
                                                            "typeString": "bool"
                                                        }
                                                    },
                                                    {
                                                        "id": 16129,
                                                        "name": "p2",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 16118,
                                                        "src": "25400:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_address",
                                                            "typeString": "address"
                                                        }
                                                    },
                                                    {
                                                        "id": 16130,
                                                        "name": "p3",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 16120,
                                                        "src": "25404:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_address",
                                                            "typeString": "address"
                                                        }
                                                    }
                                                ],
                                                "expression": {
                                                    "argumentTypes": [
                                                        {
                                                            "typeIdentifier": "t_stringliteral_86edc10cd85187c3b3f180e68e570c794e768808cdffe5158045d6f841ae33f2",
                                                            "typeString": "literal_string \"log(uint,bool,address,address)\""
                                                        },
                                                        {
                                                            "typeIdentifier": "t_uint256",
                                                            "typeString": "uint256"
                                                        },
                                                        {
                                                            "typeIdentifier": "t_bool",
                                                            "typeString": "bool"
                                                        },
                                                        {
                                                            "typeIdentifier": "t_address",
                                                            "typeString": "address"
                                                        },
                                                        {
                                                            "typeIdentifier": "t_address",
                                                            "typeString": "address"
                                                        }
                                                    ],
                                                    "expression": {
                                                        "id": 16124,
                                                        "name": "abi",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 4294967295,
                                                        "src": "25334:3:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_magic_abi",
                                                            "typeString": "abi"
                                                        }
                                                    },
                                                    "id": 16125,
                                                    "isConstant": false,
                                                    "isLValue": false,
                                                    "isPure": true,
                                                    "lValueRequested": false,
                                                    "memberName": "encodeWithSignature",
                                                    "nodeType": "MemberAccess",
                                                    "src": "25334:23:62",
                                                    "typeDescriptions": {
                                                        "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$",
                                                        "typeString": "function (string memory) pure returns (bytes memory)"
                                                    }
                                                },
                                                "id": 16131,
                                                "isConstant": false,
                                                "isLValue": false,
                                                "isPure": false,
                                                "kind": "functionCall",
                                                "lValueRequested": false,
                                                "names": [],
                                                "nodeType": "FunctionCall",
                                                "src": "25334:73:62",
                                                "tryCall": false,
                                                "typeDescriptions": {
                                                    "typeIdentifier": "t_bytes_memory_ptr",
                                                    "typeString": "bytes memory"
                                                }
                                            }
                                        ],
                                        "expression": {
                                            "argumentTypes": [
                                                {
                                                    "typeIdentifier": "t_bytes_memory_ptr",
                                                    "typeString": "bytes memory"
                                                }
                                            ],
                                            "id": 16123,
                                            "name": "_sendLogPayload",
                                            "nodeType": "Identifier",
                                            "overloadedDeclarations": [],
                                            "referencedDeclaration": 12880,
                                            "src": "25318:15:62",
                                            "typeDescriptions": {
                                                "typeIdentifier": "t_function_internal_view$_t_bytes_memory_ptr_$returns$__$",
                                                "typeString": "function (bytes memory) view"
                                            }
                                        },
                                        "id": 16132,
                                        "isConstant": false,
                                        "isLValue": false,
                                        "isPure": false,
                                        "kind": "functionCall",
                                        "lValueRequested": false,
                                        "names": [],
                                        "nodeType": "FunctionCall",
                                        "src": "25318:90:62",
                                        "tryCall": false,
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_tuple$__$",
                                            "typeString": "tuple()"
                                        }
                                    },
                                    "id": 16133,
                                    "nodeType": "ExpressionStatement",
                                    "src": "25318:90:62"
                                }
                            ]
                        },
                        "id": 16135,
                        "implemented": true,
                        "kind": "function",
                        "modifiers": [],
                        "name": "log",
                        "nameLocation": "25254:3:62",
                        "nodeType": "FunctionDefinition",
                        "parameters": {
                            "id": 16121,
                            "nodeType": "ParameterList",
                            "parameters": [
                                {
                                    "constant": false,
                                    "id": 16114,
                                    "mutability": "mutable",
                                    "name": "p0",
                                    "nameLocation": "25263:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 16135,
                                    "src": "25258:7:62",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_uint256",
                                        "typeString": "uint256"
                                    },
                                    "typeName": {
                                        "id": 16113,
                                        "name": "uint",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "25258:4:62",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_uint256",
                                            "typeString": "uint256"
                                        }
                                    },
                                    "visibility": "internal"
                                },
                                {
                                    "constant": false,
                                    "id": 16116,
                                    "mutability": "mutable",
                                    "name": "p1",
                                    "nameLocation": "25272:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 16135,
                                    "src": "25267:7:62",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_bool",
                                        "typeString": "bool"
                                    },
                                    "typeName": {
                                        "id": 16115,
                                        "name": "bool",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "25267:4:62",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_bool",
                                            "typeString": "bool"
                                        }
                                    },
                                    "visibility": "internal"
                                },
                                {
                                    "constant": false,
                                    "id": 16118,
                                    "mutability": "mutable",
                                    "name": "p2",
                                    "nameLocation": "25284:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 16135,
                                    "src": "25276:10:62",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_address",
                                        "typeString": "address"
                                    },
                                    "typeName": {
                                        "id": 16117,
                                        "name": "address",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "25276:7:62",
                                        "stateMutability": "nonpayable",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_address",
                                            "typeString": "address"
                                        }
                                    },
                                    "visibility": "internal"
                                },
                                {
                                    "constant": false,
                                    "id": 16120,
                                    "mutability": "mutable",
                                    "name": "p3",
                                    "nameLocation": "25296:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 16135,
                                    "src": "25288:10:62",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_address",
                                        "typeString": "address"
                                    },
                                    "typeName": {
                                        "id": 16119,
                                        "name": "address",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "25288:7:62",
                                        "stateMutability": "nonpayable",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_address",
                                            "typeString": "address"
                                        }
                                    },
                                    "visibility": "internal"
                                }
                            ],
                            "src": "25257:42:62"
                        },
                        "returnParameters": {
                            "id": 16122,
                            "nodeType": "ParameterList",
                            "parameters": [],
                            "src": "25314:0:62"
                        },
                        "scope": 20920,
                        "src": "25245:167:62",
                        "stateMutability": "view",
                        "virtual": false,
                        "visibility": "internal"
                    },
                    {
                        "body": {
                            "id": 16157,
                            "nodeType": "Block",
                            "src": "25481:95:62",
                            "statements": [
                                {
                                    "expression": {
                                        "arguments": [
                                            {
                                                "arguments": [
                                                    {
                                                        "hexValue": "6c6f672875696e742c616464726573732c75696e742c75696e7429",
                                                        "id": 16149,
                                                        "isConstant": false,
                                                        "isLValue": false,
                                                        "isPure": true,
                                                        "kind": "string",
                                                        "lValueRequested": false,
                                                        "nodeType": "Literal",
                                                        "src": "25525:29:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_stringliteral_ca9a3eb4a61979ee5cc1814fa8df2504ab7831148afaa3d4c17622578eab7412",
                                                            "typeString": "literal_string \"log(uint,address,uint,uint)\""
                                                        },
                                                        "value": "log(uint,address,uint,uint)"
                                                    },
                                                    {
                                                        "id": 16150,
                                                        "name": "p0",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 16137,
                                                        "src": "25556:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_uint256",
                                                            "typeString": "uint256"
                                                        }
                                                    },
                                                    {
                                                        "id": 16151,
                                                        "name": "p1",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 16139,
                                                        "src": "25560:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_address",
                                                            "typeString": "address"
                                                        }
                                                    },
                                                    {
                                                        "id": 16152,
                                                        "name": "p2",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 16141,
                                                        "src": "25564:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_uint256",
                                                            "typeString": "uint256"
                                                        }
                                                    },
                                                    {
                                                        "id": 16153,
                                                        "name": "p3",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 16143,
                                                        "src": "25568:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_uint256",
                                                            "typeString": "uint256"
                                                        }
                                                    }
                                                ],
                                                "expression": {
                                                    "argumentTypes": [
                                                        {
                                                            "typeIdentifier": "t_stringliteral_ca9a3eb4a61979ee5cc1814fa8df2504ab7831148afaa3d4c17622578eab7412",
                                                            "typeString": "literal_string \"log(uint,address,uint,uint)\""
                                                        },
                                                        {
                                                            "typeIdentifier": "t_uint256",
                                                            "typeString": "uint256"
                                                        },
                                                        {
                                                            "typeIdentifier": "t_address",
                                                            "typeString": "address"
                                                        },
                                                        {
                                                            "typeIdentifier": "t_uint256",
                                                            "typeString": "uint256"
                                                        },
                                                        {
                                                            "typeIdentifier": "t_uint256",
                                                            "typeString": "uint256"
                                                        }
                                                    ],
                                                    "expression": {
                                                        "id": 16147,
                                                        "name": "abi",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 4294967295,
                                                        "src": "25501:3:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_magic_abi",
                                                            "typeString": "abi"
                                                        }
                                                    },
                                                    "id": 16148,
                                                    "isConstant": false,
                                                    "isLValue": false,
                                                    "isPure": true,
                                                    "lValueRequested": false,
                                                    "memberName": "encodeWithSignature",
                                                    "nodeType": "MemberAccess",
                                                    "src": "25501:23:62",
                                                    "typeDescriptions": {
                                                        "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$",
                                                        "typeString": "function (string memory) pure returns (bytes memory)"
                                                    }
                                                },
                                                "id": 16154,
                                                "isConstant": false,
                                                "isLValue": false,
                                                "isPure": false,
                                                "kind": "functionCall",
                                                "lValueRequested": false,
                                                "names": [],
                                                "nodeType": "FunctionCall",
                                                "src": "25501:70:62",
                                                "tryCall": false,
                                                "typeDescriptions": {
                                                    "typeIdentifier": "t_bytes_memory_ptr",
                                                    "typeString": "bytes memory"
                                                }
                                            }
                                        ],
                                        "expression": {
                                            "argumentTypes": [
                                                {
                                                    "typeIdentifier": "t_bytes_memory_ptr",
                                                    "typeString": "bytes memory"
                                                }
                                            ],
                                            "id": 16146,
                                            "name": "_sendLogPayload",
                                            "nodeType": "Identifier",
                                            "overloadedDeclarations": [],
                                            "referencedDeclaration": 12880,
                                            "src": "25485:15:62",
                                            "typeDescriptions": {
                                                "typeIdentifier": "t_function_internal_view$_t_bytes_memory_ptr_$returns$__$",
                                                "typeString": "function (bytes memory) view"
                                            }
                                        },
                                        "id": 16155,
                                        "isConstant": false,
                                        "isLValue": false,
                                        "isPure": false,
                                        "kind": "functionCall",
                                        "lValueRequested": false,
                                        "names": [],
                                        "nodeType": "FunctionCall",
                                        "src": "25485:87:62",
                                        "tryCall": false,
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_tuple$__$",
                                            "typeString": "tuple()"
                                        }
                                    },
                                    "id": 16156,
                                    "nodeType": "ExpressionStatement",
                                    "src": "25485:87:62"
                                }
                            ]
                        },
                        "id": 16158,
                        "implemented": true,
                        "kind": "function",
                        "modifiers": [],
                        "name": "log",
                        "nameLocation": "25424:3:62",
                        "nodeType": "FunctionDefinition",
                        "parameters": {
                            "id": 16144,
                            "nodeType": "ParameterList",
                            "parameters": [
                                {
                                    "constant": false,
                                    "id": 16137,
                                    "mutability": "mutable",
                                    "name": "p0",
                                    "nameLocation": "25433:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 16158,
                                    "src": "25428:7:62",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_uint256",
                                        "typeString": "uint256"
                                    },
                                    "typeName": {
                                        "id": 16136,
                                        "name": "uint",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "25428:4:62",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_uint256",
                                            "typeString": "uint256"
                                        }
                                    },
                                    "visibility": "internal"
                                },
                                {
                                    "constant": false,
                                    "id": 16139,
                                    "mutability": "mutable",
                                    "name": "p1",
                                    "nameLocation": "25445:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 16158,
                                    "src": "25437:10:62",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_address",
                                        "typeString": "address"
                                    },
                                    "typeName": {
                                        "id": 16138,
                                        "name": "address",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "25437:7:62",
                                        "stateMutability": "nonpayable",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_address",
                                            "typeString": "address"
                                        }
                                    },
                                    "visibility": "internal"
                                },
                                {
                                    "constant": false,
                                    "id": 16141,
                                    "mutability": "mutable",
                                    "name": "p2",
                                    "nameLocation": "25454:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 16158,
                                    "src": "25449:7:62",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_uint256",
                                        "typeString": "uint256"
                                    },
                                    "typeName": {
                                        "id": 16140,
                                        "name": "uint",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "25449:4:62",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_uint256",
                                            "typeString": "uint256"
                                        }
                                    },
                                    "visibility": "internal"
                                },
                                {
                                    "constant": false,
                                    "id": 16143,
                                    "mutability": "mutable",
                                    "name": "p3",
                                    "nameLocation": "25463:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 16158,
                                    "src": "25458:7:62",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_uint256",
                                        "typeString": "uint256"
                                    },
                                    "typeName": {
                                        "id": 16142,
                                        "name": "uint",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "25458:4:62",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_uint256",
                                            "typeString": "uint256"
                                        }
                                    },
                                    "visibility": "internal"
                                }
                            ],
                            "src": "25427:39:62"
                        },
                        "returnParameters": {
                            "id": 16145,
                            "nodeType": "ParameterList",
                            "parameters": [],
                            "src": "25481:0:62"
                        },
                        "scope": 20920,
                        "src": "25415:161:62",
                        "stateMutability": "view",
                        "virtual": false,
                        "visibility": "internal"
                    },
                    {
                        "body": {
                            "id": 16180,
                            "nodeType": "Block",
                            "src": "25654:97:62",
                            "statements": [
                                {
                                    "expression": {
                                        "arguments": [
                                            {
                                                "arguments": [
                                                    {
                                                        "hexValue": "6c6f672875696e742c616464726573732c75696e742c737472696e6729",
                                                        "id": 16172,
                                                        "isConstant": false,
                                                        "isLValue": false,
                                                        "isPure": true,
                                                        "kind": "string",
                                                        "lValueRequested": false,
                                                        "nodeType": "Literal",
                                                        "src": "25698:31:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_stringliteral_3ed3bd282d1a27244fa4d3668aff783448c1a1864ff920057fa9f1c8144bb10b",
                                                            "typeString": "literal_string \"log(uint,address,uint,string)\""
                                                        },
                                                        "value": "log(uint,address,uint,string)"
                                                    },
                                                    {
                                                        "id": 16173,
                                                        "name": "p0",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 16160,
                                                        "src": "25731:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_uint256",
                                                            "typeString": "uint256"
                                                        }
                                                    },
                                                    {
                                                        "id": 16174,
                                                        "name": "p1",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 16162,
                                                        "src": "25735:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_address",
                                                            "typeString": "address"
                                                        }
                                                    },
                                                    {
                                                        "id": 16175,
                                                        "name": "p2",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 16164,
                                                        "src": "25739:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_uint256",
                                                            "typeString": "uint256"
                                                        }
                                                    },
                                                    {
                                                        "id": 16176,
                                                        "name": "p3",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 16166,
                                                        "src": "25743:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_string_memory_ptr",
                                                            "typeString": "string memory"
                                                        }
                                                    }
                                                ],
                                                "expression": {
                                                    "argumentTypes": [
                                                        {
                                                            "typeIdentifier": "t_stringliteral_3ed3bd282d1a27244fa4d3668aff783448c1a1864ff920057fa9f1c8144bb10b",
                                                            "typeString": "literal_string \"log(uint,address,uint,string)\""
                                                        },
                                                        {
                                                            "typeIdentifier": "t_uint256",
                                                            "typeString": "uint256"
                                                        },
                                                        {
                                                            "typeIdentifier": "t_address",
                                                            "typeString": "address"
                                                        },
                                                        {
                                                            "typeIdentifier": "t_uint256",
                                                            "typeString": "uint256"
                                                        },
                                                        {
                                                            "typeIdentifier": "t_string_memory_ptr",
                                                            "typeString": "string memory"
                                                        }
                                                    ],
                                                    "expression": {
                                                        "id": 16170,
                                                        "name": "abi",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 4294967295,
                                                        "src": "25674:3:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_magic_abi",
                                                            "typeString": "abi"
                                                        }
                                                    },
                                                    "id": 16171,
                                                    "isConstant": false,
                                                    "isLValue": false,
                                                    "isPure": true,
                                                    "lValueRequested": false,
                                                    "memberName": "encodeWithSignature",
                                                    "nodeType": "MemberAccess",
                                                    "src": "25674:23:62",
                                                    "typeDescriptions": {
                                                        "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$",
                                                        "typeString": "function (string memory) pure returns (bytes memory)"
                                                    }
                                                },
                                                "id": 16177,
                                                "isConstant": false,
                                                "isLValue": false,
                                                "isPure": false,
                                                "kind": "functionCall",
                                                "lValueRequested": false,
                                                "names": [],
                                                "nodeType": "FunctionCall",
                                                "src": "25674:72:62",
                                                "tryCall": false,
                                                "typeDescriptions": {
                                                    "typeIdentifier": "t_bytes_memory_ptr",
                                                    "typeString": "bytes memory"
                                                }
                                            }
                                        ],
                                        "expression": {
                                            "argumentTypes": [
                                                {
                                                    "typeIdentifier": "t_bytes_memory_ptr",
                                                    "typeString": "bytes memory"
                                                }
                                            ],
                                            "id": 16169,
                                            "name": "_sendLogPayload",
                                            "nodeType": "Identifier",
                                            "overloadedDeclarations": [],
                                            "referencedDeclaration": 12880,
                                            "src": "25658:15:62",
                                            "typeDescriptions": {
                                                "typeIdentifier": "t_function_internal_view$_t_bytes_memory_ptr_$returns$__$",
                                                "typeString": "function (bytes memory) view"
                                            }
                                        },
                                        "id": 16178,
                                        "isConstant": false,
                                        "isLValue": false,
                                        "isPure": false,
                                        "kind": "functionCall",
                                        "lValueRequested": false,
                                        "names": [],
                                        "nodeType": "FunctionCall",
                                        "src": "25658:89:62",
                                        "tryCall": false,
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_tuple$__$",
                                            "typeString": "tuple()"
                                        }
                                    },
                                    "id": 16179,
                                    "nodeType": "ExpressionStatement",
                                    "src": "25658:89:62"
                                }
                            ]
                        },
                        "id": 16181,
                        "implemented": true,
                        "kind": "function",
                        "modifiers": [],
                        "name": "log",
                        "nameLocation": "25588:3:62",
                        "nodeType": "FunctionDefinition",
                        "parameters": {
                            "id": 16167,
                            "nodeType": "ParameterList",
                            "parameters": [
                                {
                                    "constant": false,
                                    "id": 16160,
                                    "mutability": "mutable",
                                    "name": "p0",
                                    "nameLocation": "25597:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 16181,
                                    "src": "25592:7:62",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_uint256",
                                        "typeString": "uint256"
                                    },
                                    "typeName": {
                                        "id": 16159,
                                        "name": "uint",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "25592:4:62",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_uint256",
                                            "typeString": "uint256"
                                        }
                                    },
                                    "visibility": "internal"
                                },
                                {
                                    "constant": false,
                                    "id": 16162,
                                    "mutability": "mutable",
                                    "name": "p1",
                                    "nameLocation": "25609:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 16181,
                                    "src": "25601:10:62",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_address",
                                        "typeString": "address"
                                    },
                                    "typeName": {
                                        "id": 16161,
                                        "name": "address",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "25601:7:62",
                                        "stateMutability": "nonpayable",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_address",
                                            "typeString": "address"
                                        }
                                    },
                                    "visibility": "internal"
                                },
                                {
                                    "constant": false,
                                    "id": 16164,
                                    "mutability": "mutable",
                                    "name": "p2",
                                    "nameLocation": "25618:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 16181,
                                    "src": "25613:7:62",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_uint256",
                                        "typeString": "uint256"
                                    },
                                    "typeName": {
                                        "id": 16163,
                                        "name": "uint",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "25613:4:62",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_uint256",
                                            "typeString": "uint256"
                                        }
                                    },
                                    "visibility": "internal"
                                },
                                {
                                    "constant": false,
                                    "id": 16166,
                                    "mutability": "mutable",
                                    "name": "p3",
                                    "nameLocation": "25636:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 16181,
                                    "src": "25622:16:62",
                                    "stateVariable": false,
                                    "storageLocation": "memory",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_string_memory_ptr",
                                        "typeString": "string"
                                    },
                                    "typeName": {
                                        "id": 16165,
                                        "name": "string",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "25622:6:62",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_string_storage_ptr",
                                            "typeString": "string"
                                        }
                                    },
                                    "visibility": "internal"
                                }
                            ],
                            "src": "25591:48:62"
                        },
                        "returnParameters": {
                            "id": 16168,
                            "nodeType": "ParameterList",
                            "parameters": [],
                            "src": "25654:0:62"
                        },
                        "scope": 20920,
                        "src": "25579:172:62",
                        "stateMutability": "view",
                        "virtual": false,
                        "visibility": "internal"
                    },
                    {
                        "body": {
                            "id": 16203,
                            "nodeType": "Block",
                            "src": "25820:95:62",
                            "statements": [
                                {
                                    "expression": {
                                        "arguments": [
                                            {
                                                "arguments": [
                                                    {
                                                        "hexValue": "6c6f672875696e742c616464726573732c75696e742c626f6f6c29",
                                                        "id": 16195,
                                                        "isConstant": false,
                                                        "isLValue": false,
                                                        "isPure": true,
                                                        "kind": "string",
                                                        "lValueRequested": false,
                                                        "nodeType": "Literal",
                                                        "src": "25864:29:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_stringliteral_19f67369d42bc0582d07ae744348ad46b79a6c16f354e3d3fb3c6bff2ecfa9f8",
                                                            "typeString": "literal_string \"log(uint,address,uint,bool)\""
                                                        },
                                                        "value": "log(uint,address,uint,bool)"
                                                    },
                                                    {
                                                        "id": 16196,
                                                        "name": "p0",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 16183,
                                                        "src": "25895:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_uint256",
                                                            "typeString": "uint256"
                                                        }
                                                    },
                                                    {
                                                        "id": 16197,
                                                        "name": "p1",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 16185,
                                                        "src": "25899:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_address",
                                                            "typeString": "address"
                                                        }
                                                    },
                                                    {
                                                        "id": 16198,
                                                        "name": "p2",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 16187,
                                                        "src": "25903:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_uint256",
                                                            "typeString": "uint256"
                                                        }
                                                    },
                                                    {
                                                        "id": 16199,
                                                        "name": "p3",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 16189,
                                                        "src": "25907:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_bool",
                                                            "typeString": "bool"
                                                        }
                                                    }
                                                ],
                                                "expression": {
                                                    "argumentTypes": [
                                                        {
                                                            "typeIdentifier": "t_stringliteral_19f67369d42bc0582d07ae744348ad46b79a6c16f354e3d3fb3c6bff2ecfa9f8",
                                                            "typeString": "literal_string \"log(uint,address,uint,bool)\""
                                                        },
                                                        {
                                                            "typeIdentifier": "t_uint256",
                                                            "typeString": "uint256"
                                                        },
                                                        {
                                                            "typeIdentifier": "t_address",
                                                            "typeString": "address"
                                                        },
                                                        {
                                                            "typeIdentifier": "t_uint256",
                                                            "typeString": "uint256"
                                                        },
                                                        {
                                                            "typeIdentifier": "t_bool",
                                                            "typeString": "bool"
                                                        }
                                                    ],
                                                    "expression": {
                                                        "id": 16193,
                                                        "name": "abi",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 4294967295,
                                                        "src": "25840:3:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_magic_abi",
                                                            "typeString": "abi"
                                                        }
                                                    },
                                                    "id": 16194,
                                                    "isConstant": false,
                                                    "isLValue": false,
                                                    "isPure": true,
                                                    "lValueRequested": false,
                                                    "memberName": "encodeWithSignature",
                                                    "nodeType": "MemberAccess",
                                                    "src": "25840:23:62",
                                                    "typeDescriptions": {
                                                        "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$",
                                                        "typeString": "function (string memory) pure returns (bytes memory)"
                                                    }
                                                },
                                                "id": 16200,
                                                "isConstant": false,
                                                "isLValue": false,
                                                "isPure": false,
                                                "kind": "functionCall",
                                                "lValueRequested": false,
                                                "names": [],
                                                "nodeType": "FunctionCall",
                                                "src": "25840:70:62",
                                                "tryCall": false,
                                                "typeDescriptions": {
                                                    "typeIdentifier": "t_bytes_memory_ptr",
                                                    "typeString": "bytes memory"
                                                }
                                            }
                                        ],
                                        "expression": {
                                            "argumentTypes": [
                                                {
                                                    "typeIdentifier": "t_bytes_memory_ptr",
                                                    "typeString": "bytes memory"
                                                }
                                            ],
                                            "id": 16192,
                                            "name": "_sendLogPayload",
                                            "nodeType": "Identifier",
                                            "overloadedDeclarations": [],
                                            "referencedDeclaration": 12880,
                                            "src": "25824:15:62",
                                            "typeDescriptions": {
                                                "typeIdentifier": "t_function_internal_view$_t_bytes_memory_ptr_$returns$__$",
                                                "typeString": "function (bytes memory) view"
                                            }
                                        },
                                        "id": 16201,
                                        "isConstant": false,
                                        "isLValue": false,
                                        "isPure": false,
                                        "kind": "functionCall",
                                        "lValueRequested": false,
                                        "names": [],
                                        "nodeType": "FunctionCall",
                                        "src": "25824:87:62",
                                        "tryCall": false,
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_tuple$__$",
                                            "typeString": "tuple()"
                                        }
                                    },
                                    "id": 16202,
                                    "nodeType": "ExpressionStatement",
                                    "src": "25824:87:62"
                                }
                            ]
                        },
                        "id": 16204,
                        "implemented": true,
                        "kind": "function",
                        "modifiers": [],
                        "name": "log",
                        "nameLocation": "25763:3:62",
                        "nodeType": "FunctionDefinition",
                        "parameters": {
                            "id": 16190,
                            "nodeType": "ParameterList",
                            "parameters": [
                                {
                                    "constant": false,
                                    "id": 16183,
                                    "mutability": "mutable",
                                    "name": "p0",
                                    "nameLocation": "25772:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 16204,
                                    "src": "25767:7:62",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_uint256",
                                        "typeString": "uint256"
                                    },
                                    "typeName": {
                                        "id": 16182,
                                        "name": "uint",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "25767:4:62",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_uint256",
                                            "typeString": "uint256"
                                        }
                                    },
                                    "visibility": "internal"
                                },
                                {
                                    "constant": false,
                                    "id": 16185,
                                    "mutability": "mutable",
                                    "name": "p1",
                                    "nameLocation": "25784:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 16204,
                                    "src": "25776:10:62",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_address",
                                        "typeString": "address"
                                    },
                                    "typeName": {
                                        "id": 16184,
                                        "name": "address",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "25776:7:62",
                                        "stateMutability": "nonpayable",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_address",
                                            "typeString": "address"
                                        }
                                    },
                                    "visibility": "internal"
                                },
                                {
                                    "constant": false,
                                    "id": 16187,
                                    "mutability": "mutable",
                                    "name": "p2",
                                    "nameLocation": "25793:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 16204,
                                    "src": "25788:7:62",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_uint256",
                                        "typeString": "uint256"
                                    },
                                    "typeName": {
                                        "id": 16186,
                                        "name": "uint",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "25788:4:62",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_uint256",
                                            "typeString": "uint256"
                                        }
                                    },
                                    "visibility": "internal"
                                },
                                {
                                    "constant": false,
                                    "id": 16189,
                                    "mutability": "mutable",
                                    "name": "p3",
                                    "nameLocation": "25802:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 16204,
                                    "src": "25797:7:62",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_bool",
                                        "typeString": "bool"
                                    },
                                    "typeName": {
                                        "id": 16188,
                                        "name": "bool",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "25797:4:62",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_bool",
                                            "typeString": "bool"
                                        }
                                    },
                                    "visibility": "internal"
                                }
                            ],
                            "src": "25766:39:62"
                        },
                        "returnParameters": {
                            "id": 16191,
                            "nodeType": "ParameterList",
                            "parameters": [],
                            "src": "25820:0:62"
                        },
                        "scope": 20920,
                        "src": "25754:161:62",
                        "stateMutability": "view",
                        "virtual": false,
                        "visibility": "internal"
                    },
                    {
                        "body": {
                            "id": 16226,
                            "nodeType": "Block",
                            "src": "25987:98:62",
                            "statements": [
                                {
                                    "expression": {
                                        "arguments": [
                                            {
                                                "arguments": [
                                                    {
                                                        "hexValue": "6c6f672875696e742c616464726573732c75696e742c6164647265737329",
                                                        "id": 16218,
                                                        "isConstant": false,
                                                        "isLValue": false,
                                                        "isPure": true,
                                                        "kind": "string",
                                                        "lValueRequested": false,
                                                        "nodeType": "Literal",
                                                        "src": "26031:32:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_stringliteral_fdb2ecd415c75df8f66285a054607fa1335126fb1d8930dfc21744a3de7298e3",
                                                            "typeString": "literal_string \"log(uint,address,uint,address)\""
                                                        },
                                                        "value": "log(uint,address,uint,address)"
                                                    },
                                                    {
                                                        "id": 16219,
                                                        "name": "p0",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 16206,
                                                        "src": "26065:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_uint256",
                                                            "typeString": "uint256"
                                                        }
                                                    },
                                                    {
                                                        "id": 16220,
                                                        "name": "p1",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 16208,
                                                        "src": "26069:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_address",
                                                            "typeString": "address"
                                                        }
                                                    },
                                                    {
                                                        "id": 16221,
                                                        "name": "p2",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 16210,
                                                        "src": "26073:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_uint256",
                                                            "typeString": "uint256"
                                                        }
                                                    },
                                                    {
                                                        "id": 16222,
                                                        "name": "p3",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 16212,
                                                        "src": "26077:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_address",
                                                            "typeString": "address"
                                                        }
                                                    }
                                                ],
                                                "expression": {
                                                    "argumentTypes": [
                                                        {
                                                            "typeIdentifier": "t_stringliteral_fdb2ecd415c75df8f66285a054607fa1335126fb1d8930dfc21744a3de7298e3",
                                                            "typeString": "literal_string \"log(uint,address,uint,address)\""
                                                        },
                                                        {
                                                            "typeIdentifier": "t_uint256",
                                                            "typeString": "uint256"
                                                        },
                                                        {
                                                            "typeIdentifier": "t_address",
                                                            "typeString": "address"
                                                        },
                                                        {
                                                            "typeIdentifier": "t_uint256",
                                                            "typeString": "uint256"
                                                        },
                                                        {
                                                            "typeIdentifier": "t_address",
                                                            "typeString": "address"
                                                        }
                                                    ],
                                                    "expression": {
                                                        "id": 16216,
                                                        "name": "abi",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 4294967295,
                                                        "src": "26007:3:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_magic_abi",
                                                            "typeString": "abi"
                                                        }
                                                    },
                                                    "id": 16217,
                                                    "isConstant": false,
                                                    "isLValue": false,
                                                    "isPure": true,
                                                    "lValueRequested": false,
                                                    "memberName": "encodeWithSignature",
                                                    "nodeType": "MemberAccess",
                                                    "src": "26007:23:62",
                                                    "typeDescriptions": {
                                                        "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$",
                                                        "typeString": "function (string memory) pure returns (bytes memory)"
                                                    }
                                                },
                                                "id": 16223,
                                                "isConstant": false,
                                                "isLValue": false,
                                                "isPure": false,
                                                "kind": "functionCall",
                                                "lValueRequested": false,
                                                "names": [],
                                                "nodeType": "FunctionCall",
                                                "src": "26007:73:62",
                                                "tryCall": false,
                                                "typeDescriptions": {
                                                    "typeIdentifier": "t_bytes_memory_ptr",
                                                    "typeString": "bytes memory"
                                                }
                                            }
                                        ],
                                        "expression": {
                                            "argumentTypes": [
                                                {
                                                    "typeIdentifier": "t_bytes_memory_ptr",
                                                    "typeString": "bytes memory"
                                                }
                                            ],
                                            "id": 16215,
                                            "name": "_sendLogPayload",
                                            "nodeType": "Identifier",
                                            "overloadedDeclarations": [],
                                            "referencedDeclaration": 12880,
                                            "src": "25991:15:62",
                                            "typeDescriptions": {
                                                "typeIdentifier": "t_function_internal_view$_t_bytes_memory_ptr_$returns$__$",
                                                "typeString": "function (bytes memory) view"
                                            }
                                        },
                                        "id": 16224,
                                        "isConstant": false,
                                        "isLValue": false,
                                        "isPure": false,
                                        "kind": "functionCall",
                                        "lValueRequested": false,
                                        "names": [],
                                        "nodeType": "FunctionCall",
                                        "src": "25991:90:62",
                                        "tryCall": false,
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_tuple$__$",
                                            "typeString": "tuple()"
                                        }
                                    },
                                    "id": 16225,
                                    "nodeType": "ExpressionStatement",
                                    "src": "25991:90:62"
                                }
                            ]
                        },
                        "id": 16227,
                        "implemented": true,
                        "kind": "function",
                        "modifiers": [],
                        "name": "log",
                        "nameLocation": "25927:3:62",
                        "nodeType": "FunctionDefinition",
                        "parameters": {
                            "id": 16213,
                            "nodeType": "ParameterList",
                            "parameters": [
                                {
                                    "constant": false,
                                    "id": 16206,
                                    "mutability": "mutable",
                                    "name": "p0",
                                    "nameLocation": "25936:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 16227,
                                    "src": "25931:7:62",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_uint256",
                                        "typeString": "uint256"
                                    },
                                    "typeName": {
                                        "id": 16205,
                                        "name": "uint",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "25931:4:62",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_uint256",
                                            "typeString": "uint256"
                                        }
                                    },
                                    "visibility": "internal"
                                },
                                {
                                    "constant": false,
                                    "id": 16208,
                                    "mutability": "mutable",
                                    "name": "p1",
                                    "nameLocation": "25948:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 16227,
                                    "src": "25940:10:62",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_address",
                                        "typeString": "address"
                                    },
                                    "typeName": {
                                        "id": 16207,
                                        "name": "address",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "25940:7:62",
                                        "stateMutability": "nonpayable",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_address",
                                            "typeString": "address"
                                        }
                                    },
                                    "visibility": "internal"
                                },
                                {
                                    "constant": false,
                                    "id": 16210,
                                    "mutability": "mutable",
                                    "name": "p2",
                                    "nameLocation": "25957:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 16227,
                                    "src": "25952:7:62",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_uint256",
                                        "typeString": "uint256"
                                    },
                                    "typeName": {
                                        "id": 16209,
                                        "name": "uint",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "25952:4:62",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_uint256",
                                            "typeString": "uint256"
                                        }
                                    },
                                    "visibility": "internal"
                                },
                                {
                                    "constant": false,
                                    "id": 16212,
                                    "mutability": "mutable",
                                    "name": "p3",
                                    "nameLocation": "25969:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 16227,
                                    "src": "25961:10:62",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_address",
                                        "typeString": "address"
                                    },
                                    "typeName": {
                                        "id": 16211,
                                        "name": "address",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "25961:7:62",
                                        "stateMutability": "nonpayable",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_address",
                                            "typeString": "address"
                                        }
                                    },
                                    "visibility": "internal"
                                }
                            ],
                            "src": "25930:42:62"
                        },
                        "returnParameters": {
                            "id": 16214,
                            "nodeType": "ParameterList",
                            "parameters": [],
                            "src": "25987:0:62"
                        },
                        "scope": 20920,
                        "src": "25918:167:62",
                        "stateMutability": "view",
                        "virtual": false,
                        "visibility": "internal"
                    },
                    {
                        "body": {
                            "id": 16249,
                            "nodeType": "Block",
                            "src": "26163:97:62",
                            "statements": [
                                {
                                    "expression": {
                                        "arguments": [
                                            {
                                                "arguments": [
                                                    {
                                                        "hexValue": "6c6f672875696e742c616464726573732c737472696e672c75696e7429",
                                                        "id": 16241,
                                                        "isConstant": false,
                                                        "isLValue": false,
                                                        "isPure": true,
                                                        "kind": "string",
                                                        "lValueRequested": false,
                                                        "nodeType": "Literal",
                                                        "src": "26207:31:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_stringliteral_a0c414e8ba2ea65b865dd0bf68b2357e81261b47f237c68a4a8a63051bbef2eb",
                                                            "typeString": "literal_string \"log(uint,address,string,uint)\""
                                                        },
                                                        "value": "log(uint,address,string,uint)"
                                                    },
                                                    {
                                                        "id": 16242,
                                                        "name": "p0",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 16229,
                                                        "src": "26240:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_uint256",
                                                            "typeString": "uint256"
                                                        }
                                                    },
                                                    {
                                                        "id": 16243,
                                                        "name": "p1",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 16231,
                                                        "src": "26244:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_address",
                                                            "typeString": "address"
                                                        }
                                                    },
                                                    {
                                                        "id": 16244,
                                                        "name": "p2",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 16233,
                                                        "src": "26248:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_string_memory_ptr",
                                                            "typeString": "string memory"
                                                        }
                                                    },
                                                    {
                                                        "id": 16245,
                                                        "name": "p3",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 16235,
                                                        "src": "26252:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_uint256",
                                                            "typeString": "uint256"
                                                        }
                                                    }
                                                ],
                                                "expression": {
                                                    "argumentTypes": [
                                                        {
                                                            "typeIdentifier": "t_stringliteral_a0c414e8ba2ea65b865dd0bf68b2357e81261b47f237c68a4a8a63051bbef2eb",
                                                            "typeString": "literal_string \"log(uint,address,string,uint)\""
                                                        },
                                                        {
                                                            "typeIdentifier": "t_uint256",
                                                            "typeString": "uint256"
                                                        },
                                                        {
                                                            "typeIdentifier": "t_address",
                                                            "typeString": "address"
                                                        },
                                                        {
                                                            "typeIdentifier": "t_string_memory_ptr",
                                                            "typeString": "string memory"
                                                        },
                                                        {
                                                            "typeIdentifier": "t_uint256",
                                                            "typeString": "uint256"
                                                        }
                                                    ],
                                                    "expression": {
                                                        "id": 16239,
                                                        "name": "abi",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 4294967295,
                                                        "src": "26183:3:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_magic_abi",
                                                            "typeString": "abi"
                                                        }
                                                    },
                                                    "id": 16240,
                                                    "isConstant": false,
                                                    "isLValue": false,
                                                    "isPure": true,
                                                    "lValueRequested": false,
                                                    "memberName": "encodeWithSignature",
                                                    "nodeType": "MemberAccess",
                                                    "src": "26183:23:62",
                                                    "typeDescriptions": {
                                                        "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$",
                                                        "typeString": "function (string memory) pure returns (bytes memory)"
                                                    }
                                                },
                                                "id": 16246,
                                                "isConstant": false,
                                                "isLValue": false,
                                                "isPure": false,
                                                "kind": "functionCall",
                                                "lValueRequested": false,
                                                "names": [],
                                                "nodeType": "FunctionCall",
                                                "src": "26183:72:62",
                                                "tryCall": false,
                                                "typeDescriptions": {
                                                    "typeIdentifier": "t_bytes_memory_ptr",
                                                    "typeString": "bytes memory"
                                                }
                                            }
                                        ],
                                        "expression": {
                                            "argumentTypes": [
                                                {
                                                    "typeIdentifier": "t_bytes_memory_ptr",
                                                    "typeString": "bytes memory"
                                                }
                                            ],
                                            "id": 16238,
                                            "name": "_sendLogPayload",
                                            "nodeType": "Identifier",
                                            "overloadedDeclarations": [],
                                            "referencedDeclaration": 12880,
                                            "src": "26167:15:62",
                                            "typeDescriptions": {
                                                "typeIdentifier": "t_function_internal_view$_t_bytes_memory_ptr_$returns$__$",
                                                "typeString": "function (bytes memory) view"
                                            }
                                        },
                                        "id": 16247,
                                        "isConstant": false,
                                        "isLValue": false,
                                        "isPure": false,
                                        "kind": "functionCall",
                                        "lValueRequested": false,
                                        "names": [],
                                        "nodeType": "FunctionCall",
                                        "src": "26167:89:62",
                                        "tryCall": false,
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_tuple$__$",
                                            "typeString": "tuple()"
                                        }
                                    },
                                    "id": 16248,
                                    "nodeType": "ExpressionStatement",
                                    "src": "26167:89:62"
                                }
                            ]
                        },
                        "id": 16250,
                        "implemented": true,
                        "kind": "function",
                        "modifiers": [],
                        "name": "log",
                        "nameLocation": "26097:3:62",
                        "nodeType": "FunctionDefinition",
                        "parameters": {
                            "id": 16236,
                            "nodeType": "ParameterList",
                            "parameters": [
                                {
                                    "constant": false,
                                    "id": 16229,
                                    "mutability": "mutable",
                                    "name": "p0",
                                    "nameLocation": "26106:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 16250,
                                    "src": "26101:7:62",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_uint256",
                                        "typeString": "uint256"
                                    },
                                    "typeName": {
                                        "id": 16228,
                                        "name": "uint",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "26101:4:62",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_uint256",
                                            "typeString": "uint256"
                                        }
                                    },
                                    "visibility": "internal"
                                },
                                {
                                    "constant": false,
                                    "id": 16231,
                                    "mutability": "mutable",
                                    "name": "p1",
                                    "nameLocation": "26118:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 16250,
                                    "src": "26110:10:62",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_address",
                                        "typeString": "address"
                                    },
                                    "typeName": {
                                        "id": 16230,
                                        "name": "address",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "26110:7:62",
                                        "stateMutability": "nonpayable",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_address",
                                            "typeString": "address"
                                        }
                                    },
                                    "visibility": "internal"
                                },
                                {
                                    "constant": false,
                                    "id": 16233,
                                    "mutability": "mutable",
                                    "name": "p2",
                                    "nameLocation": "26136:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 16250,
                                    "src": "26122:16:62",
                                    "stateVariable": false,
                                    "storageLocation": "memory",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_string_memory_ptr",
                                        "typeString": "string"
                                    },
                                    "typeName": {
                                        "id": 16232,
                                        "name": "string",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "26122:6:62",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_string_storage_ptr",
                                            "typeString": "string"
                                        }
                                    },
                                    "visibility": "internal"
                                },
                                {
                                    "constant": false,
                                    "id": 16235,
                                    "mutability": "mutable",
                                    "name": "p3",
                                    "nameLocation": "26145:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 16250,
                                    "src": "26140:7:62",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_uint256",
                                        "typeString": "uint256"
                                    },
                                    "typeName": {
                                        "id": 16234,
                                        "name": "uint",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "26140:4:62",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_uint256",
                                            "typeString": "uint256"
                                        }
                                    },
                                    "visibility": "internal"
                                }
                            ],
                            "src": "26100:48:62"
                        },
                        "returnParameters": {
                            "id": 16237,
                            "nodeType": "ParameterList",
                            "parameters": [],
                            "src": "26163:0:62"
                        },
                        "scope": 20920,
                        "src": "26088:172:62",
                        "stateMutability": "view",
                        "virtual": false,
                        "visibility": "internal"
                    },
                    {
                        "body": {
                            "id": 16272,
                            "nodeType": "Block",
                            "src": "26347:99:62",
                            "statements": [
                                {
                                    "expression": {
                                        "arguments": [
                                            {
                                                "arguments": [
                                                    {
                                                        "hexValue": "6c6f672875696e742c616464726573732c737472696e672c737472696e6729",
                                                        "id": 16264,
                                                        "isConstant": false,
                                                        "isLValue": false,
                                                        "isPure": true,
                                                        "kind": "string",
                                                        "lValueRequested": false,
                                                        "nodeType": "Literal",
                                                        "src": "26391:33:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_stringliteral_8d778624e1d83269ce0415864bb54677b540f778c6b8503cf9035bc7517326f1",
                                                            "typeString": "literal_string \"log(uint,address,string,string)\""
                                                        },
                                                        "value": "log(uint,address,string,string)"
                                                    },
                                                    {
                                                        "id": 16265,
                                                        "name": "p0",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 16252,
                                                        "src": "26426:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_uint256",
                                                            "typeString": "uint256"
                                                        }
                                                    },
                                                    {
                                                        "id": 16266,
                                                        "name": "p1",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 16254,
                                                        "src": "26430:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_address",
                                                            "typeString": "address"
                                                        }
                                                    },
                                                    {
                                                        "id": 16267,
                                                        "name": "p2",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 16256,
                                                        "src": "26434:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_string_memory_ptr",
                                                            "typeString": "string memory"
                                                        }
                                                    },
                                                    {
                                                        "id": 16268,
                                                        "name": "p3",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 16258,
                                                        "src": "26438:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_string_memory_ptr",
                                                            "typeString": "string memory"
                                                        }
                                                    }
                                                ],
                                                "expression": {
                                                    "argumentTypes": [
                                                        {
                                                            "typeIdentifier": "t_stringliteral_8d778624e1d83269ce0415864bb54677b540f778c6b8503cf9035bc7517326f1",
                                                            "typeString": "literal_string \"log(uint,address,string,string)\""
                                                        },
                                                        {
                                                            "typeIdentifier": "t_uint256",
                                                            "typeString": "uint256"
                                                        },
                                                        {
                                                            "typeIdentifier": "t_address",
                                                            "typeString": "address"
                                                        },
                                                        {
                                                            "typeIdentifier": "t_string_memory_ptr",
                                                            "typeString": "string memory"
                                                        },
                                                        {
                                                            "typeIdentifier": "t_string_memory_ptr",
                                                            "typeString": "string memory"
                                                        }
                                                    ],
                                                    "expression": {
                                                        "id": 16262,
                                                        "name": "abi",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 4294967295,
                                                        "src": "26367:3:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_magic_abi",
                                                            "typeString": "abi"
                                                        }
                                                    },
                                                    "id": 16263,
                                                    "isConstant": false,
                                                    "isLValue": false,
                                                    "isPure": true,
                                                    "lValueRequested": false,
                                                    "memberName": "encodeWithSignature",
                                                    "nodeType": "MemberAccess",
                                                    "src": "26367:23:62",
                                                    "typeDescriptions": {
                                                        "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$",
                                                        "typeString": "function (string memory) pure returns (bytes memory)"
                                                    }
                                                },
                                                "id": 16269,
                                                "isConstant": false,
                                                "isLValue": false,
                                                "isPure": false,
                                                "kind": "functionCall",
                                                "lValueRequested": false,
                                                "names": [],
                                                "nodeType": "FunctionCall",
                                                "src": "26367:74:62",
                                                "tryCall": false,
                                                "typeDescriptions": {
                                                    "typeIdentifier": "t_bytes_memory_ptr",
                                                    "typeString": "bytes memory"
                                                }
                                            }
                                        ],
                                        "expression": {
                                            "argumentTypes": [
                                                {
                                                    "typeIdentifier": "t_bytes_memory_ptr",
                                                    "typeString": "bytes memory"
                                                }
                                            ],
                                            "id": 16261,
                                            "name": "_sendLogPayload",
                                            "nodeType": "Identifier",
                                            "overloadedDeclarations": [],
                                            "referencedDeclaration": 12880,
                                            "src": "26351:15:62",
                                            "typeDescriptions": {
                                                "typeIdentifier": "t_function_internal_view$_t_bytes_memory_ptr_$returns$__$",
                                                "typeString": "function (bytes memory) view"
                                            }
                                        },
                                        "id": 16270,
                                        "isConstant": false,
                                        "isLValue": false,
                                        "isPure": false,
                                        "kind": "functionCall",
                                        "lValueRequested": false,
                                        "names": [],
                                        "nodeType": "FunctionCall",
                                        "src": "26351:91:62",
                                        "tryCall": false,
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_tuple$__$",
                                            "typeString": "tuple()"
                                        }
                                    },
                                    "id": 16271,
                                    "nodeType": "ExpressionStatement",
                                    "src": "26351:91:62"
                                }
                            ]
                        },
                        "id": 16273,
                        "implemented": true,
                        "kind": "function",
                        "modifiers": [],
                        "name": "log",
                        "nameLocation": "26272:3:62",
                        "nodeType": "FunctionDefinition",
                        "parameters": {
                            "id": 16259,
                            "nodeType": "ParameterList",
                            "parameters": [
                                {
                                    "constant": false,
                                    "id": 16252,
                                    "mutability": "mutable",
                                    "name": "p0",
                                    "nameLocation": "26281:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 16273,
                                    "src": "26276:7:62",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_uint256",
                                        "typeString": "uint256"
                                    },
                                    "typeName": {
                                        "id": 16251,
                                        "name": "uint",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "26276:4:62",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_uint256",
                                            "typeString": "uint256"
                                        }
                                    },
                                    "visibility": "internal"
                                },
                                {
                                    "constant": false,
                                    "id": 16254,
                                    "mutability": "mutable",
                                    "name": "p1",
                                    "nameLocation": "26293:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 16273,
                                    "src": "26285:10:62",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_address",
                                        "typeString": "address"
                                    },
                                    "typeName": {
                                        "id": 16253,
                                        "name": "address",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "26285:7:62",
                                        "stateMutability": "nonpayable",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_address",
                                            "typeString": "address"
                                        }
                                    },
                                    "visibility": "internal"
                                },
                                {
                                    "constant": false,
                                    "id": 16256,
                                    "mutability": "mutable",
                                    "name": "p2",
                                    "nameLocation": "26311:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 16273,
                                    "src": "26297:16:62",
                                    "stateVariable": false,
                                    "storageLocation": "memory",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_string_memory_ptr",
                                        "typeString": "string"
                                    },
                                    "typeName": {
                                        "id": 16255,
                                        "name": "string",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "26297:6:62",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_string_storage_ptr",
                                            "typeString": "string"
                                        }
                                    },
                                    "visibility": "internal"
                                },
                                {
                                    "constant": false,
                                    "id": 16258,
                                    "mutability": "mutable",
                                    "name": "p3",
                                    "nameLocation": "26329:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 16273,
                                    "src": "26315:16:62",
                                    "stateVariable": false,
                                    "storageLocation": "memory",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_string_memory_ptr",
                                        "typeString": "string"
                                    },
                                    "typeName": {
                                        "id": 16257,
                                        "name": "string",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "26315:6:62",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_string_storage_ptr",
                                            "typeString": "string"
                                        }
                                    },
                                    "visibility": "internal"
                                }
                            ],
                            "src": "26275:57:62"
                        },
                        "returnParameters": {
                            "id": 16260,
                            "nodeType": "ParameterList",
                            "parameters": [],
                            "src": "26347:0:62"
                        },
                        "scope": 20920,
                        "src": "26263:183:62",
                        "stateMutability": "view",
                        "virtual": false,
                        "visibility": "internal"
                    },
                    {
                        "body": {
                            "id": 16295,
                            "nodeType": "Block",
                            "src": "26524:97:62",
                            "statements": [
                                {
                                    "expression": {
                                        "arguments": [
                                            {
                                                "arguments": [
                                                    {
                                                        "hexValue": "6c6f672875696e742c616464726573732c737472696e672c626f6f6c29",
                                                        "id": 16287,
                                                        "isConstant": false,
                                                        "isLValue": false,
                                                        "isPure": true,
                                                        "kind": "string",
                                                        "lValueRequested": false,
                                                        "nodeType": "Literal",
                                                        "src": "26568:31:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_stringliteral_22a479a660b74b7598155f369ed227a5a93527fbdb04ff6f78fbf35fa23aacbf",
                                                            "typeString": "literal_string \"log(uint,address,string,bool)\""
                                                        },
                                                        "value": "log(uint,address,string,bool)"
                                                    },
                                                    {
                                                        "id": 16288,
                                                        "name": "p0",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 16275,
                                                        "src": "26601:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_uint256",
                                                            "typeString": "uint256"
                                                        }
                                                    },
                                                    {
                                                        "id": 16289,
                                                        "name": "p1",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 16277,
                                                        "src": "26605:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_address",
                                                            "typeString": "address"
                                                        }
                                                    },
                                                    {
                                                        "id": 16290,
                                                        "name": "p2",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 16279,
                                                        "src": "26609:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_string_memory_ptr",
                                                            "typeString": "string memory"
                                                        }
                                                    },
                                                    {
                                                        "id": 16291,
                                                        "name": "p3",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 16281,
                                                        "src": "26613:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_bool",
                                                            "typeString": "bool"
                                                        }
                                                    }
                                                ],
                                                "expression": {
                                                    "argumentTypes": [
                                                        {
                                                            "typeIdentifier": "t_stringliteral_22a479a660b74b7598155f369ed227a5a93527fbdb04ff6f78fbf35fa23aacbf",
                                                            "typeString": "literal_string \"log(uint,address,string,bool)\""
                                                        },
                                                        {
                                                            "typeIdentifier": "t_uint256",
                                                            "typeString": "uint256"
                                                        },
                                                        {
                                                            "typeIdentifier": "t_address",
                                                            "typeString": "address"
                                                        },
                                                        {
                                                            "typeIdentifier": "t_string_memory_ptr",
                                                            "typeString": "string memory"
                                                        },
                                                        {
                                                            "typeIdentifier": "t_bool",
                                                            "typeString": "bool"
                                                        }
                                                    ],
                                                    "expression": {
                                                        "id": 16285,
                                                        "name": "abi",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 4294967295,
                                                        "src": "26544:3:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_magic_abi",
                                                            "typeString": "abi"
                                                        }
                                                    },
                                                    "id": 16286,
                                                    "isConstant": false,
                                                    "isLValue": false,
                                                    "isPure": true,
                                                    "lValueRequested": false,
                                                    "memberName": "encodeWithSignature",
                                                    "nodeType": "MemberAccess",
                                                    "src": "26544:23:62",
                                                    "typeDescriptions": {
                                                        "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$",
                                                        "typeString": "function (string memory) pure returns (bytes memory)"
                                                    }
                                                },
                                                "id": 16292,
                                                "isConstant": false,
                                                "isLValue": false,
                                                "isPure": false,
                                                "kind": "functionCall",
                                                "lValueRequested": false,
                                                "names": [],
                                                "nodeType": "FunctionCall",
                                                "src": "26544:72:62",
                                                "tryCall": false,
                                                "typeDescriptions": {
                                                    "typeIdentifier": "t_bytes_memory_ptr",
                                                    "typeString": "bytes memory"
                                                }
                                            }
                                        ],
                                        "expression": {
                                            "argumentTypes": [
                                                {
                                                    "typeIdentifier": "t_bytes_memory_ptr",
                                                    "typeString": "bytes memory"
                                                }
                                            ],
                                            "id": 16284,
                                            "name": "_sendLogPayload",
                                            "nodeType": "Identifier",
                                            "overloadedDeclarations": [],
                                            "referencedDeclaration": 12880,
                                            "src": "26528:15:62",
                                            "typeDescriptions": {
                                                "typeIdentifier": "t_function_internal_view$_t_bytes_memory_ptr_$returns$__$",
                                                "typeString": "function (bytes memory) view"
                                            }
                                        },
                                        "id": 16293,
                                        "isConstant": false,
                                        "isLValue": false,
                                        "isPure": false,
                                        "kind": "functionCall",
                                        "lValueRequested": false,
                                        "names": [],
                                        "nodeType": "FunctionCall",
                                        "src": "26528:89:62",
                                        "tryCall": false,
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_tuple$__$",
                                            "typeString": "tuple()"
                                        }
                                    },
                                    "id": 16294,
                                    "nodeType": "ExpressionStatement",
                                    "src": "26528:89:62"
                                }
                            ]
                        },
                        "id": 16296,
                        "implemented": true,
                        "kind": "function",
                        "modifiers": [],
                        "name": "log",
                        "nameLocation": "26458:3:62",
                        "nodeType": "FunctionDefinition",
                        "parameters": {
                            "id": 16282,
                            "nodeType": "ParameterList",
                            "parameters": [
                                {
                                    "constant": false,
                                    "id": 16275,
                                    "mutability": "mutable",
                                    "name": "p0",
                                    "nameLocation": "26467:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 16296,
                                    "src": "26462:7:62",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_uint256",
                                        "typeString": "uint256"
                                    },
                                    "typeName": {
                                        "id": 16274,
                                        "name": "uint",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "26462:4:62",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_uint256",
                                            "typeString": "uint256"
                                        }
                                    },
                                    "visibility": "internal"
                                },
                                {
                                    "constant": false,
                                    "id": 16277,
                                    "mutability": "mutable",
                                    "name": "p1",
                                    "nameLocation": "26479:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 16296,
                                    "src": "26471:10:62",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_address",
                                        "typeString": "address"
                                    },
                                    "typeName": {
                                        "id": 16276,
                                        "name": "address",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "26471:7:62",
                                        "stateMutability": "nonpayable",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_address",
                                            "typeString": "address"
                                        }
                                    },
                                    "visibility": "internal"
                                },
                                {
                                    "constant": false,
                                    "id": 16279,
                                    "mutability": "mutable",
                                    "name": "p2",
                                    "nameLocation": "26497:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 16296,
                                    "src": "26483:16:62",
                                    "stateVariable": false,
                                    "storageLocation": "memory",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_string_memory_ptr",
                                        "typeString": "string"
                                    },
                                    "typeName": {
                                        "id": 16278,
                                        "name": "string",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "26483:6:62",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_string_storage_ptr",
                                            "typeString": "string"
                                        }
                                    },
                                    "visibility": "internal"
                                },
                                {
                                    "constant": false,
                                    "id": 16281,
                                    "mutability": "mutable",
                                    "name": "p3",
                                    "nameLocation": "26506:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 16296,
                                    "src": "26501:7:62",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_bool",
                                        "typeString": "bool"
                                    },
                                    "typeName": {
                                        "id": 16280,
                                        "name": "bool",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "26501:4:62",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_bool",
                                            "typeString": "bool"
                                        }
                                    },
                                    "visibility": "internal"
                                }
                            ],
                            "src": "26461:48:62"
                        },
                        "returnParameters": {
                            "id": 16283,
                            "nodeType": "ParameterList",
                            "parameters": [],
                            "src": "26524:0:62"
                        },
                        "scope": 20920,
                        "src": "26449:172:62",
                        "stateMutability": "view",
                        "virtual": false,
                        "visibility": "internal"
                    },
                    {
                        "body": {
                            "id": 16318,
                            "nodeType": "Block",
                            "src": "26702:100:62",
                            "statements": [
                                {
                                    "expression": {
                                        "arguments": [
                                            {
                                                "arguments": [
                                                    {
                                                        "hexValue": "6c6f672875696e742c616464726573732c737472696e672c6164647265737329",
                                                        "id": 16310,
                                                        "isConstant": false,
                                                        "isLValue": false,
                                                        "isPure": true,
                                                        "kind": "string",
                                                        "lValueRequested": false,
                                                        "nodeType": "Literal",
                                                        "src": "26746:34:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_stringliteral_cbe58efddc067d74914c3479914810966ae688ac66ca2bbcae69cd9d0395796f",
                                                            "typeString": "literal_string \"log(uint,address,string,address)\""
                                                        },
                                                        "value": "log(uint,address,string,address)"
                                                    },
                                                    {
                                                        "id": 16311,
                                                        "name": "p0",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 16298,
                                                        "src": "26782:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_uint256",
                                                            "typeString": "uint256"
                                                        }
                                                    },
                                                    {
                                                        "id": 16312,
                                                        "name": "p1",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 16300,
                                                        "src": "26786:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_address",
                                                            "typeString": "address"
                                                        }
                                                    },
                                                    {
                                                        "id": 16313,
                                                        "name": "p2",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 16302,
                                                        "src": "26790:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_string_memory_ptr",
                                                            "typeString": "string memory"
                                                        }
                                                    },
                                                    {
                                                        "id": 16314,
                                                        "name": "p3",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 16304,
                                                        "src": "26794:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_address",
                                                            "typeString": "address"
                                                        }
                                                    }
                                                ],
                                                "expression": {
                                                    "argumentTypes": [
                                                        {
                                                            "typeIdentifier": "t_stringliteral_cbe58efddc067d74914c3479914810966ae688ac66ca2bbcae69cd9d0395796f",
                                                            "typeString": "literal_string \"log(uint,address,string,address)\""
                                                        },
                                                        {
                                                            "typeIdentifier": "t_uint256",
                                                            "typeString": "uint256"
                                                        },
                                                        {
                                                            "typeIdentifier": "t_address",
                                                            "typeString": "address"
                                                        },
                                                        {
                                                            "typeIdentifier": "t_string_memory_ptr",
                                                            "typeString": "string memory"
                                                        },
                                                        {
                                                            "typeIdentifier": "t_address",
                                                            "typeString": "address"
                                                        }
                                                    ],
                                                    "expression": {
                                                        "id": 16308,
                                                        "name": "abi",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 4294967295,
                                                        "src": "26722:3:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_magic_abi",
                                                            "typeString": "abi"
                                                        }
                                                    },
                                                    "id": 16309,
                                                    "isConstant": false,
                                                    "isLValue": false,
                                                    "isPure": true,
                                                    "lValueRequested": false,
                                                    "memberName": "encodeWithSignature",
                                                    "nodeType": "MemberAccess",
                                                    "src": "26722:23:62",
                                                    "typeDescriptions": {
                                                        "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$",
                                                        "typeString": "function (string memory) pure returns (bytes memory)"
                                                    }
                                                },
                                                "id": 16315,
                                                "isConstant": false,
                                                "isLValue": false,
                                                "isPure": false,
                                                "kind": "functionCall",
                                                "lValueRequested": false,
                                                "names": [],
                                                "nodeType": "FunctionCall",
                                                "src": "26722:75:62",
                                                "tryCall": false,
                                                "typeDescriptions": {
                                                    "typeIdentifier": "t_bytes_memory_ptr",
                                                    "typeString": "bytes memory"
                                                }
                                            }
                                        ],
                                        "expression": {
                                            "argumentTypes": [
                                                {
                                                    "typeIdentifier": "t_bytes_memory_ptr",
                                                    "typeString": "bytes memory"
                                                }
                                            ],
                                            "id": 16307,
                                            "name": "_sendLogPayload",
                                            "nodeType": "Identifier",
                                            "overloadedDeclarations": [],
                                            "referencedDeclaration": 12880,
                                            "src": "26706:15:62",
                                            "typeDescriptions": {
                                                "typeIdentifier": "t_function_internal_view$_t_bytes_memory_ptr_$returns$__$",
                                                "typeString": "function (bytes memory) view"
                                            }
                                        },
                                        "id": 16316,
                                        "isConstant": false,
                                        "isLValue": false,
                                        "isPure": false,
                                        "kind": "functionCall",
                                        "lValueRequested": false,
                                        "names": [],
                                        "nodeType": "FunctionCall",
                                        "src": "26706:92:62",
                                        "tryCall": false,
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_tuple$__$",
                                            "typeString": "tuple()"
                                        }
                                    },
                                    "id": 16317,
                                    "nodeType": "ExpressionStatement",
                                    "src": "26706:92:62"
                                }
                            ]
                        },
                        "id": 16319,
                        "implemented": true,
                        "kind": "function",
                        "modifiers": [],
                        "name": "log",
                        "nameLocation": "26633:3:62",
                        "nodeType": "FunctionDefinition",
                        "parameters": {
                            "id": 16305,
                            "nodeType": "ParameterList",
                            "parameters": [
                                {
                                    "constant": false,
                                    "id": 16298,
                                    "mutability": "mutable",
                                    "name": "p0",
                                    "nameLocation": "26642:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 16319,
                                    "src": "26637:7:62",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_uint256",
                                        "typeString": "uint256"
                                    },
                                    "typeName": {
                                        "id": 16297,
                                        "name": "uint",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "26637:4:62",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_uint256",
                                            "typeString": "uint256"
                                        }
                                    },
                                    "visibility": "internal"
                                },
                                {
                                    "constant": false,
                                    "id": 16300,
                                    "mutability": "mutable",
                                    "name": "p1",
                                    "nameLocation": "26654:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 16319,
                                    "src": "26646:10:62",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_address",
                                        "typeString": "address"
                                    },
                                    "typeName": {
                                        "id": 16299,
                                        "name": "address",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "26646:7:62",
                                        "stateMutability": "nonpayable",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_address",
                                            "typeString": "address"
                                        }
                                    },
                                    "visibility": "internal"
                                },
                                {
                                    "constant": false,
                                    "id": 16302,
                                    "mutability": "mutable",
                                    "name": "p2",
                                    "nameLocation": "26672:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 16319,
                                    "src": "26658:16:62",
                                    "stateVariable": false,
                                    "storageLocation": "memory",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_string_memory_ptr",
                                        "typeString": "string"
                                    },
                                    "typeName": {
                                        "id": 16301,
                                        "name": "string",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "26658:6:62",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_string_storage_ptr",
                                            "typeString": "string"
                                        }
                                    },
                                    "visibility": "internal"
                                },
                                {
                                    "constant": false,
                                    "id": 16304,
                                    "mutability": "mutable",
                                    "name": "p3",
                                    "nameLocation": "26684:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 16319,
                                    "src": "26676:10:62",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_address",
                                        "typeString": "address"
                                    },
                                    "typeName": {
                                        "id": 16303,
                                        "name": "address",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "26676:7:62",
                                        "stateMutability": "nonpayable",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_address",
                                            "typeString": "address"
                                        }
                                    },
                                    "visibility": "internal"
                                }
                            ],
                            "src": "26636:51:62"
                        },
                        "returnParameters": {
                            "id": 16306,
                            "nodeType": "ParameterList",
                            "parameters": [],
                            "src": "26702:0:62"
                        },
                        "scope": 20920,
                        "src": "26624:178:62",
                        "stateMutability": "view",
                        "virtual": false,
                        "visibility": "internal"
                    },
                    {
                        "body": {
                            "id": 16341,
                            "nodeType": "Block",
                            "src": "26871:95:62",
                            "statements": [
                                {
                                    "expression": {
                                        "arguments": [
                                            {
                                                "arguments": [
                                                    {
                                                        "hexValue": "6c6f672875696e742c616464726573732c626f6f6c2c75696e7429",
                                                        "id": 16333,
                                                        "isConstant": false,
                                                        "isLValue": false,
                                                        "isPure": true,
                                                        "kind": "string",
                                                        "lValueRequested": false,
                                                        "nodeType": "Literal",
                                                        "src": "26915:29:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_stringliteral_7b08e8ebd6be8a04c54551194ba5143f1a555d43fe60d53843383a9915eeccb2",
                                                            "typeString": "literal_string \"log(uint,address,bool,uint)\""
                                                        },
                                                        "value": "log(uint,address,bool,uint)"
                                                    },
                                                    {
                                                        "id": 16334,
                                                        "name": "p0",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 16321,
                                                        "src": "26946:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_uint256",
                                                            "typeString": "uint256"
                                                        }
                                                    },
                                                    {
                                                        "id": 16335,
                                                        "name": "p1",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 16323,
                                                        "src": "26950:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_address",
                                                            "typeString": "address"
                                                        }
                                                    },
                                                    {
                                                        "id": 16336,
                                                        "name": "p2",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 16325,
                                                        "src": "26954:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_bool",
                                                            "typeString": "bool"
                                                        }
                                                    },
                                                    {
                                                        "id": 16337,
                                                        "name": "p3",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 16327,
                                                        "src": "26958:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_uint256",
                                                            "typeString": "uint256"
                                                        }
                                                    }
                                                ],
                                                "expression": {
                                                    "argumentTypes": [
                                                        {
                                                            "typeIdentifier": "t_stringliteral_7b08e8ebd6be8a04c54551194ba5143f1a555d43fe60d53843383a9915eeccb2",
                                                            "typeString": "literal_string \"log(uint,address,bool,uint)\""
                                                        },
                                                        {
                                                            "typeIdentifier": "t_uint256",
                                                            "typeString": "uint256"
                                                        },
                                                        {
                                                            "typeIdentifier": "t_address",
                                                            "typeString": "address"
                                                        },
                                                        {
                                                            "typeIdentifier": "t_bool",
                                                            "typeString": "bool"
                                                        },
                                                        {
                                                            "typeIdentifier": "t_uint256",
                                                            "typeString": "uint256"
                                                        }
                                                    ],
                                                    "expression": {
                                                        "id": 16331,
                                                        "name": "abi",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 4294967295,
                                                        "src": "26891:3:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_magic_abi",
                                                            "typeString": "abi"
                                                        }
                                                    },
                                                    "id": 16332,
                                                    "isConstant": false,
                                                    "isLValue": false,
                                                    "isPure": true,
                                                    "lValueRequested": false,
                                                    "memberName": "encodeWithSignature",
                                                    "nodeType": "MemberAccess",
                                                    "src": "26891:23:62",
                                                    "typeDescriptions": {
                                                        "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$",
                                                        "typeString": "function (string memory) pure returns (bytes memory)"
                                                    }
                                                },
                                                "id": 16338,
                                                "isConstant": false,
                                                "isLValue": false,
                                                "isPure": false,
                                                "kind": "functionCall",
                                                "lValueRequested": false,
                                                "names": [],
                                                "nodeType": "FunctionCall",
                                                "src": "26891:70:62",
                                                "tryCall": false,
                                                "typeDescriptions": {
                                                    "typeIdentifier": "t_bytes_memory_ptr",
                                                    "typeString": "bytes memory"
                                                }
                                            }
                                        ],
                                        "expression": {
                                            "argumentTypes": [
                                                {
                                                    "typeIdentifier": "t_bytes_memory_ptr",
                                                    "typeString": "bytes memory"
                                                }
                                            ],
                                            "id": 16330,
                                            "name": "_sendLogPayload",
                                            "nodeType": "Identifier",
                                            "overloadedDeclarations": [],
                                            "referencedDeclaration": 12880,
                                            "src": "26875:15:62",
                                            "typeDescriptions": {
                                                "typeIdentifier": "t_function_internal_view$_t_bytes_memory_ptr_$returns$__$",
                                                "typeString": "function (bytes memory) view"
                                            }
                                        },
                                        "id": 16339,
                                        "isConstant": false,
                                        "isLValue": false,
                                        "isPure": false,
                                        "kind": "functionCall",
                                        "lValueRequested": false,
                                        "names": [],
                                        "nodeType": "FunctionCall",
                                        "src": "26875:87:62",
                                        "tryCall": false,
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_tuple$__$",
                                            "typeString": "tuple()"
                                        }
                                    },
                                    "id": 16340,
                                    "nodeType": "ExpressionStatement",
                                    "src": "26875:87:62"
                                }
                            ]
                        },
                        "id": 16342,
                        "implemented": true,
                        "kind": "function",
                        "modifiers": [],
                        "name": "log",
                        "nameLocation": "26814:3:62",
                        "nodeType": "FunctionDefinition",
                        "parameters": {
                            "id": 16328,
                            "nodeType": "ParameterList",
                            "parameters": [
                                {
                                    "constant": false,
                                    "id": 16321,
                                    "mutability": "mutable",
                                    "name": "p0",
                                    "nameLocation": "26823:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 16342,
                                    "src": "26818:7:62",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_uint256",
                                        "typeString": "uint256"
                                    },
                                    "typeName": {
                                        "id": 16320,
                                        "name": "uint",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "26818:4:62",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_uint256",
                                            "typeString": "uint256"
                                        }
                                    },
                                    "visibility": "internal"
                                },
                                {
                                    "constant": false,
                                    "id": 16323,
                                    "mutability": "mutable",
                                    "name": "p1",
                                    "nameLocation": "26835:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 16342,
                                    "src": "26827:10:62",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_address",
                                        "typeString": "address"
                                    },
                                    "typeName": {
                                        "id": 16322,
                                        "name": "address",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "26827:7:62",
                                        "stateMutability": "nonpayable",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_address",
                                            "typeString": "address"
                                        }
                                    },
                                    "visibility": "internal"
                                },
                                {
                                    "constant": false,
                                    "id": 16325,
                                    "mutability": "mutable",
                                    "name": "p2",
                                    "nameLocation": "26844:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 16342,
                                    "src": "26839:7:62",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_bool",
                                        "typeString": "bool"
                                    },
                                    "typeName": {
                                        "id": 16324,
                                        "name": "bool",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "26839:4:62",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_bool",
                                            "typeString": "bool"
                                        }
                                    },
                                    "visibility": "internal"
                                },
                                {
                                    "constant": false,
                                    "id": 16327,
                                    "mutability": "mutable",
                                    "name": "p3",
                                    "nameLocation": "26853:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 16342,
                                    "src": "26848:7:62",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_uint256",
                                        "typeString": "uint256"
                                    },
                                    "typeName": {
                                        "id": 16326,
                                        "name": "uint",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "26848:4:62",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_uint256",
                                            "typeString": "uint256"
                                        }
                                    },
                                    "visibility": "internal"
                                }
                            ],
                            "src": "26817:39:62"
                        },
                        "returnParameters": {
                            "id": 16329,
                            "nodeType": "ParameterList",
                            "parameters": [],
                            "src": "26871:0:62"
                        },
                        "scope": 20920,
                        "src": "26805:161:62",
                        "stateMutability": "view",
                        "virtual": false,
                        "visibility": "internal"
                    },
                    {
                        "body": {
                            "id": 16364,
                            "nodeType": "Block",
                            "src": "27044:97:62",
                            "statements": [
                                {
                                    "expression": {
                                        "arguments": [
                                            {
                                                "arguments": [
                                                    {
                                                        "hexValue": "6c6f672875696e742c616464726573732c626f6f6c2c737472696e6729",
                                                        "id": 16356,
                                                        "isConstant": false,
                                                        "isLValue": false,
                                                        "isPure": true,
                                                        "kind": "string",
                                                        "lValueRequested": false,
                                                        "nodeType": "Literal",
                                                        "src": "27088:31:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_stringliteral_63f0e24221aeb6c531ea500a191ac35497bf48695fb29864fe57726a12d605c6",
                                                            "typeString": "literal_string \"log(uint,address,bool,string)\""
                                                        },
                                                        "value": "log(uint,address,bool,string)"
                                                    },
                                                    {
                                                        "id": 16357,
                                                        "name": "p0",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 16344,
                                                        "src": "27121:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_uint256",
                                                            "typeString": "uint256"
                                                        }
                                                    },
                                                    {
                                                        "id": 16358,
                                                        "name": "p1",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 16346,
                                                        "src": "27125:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_address",
                                                            "typeString": "address"
                                                        }
                                                    },
                                                    {
                                                        "id": 16359,
                                                        "name": "p2",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 16348,
                                                        "src": "27129:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_bool",
                                                            "typeString": "bool"
                                                        }
                                                    },
                                                    {
                                                        "id": 16360,
                                                        "name": "p3",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 16350,
                                                        "src": "27133:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_string_memory_ptr",
                                                            "typeString": "string memory"
                                                        }
                                                    }
                                                ],
                                                "expression": {
                                                    "argumentTypes": [
                                                        {
                                                            "typeIdentifier": "t_stringliteral_63f0e24221aeb6c531ea500a191ac35497bf48695fb29864fe57726a12d605c6",
                                                            "typeString": "literal_string \"log(uint,address,bool,string)\""
                                                        },
                                                        {
                                                            "typeIdentifier": "t_uint256",
                                                            "typeString": "uint256"
                                                        },
                                                        {
                                                            "typeIdentifier": "t_address",
                                                            "typeString": "address"
                                                        },
                                                        {
                                                            "typeIdentifier": "t_bool",
                                                            "typeString": "bool"
                                                        },
                                                        {
                                                            "typeIdentifier": "t_string_memory_ptr",
                                                            "typeString": "string memory"
                                                        }
                                                    ],
                                                    "expression": {
                                                        "id": 16354,
                                                        "name": "abi",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 4294967295,
                                                        "src": "27064:3:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_magic_abi",
                                                            "typeString": "abi"
                                                        }
                                                    },
                                                    "id": 16355,
                                                    "isConstant": false,
                                                    "isLValue": false,
                                                    "isPure": true,
                                                    "lValueRequested": false,
                                                    "memberName": "encodeWithSignature",
                                                    "nodeType": "MemberAccess",
                                                    "src": "27064:23:62",
                                                    "typeDescriptions": {
                                                        "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$",
                                                        "typeString": "function (string memory) pure returns (bytes memory)"
                                                    }
                                                },
                                                "id": 16361,
                                                "isConstant": false,
                                                "isLValue": false,
                                                "isPure": false,
                                                "kind": "functionCall",
                                                "lValueRequested": false,
                                                "names": [],
                                                "nodeType": "FunctionCall",
                                                "src": "27064:72:62",
                                                "tryCall": false,
                                                "typeDescriptions": {
                                                    "typeIdentifier": "t_bytes_memory_ptr",
                                                    "typeString": "bytes memory"
                                                }
                                            }
                                        ],
                                        "expression": {
                                            "argumentTypes": [
                                                {
                                                    "typeIdentifier": "t_bytes_memory_ptr",
                                                    "typeString": "bytes memory"
                                                }
                                            ],
                                            "id": 16353,
                                            "name": "_sendLogPayload",
                                            "nodeType": "Identifier",
                                            "overloadedDeclarations": [],
                                            "referencedDeclaration": 12880,
                                            "src": "27048:15:62",
                                            "typeDescriptions": {
                                                "typeIdentifier": "t_function_internal_view$_t_bytes_memory_ptr_$returns$__$",
                                                "typeString": "function (bytes memory) view"
                                            }
                                        },
                                        "id": 16362,
                                        "isConstant": false,
                                        "isLValue": false,
                                        "isPure": false,
                                        "kind": "functionCall",
                                        "lValueRequested": false,
                                        "names": [],
                                        "nodeType": "FunctionCall",
                                        "src": "27048:89:62",
                                        "tryCall": false,
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_tuple$__$",
                                            "typeString": "tuple()"
                                        }
                                    },
                                    "id": 16363,
                                    "nodeType": "ExpressionStatement",
                                    "src": "27048:89:62"
                                }
                            ]
                        },
                        "id": 16365,
                        "implemented": true,
                        "kind": "function",
                        "modifiers": [],
                        "name": "log",
                        "nameLocation": "26978:3:62",
                        "nodeType": "FunctionDefinition",
                        "parameters": {
                            "id": 16351,
                            "nodeType": "ParameterList",
                            "parameters": [
                                {
                                    "constant": false,
                                    "id": 16344,
                                    "mutability": "mutable",
                                    "name": "p0",
                                    "nameLocation": "26987:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 16365,
                                    "src": "26982:7:62",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_uint256",
                                        "typeString": "uint256"
                                    },
                                    "typeName": {
                                        "id": 16343,
                                        "name": "uint",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "26982:4:62",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_uint256",
                                            "typeString": "uint256"
                                        }
                                    },
                                    "visibility": "internal"
                                },
                                {
                                    "constant": false,
                                    "id": 16346,
                                    "mutability": "mutable",
                                    "name": "p1",
                                    "nameLocation": "26999:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 16365,
                                    "src": "26991:10:62",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_address",
                                        "typeString": "address"
                                    },
                                    "typeName": {
                                        "id": 16345,
                                        "name": "address",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "26991:7:62",
                                        "stateMutability": "nonpayable",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_address",
                                            "typeString": "address"
                                        }
                                    },
                                    "visibility": "internal"
                                },
                                {
                                    "constant": false,
                                    "id": 16348,
                                    "mutability": "mutable",
                                    "name": "p2",
                                    "nameLocation": "27008:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 16365,
                                    "src": "27003:7:62",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_bool",
                                        "typeString": "bool"
                                    },
                                    "typeName": {
                                        "id": 16347,
                                        "name": "bool",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "27003:4:62",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_bool",
                                            "typeString": "bool"
                                        }
                                    },
                                    "visibility": "internal"
                                },
                                {
                                    "constant": false,
                                    "id": 16350,
                                    "mutability": "mutable",
                                    "name": "p3",
                                    "nameLocation": "27026:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 16365,
                                    "src": "27012:16:62",
                                    "stateVariable": false,
                                    "storageLocation": "memory",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_string_memory_ptr",
                                        "typeString": "string"
                                    },
                                    "typeName": {
                                        "id": 16349,
                                        "name": "string",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "27012:6:62",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_string_storage_ptr",
                                            "typeString": "string"
                                        }
                                    },
                                    "visibility": "internal"
                                }
                            ],
                            "src": "26981:48:62"
                        },
                        "returnParameters": {
                            "id": 16352,
                            "nodeType": "ParameterList",
                            "parameters": [],
                            "src": "27044:0:62"
                        },
                        "scope": 20920,
                        "src": "26969:172:62",
                        "stateMutability": "view",
                        "virtual": false,
                        "visibility": "internal"
                    },
                    {
                        "body": {
                            "id": 16387,
                            "nodeType": "Block",
                            "src": "27210:95:62",
                            "statements": [
                                {
                                    "expression": {
                                        "arguments": [
                                            {
                                                "arguments": [
                                                    {
                                                        "hexValue": "6c6f672875696e742c616464726573732c626f6f6c2c626f6f6c29",
                                                        "id": 16379,
                                                        "isConstant": false,
                                                        "isLValue": false,
                                                        "isPure": true,
                                                        "kind": "string",
                                                        "lValueRequested": false,
                                                        "nodeType": "Literal",
                                                        "src": "27254:29:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_stringliteral_7e27410dc86ab22a92f2a269c9cf538b707bde3ac248f933df1f4d0b76947d32",
                                                            "typeString": "literal_string \"log(uint,address,bool,bool)\""
                                                        },
                                                        "value": "log(uint,address,bool,bool)"
                                                    },
                                                    {
                                                        "id": 16380,
                                                        "name": "p0",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 16367,
                                                        "src": "27285:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_uint256",
                                                            "typeString": "uint256"
                                                        }
                                                    },
                                                    {
                                                        "id": 16381,
                                                        "name": "p1",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 16369,
                                                        "src": "27289:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_address",
                                                            "typeString": "address"
                                                        }
                                                    },
                                                    {
                                                        "id": 16382,
                                                        "name": "p2",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 16371,
                                                        "src": "27293:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_bool",
                                                            "typeString": "bool"
                                                        }
                                                    },
                                                    {
                                                        "id": 16383,
                                                        "name": "p3",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 16373,
                                                        "src": "27297:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_bool",
                                                            "typeString": "bool"
                                                        }
                                                    }
                                                ],
                                                "expression": {
                                                    "argumentTypes": [
                                                        {
                                                            "typeIdentifier": "t_stringliteral_7e27410dc86ab22a92f2a269c9cf538b707bde3ac248f933df1f4d0b76947d32",
                                                            "typeString": "literal_string \"log(uint,address,bool,bool)\""
                                                        },
                                                        {
                                                            "typeIdentifier": "t_uint256",
                                                            "typeString": "uint256"
                                                        },
                                                        {
                                                            "typeIdentifier": "t_address",
                                                            "typeString": "address"
                                                        },
                                                        {
                                                            "typeIdentifier": "t_bool",
                                                            "typeString": "bool"
                                                        },
                                                        {
                                                            "typeIdentifier": "t_bool",
                                                            "typeString": "bool"
                                                        }
                                                    ],
                                                    "expression": {
                                                        "id": 16377,
                                                        "name": "abi",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 4294967295,
                                                        "src": "27230:3:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_magic_abi",
                                                            "typeString": "abi"
                                                        }
                                                    },
                                                    "id": 16378,
                                                    "isConstant": false,
                                                    "isLValue": false,
                                                    "isPure": true,
                                                    "lValueRequested": false,
                                                    "memberName": "encodeWithSignature",
                                                    "nodeType": "MemberAccess",
                                                    "src": "27230:23:62",
                                                    "typeDescriptions": {
                                                        "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$",
                                                        "typeString": "function (string memory) pure returns (bytes memory)"
                                                    }
                                                },
                                                "id": 16384,
                                                "isConstant": false,
                                                "isLValue": false,
                                                "isPure": false,
                                                "kind": "functionCall",
                                                "lValueRequested": false,
                                                "names": [],
                                                "nodeType": "FunctionCall",
                                                "src": "27230:70:62",
                                                "tryCall": false,
                                                "typeDescriptions": {
                                                    "typeIdentifier": "t_bytes_memory_ptr",
                                                    "typeString": "bytes memory"
                                                }
                                            }
                                        ],
                                        "expression": {
                                            "argumentTypes": [
                                                {
                                                    "typeIdentifier": "t_bytes_memory_ptr",
                                                    "typeString": "bytes memory"
                                                }
                                            ],
                                            "id": 16376,
                                            "name": "_sendLogPayload",
                                            "nodeType": "Identifier",
                                            "overloadedDeclarations": [],
                                            "referencedDeclaration": 12880,
                                            "src": "27214:15:62",
                                            "typeDescriptions": {
                                                "typeIdentifier": "t_function_internal_view$_t_bytes_memory_ptr_$returns$__$",
                                                "typeString": "function (bytes memory) view"
                                            }
                                        },
                                        "id": 16385,
                                        "isConstant": false,
                                        "isLValue": false,
                                        "isPure": false,
                                        "kind": "functionCall",
                                        "lValueRequested": false,
                                        "names": [],
                                        "nodeType": "FunctionCall",
                                        "src": "27214:87:62",
                                        "tryCall": false,
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_tuple$__$",
                                            "typeString": "tuple()"
                                        }
                                    },
                                    "id": 16386,
                                    "nodeType": "ExpressionStatement",
                                    "src": "27214:87:62"
                                }
                            ]
                        },
                        "id": 16388,
                        "implemented": true,
                        "kind": "function",
                        "modifiers": [],
                        "name": "log",
                        "nameLocation": "27153:3:62",
                        "nodeType": "FunctionDefinition",
                        "parameters": {
                            "id": 16374,
                            "nodeType": "ParameterList",
                            "parameters": [
                                {
                                    "constant": false,
                                    "id": 16367,
                                    "mutability": "mutable",
                                    "name": "p0",
                                    "nameLocation": "27162:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 16388,
                                    "src": "27157:7:62",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_uint256",
                                        "typeString": "uint256"
                                    },
                                    "typeName": {
                                        "id": 16366,
                                        "name": "uint",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "27157:4:62",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_uint256",
                                            "typeString": "uint256"
                                        }
                                    },
                                    "visibility": "internal"
                                },
                                {
                                    "constant": false,
                                    "id": 16369,
                                    "mutability": "mutable",
                                    "name": "p1",
                                    "nameLocation": "27174:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 16388,
                                    "src": "27166:10:62",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_address",
                                        "typeString": "address"
                                    },
                                    "typeName": {
                                        "id": 16368,
                                        "name": "address",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "27166:7:62",
                                        "stateMutability": "nonpayable",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_address",
                                            "typeString": "address"
                                        }
                                    },
                                    "visibility": "internal"
                                },
                                {
                                    "constant": false,
                                    "id": 16371,
                                    "mutability": "mutable",
                                    "name": "p2",
                                    "nameLocation": "27183:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 16388,
                                    "src": "27178:7:62",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_bool",
                                        "typeString": "bool"
                                    },
                                    "typeName": {
                                        "id": 16370,
                                        "name": "bool",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "27178:4:62",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_bool",
                                            "typeString": "bool"
                                        }
                                    },
                                    "visibility": "internal"
                                },
                                {
                                    "constant": false,
                                    "id": 16373,
                                    "mutability": "mutable",
                                    "name": "p3",
                                    "nameLocation": "27192:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 16388,
                                    "src": "27187:7:62",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_bool",
                                        "typeString": "bool"
                                    },
                                    "typeName": {
                                        "id": 16372,
                                        "name": "bool",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "27187:4:62",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_bool",
                                            "typeString": "bool"
                                        }
                                    },
                                    "visibility": "internal"
                                }
                            ],
                            "src": "27156:39:62"
                        },
                        "returnParameters": {
                            "id": 16375,
                            "nodeType": "ParameterList",
                            "parameters": [],
                            "src": "27210:0:62"
                        },
                        "scope": 20920,
                        "src": "27144:161:62",
                        "stateMutability": "view",
                        "virtual": false,
                        "visibility": "internal"
                    },
                    {
                        "body": {
                            "id": 16410,
                            "nodeType": "Block",
                            "src": "27377:98:62",
                            "statements": [
                                {
                                    "expression": {
                                        "arguments": [
                                            {
                                                "arguments": [
                                                    {
                                                        "hexValue": "6c6f672875696e742c616464726573732c626f6f6c2c6164647265737329",
                                                        "id": 16402,
                                                        "isConstant": false,
                                                        "isLValue": false,
                                                        "isPure": true,
                                                        "kind": "string",
                                                        "lValueRequested": false,
                                                        "nodeType": "Literal",
                                                        "src": "27421:32:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_stringliteral_b6313094a820841f3156e32d271c63cceded7f62875d471e1e87ef33ec252789",
                                                            "typeString": "literal_string \"log(uint,address,bool,address)\""
                                                        },
                                                        "value": "log(uint,address,bool,address)"
                                                    },
                                                    {
                                                        "id": 16403,
                                                        "name": "p0",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 16390,
                                                        "src": "27455:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_uint256",
                                                            "typeString": "uint256"
                                                        }
                                                    },
                                                    {
                                                        "id": 16404,
                                                        "name": "p1",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 16392,
                                                        "src": "27459:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_address",
                                                            "typeString": "address"
                                                        }
                                                    },
                                                    {
                                                        "id": 16405,
                                                        "name": "p2",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 16394,
                                                        "src": "27463:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_bool",
                                                            "typeString": "bool"
                                                        }
                                                    },
                                                    {
                                                        "id": 16406,
                                                        "name": "p3",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 16396,
                                                        "src": "27467:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_address",
                                                            "typeString": "address"
                                                        }
                                                    }
                                                ],
                                                "expression": {
                                                    "argumentTypes": [
                                                        {
                                                            "typeIdentifier": "t_stringliteral_b6313094a820841f3156e32d271c63cceded7f62875d471e1e87ef33ec252789",
                                                            "typeString": "literal_string \"log(uint,address,bool,address)\""
                                                        },
                                                        {
                                                            "typeIdentifier": "t_uint256",
                                                            "typeString": "uint256"
                                                        },
                                                        {
                                                            "typeIdentifier": "t_address",
                                                            "typeString": "address"
                                                        },
                                                        {
                                                            "typeIdentifier": "t_bool",
                                                            "typeString": "bool"
                                                        },
                                                        {
                                                            "typeIdentifier": "t_address",
                                                            "typeString": "address"
                                                        }
                                                    ],
                                                    "expression": {
                                                        "id": 16400,
                                                        "name": "abi",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 4294967295,
                                                        "src": "27397:3:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_magic_abi",
                                                            "typeString": "abi"
                                                        }
                                                    },
                                                    "id": 16401,
                                                    "isConstant": false,
                                                    "isLValue": false,
                                                    "isPure": true,
                                                    "lValueRequested": false,
                                                    "memberName": "encodeWithSignature",
                                                    "nodeType": "MemberAccess",
                                                    "src": "27397:23:62",
                                                    "typeDescriptions": {
                                                        "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$",
                                                        "typeString": "function (string memory) pure returns (bytes memory)"
                                                    }
                                                },
                                                "id": 16407,
                                                "isConstant": false,
                                                "isLValue": false,
                                                "isPure": false,
                                                "kind": "functionCall",
                                                "lValueRequested": false,
                                                "names": [],
                                                "nodeType": "FunctionCall",
                                                "src": "27397:73:62",
                                                "tryCall": false,
                                                "typeDescriptions": {
                                                    "typeIdentifier": "t_bytes_memory_ptr",
                                                    "typeString": "bytes memory"
                                                }
                                            }
                                        ],
                                        "expression": {
                                            "argumentTypes": [
                                                {
                                                    "typeIdentifier": "t_bytes_memory_ptr",
                                                    "typeString": "bytes memory"
                                                }
                                            ],
                                            "id": 16399,
                                            "name": "_sendLogPayload",
                                            "nodeType": "Identifier",
                                            "overloadedDeclarations": [],
                                            "referencedDeclaration": 12880,
                                            "src": "27381:15:62",
                                            "typeDescriptions": {
                                                "typeIdentifier": "t_function_internal_view$_t_bytes_memory_ptr_$returns$__$",
                                                "typeString": "function (bytes memory) view"
                                            }
                                        },
                                        "id": 16408,
                                        "isConstant": false,
                                        "isLValue": false,
                                        "isPure": false,
                                        "kind": "functionCall",
                                        "lValueRequested": false,
                                        "names": [],
                                        "nodeType": "FunctionCall",
                                        "src": "27381:90:62",
                                        "tryCall": false,
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_tuple$__$",
                                            "typeString": "tuple()"
                                        }
                                    },
                                    "id": 16409,
                                    "nodeType": "ExpressionStatement",
                                    "src": "27381:90:62"
                                }
                            ]
                        },
                        "id": 16411,
                        "implemented": true,
                        "kind": "function",
                        "modifiers": [],
                        "name": "log",
                        "nameLocation": "27317:3:62",
                        "nodeType": "FunctionDefinition",
                        "parameters": {
                            "id": 16397,
                            "nodeType": "ParameterList",
                            "parameters": [
                                {
                                    "constant": false,
                                    "id": 16390,
                                    "mutability": "mutable",
                                    "name": "p0",
                                    "nameLocation": "27326:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 16411,
                                    "src": "27321:7:62",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_uint256",
                                        "typeString": "uint256"
                                    },
                                    "typeName": {
                                        "id": 16389,
                                        "name": "uint",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "27321:4:62",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_uint256",
                                            "typeString": "uint256"
                                        }
                                    },
                                    "visibility": "internal"
                                },
                                {
                                    "constant": false,
                                    "id": 16392,
                                    "mutability": "mutable",
                                    "name": "p1",
                                    "nameLocation": "27338:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 16411,
                                    "src": "27330:10:62",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_address",
                                        "typeString": "address"
                                    },
                                    "typeName": {
                                        "id": 16391,
                                        "name": "address",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "27330:7:62",
                                        "stateMutability": "nonpayable",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_address",
                                            "typeString": "address"
                                        }
                                    },
                                    "visibility": "internal"
                                },
                                {
                                    "constant": false,
                                    "id": 16394,
                                    "mutability": "mutable",
                                    "name": "p2",
                                    "nameLocation": "27347:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 16411,
                                    "src": "27342:7:62",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_bool",
                                        "typeString": "bool"
                                    },
                                    "typeName": {
                                        "id": 16393,
                                        "name": "bool",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "27342:4:62",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_bool",
                                            "typeString": "bool"
                                        }
                                    },
                                    "visibility": "internal"
                                },
                                {
                                    "constant": false,
                                    "id": 16396,
                                    "mutability": "mutable",
                                    "name": "p3",
                                    "nameLocation": "27359:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 16411,
                                    "src": "27351:10:62",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_address",
                                        "typeString": "address"
                                    },
                                    "typeName": {
                                        "id": 16395,
                                        "name": "address",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "27351:7:62",
                                        "stateMutability": "nonpayable",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_address",
                                            "typeString": "address"
                                        }
                                    },
                                    "visibility": "internal"
                                }
                            ],
                            "src": "27320:42:62"
                        },
                        "returnParameters": {
                            "id": 16398,
                            "nodeType": "ParameterList",
                            "parameters": [],
                            "src": "27377:0:62"
                        },
                        "scope": 20920,
                        "src": "27308:167:62",
                        "stateMutability": "view",
                        "virtual": false,
                        "visibility": "internal"
                    },
                    {
                        "body": {
                            "id": 16433,
                            "nodeType": "Block",
                            "src": "27547:98:62",
                            "statements": [
                                {
                                    "expression": {
                                        "arguments": [
                                            {
                                                "arguments": [
                                                    {
                                                        "hexValue": "6c6f672875696e742c616464726573732c616464726573732c75696e7429",
                                                        "id": 16425,
                                                        "isConstant": false,
                                                        "isLValue": false,
                                                        "isPure": true,
                                                        "kind": "string",
                                                        "lValueRequested": false,
                                                        "nodeType": "Literal",
                                                        "src": "27591:32:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_stringliteral_9a3cbf9603c94c357c6f62b7a32789d9ca5caa81518d1277c9ca986a5650734b",
                                                            "typeString": "literal_string \"log(uint,address,address,uint)\""
                                                        },
                                                        "value": "log(uint,address,address,uint)"
                                                    },
                                                    {
                                                        "id": 16426,
                                                        "name": "p0",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 16413,
                                                        "src": "27625:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_uint256",
                                                            "typeString": "uint256"
                                                        }
                                                    },
                                                    {
                                                        "id": 16427,
                                                        "name": "p1",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 16415,
                                                        "src": "27629:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_address",
                                                            "typeString": "address"
                                                        }
                                                    },
                                                    {
                                                        "id": 16428,
                                                        "name": "p2",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 16417,
                                                        "src": "27633:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_address",
                                                            "typeString": "address"
                                                        }
                                                    },
                                                    {
                                                        "id": 16429,
                                                        "name": "p3",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 16419,
                                                        "src": "27637:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_uint256",
                                                            "typeString": "uint256"
                                                        }
                                                    }
                                                ],
                                                "expression": {
                                                    "argumentTypes": [
                                                        {
                                                            "typeIdentifier": "t_stringliteral_9a3cbf9603c94c357c6f62b7a32789d9ca5caa81518d1277c9ca986a5650734b",
                                                            "typeString": "literal_string \"log(uint,address,address,uint)\""
                                                        },
                                                        {
                                                            "typeIdentifier": "t_uint256",
                                                            "typeString": "uint256"
                                                        },
                                                        {
                                                            "typeIdentifier": "t_address",
                                                            "typeString": "address"
                                                        },
                                                        {
                                                            "typeIdentifier": "t_address",
                                                            "typeString": "address"
                                                        },
                                                        {
                                                            "typeIdentifier": "t_uint256",
                                                            "typeString": "uint256"
                                                        }
                                                    ],
                                                    "expression": {
                                                        "id": 16423,
                                                        "name": "abi",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 4294967295,
                                                        "src": "27567:3:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_magic_abi",
                                                            "typeString": "abi"
                                                        }
                                                    },
                                                    "id": 16424,
                                                    "isConstant": false,
                                                    "isLValue": false,
                                                    "isPure": true,
                                                    "lValueRequested": false,
                                                    "memberName": "encodeWithSignature",
                                                    "nodeType": "MemberAccess",
                                                    "src": "27567:23:62",
                                                    "typeDescriptions": {
                                                        "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$",
                                                        "typeString": "function (string memory) pure returns (bytes memory)"
                                                    }
                                                },
                                                "id": 16430,
                                                "isConstant": false,
                                                "isLValue": false,
                                                "isPure": false,
                                                "kind": "functionCall",
                                                "lValueRequested": false,
                                                "names": [],
                                                "nodeType": "FunctionCall",
                                                "src": "27567:73:62",
                                                "tryCall": false,
                                                "typeDescriptions": {
                                                    "typeIdentifier": "t_bytes_memory_ptr",
                                                    "typeString": "bytes memory"
                                                }
                                            }
                                        ],
                                        "expression": {
                                            "argumentTypes": [
                                                {
                                                    "typeIdentifier": "t_bytes_memory_ptr",
                                                    "typeString": "bytes memory"
                                                }
                                            ],
                                            "id": 16422,
                                            "name": "_sendLogPayload",
                                            "nodeType": "Identifier",
                                            "overloadedDeclarations": [],
                                            "referencedDeclaration": 12880,
                                            "src": "27551:15:62",
                                            "typeDescriptions": {
                                                "typeIdentifier": "t_function_internal_view$_t_bytes_memory_ptr_$returns$__$",
                                                "typeString": "function (bytes memory) view"
                                            }
                                        },
                                        "id": 16431,
                                        "isConstant": false,
                                        "isLValue": false,
                                        "isPure": false,
                                        "kind": "functionCall",
                                        "lValueRequested": false,
                                        "names": [],
                                        "nodeType": "FunctionCall",
                                        "src": "27551:90:62",
                                        "tryCall": false,
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_tuple$__$",
                                            "typeString": "tuple()"
                                        }
                                    },
                                    "id": 16432,
                                    "nodeType": "ExpressionStatement",
                                    "src": "27551:90:62"
                                }
                            ]
                        },
                        "id": 16434,
                        "implemented": true,
                        "kind": "function",
                        "modifiers": [],
                        "name": "log",
                        "nameLocation": "27487:3:62",
                        "nodeType": "FunctionDefinition",
                        "parameters": {
                            "id": 16420,
                            "nodeType": "ParameterList",
                            "parameters": [
                                {
                                    "constant": false,
                                    "id": 16413,
                                    "mutability": "mutable",
                                    "name": "p0",
                                    "nameLocation": "27496:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 16434,
                                    "src": "27491:7:62",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_uint256",
                                        "typeString": "uint256"
                                    },
                                    "typeName": {
                                        "id": 16412,
                                        "name": "uint",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "27491:4:62",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_uint256",
                                            "typeString": "uint256"
                                        }
                                    },
                                    "visibility": "internal"
                                },
                                {
                                    "constant": false,
                                    "id": 16415,
                                    "mutability": "mutable",
                                    "name": "p1",
                                    "nameLocation": "27508:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 16434,
                                    "src": "27500:10:62",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_address",
                                        "typeString": "address"
                                    },
                                    "typeName": {
                                        "id": 16414,
                                        "name": "address",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "27500:7:62",
                                        "stateMutability": "nonpayable",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_address",
                                            "typeString": "address"
                                        }
                                    },
                                    "visibility": "internal"
                                },
                                {
                                    "constant": false,
                                    "id": 16417,
                                    "mutability": "mutable",
                                    "name": "p2",
                                    "nameLocation": "27520:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 16434,
                                    "src": "27512:10:62",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_address",
                                        "typeString": "address"
                                    },
                                    "typeName": {
                                        "id": 16416,
                                        "name": "address",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "27512:7:62",
                                        "stateMutability": "nonpayable",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_address",
                                            "typeString": "address"
                                        }
                                    },
                                    "visibility": "internal"
                                },
                                {
                                    "constant": false,
                                    "id": 16419,
                                    "mutability": "mutable",
                                    "name": "p3",
                                    "nameLocation": "27529:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 16434,
                                    "src": "27524:7:62",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_uint256",
                                        "typeString": "uint256"
                                    },
                                    "typeName": {
                                        "id": 16418,
                                        "name": "uint",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "27524:4:62",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_uint256",
                                            "typeString": "uint256"
                                        }
                                    },
                                    "visibility": "internal"
                                }
                            ],
                            "src": "27490:42:62"
                        },
                        "returnParameters": {
                            "id": 16421,
                            "nodeType": "ParameterList",
                            "parameters": [],
                            "src": "27547:0:62"
                        },
                        "scope": 20920,
                        "src": "27478:167:62",
                        "stateMutability": "view",
                        "virtual": false,
                        "visibility": "internal"
                    },
                    {
                        "body": {
                            "id": 16456,
                            "nodeType": "Block",
                            "src": "27726:100:62",
                            "statements": [
                                {
                                    "expression": {
                                        "arguments": [
                                            {
                                                "arguments": [
                                                    {
                                                        "hexValue": "6c6f672875696e742c616464726573732c616464726573732c737472696e6729",
                                                        "id": 16448,
                                                        "isConstant": false,
                                                        "isLValue": false,
                                                        "isPure": true,
                                                        "kind": "string",
                                                        "lValueRequested": false,
                                                        "nodeType": "Literal",
                                                        "src": "27770:34:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_stringliteral_7943dc6627d308affd474fe50b563bcfbf09518236383b806f11730459213622",
                                                            "typeString": "literal_string \"log(uint,address,address,string)\""
                                                        },
                                                        "value": "log(uint,address,address,string)"
                                                    },
                                                    {
                                                        "id": 16449,
                                                        "name": "p0",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 16436,
                                                        "src": "27806:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_uint256",
                                                            "typeString": "uint256"
                                                        }
                                                    },
                                                    {
                                                        "id": 16450,
                                                        "name": "p1",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 16438,
                                                        "src": "27810:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_address",
                                                            "typeString": "address"
                                                        }
                                                    },
                                                    {
                                                        "id": 16451,
                                                        "name": "p2",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 16440,
                                                        "src": "27814:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_address",
                                                            "typeString": "address"
                                                        }
                                                    },
                                                    {
                                                        "id": 16452,
                                                        "name": "p3",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 16442,
                                                        "src": "27818:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_string_memory_ptr",
                                                            "typeString": "string memory"
                                                        }
                                                    }
                                                ],
                                                "expression": {
                                                    "argumentTypes": [
                                                        {
                                                            "typeIdentifier": "t_stringliteral_7943dc6627d308affd474fe50b563bcfbf09518236383b806f11730459213622",
                                                            "typeString": "literal_string \"log(uint,address,address,string)\""
                                                        },
                                                        {
                                                            "typeIdentifier": "t_uint256",
                                                            "typeString": "uint256"
                                                        },
                                                        {
                                                            "typeIdentifier": "t_address",
                                                            "typeString": "address"
                                                        },
                                                        {
                                                            "typeIdentifier": "t_address",
                                                            "typeString": "address"
                                                        },
                                                        {
                                                            "typeIdentifier": "t_string_memory_ptr",
                                                            "typeString": "string memory"
                                                        }
                                                    ],
                                                    "expression": {
                                                        "id": 16446,
                                                        "name": "abi",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 4294967295,
                                                        "src": "27746:3:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_magic_abi",
                                                            "typeString": "abi"
                                                        }
                                                    },
                                                    "id": 16447,
                                                    "isConstant": false,
                                                    "isLValue": false,
                                                    "isPure": true,
                                                    "lValueRequested": false,
                                                    "memberName": "encodeWithSignature",
                                                    "nodeType": "MemberAccess",
                                                    "src": "27746:23:62",
                                                    "typeDescriptions": {
                                                        "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$",
                                                        "typeString": "function (string memory) pure returns (bytes memory)"
                                                    }
                                                },
                                                "id": 16453,
                                                "isConstant": false,
                                                "isLValue": false,
                                                "isPure": false,
                                                "kind": "functionCall",
                                                "lValueRequested": false,
                                                "names": [],
                                                "nodeType": "FunctionCall",
                                                "src": "27746:75:62",
                                                "tryCall": false,
                                                "typeDescriptions": {
                                                    "typeIdentifier": "t_bytes_memory_ptr",
                                                    "typeString": "bytes memory"
                                                }
                                            }
                                        ],
                                        "expression": {
                                            "argumentTypes": [
                                                {
                                                    "typeIdentifier": "t_bytes_memory_ptr",
                                                    "typeString": "bytes memory"
                                                }
                                            ],
                                            "id": 16445,
                                            "name": "_sendLogPayload",
                                            "nodeType": "Identifier",
                                            "overloadedDeclarations": [],
                                            "referencedDeclaration": 12880,
                                            "src": "27730:15:62",
                                            "typeDescriptions": {
                                                "typeIdentifier": "t_function_internal_view$_t_bytes_memory_ptr_$returns$__$",
                                                "typeString": "function (bytes memory) view"
                                            }
                                        },
                                        "id": 16454,
                                        "isConstant": false,
                                        "isLValue": false,
                                        "isPure": false,
                                        "kind": "functionCall",
                                        "lValueRequested": false,
                                        "names": [],
                                        "nodeType": "FunctionCall",
                                        "src": "27730:92:62",
                                        "tryCall": false,
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_tuple$__$",
                                            "typeString": "tuple()"
                                        }
                                    },
                                    "id": 16455,
                                    "nodeType": "ExpressionStatement",
                                    "src": "27730:92:62"
                                }
                            ]
                        },
                        "id": 16457,
                        "implemented": true,
                        "kind": "function",
                        "modifiers": [],
                        "name": "log",
                        "nameLocation": "27657:3:62",
                        "nodeType": "FunctionDefinition",
                        "parameters": {
                            "id": 16443,
                            "nodeType": "ParameterList",
                            "parameters": [
                                {
                                    "constant": false,
                                    "id": 16436,
                                    "mutability": "mutable",
                                    "name": "p0",
                                    "nameLocation": "27666:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 16457,
                                    "src": "27661:7:62",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_uint256",
                                        "typeString": "uint256"
                                    },
                                    "typeName": {
                                        "id": 16435,
                                        "name": "uint",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "27661:4:62",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_uint256",
                                            "typeString": "uint256"
                                        }
                                    },
                                    "visibility": "internal"
                                },
                                {
                                    "constant": false,
                                    "id": 16438,
                                    "mutability": "mutable",
                                    "name": "p1",
                                    "nameLocation": "27678:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 16457,
                                    "src": "27670:10:62",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_address",
                                        "typeString": "address"
                                    },
                                    "typeName": {
                                        "id": 16437,
                                        "name": "address",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "27670:7:62",
                                        "stateMutability": "nonpayable",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_address",
                                            "typeString": "address"
                                        }
                                    },
                                    "visibility": "internal"
                                },
                                {
                                    "constant": false,
                                    "id": 16440,
                                    "mutability": "mutable",
                                    "name": "p2",
                                    "nameLocation": "27690:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 16457,
                                    "src": "27682:10:62",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_address",
                                        "typeString": "address"
                                    },
                                    "typeName": {
                                        "id": 16439,
                                        "name": "address",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "27682:7:62",
                                        "stateMutability": "nonpayable",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_address",
                                            "typeString": "address"
                                        }
                                    },
                                    "visibility": "internal"
                                },
                                {
                                    "constant": false,
                                    "id": 16442,
                                    "mutability": "mutable",
                                    "name": "p3",
                                    "nameLocation": "27708:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 16457,
                                    "src": "27694:16:62",
                                    "stateVariable": false,
                                    "storageLocation": "memory",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_string_memory_ptr",
                                        "typeString": "string"
                                    },
                                    "typeName": {
                                        "id": 16441,
                                        "name": "string",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "27694:6:62",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_string_storage_ptr",
                                            "typeString": "string"
                                        }
                                    },
                                    "visibility": "internal"
                                }
                            ],
                            "src": "27660:51:62"
                        },
                        "returnParameters": {
                            "id": 16444,
                            "nodeType": "ParameterList",
                            "parameters": [],
                            "src": "27726:0:62"
                        },
                        "scope": 20920,
                        "src": "27648:178:62",
                        "stateMutability": "view",
                        "virtual": false,
                        "visibility": "internal"
                    },
                    {
                        "body": {
                            "id": 16479,
                            "nodeType": "Block",
                            "src": "27898:98:62",
                            "statements": [
                                {
                                    "expression": {
                                        "arguments": [
                                            {
                                                "arguments": [
                                                    {
                                                        "hexValue": "6c6f672875696e742c616464726573732c616464726573732c626f6f6c29",
                                                        "id": 16471,
                                                        "isConstant": false,
                                                        "isLValue": false,
                                                        "isPure": true,
                                                        "kind": "string",
                                                        "lValueRequested": false,
                                                        "nodeType": "Literal",
                                                        "src": "27942:32:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_stringliteral_01550b04ea9916da7bc495d1b5ca5c4bd8d92ef3a98e2cca5a948cec5011f38c",
                                                            "typeString": "literal_string \"log(uint,address,address,bool)\""
                                                        },
                                                        "value": "log(uint,address,address,bool)"
                                                    },
                                                    {
                                                        "id": 16472,
                                                        "name": "p0",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 16459,
                                                        "src": "27976:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_uint256",
                                                            "typeString": "uint256"
                                                        }
                                                    },
                                                    {
                                                        "id": 16473,
                                                        "name": "p1",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 16461,
                                                        "src": "27980:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_address",
                                                            "typeString": "address"
                                                        }
                                                    },
                                                    {
                                                        "id": 16474,
                                                        "name": "p2",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 16463,
                                                        "src": "27984:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_address",
                                                            "typeString": "address"
                                                        }
                                                    },
                                                    {
                                                        "id": 16475,
                                                        "name": "p3",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 16465,
                                                        "src": "27988:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_bool",
                                                            "typeString": "bool"
                                                        }
                                                    }
                                                ],
                                                "expression": {
                                                    "argumentTypes": [
                                                        {
                                                            "typeIdentifier": "t_stringliteral_01550b04ea9916da7bc495d1b5ca5c4bd8d92ef3a98e2cca5a948cec5011f38c",
                                                            "typeString": "literal_string \"log(uint,address,address,bool)\""
                                                        },
                                                        {
                                                            "typeIdentifier": "t_uint256",
                                                            "typeString": "uint256"
                                                        },
                                                        {
                                                            "typeIdentifier": "t_address",
                                                            "typeString": "address"
                                                        },
                                                        {
                                                            "typeIdentifier": "t_address",
                                                            "typeString": "address"
                                                        },
                                                        {
                                                            "typeIdentifier": "t_bool",
                                                            "typeString": "bool"
                                                        }
                                                    ],
                                                    "expression": {
                                                        "id": 16469,
                                                        "name": "abi",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 4294967295,
                                                        "src": "27918:3:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_magic_abi",
                                                            "typeString": "abi"
                                                        }
                                                    },
                                                    "id": 16470,
                                                    "isConstant": false,
                                                    "isLValue": false,
                                                    "isPure": true,
                                                    "lValueRequested": false,
                                                    "memberName": "encodeWithSignature",
                                                    "nodeType": "MemberAccess",
                                                    "src": "27918:23:62",
                                                    "typeDescriptions": {
                                                        "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$",
                                                        "typeString": "function (string memory) pure returns (bytes memory)"
                                                    }
                                                },
                                                "id": 16476,
                                                "isConstant": false,
                                                "isLValue": false,
                                                "isPure": false,
                                                "kind": "functionCall",
                                                "lValueRequested": false,
                                                "names": [],
                                                "nodeType": "FunctionCall",
                                                "src": "27918:73:62",
                                                "tryCall": false,
                                                "typeDescriptions": {
                                                    "typeIdentifier": "t_bytes_memory_ptr",
                                                    "typeString": "bytes memory"
                                                }
                                            }
                                        ],
                                        "expression": {
                                            "argumentTypes": [
                                                {
                                                    "typeIdentifier": "t_bytes_memory_ptr",
                                                    "typeString": "bytes memory"
                                                }
                                            ],
                                            "id": 16468,
                                            "name": "_sendLogPayload",
                                            "nodeType": "Identifier",
                                            "overloadedDeclarations": [],
                                            "referencedDeclaration": 12880,
                                            "src": "27902:15:62",
                                            "typeDescriptions": {
                                                "typeIdentifier": "t_function_internal_view$_t_bytes_memory_ptr_$returns$__$",
                                                "typeString": "function (bytes memory) view"
                                            }
                                        },
                                        "id": 16477,
                                        "isConstant": false,
                                        "isLValue": false,
                                        "isPure": false,
                                        "kind": "functionCall",
                                        "lValueRequested": false,
                                        "names": [],
                                        "nodeType": "FunctionCall",
                                        "src": "27902:90:62",
                                        "tryCall": false,
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_tuple$__$",
                                            "typeString": "tuple()"
                                        }
                                    },
                                    "id": 16478,
                                    "nodeType": "ExpressionStatement",
                                    "src": "27902:90:62"
                                }
                            ]
                        },
                        "id": 16480,
                        "implemented": true,
                        "kind": "function",
                        "modifiers": [],
                        "name": "log",
                        "nameLocation": "27838:3:62",
                        "nodeType": "FunctionDefinition",
                        "parameters": {
                            "id": 16466,
                            "nodeType": "ParameterList",
                            "parameters": [
                                {
                                    "constant": false,
                                    "id": 16459,
                                    "mutability": "mutable",
                                    "name": "p0",
                                    "nameLocation": "27847:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 16480,
                                    "src": "27842:7:62",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_uint256",
                                        "typeString": "uint256"
                                    },
                                    "typeName": {
                                        "id": 16458,
                                        "name": "uint",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "27842:4:62",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_uint256",
                                            "typeString": "uint256"
                                        }
                                    },
                                    "visibility": "internal"
                                },
                                {
                                    "constant": false,
                                    "id": 16461,
                                    "mutability": "mutable",
                                    "name": "p1",
                                    "nameLocation": "27859:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 16480,
                                    "src": "27851:10:62",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_address",
                                        "typeString": "address"
                                    },
                                    "typeName": {
                                        "id": 16460,
                                        "name": "address",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "27851:7:62",
                                        "stateMutability": "nonpayable",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_address",
                                            "typeString": "address"
                                        }
                                    },
                                    "visibility": "internal"
                                },
                                {
                                    "constant": false,
                                    "id": 16463,
                                    "mutability": "mutable",
                                    "name": "p2",
                                    "nameLocation": "27871:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 16480,
                                    "src": "27863:10:62",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_address",
                                        "typeString": "address"
                                    },
                                    "typeName": {
                                        "id": 16462,
                                        "name": "address",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "27863:7:62",
                                        "stateMutability": "nonpayable",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_address",
                                            "typeString": "address"
                                        }
                                    },
                                    "visibility": "internal"
                                },
                                {
                                    "constant": false,
                                    "id": 16465,
                                    "mutability": "mutable",
                                    "name": "p3",
                                    "nameLocation": "27880:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 16480,
                                    "src": "27875:7:62",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_bool",
                                        "typeString": "bool"
                                    },
                                    "typeName": {
                                        "id": 16464,
                                        "name": "bool",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "27875:4:62",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_bool",
                                            "typeString": "bool"
                                        }
                                    },
                                    "visibility": "internal"
                                }
                            ],
                            "src": "27841:42:62"
                        },
                        "returnParameters": {
                            "id": 16467,
                            "nodeType": "ParameterList",
                            "parameters": [],
                            "src": "27898:0:62"
                        },
                        "scope": 20920,
                        "src": "27829:167:62",
                        "stateMutability": "view",
                        "virtual": false,
                        "visibility": "internal"
                    },
                    {
                        "body": {
                            "id": 16502,
                            "nodeType": "Block",
                            "src": "28071:101:62",
                            "statements": [
                                {
                                    "expression": {
                                        "arguments": [
                                            {
                                                "arguments": [
                                                    {
                                                        "hexValue": "6c6f672875696e742c616464726573732c616464726573732c6164647265737329",
                                                        "id": 16494,
                                                        "isConstant": false,
                                                        "isLValue": false,
                                                        "isPure": true,
                                                        "kind": "string",
                                                        "lValueRequested": false,
                                                        "nodeType": "Literal",
                                                        "src": "28115:35:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_stringliteral_554745f9e6550eea6000ea2febc94de95d453100d5d60359e62cd398b366bfc4",
                                                            "typeString": "literal_string \"log(uint,address,address,address)\""
                                                        },
                                                        "value": "log(uint,address,address,address)"
                                                    },
                                                    {
                                                        "id": 16495,
                                                        "name": "p0",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 16482,
                                                        "src": "28152:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_uint256",
                                                            "typeString": "uint256"
                                                        }
                                                    },
                                                    {
                                                        "id": 16496,
                                                        "name": "p1",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 16484,
                                                        "src": "28156:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_address",
                                                            "typeString": "address"
                                                        }
                                                    },
                                                    {
                                                        "id": 16497,
                                                        "name": "p2",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 16486,
                                                        "src": "28160:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_address",
                                                            "typeString": "address"
                                                        }
                                                    },
                                                    {
                                                        "id": 16498,
                                                        "name": "p3",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 16488,
                                                        "src": "28164:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_address",
                                                            "typeString": "address"
                                                        }
                                                    }
                                                ],
                                                "expression": {
                                                    "argumentTypes": [
                                                        {
                                                            "typeIdentifier": "t_stringliteral_554745f9e6550eea6000ea2febc94de95d453100d5d60359e62cd398b366bfc4",
                                                            "typeString": "literal_string \"log(uint,address,address,address)\""
                                                        },
                                                        {
                                                            "typeIdentifier": "t_uint256",
                                                            "typeString": "uint256"
                                                        },
                                                        {
                                                            "typeIdentifier": "t_address",
                                                            "typeString": "address"
                                                        },
                                                        {
                                                            "typeIdentifier": "t_address",
                                                            "typeString": "address"
                                                        },
                                                        {
                                                            "typeIdentifier": "t_address",
                                                            "typeString": "address"
                                                        }
                                                    ],
                                                    "expression": {
                                                        "id": 16492,
                                                        "name": "abi",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 4294967295,
                                                        "src": "28091:3:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_magic_abi",
                                                            "typeString": "abi"
                                                        }
                                                    },
                                                    "id": 16493,
                                                    "isConstant": false,
                                                    "isLValue": false,
                                                    "isPure": true,
                                                    "lValueRequested": false,
                                                    "memberName": "encodeWithSignature",
                                                    "nodeType": "MemberAccess",
                                                    "src": "28091:23:62",
                                                    "typeDescriptions": {
                                                        "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$",
                                                        "typeString": "function (string memory) pure returns (bytes memory)"
                                                    }
                                                },
                                                "id": 16499,
                                                "isConstant": false,
                                                "isLValue": false,
                                                "isPure": false,
                                                "kind": "functionCall",
                                                "lValueRequested": false,
                                                "names": [],
                                                "nodeType": "FunctionCall",
                                                "src": "28091:76:62",
                                                "tryCall": false,
                                                "typeDescriptions": {
                                                    "typeIdentifier": "t_bytes_memory_ptr",
                                                    "typeString": "bytes memory"
                                                }
                                            }
                                        ],
                                        "expression": {
                                            "argumentTypes": [
                                                {
                                                    "typeIdentifier": "t_bytes_memory_ptr",
                                                    "typeString": "bytes memory"
                                                }
                                            ],
                                            "id": 16491,
                                            "name": "_sendLogPayload",
                                            "nodeType": "Identifier",
                                            "overloadedDeclarations": [],
                                            "referencedDeclaration": 12880,
                                            "src": "28075:15:62",
                                            "typeDescriptions": {
                                                "typeIdentifier": "t_function_internal_view$_t_bytes_memory_ptr_$returns$__$",
                                                "typeString": "function (bytes memory) view"
                                            }
                                        },
                                        "id": 16500,
                                        "isConstant": false,
                                        "isLValue": false,
                                        "isPure": false,
                                        "kind": "functionCall",
                                        "lValueRequested": false,
                                        "names": [],
                                        "nodeType": "FunctionCall",
                                        "src": "28075:93:62",
                                        "tryCall": false,
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_tuple$__$",
                                            "typeString": "tuple()"
                                        }
                                    },
                                    "id": 16501,
                                    "nodeType": "ExpressionStatement",
                                    "src": "28075:93:62"
                                }
                            ]
                        },
                        "id": 16503,
                        "implemented": true,
                        "kind": "function",
                        "modifiers": [],
                        "name": "log",
                        "nameLocation": "28008:3:62",
                        "nodeType": "FunctionDefinition",
                        "parameters": {
                            "id": 16489,
                            "nodeType": "ParameterList",
                            "parameters": [
                                {
                                    "constant": false,
                                    "id": 16482,
                                    "mutability": "mutable",
                                    "name": "p0",
                                    "nameLocation": "28017:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 16503,
                                    "src": "28012:7:62",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_uint256",
                                        "typeString": "uint256"
                                    },
                                    "typeName": {
                                        "id": 16481,
                                        "name": "uint",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "28012:4:62",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_uint256",
                                            "typeString": "uint256"
                                        }
                                    },
                                    "visibility": "internal"
                                },
                                {
                                    "constant": false,
                                    "id": 16484,
                                    "mutability": "mutable",
                                    "name": "p1",
                                    "nameLocation": "28029:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 16503,
                                    "src": "28021:10:62",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_address",
                                        "typeString": "address"
                                    },
                                    "typeName": {
                                        "id": 16483,
                                        "name": "address",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "28021:7:62",
                                        "stateMutability": "nonpayable",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_address",
                                            "typeString": "address"
                                        }
                                    },
                                    "visibility": "internal"
                                },
                                {
                                    "constant": false,
                                    "id": 16486,
                                    "mutability": "mutable",
                                    "name": "p2",
                                    "nameLocation": "28041:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 16503,
                                    "src": "28033:10:62",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_address",
                                        "typeString": "address"
                                    },
                                    "typeName": {
                                        "id": 16485,
                                        "name": "address",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "28033:7:62",
                                        "stateMutability": "nonpayable",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_address",
                                            "typeString": "address"
                                        }
                                    },
                                    "visibility": "internal"
                                },
                                {
                                    "constant": false,
                                    "id": 16488,
                                    "mutability": "mutable",
                                    "name": "p3",
                                    "nameLocation": "28053:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 16503,
                                    "src": "28045:10:62",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_address",
                                        "typeString": "address"
                                    },
                                    "typeName": {
                                        "id": 16487,
                                        "name": "address",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "28045:7:62",
                                        "stateMutability": "nonpayable",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_address",
                                            "typeString": "address"
                                        }
                                    },
                                    "visibility": "internal"
                                }
                            ],
                            "src": "28011:45:62"
                        },
                        "returnParameters": {
                            "id": 16490,
                            "nodeType": "ParameterList",
                            "parameters": [],
                            "src": "28071:0:62"
                        },
                        "scope": 20920,
                        "src": "27999:173:62",
                        "stateMutability": "view",
                        "virtual": false,
                        "visibility": "internal"
                    },
                    {
                        "body": {
                            "id": 16525,
                            "nodeType": "Block",
                            "src": "28247:94:62",
                            "statements": [
                                {
                                    "expression": {
                                        "arguments": [
                                            {
                                                "arguments": [
                                                    {
                                                        "hexValue": "6c6f6728737472696e672c75696e742c75696e742c75696e7429",
                                                        "id": 16517,
                                                        "isConstant": false,
                                                        "isLValue": false,
                                                        "isPure": true,
                                                        "kind": "string",
                                                        "lValueRequested": false,
                                                        "nodeType": "Literal",
                                                        "src": "28291:28:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_stringliteral_08ee5666d6bd329d27af528e563bb238dedf631fe471effe31c7123dcb5164f2",
                                                            "typeString": "literal_string \"log(string,uint,uint,uint)\""
                                                        },
                                                        "value": "log(string,uint,uint,uint)"
                                                    },
                                                    {
                                                        "id": 16518,
                                                        "name": "p0",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 16505,
                                                        "src": "28321:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_string_memory_ptr",
                                                            "typeString": "string memory"
                                                        }
                                                    },
                                                    {
                                                        "id": 16519,
                                                        "name": "p1",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 16507,
                                                        "src": "28325:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_uint256",
                                                            "typeString": "uint256"
                                                        }
                                                    },
                                                    {
                                                        "id": 16520,
                                                        "name": "p2",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 16509,
                                                        "src": "28329:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_uint256",
                                                            "typeString": "uint256"
                                                        }
                                                    },
                                                    {
                                                        "id": 16521,
                                                        "name": "p3",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 16511,
                                                        "src": "28333:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_uint256",
                                                            "typeString": "uint256"
                                                        }
                                                    }
                                                ],
                                                "expression": {
                                                    "argumentTypes": [
                                                        {
                                                            "typeIdentifier": "t_stringliteral_08ee5666d6bd329d27af528e563bb238dedf631fe471effe31c7123dcb5164f2",
                                                            "typeString": "literal_string \"log(string,uint,uint,uint)\""
                                                        },
                                                        {
                                                            "typeIdentifier": "t_string_memory_ptr",
                                                            "typeString": "string memory"
                                                        },
                                                        {
                                                            "typeIdentifier": "t_uint256",
                                                            "typeString": "uint256"
                                                        },
                                                        {
                                                            "typeIdentifier": "t_uint256",
                                                            "typeString": "uint256"
                                                        },
                                                        {
                                                            "typeIdentifier": "t_uint256",
                                                            "typeString": "uint256"
                                                        }
                                                    ],
                                                    "expression": {
                                                        "id": 16515,
                                                        "name": "abi",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 4294967295,
                                                        "src": "28267:3:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_magic_abi",
                                                            "typeString": "abi"
                                                        }
                                                    },
                                                    "id": 16516,
                                                    "isConstant": false,
                                                    "isLValue": false,
                                                    "isPure": true,
                                                    "lValueRequested": false,
                                                    "memberName": "encodeWithSignature",
                                                    "nodeType": "MemberAccess",
                                                    "src": "28267:23:62",
                                                    "typeDescriptions": {
                                                        "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$",
                                                        "typeString": "function (string memory) pure returns (bytes memory)"
                                                    }
                                                },
                                                "id": 16522,
                                                "isConstant": false,
                                                "isLValue": false,
                                                "isPure": false,
                                                "kind": "functionCall",
                                                "lValueRequested": false,
                                                "names": [],
                                                "nodeType": "FunctionCall",
                                                "src": "28267:69:62",
                                                "tryCall": false,
                                                "typeDescriptions": {
                                                    "typeIdentifier": "t_bytes_memory_ptr",
                                                    "typeString": "bytes memory"
                                                }
                                            }
                                        ],
                                        "expression": {
                                            "argumentTypes": [
                                                {
                                                    "typeIdentifier": "t_bytes_memory_ptr",
                                                    "typeString": "bytes memory"
                                                }
                                            ],
                                            "id": 16514,
                                            "name": "_sendLogPayload",
                                            "nodeType": "Identifier",
                                            "overloadedDeclarations": [],
                                            "referencedDeclaration": 12880,
                                            "src": "28251:15:62",
                                            "typeDescriptions": {
                                                "typeIdentifier": "t_function_internal_view$_t_bytes_memory_ptr_$returns$__$",
                                                "typeString": "function (bytes memory) view"
                                            }
                                        },
                                        "id": 16523,
                                        "isConstant": false,
                                        "isLValue": false,
                                        "isPure": false,
                                        "kind": "functionCall",
                                        "lValueRequested": false,
                                        "names": [],
                                        "nodeType": "FunctionCall",
                                        "src": "28251:86:62",
                                        "tryCall": false,
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_tuple$__$",
                                            "typeString": "tuple()"
                                        }
                                    },
                                    "id": 16524,
                                    "nodeType": "ExpressionStatement",
                                    "src": "28251:86:62"
                                }
                            ]
                        },
                        "id": 16526,
                        "implemented": true,
                        "kind": "function",
                        "modifiers": [],
                        "name": "log",
                        "nameLocation": "28184:3:62",
                        "nodeType": "FunctionDefinition",
                        "parameters": {
                            "id": 16512,
                            "nodeType": "ParameterList",
                            "parameters": [
                                {
                                    "constant": false,
                                    "id": 16505,
                                    "mutability": "mutable",
                                    "name": "p0",
                                    "nameLocation": "28202:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 16526,
                                    "src": "28188:16:62",
                                    "stateVariable": false,
                                    "storageLocation": "memory",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_string_memory_ptr",
                                        "typeString": "string"
                                    },
                                    "typeName": {
                                        "id": 16504,
                                        "name": "string",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "28188:6:62",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_string_storage_ptr",
                                            "typeString": "string"
                                        }
                                    },
                                    "visibility": "internal"
                                },
                                {
                                    "constant": false,
                                    "id": 16507,
                                    "mutability": "mutable",
                                    "name": "p1",
                                    "nameLocation": "28211:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 16526,
                                    "src": "28206:7:62",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_uint256",
                                        "typeString": "uint256"
                                    },
                                    "typeName": {
                                        "id": 16506,
                                        "name": "uint",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "28206:4:62",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_uint256",
                                            "typeString": "uint256"
                                        }
                                    },
                                    "visibility": "internal"
                                },
                                {
                                    "constant": false,
                                    "id": 16509,
                                    "mutability": "mutable",
                                    "name": "p2",
                                    "nameLocation": "28220:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 16526,
                                    "src": "28215:7:62",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_uint256",
                                        "typeString": "uint256"
                                    },
                                    "typeName": {
                                        "id": 16508,
                                        "name": "uint",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "28215:4:62",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_uint256",
                                            "typeString": "uint256"
                                        }
                                    },
                                    "visibility": "internal"
                                },
                                {
                                    "constant": false,
                                    "id": 16511,
                                    "mutability": "mutable",
                                    "name": "p3",
                                    "nameLocation": "28229:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 16526,
                                    "src": "28224:7:62",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_uint256",
                                        "typeString": "uint256"
                                    },
                                    "typeName": {
                                        "id": 16510,
                                        "name": "uint",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "28224:4:62",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_uint256",
                                            "typeString": "uint256"
                                        }
                                    },
                                    "visibility": "internal"
                                }
                            ],
                            "src": "28187:45:62"
                        },
                        "returnParameters": {
                            "id": 16513,
                            "nodeType": "ParameterList",
                            "parameters": [],
                            "src": "28247:0:62"
                        },
                        "scope": 20920,
                        "src": "28175:166:62",
                        "stateMutability": "view",
                        "virtual": false,
                        "visibility": "internal"
                    },
                    {
                        "body": {
                            "id": 16548,
                            "nodeType": "Block",
                            "src": "28425:96:62",
                            "statements": [
                                {
                                    "expression": {
                                        "arguments": [
                                            {
                                                "arguments": [
                                                    {
                                                        "hexValue": "6c6f6728737472696e672c75696e742c75696e742c737472696e6729",
                                                        "id": 16540,
                                                        "isConstant": false,
                                                        "isLValue": false,
                                                        "isPure": true,
                                                        "kind": "string",
                                                        "lValueRequested": false,
                                                        "nodeType": "Literal",
                                                        "src": "28469:30:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_stringliteral_a54ed4bdd39588715cd10f1b9730ac9f0db064013c8dc11e216fa2ef3a5948b8",
                                                            "typeString": "literal_string \"log(string,uint,uint,string)\""
                                                        },
                                                        "value": "log(string,uint,uint,string)"
                                                    },
                                                    {
                                                        "id": 16541,
                                                        "name": "p0",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 16528,
                                                        "src": "28501:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_string_memory_ptr",
                                                            "typeString": "string memory"
                                                        }
                                                    },
                                                    {
                                                        "id": 16542,
                                                        "name": "p1",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 16530,
                                                        "src": "28505:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_uint256",
                                                            "typeString": "uint256"
                                                        }
                                                    },
                                                    {
                                                        "id": 16543,
                                                        "name": "p2",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 16532,
                                                        "src": "28509:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_uint256",
                                                            "typeString": "uint256"
                                                        }
                                                    },
                                                    {
                                                        "id": 16544,
                                                        "name": "p3",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 16534,
                                                        "src": "28513:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_string_memory_ptr",
                                                            "typeString": "string memory"
                                                        }
                                                    }
                                                ],
                                                "expression": {
                                                    "argumentTypes": [
                                                        {
                                                            "typeIdentifier": "t_stringliteral_a54ed4bdd39588715cd10f1b9730ac9f0db064013c8dc11e216fa2ef3a5948b8",
                                                            "typeString": "literal_string \"log(string,uint,uint,string)\""
                                                        },
                                                        {
                                                            "typeIdentifier": "t_string_memory_ptr",
                                                            "typeString": "string memory"
                                                        },
                                                        {
                                                            "typeIdentifier": "t_uint256",
                                                            "typeString": "uint256"
                                                        },
                                                        {
                                                            "typeIdentifier": "t_uint256",
                                                            "typeString": "uint256"
                                                        },
                                                        {
                                                            "typeIdentifier": "t_string_memory_ptr",
                                                            "typeString": "string memory"
                                                        }
                                                    ],
                                                    "expression": {
                                                        "id": 16538,
                                                        "name": "abi",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 4294967295,
                                                        "src": "28445:3:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_magic_abi",
                                                            "typeString": "abi"
                                                        }
                                                    },
                                                    "id": 16539,
                                                    "isConstant": false,
                                                    "isLValue": false,
                                                    "isPure": true,
                                                    "lValueRequested": false,
                                                    "memberName": "encodeWithSignature",
                                                    "nodeType": "MemberAccess",
                                                    "src": "28445:23:62",
                                                    "typeDescriptions": {
                                                        "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$",
                                                        "typeString": "function (string memory) pure returns (bytes memory)"
                                                    }
                                                },
                                                "id": 16545,
                                                "isConstant": false,
                                                "isLValue": false,
                                                "isPure": false,
                                                "kind": "functionCall",
                                                "lValueRequested": false,
                                                "names": [],
                                                "nodeType": "FunctionCall",
                                                "src": "28445:71:62",
                                                "tryCall": false,
                                                "typeDescriptions": {
                                                    "typeIdentifier": "t_bytes_memory_ptr",
                                                    "typeString": "bytes memory"
                                                }
                                            }
                                        ],
                                        "expression": {
                                            "argumentTypes": [
                                                {
                                                    "typeIdentifier": "t_bytes_memory_ptr",
                                                    "typeString": "bytes memory"
                                                }
                                            ],
                                            "id": 16537,
                                            "name": "_sendLogPayload",
                                            "nodeType": "Identifier",
                                            "overloadedDeclarations": [],
                                            "referencedDeclaration": 12880,
                                            "src": "28429:15:62",
                                            "typeDescriptions": {
                                                "typeIdentifier": "t_function_internal_view$_t_bytes_memory_ptr_$returns$__$",
                                                "typeString": "function (bytes memory) view"
                                            }
                                        },
                                        "id": 16546,
                                        "isConstant": false,
                                        "isLValue": false,
                                        "isPure": false,
                                        "kind": "functionCall",
                                        "lValueRequested": false,
                                        "names": [],
                                        "nodeType": "FunctionCall",
                                        "src": "28429:88:62",
                                        "tryCall": false,
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_tuple$__$",
                                            "typeString": "tuple()"
                                        }
                                    },
                                    "id": 16547,
                                    "nodeType": "ExpressionStatement",
                                    "src": "28429:88:62"
                                }
                            ]
                        },
                        "id": 16549,
                        "implemented": true,
                        "kind": "function",
                        "modifiers": [],
                        "name": "log",
                        "nameLocation": "28353:3:62",
                        "nodeType": "FunctionDefinition",
                        "parameters": {
                            "id": 16535,
                            "nodeType": "ParameterList",
                            "parameters": [
                                {
                                    "constant": false,
                                    "id": 16528,
                                    "mutability": "mutable",
                                    "name": "p0",
                                    "nameLocation": "28371:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 16549,
                                    "src": "28357:16:62",
                                    "stateVariable": false,
                                    "storageLocation": "memory",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_string_memory_ptr",
                                        "typeString": "string"
                                    },
                                    "typeName": {
                                        "id": 16527,
                                        "name": "string",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "28357:6:62",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_string_storage_ptr",
                                            "typeString": "string"
                                        }
                                    },
                                    "visibility": "internal"
                                },
                                {
                                    "constant": false,
                                    "id": 16530,
                                    "mutability": "mutable",
                                    "name": "p1",
                                    "nameLocation": "28380:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 16549,
                                    "src": "28375:7:62",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_uint256",
                                        "typeString": "uint256"
                                    },
                                    "typeName": {
                                        "id": 16529,
                                        "name": "uint",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "28375:4:62",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_uint256",
                                            "typeString": "uint256"
                                        }
                                    },
                                    "visibility": "internal"
                                },
                                {
                                    "constant": false,
                                    "id": 16532,
                                    "mutability": "mutable",
                                    "name": "p2",
                                    "nameLocation": "28389:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 16549,
                                    "src": "28384:7:62",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_uint256",
                                        "typeString": "uint256"
                                    },
                                    "typeName": {
                                        "id": 16531,
                                        "name": "uint",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "28384:4:62",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_uint256",
                                            "typeString": "uint256"
                                        }
                                    },
                                    "visibility": "internal"
                                },
                                {
                                    "constant": false,
                                    "id": 16534,
                                    "mutability": "mutable",
                                    "name": "p3",
                                    "nameLocation": "28407:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 16549,
                                    "src": "28393:16:62",
                                    "stateVariable": false,
                                    "storageLocation": "memory",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_string_memory_ptr",
                                        "typeString": "string"
                                    },
                                    "typeName": {
                                        "id": 16533,
                                        "name": "string",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "28393:6:62",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_string_storage_ptr",
                                            "typeString": "string"
                                        }
                                    },
                                    "visibility": "internal"
                                }
                            ],
                            "src": "28356:54:62"
                        },
                        "returnParameters": {
                            "id": 16536,
                            "nodeType": "ParameterList",
                            "parameters": [],
                            "src": "28425:0:62"
                        },
                        "scope": 20920,
                        "src": "28344:177:62",
                        "stateMutability": "view",
                        "virtual": false,
                        "visibility": "internal"
                    },
                    {
                        "body": {
                            "id": 16571,
                            "nodeType": "Block",
                            "src": "28596:94:62",
                            "statements": [
                                {
                                    "expression": {
                                        "arguments": [
                                            {
                                                "arguments": [
                                                    {
                                                        "hexValue": "6c6f6728737472696e672c75696e742c75696e742c626f6f6c29",
                                                        "id": 16563,
                                                        "isConstant": false,
                                                        "isLValue": false,
                                                        "isPure": true,
                                                        "kind": "string",
                                                        "lValueRequested": false,
                                                        "nodeType": "Literal",
                                                        "src": "28640:28:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_stringliteral_f73c7e3dc5b5cecd5787e08e359612e609c17649291b138c8f184ee441526f2d",
                                                            "typeString": "literal_string \"log(string,uint,uint,bool)\""
                                                        },
                                                        "value": "log(string,uint,uint,bool)"
                                                    },
                                                    {
                                                        "id": 16564,
                                                        "name": "p0",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 16551,
                                                        "src": "28670:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_string_memory_ptr",
                                                            "typeString": "string memory"
                                                        }
                                                    },
                                                    {
                                                        "id": 16565,
                                                        "name": "p1",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 16553,
                                                        "src": "28674:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_uint256",
                                                            "typeString": "uint256"
                                                        }
                                                    },
                                                    {
                                                        "id": 16566,
                                                        "name": "p2",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 16555,
                                                        "src": "28678:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_uint256",
                                                            "typeString": "uint256"
                                                        }
                                                    },
                                                    {
                                                        "id": 16567,
                                                        "name": "p3",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 16557,
                                                        "src": "28682:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_bool",
                                                            "typeString": "bool"
                                                        }
                                                    }
                                                ],
                                                "expression": {
                                                    "argumentTypes": [
                                                        {
                                                            "typeIdentifier": "t_stringliteral_f73c7e3dc5b5cecd5787e08e359612e609c17649291b138c8f184ee441526f2d",
                                                            "typeString": "literal_string \"log(string,uint,uint,bool)\""
                                                        },
                                                        {
                                                            "typeIdentifier": "t_string_memory_ptr",
                                                            "typeString": "string memory"
                                                        },
                                                        {
                                                            "typeIdentifier": "t_uint256",
                                                            "typeString": "uint256"
                                                        },
                                                        {
                                                            "typeIdentifier": "t_uint256",
                                                            "typeString": "uint256"
                                                        },
                                                        {
                                                            "typeIdentifier": "t_bool",
                                                            "typeString": "bool"
                                                        }
                                                    ],
                                                    "expression": {
                                                        "id": 16561,
                                                        "name": "abi",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 4294967295,
                                                        "src": "28616:3:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_magic_abi",
                                                            "typeString": "abi"
                                                        }
                                                    },
                                                    "id": 16562,
                                                    "isConstant": false,
                                                    "isLValue": false,
                                                    "isPure": true,
                                                    "lValueRequested": false,
                                                    "memberName": "encodeWithSignature",
                                                    "nodeType": "MemberAccess",
                                                    "src": "28616:23:62",
                                                    "typeDescriptions": {
                                                        "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$",
                                                        "typeString": "function (string memory) pure returns (bytes memory)"
                                                    }
                                                },
                                                "id": 16568,
                                                "isConstant": false,
                                                "isLValue": false,
                                                "isPure": false,
                                                "kind": "functionCall",
                                                "lValueRequested": false,
                                                "names": [],
                                                "nodeType": "FunctionCall",
                                                "src": "28616:69:62",
                                                "tryCall": false,
                                                "typeDescriptions": {
                                                    "typeIdentifier": "t_bytes_memory_ptr",
                                                    "typeString": "bytes memory"
                                                }
                                            }
                                        ],
                                        "expression": {
                                            "argumentTypes": [
                                                {
                                                    "typeIdentifier": "t_bytes_memory_ptr",
                                                    "typeString": "bytes memory"
                                                }
                                            ],
                                            "id": 16560,
                                            "name": "_sendLogPayload",
                                            "nodeType": "Identifier",
                                            "overloadedDeclarations": [],
                                            "referencedDeclaration": 12880,
                                            "src": "28600:15:62",
                                            "typeDescriptions": {
                                                "typeIdentifier": "t_function_internal_view$_t_bytes_memory_ptr_$returns$__$",
                                                "typeString": "function (bytes memory) view"
                                            }
                                        },
                                        "id": 16569,
                                        "isConstant": false,
                                        "isLValue": false,
                                        "isPure": false,
                                        "kind": "functionCall",
                                        "lValueRequested": false,
                                        "names": [],
                                        "nodeType": "FunctionCall",
                                        "src": "28600:86:62",
                                        "tryCall": false,
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_tuple$__$",
                                            "typeString": "tuple()"
                                        }
                                    },
                                    "id": 16570,
                                    "nodeType": "ExpressionStatement",
                                    "src": "28600:86:62"
                                }
                            ]
                        },
                        "id": 16572,
                        "implemented": true,
                        "kind": "function",
                        "modifiers": [],
                        "name": "log",
                        "nameLocation": "28533:3:62",
                        "nodeType": "FunctionDefinition",
                        "parameters": {
                            "id": 16558,
                            "nodeType": "ParameterList",
                            "parameters": [
                                {
                                    "constant": false,
                                    "id": 16551,
                                    "mutability": "mutable",
                                    "name": "p0",
                                    "nameLocation": "28551:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 16572,
                                    "src": "28537:16:62",
                                    "stateVariable": false,
                                    "storageLocation": "memory",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_string_memory_ptr",
                                        "typeString": "string"
                                    },
                                    "typeName": {
                                        "id": 16550,
                                        "name": "string",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "28537:6:62",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_string_storage_ptr",
                                            "typeString": "string"
                                        }
                                    },
                                    "visibility": "internal"
                                },
                                {
                                    "constant": false,
                                    "id": 16553,
                                    "mutability": "mutable",
                                    "name": "p1",
                                    "nameLocation": "28560:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 16572,
                                    "src": "28555:7:62",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_uint256",
                                        "typeString": "uint256"
                                    },
                                    "typeName": {
                                        "id": 16552,
                                        "name": "uint",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "28555:4:62",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_uint256",
                                            "typeString": "uint256"
                                        }
                                    },
                                    "visibility": "internal"
                                },
                                {
                                    "constant": false,
                                    "id": 16555,
                                    "mutability": "mutable",
                                    "name": "p2",
                                    "nameLocation": "28569:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 16572,
                                    "src": "28564:7:62",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_uint256",
                                        "typeString": "uint256"
                                    },
                                    "typeName": {
                                        "id": 16554,
                                        "name": "uint",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "28564:4:62",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_uint256",
                                            "typeString": "uint256"
                                        }
                                    },
                                    "visibility": "internal"
                                },
                                {
                                    "constant": false,
                                    "id": 16557,
                                    "mutability": "mutable",
                                    "name": "p3",
                                    "nameLocation": "28578:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 16572,
                                    "src": "28573:7:62",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_bool",
                                        "typeString": "bool"
                                    },
                                    "typeName": {
                                        "id": 16556,
                                        "name": "bool",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "28573:4:62",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_bool",
                                            "typeString": "bool"
                                        }
                                    },
                                    "visibility": "internal"
                                }
                            ],
                            "src": "28536:45:62"
                        },
                        "returnParameters": {
                            "id": 16559,
                            "nodeType": "ParameterList",
                            "parameters": [],
                            "src": "28596:0:62"
                        },
                        "scope": 20920,
                        "src": "28524:166:62",
                        "stateMutability": "view",
                        "virtual": false,
                        "visibility": "internal"
                    },
                    {
                        "body": {
                            "id": 16594,
                            "nodeType": "Block",
                            "src": "28768:97:62",
                            "statements": [
                                {
                                    "expression": {
                                        "arguments": [
                                            {
                                                "arguments": [
                                                    {
                                                        "hexValue": "6c6f6728737472696e672c75696e742c75696e742c6164647265737329",
                                                        "id": 16586,
                                                        "isConstant": false,
                                                        "isLValue": false,
                                                        "isPure": true,
                                                        "kind": "string",
                                                        "lValueRequested": false,
                                                        "nodeType": "Literal",
                                                        "src": "28812:31:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_stringliteral_bed728bf5bf9afc41a2cff142cfc289808bbba64cbab683d8e6689e6f6f14abc",
                                                            "typeString": "literal_string \"log(string,uint,uint,address)\""
                                                        },
                                                        "value": "log(string,uint,uint,address)"
                                                    },
                                                    {
                                                        "id": 16587,
                                                        "name": "p0",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 16574,
                                                        "src": "28845:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_string_memory_ptr",
                                                            "typeString": "string memory"
                                                        }
                                                    },
                                                    {
                                                        "id": 16588,
                                                        "name": "p1",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 16576,
                                                        "src": "28849:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_uint256",
                                                            "typeString": "uint256"
                                                        }
                                                    },
                                                    {
                                                        "id": 16589,
                                                        "name": "p2",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 16578,
                                                        "src": "28853:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_uint256",
                                                            "typeString": "uint256"
                                                        }
                                                    },
                                                    {
                                                        "id": 16590,
                                                        "name": "p3",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 16580,
                                                        "src": "28857:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_address",
                                                            "typeString": "address"
                                                        }
                                                    }
                                                ],
                                                "expression": {
                                                    "argumentTypes": [
                                                        {
                                                            "typeIdentifier": "t_stringliteral_bed728bf5bf9afc41a2cff142cfc289808bbba64cbab683d8e6689e6f6f14abc",
                                                            "typeString": "literal_string \"log(string,uint,uint,address)\""
                                                        },
                                                        {
                                                            "typeIdentifier": "t_string_memory_ptr",
                                                            "typeString": "string memory"
                                                        },
                                                        {
                                                            "typeIdentifier": "t_uint256",
                                                            "typeString": "uint256"
                                                        },
                                                        {
                                                            "typeIdentifier": "t_uint256",
                                                            "typeString": "uint256"
                                                        },
                                                        {
                                                            "typeIdentifier": "t_address",
                                                            "typeString": "address"
                                                        }
                                                    ],
                                                    "expression": {
                                                        "id": 16584,
                                                        "name": "abi",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 4294967295,
                                                        "src": "28788:3:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_magic_abi",
                                                            "typeString": "abi"
                                                        }
                                                    },
                                                    "id": 16585,
                                                    "isConstant": false,
                                                    "isLValue": false,
                                                    "isPure": true,
                                                    "lValueRequested": false,
                                                    "memberName": "encodeWithSignature",
                                                    "nodeType": "MemberAccess",
                                                    "src": "28788:23:62",
                                                    "typeDescriptions": {
                                                        "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$",
                                                        "typeString": "function (string memory) pure returns (bytes memory)"
                                                    }
                                                },
                                                "id": 16591,
                                                "isConstant": false,
                                                "isLValue": false,
                                                "isPure": false,
                                                "kind": "functionCall",
                                                "lValueRequested": false,
                                                "names": [],
                                                "nodeType": "FunctionCall",
                                                "src": "28788:72:62",
                                                "tryCall": false,
                                                "typeDescriptions": {
                                                    "typeIdentifier": "t_bytes_memory_ptr",
                                                    "typeString": "bytes memory"
                                                }
                                            }
                                        ],
                                        "expression": {
                                            "argumentTypes": [
                                                {
                                                    "typeIdentifier": "t_bytes_memory_ptr",
                                                    "typeString": "bytes memory"
                                                }
                                            ],
                                            "id": 16583,
                                            "name": "_sendLogPayload",
                                            "nodeType": "Identifier",
                                            "overloadedDeclarations": [],
                                            "referencedDeclaration": 12880,
                                            "src": "28772:15:62",
                                            "typeDescriptions": {
                                                "typeIdentifier": "t_function_internal_view$_t_bytes_memory_ptr_$returns$__$",
                                                "typeString": "function (bytes memory) view"
                                            }
                                        },
                                        "id": 16592,
                                        "isConstant": false,
                                        "isLValue": false,
                                        "isPure": false,
                                        "kind": "functionCall",
                                        "lValueRequested": false,
                                        "names": [],
                                        "nodeType": "FunctionCall",
                                        "src": "28772:89:62",
                                        "tryCall": false,
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_tuple$__$",
                                            "typeString": "tuple()"
                                        }
                                    },
                                    "id": 16593,
                                    "nodeType": "ExpressionStatement",
                                    "src": "28772:89:62"
                                }
                            ]
                        },
                        "id": 16595,
                        "implemented": true,
                        "kind": "function",
                        "modifiers": [],
                        "name": "log",
                        "nameLocation": "28702:3:62",
                        "nodeType": "FunctionDefinition",
                        "parameters": {
                            "id": 16581,
                            "nodeType": "ParameterList",
                            "parameters": [
                                {
                                    "constant": false,
                                    "id": 16574,
                                    "mutability": "mutable",
                                    "name": "p0",
                                    "nameLocation": "28720:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 16595,
                                    "src": "28706:16:62",
                                    "stateVariable": false,
                                    "storageLocation": "memory",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_string_memory_ptr",
                                        "typeString": "string"
                                    },
                                    "typeName": {
                                        "id": 16573,
                                        "name": "string",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "28706:6:62",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_string_storage_ptr",
                                            "typeString": "string"
                                        }
                                    },
                                    "visibility": "internal"
                                },
                                {
                                    "constant": false,
                                    "id": 16576,
                                    "mutability": "mutable",
                                    "name": "p1",
                                    "nameLocation": "28729:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 16595,
                                    "src": "28724:7:62",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_uint256",
                                        "typeString": "uint256"
                                    },
                                    "typeName": {
                                        "id": 16575,
                                        "name": "uint",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "28724:4:62",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_uint256",
                                            "typeString": "uint256"
                                        }
                                    },
                                    "visibility": "internal"
                                },
                                {
                                    "constant": false,
                                    "id": 16578,
                                    "mutability": "mutable",
                                    "name": "p2",
                                    "nameLocation": "28738:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 16595,
                                    "src": "28733:7:62",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_uint256",
                                        "typeString": "uint256"
                                    },
                                    "typeName": {
                                        "id": 16577,
                                        "name": "uint",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "28733:4:62",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_uint256",
                                            "typeString": "uint256"
                                        }
                                    },
                                    "visibility": "internal"
                                },
                                {
                                    "constant": false,
                                    "id": 16580,
                                    "mutability": "mutable",
                                    "name": "p3",
                                    "nameLocation": "28750:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 16595,
                                    "src": "28742:10:62",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_address",
                                        "typeString": "address"
                                    },
                                    "typeName": {
                                        "id": 16579,
                                        "name": "address",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "28742:7:62",
                                        "stateMutability": "nonpayable",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_address",
                                            "typeString": "address"
                                        }
                                    },
                                    "visibility": "internal"
                                }
                            ],
                            "src": "28705:48:62"
                        },
                        "returnParameters": {
                            "id": 16582,
                            "nodeType": "ParameterList",
                            "parameters": [],
                            "src": "28768:0:62"
                        },
                        "scope": 20920,
                        "src": "28693:172:62",
                        "stateMutability": "view",
                        "virtual": false,
                        "visibility": "internal"
                    },
                    {
                        "body": {
                            "id": 16617,
                            "nodeType": "Block",
                            "src": "28949:96:62",
                            "statements": [
                                {
                                    "expression": {
                                        "arguments": [
                                            {
                                                "arguments": [
                                                    {
                                                        "hexValue": "6c6f6728737472696e672c75696e742c737472696e672c75696e7429",
                                                        "id": 16609,
                                                        "isConstant": false,
                                                        "isLValue": false,
                                                        "isPure": true,
                                                        "kind": "string",
                                                        "lValueRequested": false,
                                                        "nodeType": "Literal",
                                                        "src": "28993:30:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_stringliteral_a0c4b225a555b1198e8b1e32117070e759cad9a7266d99901b8a7fd2482d0e2f",
                                                            "typeString": "literal_string \"log(string,uint,string,uint)\""
                                                        },
                                                        "value": "log(string,uint,string,uint)"
                                                    },
                                                    {
                                                        "id": 16610,
                                                        "name": "p0",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 16597,
                                                        "src": "29025:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_string_memory_ptr",
                                                            "typeString": "string memory"
                                                        }
                                                    },
                                                    {
                                                        "id": 16611,
                                                        "name": "p1",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 16599,
                                                        "src": "29029:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_uint256",
                                                            "typeString": "uint256"
                                                        }
                                                    },
                                                    {
                                                        "id": 16612,
                                                        "name": "p2",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 16601,
                                                        "src": "29033:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_string_memory_ptr",
                                                            "typeString": "string memory"
                                                        }
                                                    },
                                                    {
                                                        "id": 16613,
                                                        "name": "p3",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 16603,
                                                        "src": "29037:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_uint256",
                                                            "typeString": "uint256"
                                                        }
                                                    }
                                                ],
                                                "expression": {
                                                    "argumentTypes": [
                                                        {
                                                            "typeIdentifier": "t_stringliteral_a0c4b225a555b1198e8b1e32117070e759cad9a7266d99901b8a7fd2482d0e2f",
                                                            "typeString": "literal_string \"log(string,uint,string,uint)\""
                                                        },
                                                        {
                                                            "typeIdentifier": "t_string_memory_ptr",
                                                            "typeString": "string memory"
                                                        },
                                                        {
                                                            "typeIdentifier": "t_uint256",
                                                            "typeString": "uint256"
                                                        },
                                                        {
                                                            "typeIdentifier": "t_string_memory_ptr",
                                                            "typeString": "string memory"
                                                        },
                                                        {
                                                            "typeIdentifier": "t_uint256",
                                                            "typeString": "uint256"
                                                        }
                                                    ],
                                                    "expression": {
                                                        "id": 16607,
                                                        "name": "abi",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 4294967295,
                                                        "src": "28969:3:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_magic_abi",
                                                            "typeString": "abi"
                                                        }
                                                    },
                                                    "id": 16608,
                                                    "isConstant": false,
                                                    "isLValue": false,
                                                    "isPure": true,
                                                    "lValueRequested": false,
                                                    "memberName": "encodeWithSignature",
                                                    "nodeType": "MemberAccess",
                                                    "src": "28969:23:62",
                                                    "typeDescriptions": {
                                                        "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$",
                                                        "typeString": "function (string memory) pure returns (bytes memory)"
                                                    }
                                                },
                                                "id": 16614,
                                                "isConstant": false,
                                                "isLValue": false,
                                                "isPure": false,
                                                "kind": "functionCall",
                                                "lValueRequested": false,
                                                "names": [],
                                                "nodeType": "FunctionCall",
                                                "src": "28969:71:62",
                                                "tryCall": false,
                                                "typeDescriptions": {
                                                    "typeIdentifier": "t_bytes_memory_ptr",
                                                    "typeString": "bytes memory"
                                                }
                                            }
                                        ],
                                        "expression": {
                                            "argumentTypes": [
                                                {
                                                    "typeIdentifier": "t_bytes_memory_ptr",
                                                    "typeString": "bytes memory"
                                                }
                                            ],
                                            "id": 16606,
                                            "name": "_sendLogPayload",
                                            "nodeType": "Identifier",
                                            "overloadedDeclarations": [],
                                            "referencedDeclaration": 12880,
                                            "src": "28953:15:62",
                                            "typeDescriptions": {
                                                "typeIdentifier": "t_function_internal_view$_t_bytes_memory_ptr_$returns$__$",
                                                "typeString": "function (bytes memory) view"
                                            }
                                        },
                                        "id": 16615,
                                        "isConstant": false,
                                        "isLValue": false,
                                        "isPure": false,
                                        "kind": "functionCall",
                                        "lValueRequested": false,
                                        "names": [],
                                        "nodeType": "FunctionCall",
                                        "src": "28953:88:62",
                                        "tryCall": false,
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_tuple$__$",
                                            "typeString": "tuple()"
                                        }
                                    },
                                    "id": 16616,
                                    "nodeType": "ExpressionStatement",
                                    "src": "28953:88:62"
                                }
                            ]
                        },
                        "id": 16618,
                        "implemented": true,
                        "kind": "function",
                        "modifiers": [],
                        "name": "log",
                        "nameLocation": "28877:3:62",
                        "nodeType": "FunctionDefinition",
                        "parameters": {
                            "id": 16604,
                            "nodeType": "ParameterList",
                            "parameters": [
                                {
                                    "constant": false,
                                    "id": 16597,
                                    "mutability": "mutable",
                                    "name": "p0",
                                    "nameLocation": "28895:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 16618,
                                    "src": "28881:16:62",
                                    "stateVariable": false,
                                    "storageLocation": "memory",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_string_memory_ptr",
                                        "typeString": "string"
                                    },
                                    "typeName": {
                                        "id": 16596,
                                        "name": "string",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "28881:6:62",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_string_storage_ptr",
                                            "typeString": "string"
                                        }
                                    },
                                    "visibility": "internal"
                                },
                                {
                                    "constant": false,
                                    "id": 16599,
                                    "mutability": "mutable",
                                    "name": "p1",
                                    "nameLocation": "28904:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 16618,
                                    "src": "28899:7:62",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_uint256",
                                        "typeString": "uint256"
                                    },
                                    "typeName": {
                                        "id": 16598,
                                        "name": "uint",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "28899:4:62",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_uint256",
                                            "typeString": "uint256"
                                        }
                                    },
                                    "visibility": "internal"
                                },
                                {
                                    "constant": false,
                                    "id": 16601,
                                    "mutability": "mutable",
                                    "name": "p2",
                                    "nameLocation": "28922:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 16618,
                                    "src": "28908:16:62",
                                    "stateVariable": false,
                                    "storageLocation": "memory",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_string_memory_ptr",
                                        "typeString": "string"
                                    },
                                    "typeName": {
                                        "id": 16600,
                                        "name": "string",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "28908:6:62",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_string_storage_ptr",
                                            "typeString": "string"
                                        }
                                    },
                                    "visibility": "internal"
                                },
                                {
                                    "constant": false,
                                    "id": 16603,
                                    "mutability": "mutable",
                                    "name": "p3",
                                    "nameLocation": "28931:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 16618,
                                    "src": "28926:7:62",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_uint256",
                                        "typeString": "uint256"
                                    },
                                    "typeName": {
                                        "id": 16602,
                                        "name": "uint",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "28926:4:62",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_uint256",
                                            "typeString": "uint256"
                                        }
                                    },
                                    "visibility": "internal"
                                }
                            ],
                            "src": "28880:54:62"
                        },
                        "returnParameters": {
                            "id": 16605,
                            "nodeType": "ParameterList",
                            "parameters": [],
                            "src": "28949:0:62"
                        },
                        "scope": 20920,
                        "src": "28868:177:62",
                        "stateMutability": "view",
                        "virtual": false,
                        "visibility": "internal"
                    },
                    {
                        "body": {
                            "id": 16640,
                            "nodeType": "Block",
                            "src": "29138:98:62",
                            "statements": [
                                {
                                    "expression": {
                                        "arguments": [
                                            {
                                                "arguments": [
                                                    {
                                                        "hexValue": "6c6f6728737472696e672c75696e742c737472696e672c737472696e6729",
                                                        "id": 16632,
                                                        "isConstant": false,
                                                        "isLValue": false,
                                                        "isPure": true,
                                                        "kind": "string",
                                                        "lValueRequested": false,
                                                        "nodeType": "Literal",
                                                        "src": "29182:32:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_stringliteral_6c98dae27db048edb14bb31b4326832aa1fb54be52caaf49d1cecb59aa297c07",
                                                            "typeString": "literal_string \"log(string,uint,string,string)\""
                                                        },
                                                        "value": "log(string,uint,string,string)"
                                                    },
                                                    {
                                                        "id": 16633,
                                                        "name": "p0",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 16620,
                                                        "src": "29216:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_string_memory_ptr",
                                                            "typeString": "string memory"
                                                        }
                                                    },
                                                    {
                                                        "id": 16634,
                                                        "name": "p1",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 16622,
                                                        "src": "29220:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_uint256",
                                                            "typeString": "uint256"
                                                        }
                                                    },
                                                    {
                                                        "id": 16635,
                                                        "name": "p2",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 16624,
                                                        "src": "29224:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_string_memory_ptr",
                                                            "typeString": "string memory"
                                                        }
                                                    },
                                                    {
                                                        "id": 16636,
                                                        "name": "p3",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 16626,
                                                        "src": "29228:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_string_memory_ptr",
                                                            "typeString": "string memory"
                                                        }
                                                    }
                                                ],
                                                "expression": {
                                                    "argumentTypes": [
                                                        {
                                                            "typeIdentifier": "t_stringliteral_6c98dae27db048edb14bb31b4326832aa1fb54be52caaf49d1cecb59aa297c07",
                                                            "typeString": "literal_string \"log(string,uint,string,string)\""
                                                        },
                                                        {
                                                            "typeIdentifier": "t_string_memory_ptr",
                                                            "typeString": "string memory"
                                                        },
                                                        {
                                                            "typeIdentifier": "t_uint256",
                                                            "typeString": "uint256"
                                                        },
                                                        {
                                                            "typeIdentifier": "t_string_memory_ptr",
                                                            "typeString": "string memory"
                                                        },
                                                        {
                                                            "typeIdentifier": "t_string_memory_ptr",
                                                            "typeString": "string memory"
                                                        }
                                                    ],
                                                    "expression": {
                                                        "id": 16630,
                                                        "name": "abi",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 4294967295,
                                                        "src": "29158:3:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_magic_abi",
                                                            "typeString": "abi"
                                                        }
                                                    },
                                                    "id": 16631,
                                                    "isConstant": false,
                                                    "isLValue": false,
                                                    "isPure": true,
                                                    "lValueRequested": false,
                                                    "memberName": "encodeWithSignature",
                                                    "nodeType": "MemberAccess",
                                                    "src": "29158:23:62",
                                                    "typeDescriptions": {
                                                        "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$",
                                                        "typeString": "function (string memory) pure returns (bytes memory)"
                                                    }
                                                },
                                                "id": 16637,
                                                "isConstant": false,
                                                "isLValue": false,
                                                "isPure": false,
                                                "kind": "functionCall",
                                                "lValueRequested": false,
                                                "names": [],
                                                "nodeType": "FunctionCall",
                                                "src": "29158:73:62",
                                                "tryCall": false,
                                                "typeDescriptions": {
                                                    "typeIdentifier": "t_bytes_memory_ptr",
                                                    "typeString": "bytes memory"
                                                }
                                            }
                                        ],
                                        "expression": {
                                            "argumentTypes": [
                                                {
                                                    "typeIdentifier": "t_bytes_memory_ptr",
                                                    "typeString": "bytes memory"
                                                }
                                            ],
                                            "id": 16629,
                                            "name": "_sendLogPayload",
                                            "nodeType": "Identifier",
                                            "overloadedDeclarations": [],
                                            "referencedDeclaration": 12880,
                                            "src": "29142:15:62",
                                            "typeDescriptions": {
                                                "typeIdentifier": "t_function_internal_view$_t_bytes_memory_ptr_$returns$__$",
                                                "typeString": "function (bytes memory) view"
                                            }
                                        },
                                        "id": 16638,
                                        "isConstant": false,
                                        "isLValue": false,
                                        "isPure": false,
                                        "kind": "functionCall",
                                        "lValueRequested": false,
                                        "names": [],
                                        "nodeType": "FunctionCall",
                                        "src": "29142:90:62",
                                        "tryCall": false,
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_tuple$__$",
                                            "typeString": "tuple()"
                                        }
                                    },
                                    "id": 16639,
                                    "nodeType": "ExpressionStatement",
                                    "src": "29142:90:62"
                                }
                            ]
                        },
                        "id": 16641,
                        "implemented": true,
                        "kind": "function",
                        "modifiers": [],
                        "name": "log",
                        "nameLocation": "29057:3:62",
                        "nodeType": "FunctionDefinition",
                        "parameters": {
                            "id": 16627,
                            "nodeType": "ParameterList",
                            "parameters": [
                                {
                                    "constant": false,
                                    "id": 16620,
                                    "mutability": "mutable",
                                    "name": "p0",
                                    "nameLocation": "29075:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 16641,
                                    "src": "29061:16:62",
                                    "stateVariable": false,
                                    "storageLocation": "memory",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_string_memory_ptr",
                                        "typeString": "string"
                                    },
                                    "typeName": {
                                        "id": 16619,
                                        "name": "string",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "29061:6:62",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_string_storage_ptr",
                                            "typeString": "string"
                                        }
                                    },
                                    "visibility": "internal"
                                },
                                {
                                    "constant": false,
                                    "id": 16622,
                                    "mutability": "mutable",
                                    "name": "p1",
                                    "nameLocation": "29084:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 16641,
                                    "src": "29079:7:62",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_uint256",
                                        "typeString": "uint256"
                                    },
                                    "typeName": {
                                        "id": 16621,
                                        "name": "uint",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "29079:4:62",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_uint256",
                                            "typeString": "uint256"
                                        }
                                    },
                                    "visibility": "internal"
                                },
                                {
                                    "constant": false,
                                    "id": 16624,
                                    "mutability": "mutable",
                                    "name": "p2",
                                    "nameLocation": "29102:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 16641,
                                    "src": "29088:16:62",
                                    "stateVariable": false,
                                    "storageLocation": "memory",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_string_memory_ptr",
                                        "typeString": "string"
                                    },
                                    "typeName": {
                                        "id": 16623,
                                        "name": "string",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "29088:6:62",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_string_storage_ptr",
                                            "typeString": "string"
                                        }
                                    },
                                    "visibility": "internal"
                                },
                                {
                                    "constant": false,
                                    "id": 16626,
                                    "mutability": "mutable",
                                    "name": "p3",
                                    "nameLocation": "29120:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 16641,
                                    "src": "29106:16:62",
                                    "stateVariable": false,
                                    "storageLocation": "memory",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_string_memory_ptr",
                                        "typeString": "string"
                                    },
                                    "typeName": {
                                        "id": 16625,
                                        "name": "string",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "29106:6:62",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_string_storage_ptr",
                                            "typeString": "string"
                                        }
                                    },
                                    "visibility": "internal"
                                }
                            ],
                            "src": "29060:63:62"
                        },
                        "returnParameters": {
                            "id": 16628,
                            "nodeType": "ParameterList",
                            "parameters": [],
                            "src": "29138:0:62"
                        },
                        "scope": 20920,
                        "src": "29048:188:62",
                        "stateMutability": "view",
                        "virtual": false,
                        "visibility": "internal"
                    },
                    {
                        "body": {
                            "id": 16663,
                            "nodeType": "Block",
                            "src": "29320:96:62",
                            "statements": [
                                {
                                    "expression": {
                                        "arguments": [
                                            {
                                                "arguments": [
                                                    {
                                                        "hexValue": "6c6f6728737472696e672c75696e742c737472696e672c626f6f6c29",
                                                        "id": 16655,
                                                        "isConstant": false,
                                                        "isLValue": false,
                                                        "isPure": true,
                                                        "kind": "string",
                                                        "lValueRequested": false,
                                                        "nodeType": "Literal",
                                                        "src": "29364:30:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_stringliteral_e99f82cf29cb9d7551a843a55617f00569395570d3a9816be530f7c6197ec7c8",
                                                            "typeString": "literal_string \"log(string,uint,string,bool)\""
                                                        },
                                                        "value": "log(string,uint,string,bool)"
                                                    },
                                                    {
                                                        "id": 16656,
                                                        "name": "p0",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 16643,
                                                        "src": "29396:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_string_memory_ptr",
                                                            "typeString": "string memory"
                                                        }
                                                    },
                                                    {
                                                        "id": 16657,
                                                        "name": "p1",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 16645,
                                                        "src": "29400:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_uint256",
                                                            "typeString": "uint256"
                                                        }
                                                    },
                                                    {
                                                        "id": 16658,
                                                        "name": "p2",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 16647,
                                                        "src": "29404:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_string_memory_ptr",
                                                            "typeString": "string memory"
                                                        }
                                                    },
                                                    {
                                                        "id": 16659,
                                                        "name": "p3",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 16649,
                                                        "src": "29408:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_bool",
                                                            "typeString": "bool"
                                                        }
                                                    }
                                                ],
                                                "expression": {
                                                    "argumentTypes": [
                                                        {
                                                            "typeIdentifier": "t_stringliteral_e99f82cf29cb9d7551a843a55617f00569395570d3a9816be530f7c6197ec7c8",
                                                            "typeString": "literal_string \"log(string,uint,string,bool)\""
                                                        },
                                                        {
                                                            "typeIdentifier": "t_string_memory_ptr",
                                                            "typeString": "string memory"
                                                        },
                                                        {
                                                            "typeIdentifier": "t_uint256",
                                                            "typeString": "uint256"
                                                        },
                                                        {
                                                            "typeIdentifier": "t_string_memory_ptr",
                                                            "typeString": "string memory"
                                                        },
                                                        {
                                                            "typeIdentifier": "t_bool",
                                                            "typeString": "bool"
                                                        }
                                                    ],
                                                    "expression": {
                                                        "id": 16653,
                                                        "name": "abi",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 4294967295,
                                                        "src": "29340:3:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_magic_abi",
                                                            "typeString": "abi"
                                                        }
                                                    },
                                                    "id": 16654,
                                                    "isConstant": false,
                                                    "isLValue": false,
                                                    "isPure": true,
                                                    "lValueRequested": false,
                                                    "memberName": "encodeWithSignature",
                                                    "nodeType": "MemberAccess",
                                                    "src": "29340:23:62",
                                                    "typeDescriptions": {
                                                        "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$",
                                                        "typeString": "function (string memory) pure returns (bytes memory)"
                                                    }
                                                },
                                                "id": 16660,
                                                "isConstant": false,
                                                "isLValue": false,
                                                "isPure": false,
                                                "kind": "functionCall",
                                                "lValueRequested": false,
                                                "names": [],
                                                "nodeType": "FunctionCall",
                                                "src": "29340:71:62",
                                                "tryCall": false,
                                                "typeDescriptions": {
                                                    "typeIdentifier": "t_bytes_memory_ptr",
                                                    "typeString": "bytes memory"
                                                }
                                            }
                                        ],
                                        "expression": {
                                            "argumentTypes": [
                                                {
                                                    "typeIdentifier": "t_bytes_memory_ptr",
                                                    "typeString": "bytes memory"
                                                }
                                            ],
                                            "id": 16652,
                                            "name": "_sendLogPayload",
                                            "nodeType": "Identifier",
                                            "overloadedDeclarations": [],
                                            "referencedDeclaration": 12880,
                                            "src": "29324:15:62",
                                            "typeDescriptions": {
                                                "typeIdentifier": "t_function_internal_view$_t_bytes_memory_ptr_$returns$__$",
                                                "typeString": "function (bytes memory) view"
                                            }
                                        },
                                        "id": 16661,
                                        "isConstant": false,
                                        "isLValue": false,
                                        "isPure": false,
                                        "kind": "functionCall",
                                        "lValueRequested": false,
                                        "names": [],
                                        "nodeType": "FunctionCall",
                                        "src": "29324:88:62",
                                        "tryCall": false,
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_tuple$__$",
                                            "typeString": "tuple()"
                                        }
                                    },
                                    "id": 16662,
                                    "nodeType": "ExpressionStatement",
                                    "src": "29324:88:62"
                                }
                            ]
                        },
                        "id": 16664,
                        "implemented": true,
                        "kind": "function",
                        "modifiers": [],
                        "name": "log",
                        "nameLocation": "29248:3:62",
                        "nodeType": "FunctionDefinition",
                        "parameters": {
                            "id": 16650,
                            "nodeType": "ParameterList",
                            "parameters": [
                                {
                                    "constant": false,
                                    "id": 16643,
                                    "mutability": "mutable",
                                    "name": "p0",
                                    "nameLocation": "29266:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 16664,
                                    "src": "29252:16:62",
                                    "stateVariable": false,
                                    "storageLocation": "memory",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_string_memory_ptr",
                                        "typeString": "string"
                                    },
                                    "typeName": {
                                        "id": 16642,
                                        "name": "string",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "29252:6:62",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_string_storage_ptr",
                                            "typeString": "string"
                                        }
                                    },
                                    "visibility": "internal"
                                },
                                {
                                    "constant": false,
                                    "id": 16645,
                                    "mutability": "mutable",
                                    "name": "p1",
                                    "nameLocation": "29275:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 16664,
                                    "src": "29270:7:62",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_uint256",
                                        "typeString": "uint256"
                                    },
                                    "typeName": {
                                        "id": 16644,
                                        "name": "uint",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "29270:4:62",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_uint256",
                                            "typeString": "uint256"
                                        }
                                    },
                                    "visibility": "internal"
                                },
                                {
                                    "constant": false,
                                    "id": 16647,
                                    "mutability": "mutable",
                                    "name": "p2",
                                    "nameLocation": "29293:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 16664,
                                    "src": "29279:16:62",
                                    "stateVariable": false,
                                    "storageLocation": "memory",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_string_memory_ptr",
                                        "typeString": "string"
                                    },
                                    "typeName": {
                                        "id": 16646,
                                        "name": "string",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "29279:6:62",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_string_storage_ptr",
                                            "typeString": "string"
                                        }
                                    },
                                    "visibility": "internal"
                                },
                                {
                                    "constant": false,
                                    "id": 16649,
                                    "mutability": "mutable",
                                    "name": "p3",
                                    "nameLocation": "29302:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 16664,
                                    "src": "29297:7:62",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_bool",
                                        "typeString": "bool"
                                    },
                                    "typeName": {
                                        "id": 16648,
                                        "name": "bool",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "29297:4:62",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_bool",
                                            "typeString": "bool"
                                        }
                                    },
                                    "visibility": "internal"
                                }
                            ],
                            "src": "29251:54:62"
                        },
                        "returnParameters": {
                            "id": 16651,
                            "nodeType": "ParameterList",
                            "parameters": [],
                            "src": "29320:0:62"
                        },
                        "scope": 20920,
                        "src": "29239:177:62",
                        "stateMutability": "view",
                        "virtual": false,
                        "visibility": "internal"
                    },
                    {
                        "body": {
                            "id": 16686,
                            "nodeType": "Block",
                            "src": "29503:99:62",
                            "statements": [
                                {
                                    "expression": {
                                        "arguments": [
                                            {
                                                "arguments": [
                                                    {
                                                        "hexValue": "6c6f6728737472696e672c75696e742c737472696e672c6164647265737329",
                                                        "id": 16678,
                                                        "isConstant": false,
                                                        "isLValue": false,
                                                        "isPure": true,
                                                        "kind": "string",
                                                        "lValueRequested": false,
                                                        "nodeType": "Literal",
                                                        "src": "29547:33:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_stringliteral_bb7235e9977380af5de9932c5c28e18d22806b4b0a15ac7e98086e795e59b31c",
                                                            "typeString": "literal_string \"log(string,uint,string,address)\""
                                                        },
                                                        "value": "log(string,uint,string,address)"
                                                    },
                                                    {
                                                        "id": 16679,
                                                        "name": "p0",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 16666,
                                                        "src": "29582:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_string_memory_ptr",
                                                            "typeString": "string memory"
                                                        }
                                                    },
                                                    {
                                                        "id": 16680,
                                                        "name": "p1",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 16668,
                                                        "src": "29586:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_uint256",
                                                            "typeString": "uint256"
                                                        }
                                                    },
                                                    {
                                                        "id": 16681,
                                                        "name": "p2",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 16670,
                                                        "src": "29590:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_string_memory_ptr",
                                                            "typeString": "string memory"
                                                        }
                                                    },
                                                    {
                                                        "id": 16682,
                                                        "name": "p3",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 16672,
                                                        "src": "29594:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_address",
                                                            "typeString": "address"
                                                        }
                                                    }
                                                ],
                                                "expression": {
                                                    "argumentTypes": [
                                                        {
                                                            "typeIdentifier": "t_stringliteral_bb7235e9977380af5de9932c5c28e18d22806b4b0a15ac7e98086e795e59b31c",
                                                            "typeString": "literal_string \"log(string,uint,string,address)\""
                                                        },
                                                        {
                                                            "typeIdentifier": "t_string_memory_ptr",
                                                            "typeString": "string memory"
                                                        },
                                                        {
                                                            "typeIdentifier": "t_uint256",
                                                            "typeString": "uint256"
                                                        },
                                                        {
                                                            "typeIdentifier": "t_string_memory_ptr",
                                                            "typeString": "string memory"
                                                        },
                                                        {
                                                            "typeIdentifier": "t_address",
                                                            "typeString": "address"
                                                        }
                                                    ],
                                                    "expression": {
                                                        "id": 16676,
                                                        "name": "abi",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 4294967295,
                                                        "src": "29523:3:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_magic_abi",
                                                            "typeString": "abi"
                                                        }
                                                    },
                                                    "id": 16677,
                                                    "isConstant": false,
                                                    "isLValue": false,
                                                    "isPure": true,
                                                    "lValueRequested": false,
                                                    "memberName": "encodeWithSignature",
                                                    "nodeType": "MemberAccess",
                                                    "src": "29523:23:62",
                                                    "typeDescriptions": {
                                                        "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$",
                                                        "typeString": "function (string memory) pure returns (bytes memory)"
                                                    }
                                                },
                                                "id": 16683,
                                                "isConstant": false,
                                                "isLValue": false,
                                                "isPure": false,
                                                "kind": "functionCall",
                                                "lValueRequested": false,
                                                "names": [],
                                                "nodeType": "FunctionCall",
                                                "src": "29523:74:62",
                                                "tryCall": false,
                                                "typeDescriptions": {
                                                    "typeIdentifier": "t_bytes_memory_ptr",
                                                    "typeString": "bytes memory"
                                                }
                                            }
                                        ],
                                        "expression": {
                                            "argumentTypes": [
                                                {
                                                    "typeIdentifier": "t_bytes_memory_ptr",
                                                    "typeString": "bytes memory"
                                                }
                                            ],
                                            "id": 16675,
                                            "name": "_sendLogPayload",
                                            "nodeType": "Identifier",
                                            "overloadedDeclarations": [],
                                            "referencedDeclaration": 12880,
                                            "src": "29507:15:62",
                                            "typeDescriptions": {
                                                "typeIdentifier": "t_function_internal_view$_t_bytes_memory_ptr_$returns$__$",
                                                "typeString": "function (bytes memory) view"
                                            }
                                        },
                                        "id": 16684,
                                        "isConstant": false,
                                        "isLValue": false,
                                        "isPure": false,
                                        "kind": "functionCall",
                                        "lValueRequested": false,
                                        "names": [],
                                        "nodeType": "FunctionCall",
                                        "src": "29507:91:62",
                                        "tryCall": false,
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_tuple$__$",
                                            "typeString": "tuple()"
                                        }
                                    },
                                    "id": 16685,
                                    "nodeType": "ExpressionStatement",
                                    "src": "29507:91:62"
                                }
                            ]
                        },
                        "id": 16687,
                        "implemented": true,
                        "kind": "function",
                        "modifiers": [],
                        "name": "log",
                        "nameLocation": "29428:3:62",
                        "nodeType": "FunctionDefinition",
                        "parameters": {
                            "id": 16673,
                            "nodeType": "ParameterList",
                            "parameters": [
                                {
                                    "constant": false,
                                    "id": 16666,
                                    "mutability": "mutable",
                                    "name": "p0",
                                    "nameLocation": "29446:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 16687,
                                    "src": "29432:16:62",
                                    "stateVariable": false,
                                    "storageLocation": "memory",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_string_memory_ptr",
                                        "typeString": "string"
                                    },
                                    "typeName": {
                                        "id": 16665,
                                        "name": "string",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "29432:6:62",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_string_storage_ptr",
                                            "typeString": "string"
                                        }
                                    },
                                    "visibility": "internal"
                                },
                                {
                                    "constant": false,
                                    "id": 16668,
                                    "mutability": "mutable",
                                    "name": "p1",
                                    "nameLocation": "29455:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 16687,
                                    "src": "29450:7:62",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_uint256",
                                        "typeString": "uint256"
                                    },
                                    "typeName": {
                                        "id": 16667,
                                        "name": "uint",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "29450:4:62",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_uint256",
                                            "typeString": "uint256"
                                        }
                                    },
                                    "visibility": "internal"
                                },
                                {
                                    "constant": false,
                                    "id": 16670,
                                    "mutability": "mutable",
                                    "name": "p2",
                                    "nameLocation": "29473:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 16687,
                                    "src": "29459:16:62",
                                    "stateVariable": false,
                                    "storageLocation": "memory",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_string_memory_ptr",
                                        "typeString": "string"
                                    },
                                    "typeName": {
                                        "id": 16669,
                                        "name": "string",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "29459:6:62",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_string_storage_ptr",
                                            "typeString": "string"
                                        }
                                    },
                                    "visibility": "internal"
                                },
                                {
                                    "constant": false,
                                    "id": 16672,
                                    "mutability": "mutable",
                                    "name": "p3",
                                    "nameLocation": "29485:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 16687,
                                    "src": "29477:10:62",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_address",
                                        "typeString": "address"
                                    },
                                    "typeName": {
                                        "id": 16671,
                                        "name": "address",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "29477:7:62",
                                        "stateMutability": "nonpayable",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_address",
                                            "typeString": "address"
                                        }
                                    },
                                    "visibility": "internal"
                                }
                            ],
                            "src": "29431:57:62"
                        },
                        "returnParameters": {
                            "id": 16674,
                            "nodeType": "ParameterList",
                            "parameters": [],
                            "src": "29503:0:62"
                        },
                        "scope": 20920,
                        "src": "29419:183:62",
                        "stateMutability": "view",
                        "virtual": false,
                        "visibility": "internal"
                    },
                    {
                        "body": {
                            "id": 16709,
                            "nodeType": "Block",
                            "src": "29677:94:62",
                            "statements": [
                                {
                                    "expression": {
                                        "arguments": [
                                            {
                                                "arguments": [
                                                    {
                                                        "hexValue": "6c6f6728737472696e672c75696e742c626f6f6c2c75696e7429",
                                                        "id": 16701,
                                                        "isConstant": false,
                                                        "isLValue": false,
                                                        "isPure": true,
                                                        "kind": "string",
                                                        "lValueRequested": false,
                                                        "nodeType": "Literal",
                                                        "src": "29721:28:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_stringliteral_550e6ef516f1b3b5be9432b068022af744a919b7f9554b6605ddb59dad27875f",
                                                            "typeString": "literal_string \"log(string,uint,bool,uint)\""
                                                        },
                                                        "value": "log(string,uint,bool,uint)"
                                                    },
                                                    {
                                                        "id": 16702,
                                                        "name": "p0",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 16689,
                                                        "src": "29751:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_string_memory_ptr",
                                                            "typeString": "string memory"
                                                        }
                                                    },
                                                    {
                                                        "id": 16703,
                                                        "name": "p1",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 16691,
                                                        "src": "29755:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_uint256",
                                                            "typeString": "uint256"
                                                        }
                                                    },
                                                    {
                                                        "id": 16704,
                                                        "name": "p2",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 16693,
                                                        "src": "29759:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_bool",
                                                            "typeString": "bool"
                                                        }
                                                    },
                                                    {
                                                        "id": 16705,
                                                        "name": "p3",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 16695,
                                                        "src": "29763:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_uint256",
                                                            "typeString": "uint256"
                                                        }
                                                    }
                                                ],
                                                "expression": {
                                                    "argumentTypes": [
                                                        {
                                                            "typeIdentifier": "t_stringliteral_550e6ef516f1b3b5be9432b068022af744a919b7f9554b6605ddb59dad27875f",
                                                            "typeString": "literal_string \"log(string,uint,bool,uint)\""
                                                        },
                                                        {
                                                            "typeIdentifier": "t_string_memory_ptr",
                                                            "typeString": "string memory"
                                                        },
                                                        {
                                                            "typeIdentifier": "t_uint256",
                                                            "typeString": "uint256"
                                                        },
                                                        {
                                                            "typeIdentifier": "t_bool",
                                                            "typeString": "bool"
                                                        },
                                                        {
                                                            "typeIdentifier": "t_uint256",
                                                            "typeString": "uint256"
                                                        }
                                                    ],
                                                    "expression": {
                                                        "id": 16699,
                                                        "name": "abi",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 4294967295,
                                                        "src": "29697:3:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_magic_abi",
                                                            "typeString": "abi"
                                                        }
                                                    },
                                                    "id": 16700,
                                                    "isConstant": false,
                                                    "isLValue": false,
                                                    "isPure": true,
                                                    "lValueRequested": false,
                                                    "memberName": "encodeWithSignature",
                                                    "nodeType": "MemberAccess",
                                                    "src": "29697:23:62",
                                                    "typeDescriptions": {
                                                        "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$",
                                                        "typeString": "function (string memory) pure returns (bytes memory)"
                                                    }
                                                },
                                                "id": 16706,
                                                "isConstant": false,
                                                "isLValue": false,
                                                "isPure": false,
                                                "kind": "functionCall",
                                                "lValueRequested": false,
                                                "names": [],
                                                "nodeType": "FunctionCall",
                                                "src": "29697:69:62",
                                                "tryCall": false,
                                                "typeDescriptions": {
                                                    "typeIdentifier": "t_bytes_memory_ptr",
                                                    "typeString": "bytes memory"
                                                }
                                            }
                                        ],
                                        "expression": {
                                            "argumentTypes": [
                                                {
                                                    "typeIdentifier": "t_bytes_memory_ptr",
                                                    "typeString": "bytes memory"
                                                }
                                            ],
                                            "id": 16698,
                                            "name": "_sendLogPayload",
                                            "nodeType": "Identifier",
                                            "overloadedDeclarations": [],
                                            "referencedDeclaration": 12880,
                                            "src": "29681:15:62",
                                            "typeDescriptions": {
                                                "typeIdentifier": "t_function_internal_view$_t_bytes_memory_ptr_$returns$__$",
                                                "typeString": "function (bytes memory) view"
                                            }
                                        },
                                        "id": 16707,
                                        "isConstant": false,
                                        "isLValue": false,
                                        "isPure": false,
                                        "kind": "functionCall",
                                        "lValueRequested": false,
                                        "names": [],
                                        "nodeType": "FunctionCall",
                                        "src": "29681:86:62",
                                        "tryCall": false,
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_tuple$__$",
                                            "typeString": "tuple()"
                                        }
                                    },
                                    "id": 16708,
                                    "nodeType": "ExpressionStatement",
                                    "src": "29681:86:62"
                                }
                            ]
                        },
                        "id": 16710,
                        "implemented": true,
                        "kind": "function",
                        "modifiers": [],
                        "name": "log",
                        "nameLocation": "29614:3:62",
                        "nodeType": "FunctionDefinition",
                        "parameters": {
                            "id": 16696,
                            "nodeType": "ParameterList",
                            "parameters": [
                                {
                                    "constant": false,
                                    "id": 16689,
                                    "mutability": "mutable",
                                    "name": "p0",
                                    "nameLocation": "29632:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 16710,
                                    "src": "29618:16:62",
                                    "stateVariable": false,
                                    "storageLocation": "memory",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_string_memory_ptr",
                                        "typeString": "string"
                                    },
                                    "typeName": {
                                        "id": 16688,
                                        "name": "string",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "29618:6:62",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_string_storage_ptr",
                                            "typeString": "string"
                                        }
                                    },
                                    "visibility": "internal"
                                },
                                {
                                    "constant": false,
                                    "id": 16691,
                                    "mutability": "mutable",
                                    "name": "p1",
                                    "nameLocation": "29641:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 16710,
                                    "src": "29636:7:62",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_uint256",
                                        "typeString": "uint256"
                                    },
                                    "typeName": {
                                        "id": 16690,
                                        "name": "uint",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "29636:4:62",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_uint256",
                                            "typeString": "uint256"
                                        }
                                    },
                                    "visibility": "internal"
                                },
                                {
                                    "constant": false,
                                    "id": 16693,
                                    "mutability": "mutable",
                                    "name": "p2",
                                    "nameLocation": "29650:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 16710,
                                    "src": "29645:7:62",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_bool",
                                        "typeString": "bool"
                                    },
                                    "typeName": {
                                        "id": 16692,
                                        "name": "bool",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "29645:4:62",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_bool",
                                            "typeString": "bool"
                                        }
                                    },
                                    "visibility": "internal"
                                },
                                {
                                    "constant": false,
                                    "id": 16695,
                                    "mutability": "mutable",
                                    "name": "p3",
                                    "nameLocation": "29659:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 16710,
                                    "src": "29654:7:62",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_uint256",
                                        "typeString": "uint256"
                                    },
                                    "typeName": {
                                        "id": 16694,
                                        "name": "uint",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "29654:4:62",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_uint256",
                                            "typeString": "uint256"
                                        }
                                    },
                                    "visibility": "internal"
                                }
                            ],
                            "src": "29617:45:62"
                        },
                        "returnParameters": {
                            "id": 16697,
                            "nodeType": "ParameterList",
                            "parameters": [],
                            "src": "29677:0:62"
                        },
                        "scope": 20920,
                        "src": "29605:166:62",
                        "stateMutability": "view",
                        "virtual": false,
                        "visibility": "internal"
                    },
                    {
                        "body": {
                            "id": 16732,
                            "nodeType": "Block",
                            "src": "29855:96:62",
                            "statements": [
                                {
                                    "expression": {
                                        "arguments": [
                                            {
                                                "arguments": [
                                                    {
                                                        "hexValue": "6c6f6728737472696e672c75696e742c626f6f6c2c737472696e6729",
                                                        "id": 16724,
                                                        "isConstant": false,
                                                        "isLValue": false,
                                                        "isPure": true,
                                                        "kind": "string",
                                                        "lValueRequested": false,
                                                        "nodeType": "Literal",
                                                        "src": "29899:30:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_stringliteral_76cc6064a225b36730abdd64aa9dcb74a19c97e79a6eaa7e7a7381b59d8b3f68",
                                                            "typeString": "literal_string \"log(string,uint,bool,string)\""
                                                        },
                                                        "value": "log(string,uint,bool,string)"
                                                    },
                                                    {
                                                        "id": 16725,
                                                        "name": "p0",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 16712,
                                                        "src": "29931:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_string_memory_ptr",
                                                            "typeString": "string memory"
                                                        }
                                                    },
                                                    {
                                                        "id": 16726,
                                                        "name": "p1",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 16714,
                                                        "src": "29935:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_uint256",
                                                            "typeString": "uint256"
                                                        }
                                                    },
                                                    {
                                                        "id": 16727,
                                                        "name": "p2",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 16716,
                                                        "src": "29939:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_bool",
                                                            "typeString": "bool"
                                                        }
                                                    },
                                                    {
                                                        "id": 16728,
                                                        "name": "p3",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 16718,
                                                        "src": "29943:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_string_memory_ptr",
                                                            "typeString": "string memory"
                                                        }
                                                    }
                                                ],
                                                "expression": {
                                                    "argumentTypes": [
                                                        {
                                                            "typeIdentifier": "t_stringliteral_76cc6064a225b36730abdd64aa9dcb74a19c97e79a6eaa7e7a7381b59d8b3f68",
                                                            "typeString": "literal_string \"log(string,uint,bool,string)\""
                                                        },
                                                        {
                                                            "typeIdentifier": "t_string_memory_ptr",
                                                            "typeString": "string memory"
                                                        },
                                                        {
                                                            "typeIdentifier": "t_uint256",
                                                            "typeString": "uint256"
                                                        },
                                                        {
                                                            "typeIdentifier": "t_bool",
                                                            "typeString": "bool"
                                                        },
                                                        {
                                                            "typeIdentifier": "t_string_memory_ptr",
                                                            "typeString": "string memory"
                                                        }
                                                    ],
                                                    "expression": {
                                                        "id": 16722,
                                                        "name": "abi",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 4294967295,
                                                        "src": "29875:3:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_magic_abi",
                                                            "typeString": "abi"
                                                        }
                                                    },
                                                    "id": 16723,
                                                    "isConstant": false,
                                                    "isLValue": false,
                                                    "isPure": true,
                                                    "lValueRequested": false,
                                                    "memberName": "encodeWithSignature",
                                                    "nodeType": "MemberAccess",
                                                    "src": "29875:23:62",
                                                    "typeDescriptions": {
                                                        "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$",
                                                        "typeString": "function (string memory) pure returns (bytes memory)"
                                                    }
                                                },
                                                "id": 16729,
                                                "isConstant": false,
                                                "isLValue": false,
                                                "isPure": false,
                                                "kind": "functionCall",
                                                "lValueRequested": false,
                                                "names": [],
                                                "nodeType": "FunctionCall",
                                                "src": "29875:71:62",
                                                "tryCall": false,
                                                "typeDescriptions": {
                                                    "typeIdentifier": "t_bytes_memory_ptr",
                                                    "typeString": "bytes memory"
                                                }
                                            }
                                        ],
                                        "expression": {
                                            "argumentTypes": [
                                                {
                                                    "typeIdentifier": "t_bytes_memory_ptr",
                                                    "typeString": "bytes memory"
                                                }
                                            ],
                                            "id": 16721,
                                            "name": "_sendLogPayload",
                                            "nodeType": "Identifier",
                                            "overloadedDeclarations": [],
                                            "referencedDeclaration": 12880,
                                            "src": "29859:15:62",
                                            "typeDescriptions": {
                                                "typeIdentifier": "t_function_internal_view$_t_bytes_memory_ptr_$returns$__$",
                                                "typeString": "function (bytes memory) view"
                                            }
                                        },
                                        "id": 16730,
                                        "isConstant": false,
                                        "isLValue": false,
                                        "isPure": false,
                                        "kind": "functionCall",
                                        "lValueRequested": false,
                                        "names": [],
                                        "nodeType": "FunctionCall",
                                        "src": "29859:88:62",
                                        "tryCall": false,
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_tuple$__$",
                                            "typeString": "tuple()"
                                        }
                                    },
                                    "id": 16731,
                                    "nodeType": "ExpressionStatement",
                                    "src": "29859:88:62"
                                }
                            ]
                        },
                        "id": 16733,
                        "implemented": true,
                        "kind": "function",
                        "modifiers": [],
                        "name": "log",
                        "nameLocation": "29783:3:62",
                        "nodeType": "FunctionDefinition",
                        "parameters": {
                            "id": 16719,
                            "nodeType": "ParameterList",
                            "parameters": [
                                {
                                    "constant": false,
                                    "id": 16712,
                                    "mutability": "mutable",
                                    "name": "p0",
                                    "nameLocation": "29801:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 16733,
                                    "src": "29787:16:62",
                                    "stateVariable": false,
                                    "storageLocation": "memory",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_string_memory_ptr",
                                        "typeString": "string"
                                    },
                                    "typeName": {
                                        "id": 16711,
                                        "name": "string",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "29787:6:62",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_string_storage_ptr",
                                            "typeString": "string"
                                        }
                                    },
                                    "visibility": "internal"
                                },
                                {
                                    "constant": false,
                                    "id": 16714,
                                    "mutability": "mutable",
                                    "name": "p1",
                                    "nameLocation": "29810:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 16733,
                                    "src": "29805:7:62",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_uint256",
                                        "typeString": "uint256"
                                    },
                                    "typeName": {
                                        "id": 16713,
                                        "name": "uint",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "29805:4:62",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_uint256",
                                            "typeString": "uint256"
                                        }
                                    },
                                    "visibility": "internal"
                                },
                                {
                                    "constant": false,
                                    "id": 16716,
                                    "mutability": "mutable",
                                    "name": "p2",
                                    "nameLocation": "29819:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 16733,
                                    "src": "29814:7:62",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_bool",
                                        "typeString": "bool"
                                    },
                                    "typeName": {
                                        "id": 16715,
                                        "name": "bool",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "29814:4:62",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_bool",
                                            "typeString": "bool"
                                        }
                                    },
                                    "visibility": "internal"
                                },
                                {
                                    "constant": false,
                                    "id": 16718,
                                    "mutability": "mutable",
                                    "name": "p3",
                                    "nameLocation": "29837:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 16733,
                                    "src": "29823:16:62",
                                    "stateVariable": false,
                                    "storageLocation": "memory",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_string_memory_ptr",
                                        "typeString": "string"
                                    },
                                    "typeName": {
                                        "id": 16717,
                                        "name": "string",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "29823:6:62",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_string_storage_ptr",
                                            "typeString": "string"
                                        }
                                    },
                                    "visibility": "internal"
                                }
                            ],
                            "src": "29786:54:62"
                        },
                        "returnParameters": {
                            "id": 16720,
                            "nodeType": "ParameterList",
                            "parameters": [],
                            "src": "29855:0:62"
                        },
                        "scope": 20920,
                        "src": "29774:177:62",
                        "stateMutability": "view",
                        "virtual": false,
                        "visibility": "internal"
                    },
                    {
                        "body": {
                            "id": 16755,
                            "nodeType": "Block",
                            "src": "30026:94:62",
                            "statements": [
                                {
                                    "expression": {
                                        "arguments": [
                                            {
                                                "arguments": [
                                                    {
                                                        "hexValue": "6c6f6728737472696e672c75696e742c626f6f6c2c626f6f6c29",
                                                        "id": 16747,
                                                        "isConstant": false,
                                                        "isLValue": false,
                                                        "isPure": true,
                                                        "kind": "string",
                                                        "lValueRequested": false,
                                                        "nodeType": "Literal",
                                                        "src": "30070:28:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_stringliteral_e37ff3d07873d5117abd74fe9be70fdadf355b74510a6f7507b0edd4a0032d7f",
                                                            "typeString": "literal_string \"log(string,uint,bool,bool)\""
                                                        },
                                                        "value": "log(string,uint,bool,bool)"
                                                    },
                                                    {
                                                        "id": 16748,
                                                        "name": "p0",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 16735,
                                                        "src": "30100:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_string_memory_ptr",
                                                            "typeString": "string memory"
                                                        }
                                                    },
                                                    {
                                                        "id": 16749,
                                                        "name": "p1",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 16737,
                                                        "src": "30104:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_uint256",
                                                            "typeString": "uint256"
                                                        }
                                                    },
                                                    {
                                                        "id": 16750,
                                                        "name": "p2",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 16739,
                                                        "src": "30108:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_bool",
                                                            "typeString": "bool"
                                                        }
                                                    },
                                                    {
                                                        "id": 16751,
                                                        "name": "p3",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 16741,
                                                        "src": "30112:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_bool",
                                                            "typeString": "bool"
                                                        }
                                                    }
                                                ],
                                                "expression": {
                                                    "argumentTypes": [
                                                        {
                                                            "typeIdentifier": "t_stringliteral_e37ff3d07873d5117abd74fe9be70fdadf355b74510a6f7507b0edd4a0032d7f",
                                                            "typeString": "literal_string \"log(string,uint,bool,bool)\""
                                                        },
                                                        {
                                                            "typeIdentifier": "t_string_memory_ptr",
                                                            "typeString": "string memory"
                                                        },
                                                        {
                                                            "typeIdentifier": "t_uint256",
                                                            "typeString": "uint256"
                                                        },
                                                        {
                                                            "typeIdentifier": "t_bool",
                                                            "typeString": "bool"
                                                        },
                                                        {
                                                            "typeIdentifier": "t_bool",
                                                            "typeString": "bool"
                                                        }
                                                    ],
                                                    "expression": {
                                                        "id": 16745,
                                                        "name": "abi",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 4294967295,
                                                        "src": "30046:3:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_magic_abi",
                                                            "typeString": "abi"
                                                        }
                                                    },
                                                    "id": 16746,
                                                    "isConstant": false,
                                                    "isLValue": false,
                                                    "isPure": true,
                                                    "lValueRequested": false,
                                                    "memberName": "encodeWithSignature",
                                                    "nodeType": "MemberAccess",
                                                    "src": "30046:23:62",
                                                    "typeDescriptions": {
                                                        "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$",
                                                        "typeString": "function (string memory) pure returns (bytes memory)"
                                                    }
                                                },
                                                "id": 16752,
                                                "isConstant": false,
                                                "isLValue": false,
                                                "isPure": false,
                                                "kind": "functionCall",
                                                "lValueRequested": false,
                                                "names": [],
                                                "nodeType": "FunctionCall",
                                                "src": "30046:69:62",
                                                "tryCall": false,
                                                "typeDescriptions": {
                                                    "typeIdentifier": "t_bytes_memory_ptr",
                                                    "typeString": "bytes memory"
                                                }
                                            }
                                        ],
                                        "expression": {
                                            "argumentTypes": [
                                                {
                                                    "typeIdentifier": "t_bytes_memory_ptr",
                                                    "typeString": "bytes memory"
                                                }
                                            ],
                                            "id": 16744,
                                            "name": "_sendLogPayload",
                                            "nodeType": "Identifier",
                                            "overloadedDeclarations": [],
                                            "referencedDeclaration": 12880,
                                            "src": "30030:15:62",
                                            "typeDescriptions": {
                                                "typeIdentifier": "t_function_internal_view$_t_bytes_memory_ptr_$returns$__$",
                                                "typeString": "function (bytes memory) view"
                                            }
                                        },
                                        "id": 16753,
                                        "isConstant": false,
                                        "isLValue": false,
                                        "isPure": false,
                                        "kind": "functionCall",
                                        "lValueRequested": false,
                                        "names": [],
                                        "nodeType": "FunctionCall",
                                        "src": "30030:86:62",
                                        "tryCall": false,
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_tuple$__$",
                                            "typeString": "tuple()"
                                        }
                                    },
                                    "id": 16754,
                                    "nodeType": "ExpressionStatement",
                                    "src": "30030:86:62"
                                }
                            ]
                        },
                        "id": 16756,
                        "implemented": true,
                        "kind": "function",
                        "modifiers": [],
                        "name": "log",
                        "nameLocation": "29963:3:62",
                        "nodeType": "FunctionDefinition",
                        "parameters": {
                            "id": 16742,
                            "nodeType": "ParameterList",
                            "parameters": [
                                {
                                    "constant": false,
                                    "id": 16735,
                                    "mutability": "mutable",
                                    "name": "p0",
                                    "nameLocation": "29981:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 16756,
                                    "src": "29967:16:62",
                                    "stateVariable": false,
                                    "storageLocation": "memory",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_string_memory_ptr",
                                        "typeString": "string"
                                    },
                                    "typeName": {
                                        "id": 16734,
                                        "name": "string",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "29967:6:62",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_string_storage_ptr",
                                            "typeString": "string"
                                        }
                                    },
                                    "visibility": "internal"
                                },
                                {
                                    "constant": false,
                                    "id": 16737,
                                    "mutability": "mutable",
                                    "name": "p1",
                                    "nameLocation": "29990:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 16756,
                                    "src": "29985:7:62",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_uint256",
                                        "typeString": "uint256"
                                    },
                                    "typeName": {
                                        "id": 16736,
                                        "name": "uint",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "29985:4:62",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_uint256",
                                            "typeString": "uint256"
                                        }
                                    },
                                    "visibility": "internal"
                                },
                                {
                                    "constant": false,
                                    "id": 16739,
                                    "mutability": "mutable",
                                    "name": "p2",
                                    "nameLocation": "29999:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 16756,
                                    "src": "29994:7:62",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_bool",
                                        "typeString": "bool"
                                    },
                                    "typeName": {
                                        "id": 16738,
                                        "name": "bool",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "29994:4:62",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_bool",
                                            "typeString": "bool"
                                        }
                                    },
                                    "visibility": "internal"
                                },
                                {
                                    "constant": false,
                                    "id": 16741,
                                    "mutability": "mutable",
                                    "name": "p3",
                                    "nameLocation": "30008:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 16756,
                                    "src": "30003:7:62",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_bool",
                                        "typeString": "bool"
                                    },
                                    "typeName": {
                                        "id": 16740,
                                        "name": "bool",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "30003:4:62",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_bool",
                                            "typeString": "bool"
                                        }
                                    },
                                    "visibility": "internal"
                                }
                            ],
                            "src": "29966:45:62"
                        },
                        "returnParameters": {
                            "id": 16743,
                            "nodeType": "ParameterList",
                            "parameters": [],
                            "src": "30026:0:62"
                        },
                        "scope": 20920,
                        "src": "29954:166:62",
                        "stateMutability": "view",
                        "virtual": false,
                        "visibility": "internal"
                    },
                    {
                        "body": {
                            "id": 16778,
                            "nodeType": "Block",
                            "src": "30198:97:62",
                            "statements": [
                                {
                                    "expression": {
                                        "arguments": [
                                            {
                                                "arguments": [
                                                    {
                                                        "hexValue": "6c6f6728737472696e672c75696e742c626f6f6c2c6164647265737329",
                                                        "id": 16770,
                                                        "isConstant": false,
                                                        "isLValue": false,
                                                        "isPure": true,
                                                        "kind": "string",
                                                        "lValueRequested": false,
                                                        "nodeType": "Literal",
                                                        "src": "30242:31:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_stringliteral_e5549d91ec2998207f70463fe94a71d0edc39b13b219ff8feb87dd990a616539",
                                                            "typeString": "literal_string \"log(string,uint,bool,address)\""
                                                        },
                                                        "value": "log(string,uint,bool,address)"
                                                    },
                                                    {
                                                        "id": 16771,
                                                        "name": "p0",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 16758,
                                                        "src": "30275:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_string_memory_ptr",
                                                            "typeString": "string memory"
                                                        }
                                                    },
                                                    {
                                                        "id": 16772,
                                                        "name": "p1",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 16760,
                                                        "src": "30279:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_uint256",
                                                            "typeString": "uint256"
                                                        }
                                                    },
                                                    {
                                                        "id": 16773,
                                                        "name": "p2",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 16762,
                                                        "src": "30283:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_bool",
                                                            "typeString": "bool"
                                                        }
                                                    },
                                                    {
                                                        "id": 16774,
                                                        "name": "p3",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 16764,
                                                        "src": "30287:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_address",
                                                            "typeString": "address"
                                                        }
                                                    }
                                                ],
                                                "expression": {
                                                    "argumentTypes": [
                                                        {
                                                            "typeIdentifier": "t_stringliteral_e5549d91ec2998207f70463fe94a71d0edc39b13b219ff8feb87dd990a616539",
                                                            "typeString": "literal_string \"log(string,uint,bool,address)\""
                                                        },
                                                        {
                                                            "typeIdentifier": "t_string_memory_ptr",
                                                            "typeString": "string memory"
                                                        },
                                                        {
                                                            "typeIdentifier": "t_uint256",
                                                            "typeString": "uint256"
                                                        },
                                                        {
                                                            "typeIdentifier": "t_bool",
                                                            "typeString": "bool"
                                                        },
                                                        {
                                                            "typeIdentifier": "t_address",
                                                            "typeString": "address"
                                                        }
                                                    ],
                                                    "expression": {
                                                        "id": 16768,
                                                        "name": "abi",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 4294967295,
                                                        "src": "30218:3:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_magic_abi",
                                                            "typeString": "abi"
                                                        }
                                                    },
                                                    "id": 16769,
                                                    "isConstant": false,
                                                    "isLValue": false,
                                                    "isPure": true,
                                                    "lValueRequested": false,
                                                    "memberName": "encodeWithSignature",
                                                    "nodeType": "MemberAccess",
                                                    "src": "30218:23:62",
                                                    "typeDescriptions": {
                                                        "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$",
                                                        "typeString": "function (string memory) pure returns (bytes memory)"
                                                    }
                                                },
                                                "id": 16775,
                                                "isConstant": false,
                                                "isLValue": false,
                                                "isPure": false,
                                                "kind": "functionCall",
                                                "lValueRequested": false,
                                                "names": [],
                                                "nodeType": "FunctionCall",
                                                "src": "30218:72:62",
                                                "tryCall": false,
                                                "typeDescriptions": {
                                                    "typeIdentifier": "t_bytes_memory_ptr",
                                                    "typeString": "bytes memory"
                                                }
                                            }
                                        ],
                                        "expression": {
                                            "argumentTypes": [
                                                {
                                                    "typeIdentifier": "t_bytes_memory_ptr",
                                                    "typeString": "bytes memory"
                                                }
                                            ],
                                            "id": 16767,
                                            "name": "_sendLogPayload",
                                            "nodeType": "Identifier",
                                            "overloadedDeclarations": [],
                                            "referencedDeclaration": 12880,
                                            "src": "30202:15:62",
                                            "typeDescriptions": {
                                                "typeIdentifier": "t_function_internal_view$_t_bytes_memory_ptr_$returns$__$",
                                                "typeString": "function (bytes memory) view"
                                            }
                                        },
                                        "id": 16776,
                                        "isConstant": false,
                                        "isLValue": false,
                                        "isPure": false,
                                        "kind": "functionCall",
                                        "lValueRequested": false,
                                        "names": [],
                                        "nodeType": "FunctionCall",
                                        "src": "30202:89:62",
                                        "tryCall": false,
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_tuple$__$",
                                            "typeString": "tuple()"
                                        }
                                    },
                                    "id": 16777,
                                    "nodeType": "ExpressionStatement",
                                    "src": "30202:89:62"
                                }
                            ]
                        },
                        "id": 16779,
                        "implemented": true,
                        "kind": "function",
                        "modifiers": [],
                        "name": "log",
                        "nameLocation": "30132:3:62",
                        "nodeType": "FunctionDefinition",
                        "parameters": {
                            "id": 16765,
                            "nodeType": "ParameterList",
                            "parameters": [
                                {
                                    "constant": false,
                                    "id": 16758,
                                    "mutability": "mutable",
                                    "name": "p0",
                                    "nameLocation": "30150:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 16779,
                                    "src": "30136:16:62",
                                    "stateVariable": false,
                                    "storageLocation": "memory",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_string_memory_ptr",
                                        "typeString": "string"
                                    },
                                    "typeName": {
                                        "id": 16757,
                                        "name": "string",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "30136:6:62",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_string_storage_ptr",
                                            "typeString": "string"
                                        }
                                    },
                                    "visibility": "internal"
                                },
                                {
                                    "constant": false,
                                    "id": 16760,
                                    "mutability": "mutable",
                                    "name": "p1",
                                    "nameLocation": "30159:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 16779,
                                    "src": "30154:7:62",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_uint256",
                                        "typeString": "uint256"
                                    },
                                    "typeName": {
                                        "id": 16759,
                                        "name": "uint",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "30154:4:62",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_uint256",
                                            "typeString": "uint256"
                                        }
                                    },
                                    "visibility": "internal"
                                },
                                {
                                    "constant": false,
                                    "id": 16762,
                                    "mutability": "mutable",
                                    "name": "p2",
                                    "nameLocation": "30168:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 16779,
                                    "src": "30163:7:62",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_bool",
                                        "typeString": "bool"
                                    },
                                    "typeName": {
                                        "id": 16761,
                                        "name": "bool",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "30163:4:62",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_bool",
                                            "typeString": "bool"
                                        }
                                    },
                                    "visibility": "internal"
                                },
                                {
                                    "constant": false,
                                    "id": 16764,
                                    "mutability": "mutable",
                                    "name": "p3",
                                    "nameLocation": "30180:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 16779,
                                    "src": "30172:10:62",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_address",
                                        "typeString": "address"
                                    },
                                    "typeName": {
                                        "id": 16763,
                                        "name": "address",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "30172:7:62",
                                        "stateMutability": "nonpayable",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_address",
                                            "typeString": "address"
                                        }
                                    },
                                    "visibility": "internal"
                                }
                            ],
                            "src": "30135:48:62"
                        },
                        "returnParameters": {
                            "id": 16766,
                            "nodeType": "ParameterList",
                            "parameters": [],
                            "src": "30198:0:62"
                        },
                        "scope": 20920,
                        "src": "30123:172:62",
                        "stateMutability": "view",
                        "virtual": false,
                        "visibility": "internal"
                    },
                    {
                        "body": {
                            "id": 16801,
                            "nodeType": "Block",
                            "src": "30373:97:62",
                            "statements": [
                                {
                                    "expression": {
                                        "arguments": [
                                            {
                                                "arguments": [
                                                    {
                                                        "hexValue": "6c6f6728737472696e672c75696e742c616464726573732c75696e7429",
                                                        "id": 16793,
                                                        "isConstant": false,
                                                        "isLValue": false,
                                                        "isPure": true,
                                                        "kind": "string",
                                                        "lValueRequested": false,
                                                        "nodeType": "Literal",
                                                        "src": "30417:31:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_stringliteral_58497afe9e509136f5cf2fb1db9876437d9cbd769be5985b518ff094427e4f75",
                                                            "typeString": "literal_string \"log(string,uint,address,uint)\""
                                                        },
                                                        "value": "log(string,uint,address,uint)"
                                                    },
                                                    {
                                                        "id": 16794,
                                                        "name": "p0",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 16781,
                                                        "src": "30450:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_string_memory_ptr",
                                                            "typeString": "string memory"
                                                        }
                                                    },
                                                    {
                                                        "id": 16795,
                                                        "name": "p1",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 16783,
                                                        "src": "30454:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_uint256",
                                                            "typeString": "uint256"
                                                        }
                                                    },
                                                    {
                                                        "id": 16796,
                                                        "name": "p2",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 16785,
                                                        "src": "30458:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_address",
                                                            "typeString": "address"
                                                        }
                                                    },
                                                    {
                                                        "id": 16797,
                                                        "name": "p3",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 16787,
                                                        "src": "30462:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_uint256",
                                                            "typeString": "uint256"
                                                        }
                                                    }
                                                ],
                                                "expression": {
                                                    "argumentTypes": [
                                                        {
                                                            "typeIdentifier": "t_stringliteral_58497afe9e509136f5cf2fb1db9876437d9cbd769be5985b518ff094427e4f75",
                                                            "typeString": "literal_string \"log(string,uint,address,uint)\""
                                                        },
                                                        {
                                                            "typeIdentifier": "t_string_memory_ptr",
                                                            "typeString": "string memory"
                                                        },
                                                        {
                                                            "typeIdentifier": "t_uint256",
                                                            "typeString": "uint256"
                                                        },
                                                        {
                                                            "typeIdentifier": "t_address",
                                                            "typeString": "address"
                                                        },
                                                        {
                                                            "typeIdentifier": "t_uint256",
                                                            "typeString": "uint256"
                                                        }
                                                    ],
                                                    "expression": {
                                                        "id": 16791,
                                                        "name": "abi",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 4294967295,
                                                        "src": "30393:3:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_magic_abi",
                                                            "typeString": "abi"
                                                        }
                                                    },
                                                    "id": 16792,
                                                    "isConstant": false,
                                                    "isLValue": false,
                                                    "isPure": true,
                                                    "lValueRequested": false,
                                                    "memberName": "encodeWithSignature",
                                                    "nodeType": "MemberAccess",
                                                    "src": "30393:23:62",
                                                    "typeDescriptions": {
                                                        "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$",
                                                        "typeString": "function (string memory) pure returns (bytes memory)"
                                                    }
                                                },
                                                "id": 16798,
                                                "isConstant": false,
                                                "isLValue": false,
                                                "isPure": false,
                                                "kind": "functionCall",
                                                "lValueRequested": false,
                                                "names": [],
                                                "nodeType": "FunctionCall",
                                                "src": "30393:72:62",
                                                "tryCall": false,
                                                "typeDescriptions": {
                                                    "typeIdentifier": "t_bytes_memory_ptr",
                                                    "typeString": "bytes memory"
                                                }
                                            }
                                        ],
                                        "expression": {
                                            "argumentTypes": [
                                                {
                                                    "typeIdentifier": "t_bytes_memory_ptr",
                                                    "typeString": "bytes memory"
                                                }
                                            ],
                                            "id": 16790,
                                            "name": "_sendLogPayload",
                                            "nodeType": "Identifier",
                                            "overloadedDeclarations": [],
                                            "referencedDeclaration": 12880,
                                            "src": "30377:15:62",
                                            "typeDescriptions": {
                                                "typeIdentifier": "t_function_internal_view$_t_bytes_memory_ptr_$returns$__$",
                                                "typeString": "function (bytes memory) view"
                                            }
                                        },
                                        "id": 16799,
                                        "isConstant": false,
                                        "isLValue": false,
                                        "isPure": false,
                                        "kind": "functionCall",
                                        "lValueRequested": false,
                                        "names": [],
                                        "nodeType": "FunctionCall",
                                        "src": "30377:89:62",
                                        "tryCall": false,
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_tuple$__$",
                                            "typeString": "tuple()"
                                        }
                                    },
                                    "id": 16800,
                                    "nodeType": "ExpressionStatement",
                                    "src": "30377:89:62"
                                }
                            ]
                        },
                        "id": 16802,
                        "implemented": true,
                        "kind": "function",
                        "modifiers": [],
                        "name": "log",
                        "nameLocation": "30307:3:62",
                        "nodeType": "FunctionDefinition",
                        "parameters": {
                            "id": 16788,
                            "nodeType": "ParameterList",
                            "parameters": [
                                {
                                    "constant": false,
                                    "id": 16781,
                                    "mutability": "mutable",
                                    "name": "p0",
                                    "nameLocation": "30325:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 16802,
                                    "src": "30311:16:62",
                                    "stateVariable": false,
                                    "storageLocation": "memory",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_string_memory_ptr",
                                        "typeString": "string"
                                    },
                                    "typeName": {
                                        "id": 16780,
                                        "name": "string",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "30311:6:62",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_string_storage_ptr",
                                            "typeString": "string"
                                        }
                                    },
                                    "visibility": "internal"
                                },
                                {
                                    "constant": false,
                                    "id": 16783,
                                    "mutability": "mutable",
                                    "name": "p1",
                                    "nameLocation": "30334:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 16802,
                                    "src": "30329:7:62",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_uint256",
                                        "typeString": "uint256"
                                    },
                                    "typeName": {
                                        "id": 16782,
                                        "name": "uint",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "30329:4:62",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_uint256",
                                            "typeString": "uint256"
                                        }
                                    },
                                    "visibility": "internal"
                                },
                                {
                                    "constant": false,
                                    "id": 16785,
                                    "mutability": "mutable",
                                    "name": "p2",
                                    "nameLocation": "30346:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 16802,
                                    "src": "30338:10:62",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_address",
                                        "typeString": "address"
                                    },
                                    "typeName": {
                                        "id": 16784,
                                        "name": "address",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "30338:7:62",
                                        "stateMutability": "nonpayable",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_address",
                                            "typeString": "address"
                                        }
                                    },
                                    "visibility": "internal"
                                },
                                {
                                    "constant": false,
                                    "id": 16787,
                                    "mutability": "mutable",
                                    "name": "p3",
                                    "nameLocation": "30355:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 16802,
                                    "src": "30350:7:62",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_uint256",
                                        "typeString": "uint256"
                                    },
                                    "typeName": {
                                        "id": 16786,
                                        "name": "uint",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "30350:4:62",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_uint256",
                                            "typeString": "uint256"
                                        }
                                    },
                                    "visibility": "internal"
                                }
                            ],
                            "src": "30310:48:62"
                        },
                        "returnParameters": {
                            "id": 16789,
                            "nodeType": "ParameterList",
                            "parameters": [],
                            "src": "30373:0:62"
                        },
                        "scope": 20920,
                        "src": "30298:172:62",
                        "stateMutability": "view",
                        "virtual": false,
                        "visibility": "internal"
                    },
                    {
                        "body": {
                            "id": 16824,
                            "nodeType": "Block",
                            "src": "30557:99:62",
                            "statements": [
                                {
                                    "expression": {
                                        "arguments": [
                                            {
                                                "arguments": [
                                                    {
                                                        "hexValue": "6c6f6728737472696e672c75696e742c616464726573732c737472696e6729",
                                                        "id": 16816,
                                                        "isConstant": false,
                                                        "isLValue": false,
                                                        "isPure": true,
                                                        "kind": "string",
                                                        "lValueRequested": false,
                                                        "nodeType": "Literal",
                                                        "src": "30601:33:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_stringliteral_3254c2e85e824e7dd0b3e2e602f95218ed23a331406e197386693086d91053c0",
                                                            "typeString": "literal_string \"log(string,uint,address,string)\""
                                                        },
                                                        "value": "log(string,uint,address,string)"
                                                    },
                                                    {
                                                        "id": 16817,
                                                        "name": "p0",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 16804,
                                                        "src": "30636:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_string_memory_ptr",
                                                            "typeString": "string memory"
                                                        }
                                                    },
                                                    {
                                                        "id": 16818,
                                                        "name": "p1",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 16806,
                                                        "src": "30640:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_uint256",
                                                            "typeString": "uint256"
                                                        }
                                                    },
                                                    {
                                                        "id": 16819,
                                                        "name": "p2",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 16808,
                                                        "src": "30644:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_address",
                                                            "typeString": "address"
                                                        }
                                                    },
                                                    {
                                                        "id": 16820,
                                                        "name": "p3",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 16810,
                                                        "src": "30648:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_string_memory_ptr",
                                                            "typeString": "string memory"
                                                        }
                                                    }
                                                ],
                                                "expression": {
                                                    "argumentTypes": [
                                                        {
                                                            "typeIdentifier": "t_stringliteral_3254c2e85e824e7dd0b3e2e602f95218ed23a331406e197386693086d91053c0",
                                                            "typeString": "literal_string \"log(string,uint,address,string)\""
                                                        },
                                                        {
                                                            "typeIdentifier": "t_string_memory_ptr",
                                                            "typeString": "string memory"
                                                        },
                                                        {
                                                            "typeIdentifier": "t_uint256",
                                                            "typeString": "uint256"
                                                        },
                                                        {
                                                            "typeIdentifier": "t_address",
                                                            "typeString": "address"
                                                        },
                                                        {
                                                            "typeIdentifier": "t_string_memory_ptr",
                                                            "typeString": "string memory"
                                                        }
                                                    ],
                                                    "expression": {
                                                        "id": 16814,
                                                        "name": "abi",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 4294967295,
                                                        "src": "30577:3:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_magic_abi",
                                                            "typeString": "abi"
                                                        }
                                                    },
                                                    "id": 16815,
                                                    "isConstant": false,
                                                    "isLValue": false,
                                                    "isPure": true,
                                                    "lValueRequested": false,
                                                    "memberName": "encodeWithSignature",
                                                    "nodeType": "MemberAccess",
                                                    "src": "30577:23:62",
                                                    "typeDescriptions": {
                                                        "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$",
                                                        "typeString": "function (string memory) pure returns (bytes memory)"
                                                    }
                                                },
                                                "id": 16821,
                                                "isConstant": false,
                                                "isLValue": false,
                                                "isPure": false,
                                                "kind": "functionCall",
                                                "lValueRequested": false,
                                                "names": [],
                                                "nodeType": "FunctionCall",
                                                "src": "30577:74:62",
                                                "tryCall": false,
                                                "typeDescriptions": {
                                                    "typeIdentifier": "t_bytes_memory_ptr",
                                                    "typeString": "bytes memory"
                                                }
                                            }
                                        ],
                                        "expression": {
                                            "argumentTypes": [
                                                {
                                                    "typeIdentifier": "t_bytes_memory_ptr",
                                                    "typeString": "bytes memory"
                                                }
                                            ],
                                            "id": 16813,
                                            "name": "_sendLogPayload",
                                            "nodeType": "Identifier",
                                            "overloadedDeclarations": [],
                                            "referencedDeclaration": 12880,
                                            "src": "30561:15:62",
                                            "typeDescriptions": {
                                                "typeIdentifier": "t_function_internal_view$_t_bytes_memory_ptr_$returns$__$",
                                                "typeString": "function (bytes memory) view"
                                            }
                                        },
                                        "id": 16822,
                                        "isConstant": false,
                                        "isLValue": false,
                                        "isPure": false,
                                        "kind": "functionCall",
                                        "lValueRequested": false,
                                        "names": [],
                                        "nodeType": "FunctionCall",
                                        "src": "30561:91:62",
                                        "tryCall": false,
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_tuple$__$",
                                            "typeString": "tuple()"
                                        }
                                    },
                                    "id": 16823,
                                    "nodeType": "ExpressionStatement",
                                    "src": "30561:91:62"
                                }
                            ]
                        },
                        "id": 16825,
                        "implemented": true,
                        "kind": "function",
                        "modifiers": [],
                        "name": "log",
                        "nameLocation": "30482:3:62",
                        "nodeType": "FunctionDefinition",
                        "parameters": {
                            "id": 16811,
                            "nodeType": "ParameterList",
                            "parameters": [
                                {
                                    "constant": false,
                                    "id": 16804,
                                    "mutability": "mutable",
                                    "name": "p0",
                                    "nameLocation": "30500:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 16825,
                                    "src": "30486:16:62",
                                    "stateVariable": false,
                                    "storageLocation": "memory",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_string_memory_ptr",
                                        "typeString": "string"
                                    },
                                    "typeName": {
                                        "id": 16803,
                                        "name": "string",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "30486:6:62",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_string_storage_ptr",
                                            "typeString": "string"
                                        }
                                    },
                                    "visibility": "internal"
                                },
                                {
                                    "constant": false,
                                    "id": 16806,
                                    "mutability": "mutable",
                                    "name": "p1",
                                    "nameLocation": "30509:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 16825,
                                    "src": "30504:7:62",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_uint256",
                                        "typeString": "uint256"
                                    },
                                    "typeName": {
                                        "id": 16805,
                                        "name": "uint",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "30504:4:62",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_uint256",
                                            "typeString": "uint256"
                                        }
                                    },
                                    "visibility": "internal"
                                },
                                {
                                    "constant": false,
                                    "id": 16808,
                                    "mutability": "mutable",
                                    "name": "p2",
                                    "nameLocation": "30521:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 16825,
                                    "src": "30513:10:62",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_address",
                                        "typeString": "address"
                                    },
                                    "typeName": {
                                        "id": 16807,
                                        "name": "address",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "30513:7:62",
                                        "stateMutability": "nonpayable",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_address",
                                            "typeString": "address"
                                        }
                                    },
                                    "visibility": "internal"
                                },
                                {
                                    "constant": false,
                                    "id": 16810,
                                    "mutability": "mutable",
                                    "name": "p3",
                                    "nameLocation": "30539:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 16825,
                                    "src": "30525:16:62",
                                    "stateVariable": false,
                                    "storageLocation": "memory",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_string_memory_ptr",
                                        "typeString": "string"
                                    },
                                    "typeName": {
                                        "id": 16809,
                                        "name": "string",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "30525:6:62",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_string_storage_ptr",
                                            "typeString": "string"
                                        }
                                    },
                                    "visibility": "internal"
                                }
                            ],
                            "src": "30485:57:62"
                        },
                        "returnParameters": {
                            "id": 16812,
                            "nodeType": "ParameterList",
                            "parameters": [],
                            "src": "30557:0:62"
                        },
                        "scope": 20920,
                        "src": "30473:183:62",
                        "stateMutability": "view",
                        "virtual": false,
                        "visibility": "internal"
                    },
                    {
                        "body": {
                            "id": 16847,
                            "nodeType": "Block",
                            "src": "30734:97:62",
                            "statements": [
                                {
                                    "expression": {
                                        "arguments": [
                                            {
                                                "arguments": [
                                                    {
                                                        "hexValue": "6c6f6728737472696e672c75696e742c616464726573732c626f6f6c29",
                                                        "id": 16839,
                                                        "isConstant": false,
                                                        "isLValue": false,
                                                        "isPure": true,
                                                        "kind": "string",
                                                        "lValueRequested": false,
                                                        "nodeType": "Literal",
                                                        "src": "30778:31:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_stringliteral_1106a8f7a9fdb0743cc8f33bcf28da92f358b488bfc5eb2426dcc116571bae10",
                                                            "typeString": "literal_string \"log(string,uint,address,bool)\""
                                                        },
                                                        "value": "log(string,uint,address,bool)"
                                                    },
                                                    {
                                                        "id": 16840,
                                                        "name": "p0",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 16827,
                                                        "src": "30811:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_string_memory_ptr",
                                                            "typeString": "string memory"
                                                        }
                                                    },
                                                    {
                                                        "id": 16841,
                                                        "name": "p1",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 16829,
                                                        "src": "30815:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_uint256",
                                                            "typeString": "uint256"
                                                        }
                                                    },
                                                    {
                                                        "id": 16842,
                                                        "name": "p2",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 16831,
                                                        "src": "30819:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_address",
                                                            "typeString": "address"
                                                        }
                                                    },
                                                    {
                                                        "id": 16843,
                                                        "name": "p3",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 16833,
                                                        "src": "30823:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_bool",
                                                            "typeString": "bool"
                                                        }
                                                    }
                                                ],
                                                "expression": {
                                                    "argumentTypes": [
                                                        {
                                                            "typeIdentifier": "t_stringliteral_1106a8f7a9fdb0743cc8f33bcf28da92f358b488bfc5eb2426dcc116571bae10",
                                                            "typeString": "literal_string \"log(string,uint,address,bool)\""
                                                        },
                                                        {
                                                            "typeIdentifier": "t_string_memory_ptr",
                                                            "typeString": "string memory"
                                                        },
                                                        {
                                                            "typeIdentifier": "t_uint256",
                                                            "typeString": "uint256"
                                                        },
                                                        {
                                                            "typeIdentifier": "t_address",
                                                            "typeString": "address"
                                                        },
                                                        {
                                                            "typeIdentifier": "t_bool",
                                                            "typeString": "bool"
                                                        }
                                                    ],
                                                    "expression": {
                                                        "id": 16837,
                                                        "name": "abi",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 4294967295,
                                                        "src": "30754:3:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_magic_abi",
                                                            "typeString": "abi"
                                                        }
                                                    },
                                                    "id": 16838,
                                                    "isConstant": false,
                                                    "isLValue": false,
                                                    "isPure": true,
                                                    "lValueRequested": false,
                                                    "memberName": "encodeWithSignature",
                                                    "nodeType": "MemberAccess",
                                                    "src": "30754:23:62",
                                                    "typeDescriptions": {
                                                        "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$",
                                                        "typeString": "function (string memory) pure returns (bytes memory)"
                                                    }
                                                },
                                                "id": 16844,
                                                "isConstant": false,
                                                "isLValue": false,
                                                "isPure": false,
                                                "kind": "functionCall",
                                                "lValueRequested": false,
                                                "names": [],
                                                "nodeType": "FunctionCall",
                                                "src": "30754:72:62",
                                                "tryCall": false,
                                                "typeDescriptions": {
                                                    "typeIdentifier": "t_bytes_memory_ptr",
                                                    "typeString": "bytes memory"
                                                }
                                            }
                                        ],
                                        "expression": {
                                            "argumentTypes": [
                                                {
                                                    "typeIdentifier": "t_bytes_memory_ptr",
                                                    "typeString": "bytes memory"
                                                }
                                            ],
                                            "id": 16836,
                                            "name": "_sendLogPayload",
                                            "nodeType": "Identifier",
                                            "overloadedDeclarations": [],
                                            "referencedDeclaration": 12880,
                                            "src": "30738:15:62",
                                            "typeDescriptions": {
                                                "typeIdentifier": "t_function_internal_view$_t_bytes_memory_ptr_$returns$__$",
                                                "typeString": "function (bytes memory) view"
                                            }
                                        },
                                        "id": 16845,
                                        "isConstant": false,
                                        "isLValue": false,
                                        "isPure": false,
                                        "kind": "functionCall",
                                        "lValueRequested": false,
                                        "names": [],
                                        "nodeType": "FunctionCall",
                                        "src": "30738:89:62",
                                        "tryCall": false,
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_tuple$__$",
                                            "typeString": "tuple()"
                                        }
                                    },
                                    "id": 16846,
                                    "nodeType": "ExpressionStatement",
                                    "src": "30738:89:62"
                                }
                            ]
                        },
                        "id": 16848,
                        "implemented": true,
                        "kind": "function",
                        "modifiers": [],
                        "name": "log",
                        "nameLocation": "30668:3:62",
                        "nodeType": "FunctionDefinition",
                        "parameters": {
                            "id": 16834,
                            "nodeType": "ParameterList",
                            "parameters": [
                                {
                                    "constant": false,
                                    "id": 16827,
                                    "mutability": "mutable",
                                    "name": "p0",
                                    "nameLocation": "30686:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 16848,
                                    "src": "30672:16:62",
                                    "stateVariable": false,
                                    "storageLocation": "memory",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_string_memory_ptr",
                                        "typeString": "string"
                                    },
                                    "typeName": {
                                        "id": 16826,
                                        "name": "string",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "30672:6:62",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_string_storage_ptr",
                                            "typeString": "string"
                                        }
                                    },
                                    "visibility": "internal"
                                },
                                {
                                    "constant": false,
                                    "id": 16829,
                                    "mutability": "mutable",
                                    "name": "p1",
                                    "nameLocation": "30695:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 16848,
                                    "src": "30690:7:62",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_uint256",
                                        "typeString": "uint256"
                                    },
                                    "typeName": {
                                        "id": 16828,
                                        "name": "uint",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "30690:4:62",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_uint256",
                                            "typeString": "uint256"
                                        }
                                    },
                                    "visibility": "internal"
                                },
                                {
                                    "constant": false,
                                    "id": 16831,
                                    "mutability": "mutable",
                                    "name": "p2",
                                    "nameLocation": "30707:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 16848,
                                    "src": "30699:10:62",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_address",
                                        "typeString": "address"
                                    },
                                    "typeName": {
                                        "id": 16830,
                                        "name": "address",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "30699:7:62",
                                        "stateMutability": "nonpayable",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_address",
                                            "typeString": "address"
                                        }
                                    },
                                    "visibility": "internal"
                                },
                                {
                                    "constant": false,
                                    "id": 16833,
                                    "mutability": "mutable",
                                    "name": "p3",
                                    "nameLocation": "30716:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 16848,
                                    "src": "30711:7:62",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_bool",
                                        "typeString": "bool"
                                    },
                                    "typeName": {
                                        "id": 16832,
                                        "name": "bool",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "30711:4:62",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_bool",
                                            "typeString": "bool"
                                        }
                                    },
                                    "visibility": "internal"
                                }
                            ],
                            "src": "30671:48:62"
                        },
                        "returnParameters": {
                            "id": 16835,
                            "nodeType": "ParameterList",
                            "parameters": [],
                            "src": "30734:0:62"
                        },
                        "scope": 20920,
                        "src": "30659:172:62",
                        "stateMutability": "view",
                        "virtual": false,
                        "visibility": "internal"
                    },
                    {
                        "body": {
                            "id": 16870,
                            "nodeType": "Block",
                            "src": "30912:100:62",
                            "statements": [
                                {
                                    "expression": {
                                        "arguments": [
                                            {
                                                "arguments": [
                                                    {
                                                        "hexValue": "6c6f6728737472696e672c75696e742c616464726573732c6164647265737329",
                                                        "id": 16862,
                                                        "isConstant": false,
                                                        "isLValue": false,
                                                        "isPure": true,
                                                        "kind": "string",
                                                        "lValueRequested": false,
                                                        "nodeType": "Literal",
                                                        "src": "30956:34:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_stringliteral_eac892812ad5b43e056a005de5f4269f3430ecb19d3374f0e27d055022fbb381",
                                                            "typeString": "literal_string \"log(string,uint,address,address)\""
                                                        },
                                                        "value": "log(string,uint,address,address)"
                                                    },
                                                    {
                                                        "id": 16863,
                                                        "name": "p0",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 16850,
                                                        "src": "30992:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_string_memory_ptr",
                                                            "typeString": "string memory"
                                                        }
                                                    },
                                                    {
                                                        "id": 16864,
                                                        "name": "p1",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 16852,
                                                        "src": "30996:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_uint256",
                                                            "typeString": "uint256"
                                                        }
                                                    },
                                                    {
                                                        "id": 16865,
                                                        "name": "p2",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 16854,
                                                        "src": "31000:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_address",
                                                            "typeString": "address"
                                                        }
                                                    },
                                                    {
                                                        "id": 16866,
                                                        "name": "p3",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 16856,
                                                        "src": "31004:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_address",
                                                            "typeString": "address"
                                                        }
                                                    }
                                                ],
                                                "expression": {
                                                    "argumentTypes": [
                                                        {
                                                            "typeIdentifier": "t_stringliteral_eac892812ad5b43e056a005de5f4269f3430ecb19d3374f0e27d055022fbb381",
                                                            "typeString": "literal_string \"log(string,uint,address,address)\""
                                                        },
                                                        {
                                                            "typeIdentifier": "t_string_memory_ptr",
                                                            "typeString": "string memory"
                                                        },
                                                        {
                                                            "typeIdentifier": "t_uint256",
                                                            "typeString": "uint256"
                                                        },
                                                        {
                                                            "typeIdentifier": "t_address",
                                                            "typeString": "address"
                                                        },
                                                        {
                                                            "typeIdentifier": "t_address",
                                                            "typeString": "address"
                                                        }
                                                    ],
                                                    "expression": {
                                                        "id": 16860,
                                                        "name": "abi",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 4294967295,
                                                        "src": "30932:3:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_magic_abi",
                                                            "typeString": "abi"
                                                        }
                                                    },
                                                    "id": 16861,
                                                    "isConstant": false,
                                                    "isLValue": false,
                                                    "isPure": true,
                                                    "lValueRequested": false,
                                                    "memberName": "encodeWithSignature",
                                                    "nodeType": "MemberAccess",
                                                    "src": "30932:23:62",
                                                    "typeDescriptions": {
                                                        "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$",
                                                        "typeString": "function (string memory) pure returns (bytes memory)"
                                                    }
                                                },
                                                "id": 16867,
                                                "isConstant": false,
                                                "isLValue": false,
                                                "isPure": false,
                                                "kind": "functionCall",
                                                "lValueRequested": false,
                                                "names": [],
                                                "nodeType": "FunctionCall",
                                                "src": "30932:75:62",
                                                "tryCall": false,
                                                "typeDescriptions": {
                                                    "typeIdentifier": "t_bytes_memory_ptr",
                                                    "typeString": "bytes memory"
                                                }
                                            }
                                        ],
                                        "expression": {
                                            "argumentTypes": [
                                                {
                                                    "typeIdentifier": "t_bytes_memory_ptr",
                                                    "typeString": "bytes memory"
                                                }
                                            ],
                                            "id": 16859,
                                            "name": "_sendLogPayload",
                                            "nodeType": "Identifier",
                                            "overloadedDeclarations": [],
                                            "referencedDeclaration": 12880,
                                            "src": "30916:15:62",
                                            "typeDescriptions": {
                                                "typeIdentifier": "t_function_internal_view$_t_bytes_memory_ptr_$returns$__$",
                                                "typeString": "function (bytes memory) view"
                                            }
                                        },
                                        "id": 16868,
                                        "isConstant": false,
                                        "isLValue": false,
                                        "isPure": false,
                                        "kind": "functionCall",
                                        "lValueRequested": false,
                                        "names": [],
                                        "nodeType": "FunctionCall",
                                        "src": "30916:92:62",
                                        "tryCall": false,
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_tuple$__$",
                                            "typeString": "tuple()"
                                        }
                                    },
                                    "id": 16869,
                                    "nodeType": "ExpressionStatement",
                                    "src": "30916:92:62"
                                }
                            ]
                        },
                        "id": 16871,
                        "implemented": true,
                        "kind": "function",
                        "modifiers": [],
                        "name": "log",
                        "nameLocation": "30843:3:62",
                        "nodeType": "FunctionDefinition",
                        "parameters": {
                            "id": 16857,
                            "nodeType": "ParameterList",
                            "parameters": [
                                {
                                    "constant": false,
                                    "id": 16850,
                                    "mutability": "mutable",
                                    "name": "p0",
                                    "nameLocation": "30861:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 16871,
                                    "src": "30847:16:62",
                                    "stateVariable": false,
                                    "storageLocation": "memory",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_string_memory_ptr",
                                        "typeString": "string"
                                    },
                                    "typeName": {
                                        "id": 16849,
                                        "name": "string",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "30847:6:62",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_string_storage_ptr",
                                            "typeString": "string"
                                        }
                                    },
                                    "visibility": "internal"
                                },
                                {
                                    "constant": false,
                                    "id": 16852,
                                    "mutability": "mutable",
                                    "name": "p1",
                                    "nameLocation": "30870:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 16871,
                                    "src": "30865:7:62",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_uint256",
                                        "typeString": "uint256"
                                    },
                                    "typeName": {
                                        "id": 16851,
                                        "name": "uint",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "30865:4:62",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_uint256",
                                            "typeString": "uint256"
                                        }
                                    },
                                    "visibility": "internal"
                                },
                                {
                                    "constant": false,
                                    "id": 16854,
                                    "mutability": "mutable",
                                    "name": "p2",
                                    "nameLocation": "30882:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 16871,
                                    "src": "30874:10:62",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_address",
                                        "typeString": "address"
                                    },
                                    "typeName": {
                                        "id": 16853,
                                        "name": "address",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "30874:7:62",
                                        "stateMutability": "nonpayable",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_address",
                                            "typeString": "address"
                                        }
                                    },
                                    "visibility": "internal"
                                },
                                {
                                    "constant": false,
                                    "id": 16856,
                                    "mutability": "mutable",
                                    "name": "p3",
                                    "nameLocation": "30894:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 16871,
                                    "src": "30886:10:62",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_address",
                                        "typeString": "address"
                                    },
                                    "typeName": {
                                        "id": 16855,
                                        "name": "address",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "30886:7:62",
                                        "stateMutability": "nonpayable",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_address",
                                            "typeString": "address"
                                        }
                                    },
                                    "visibility": "internal"
                                }
                            ],
                            "src": "30846:51:62"
                        },
                        "returnParameters": {
                            "id": 16858,
                            "nodeType": "ParameterList",
                            "parameters": [],
                            "src": "30912:0:62"
                        },
                        "scope": 20920,
                        "src": "30834:178:62",
                        "stateMutability": "view",
                        "virtual": false,
                        "visibility": "internal"
                    },
                    {
                        "body": {
                            "id": 16893,
                            "nodeType": "Block",
                            "src": "31096:96:62",
                            "statements": [
                                {
                                    "expression": {
                                        "arguments": [
                                            {
                                                "arguments": [
                                                    {
                                                        "hexValue": "6c6f6728737472696e672c737472696e672c75696e742c75696e7429",
                                                        "id": 16885,
                                                        "isConstant": false,
                                                        "isLValue": false,
                                                        "isPure": true,
                                                        "kind": "string",
                                                        "lValueRequested": false,
                                                        "nodeType": "Literal",
                                                        "src": "31140:30:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_stringliteral_d5cf17d093c9068e0703e037cea1f6c3048599508dc7985106a94aa34c08c926",
                                                            "typeString": "literal_string \"log(string,string,uint,uint)\""
                                                        },
                                                        "value": "log(string,string,uint,uint)"
                                                    },
                                                    {
                                                        "id": 16886,
                                                        "name": "p0",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 16873,
                                                        "src": "31172:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_string_memory_ptr",
                                                            "typeString": "string memory"
                                                        }
                                                    },
                                                    {
                                                        "id": 16887,
                                                        "name": "p1",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 16875,
                                                        "src": "31176:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_string_memory_ptr",
                                                            "typeString": "string memory"
                                                        }
                                                    },
                                                    {
                                                        "id": 16888,
                                                        "name": "p2",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 16877,
                                                        "src": "31180:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_uint256",
                                                            "typeString": "uint256"
                                                        }
                                                    },
                                                    {
                                                        "id": 16889,
                                                        "name": "p3",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 16879,
                                                        "src": "31184:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_uint256",
                                                            "typeString": "uint256"
                                                        }
                                                    }
                                                ],
                                                "expression": {
                                                    "argumentTypes": [
                                                        {
                                                            "typeIdentifier": "t_stringliteral_d5cf17d093c9068e0703e037cea1f6c3048599508dc7985106a94aa34c08c926",
                                                            "typeString": "literal_string \"log(string,string,uint,uint)\""
                                                        },
                                                        {
                                                            "typeIdentifier": "t_string_memory_ptr",
                                                            "typeString": "string memory"
                                                        },
                                                        {
                                                            "typeIdentifier": "t_string_memory_ptr",
                                                            "typeString": "string memory"
                                                        },
                                                        {
                                                            "typeIdentifier": "t_uint256",
                                                            "typeString": "uint256"
                                                        },
                                                        {
                                                            "typeIdentifier": "t_uint256",
                                                            "typeString": "uint256"
                                                        }
                                                    ],
                                                    "expression": {
                                                        "id": 16883,
                                                        "name": "abi",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 4294967295,
                                                        "src": "31116:3:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_magic_abi",
                                                            "typeString": "abi"
                                                        }
                                                    },
                                                    "id": 16884,
                                                    "isConstant": false,
                                                    "isLValue": false,
                                                    "isPure": true,
                                                    "lValueRequested": false,
                                                    "memberName": "encodeWithSignature",
                                                    "nodeType": "MemberAccess",
                                                    "src": "31116:23:62",
                                                    "typeDescriptions": {
                                                        "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$",
                                                        "typeString": "function (string memory) pure returns (bytes memory)"
                                                    }
                                                },
                                                "id": 16890,
                                                "isConstant": false,
                                                "isLValue": false,
                                                "isPure": false,
                                                "kind": "functionCall",
                                                "lValueRequested": false,
                                                "names": [],
                                                "nodeType": "FunctionCall",
                                                "src": "31116:71:62",
                                                "tryCall": false,
                                                "typeDescriptions": {
                                                    "typeIdentifier": "t_bytes_memory_ptr",
                                                    "typeString": "bytes memory"
                                                }
                                            }
                                        ],
                                        "expression": {
                                            "argumentTypes": [
                                                {
                                                    "typeIdentifier": "t_bytes_memory_ptr",
                                                    "typeString": "bytes memory"
                                                }
                                            ],
                                            "id": 16882,
                                            "name": "_sendLogPayload",
                                            "nodeType": "Identifier",
                                            "overloadedDeclarations": [],
                                            "referencedDeclaration": 12880,
                                            "src": "31100:15:62",
                                            "typeDescriptions": {
                                                "typeIdentifier": "t_function_internal_view$_t_bytes_memory_ptr_$returns$__$",
                                                "typeString": "function (bytes memory) view"
                                            }
                                        },
                                        "id": 16891,
                                        "isConstant": false,
                                        "isLValue": false,
                                        "isPure": false,
                                        "kind": "functionCall",
                                        "lValueRequested": false,
                                        "names": [],
                                        "nodeType": "FunctionCall",
                                        "src": "31100:88:62",
                                        "tryCall": false,
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_tuple$__$",
                                            "typeString": "tuple()"
                                        }
                                    },
                                    "id": 16892,
                                    "nodeType": "ExpressionStatement",
                                    "src": "31100:88:62"
                                }
                            ]
                        },
                        "id": 16894,
                        "implemented": true,
                        "kind": "function",
                        "modifiers": [],
                        "name": "log",
                        "nameLocation": "31024:3:62",
                        "nodeType": "FunctionDefinition",
                        "parameters": {
                            "id": 16880,
                            "nodeType": "ParameterList",
                            "parameters": [
                                {
                                    "constant": false,
                                    "id": 16873,
                                    "mutability": "mutable",
                                    "name": "p0",
                                    "nameLocation": "31042:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 16894,
                                    "src": "31028:16:62",
                                    "stateVariable": false,
                                    "storageLocation": "memory",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_string_memory_ptr",
                                        "typeString": "string"
                                    },
                                    "typeName": {
                                        "id": 16872,
                                        "name": "string",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "31028:6:62",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_string_storage_ptr",
                                            "typeString": "string"
                                        }
                                    },
                                    "visibility": "internal"
                                },
                                {
                                    "constant": false,
                                    "id": 16875,
                                    "mutability": "mutable",
                                    "name": "p1",
                                    "nameLocation": "31060:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 16894,
                                    "src": "31046:16:62",
                                    "stateVariable": false,
                                    "storageLocation": "memory",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_string_memory_ptr",
                                        "typeString": "string"
                                    },
                                    "typeName": {
                                        "id": 16874,
                                        "name": "string",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "31046:6:62",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_string_storage_ptr",
                                            "typeString": "string"
                                        }
                                    },
                                    "visibility": "internal"
                                },
                                {
                                    "constant": false,
                                    "id": 16877,
                                    "mutability": "mutable",
                                    "name": "p2",
                                    "nameLocation": "31069:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 16894,
                                    "src": "31064:7:62",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_uint256",
                                        "typeString": "uint256"
                                    },
                                    "typeName": {
                                        "id": 16876,
                                        "name": "uint",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "31064:4:62",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_uint256",
                                            "typeString": "uint256"
                                        }
                                    },
                                    "visibility": "internal"
                                },
                                {
                                    "constant": false,
                                    "id": 16879,
                                    "mutability": "mutable",
                                    "name": "p3",
                                    "nameLocation": "31078:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 16894,
                                    "src": "31073:7:62",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_uint256",
                                        "typeString": "uint256"
                                    },
                                    "typeName": {
                                        "id": 16878,
                                        "name": "uint",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "31073:4:62",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_uint256",
                                            "typeString": "uint256"
                                        }
                                    },
                                    "visibility": "internal"
                                }
                            ],
                            "src": "31027:54:62"
                        },
                        "returnParameters": {
                            "id": 16881,
                            "nodeType": "ParameterList",
                            "parameters": [],
                            "src": "31096:0:62"
                        },
                        "scope": 20920,
                        "src": "31015:177:62",
                        "stateMutability": "view",
                        "virtual": false,
                        "visibility": "internal"
                    },
                    {
                        "body": {
                            "id": 16916,
                            "nodeType": "Block",
                            "src": "31285:98:62",
                            "statements": [
                                {
                                    "expression": {
                                        "arguments": [
                                            {
                                                "arguments": [
                                                    {
                                                        "hexValue": "6c6f6728737472696e672c737472696e672c75696e742c737472696e6729",
                                                        "id": 16908,
                                                        "isConstant": false,
                                                        "isLValue": false,
                                                        "isPure": true,
                                                        "kind": "string",
                                                        "lValueRequested": false,
                                                        "nodeType": "Literal",
                                                        "src": "31329:32:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_stringliteral_8d142cdddf40ab944834474e14a37534e67dcf2f6ffd68fd3d894f907fb76a0a",
                                                            "typeString": "literal_string \"log(string,string,uint,string)\""
                                                        },
                                                        "value": "log(string,string,uint,string)"
                                                    },
                                                    {
                                                        "id": 16909,
                                                        "name": "p0",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 16896,
                                                        "src": "31363:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_string_memory_ptr",
                                                            "typeString": "string memory"
                                                        }
                                                    },
                                                    {
                                                        "id": 16910,
                                                        "name": "p1",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 16898,
                                                        "src": "31367:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_string_memory_ptr",
                                                            "typeString": "string memory"
                                                        }
                                                    },
                                                    {
                                                        "id": 16911,
                                                        "name": "p2",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 16900,
                                                        "src": "31371:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_uint256",
                                                            "typeString": "uint256"
                                                        }
                                                    },
                                                    {
                                                        "id": 16912,
                                                        "name": "p3",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 16902,
                                                        "src": "31375:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_string_memory_ptr",
                                                            "typeString": "string memory"
                                                        }
                                                    }
                                                ],
                                                "expression": {
                                                    "argumentTypes": [
                                                        {
                                                            "typeIdentifier": "t_stringliteral_8d142cdddf40ab944834474e14a37534e67dcf2f6ffd68fd3d894f907fb76a0a",
                                                            "typeString": "literal_string \"log(string,string,uint,string)\""
                                                        },
                                                        {
                                                            "typeIdentifier": "t_string_memory_ptr",
                                                            "typeString": "string memory"
                                                        },
                                                        {
                                                            "typeIdentifier": "t_string_memory_ptr",
                                                            "typeString": "string memory"
                                                        },
                                                        {
                                                            "typeIdentifier": "t_uint256",
                                                            "typeString": "uint256"
                                                        },
                                                        {
                                                            "typeIdentifier": "t_string_memory_ptr",
                                                            "typeString": "string memory"
                                                        }
                                                    ],
                                                    "expression": {
                                                        "id": 16906,
                                                        "name": "abi",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 4294967295,
                                                        "src": "31305:3:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_magic_abi",
                                                            "typeString": "abi"
                                                        }
                                                    },
                                                    "id": 16907,
                                                    "isConstant": false,
                                                    "isLValue": false,
                                                    "isPure": true,
                                                    "lValueRequested": false,
                                                    "memberName": "encodeWithSignature",
                                                    "nodeType": "MemberAccess",
                                                    "src": "31305:23:62",
                                                    "typeDescriptions": {
                                                        "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$",
                                                        "typeString": "function (string memory) pure returns (bytes memory)"
                                                    }
                                                },
                                                "id": 16913,
                                                "isConstant": false,
                                                "isLValue": false,
                                                "isPure": false,
                                                "kind": "functionCall",
                                                "lValueRequested": false,
                                                "names": [],
                                                "nodeType": "FunctionCall",
                                                "src": "31305:73:62",
                                                "tryCall": false,
                                                "typeDescriptions": {
                                                    "typeIdentifier": "t_bytes_memory_ptr",
                                                    "typeString": "bytes memory"
                                                }
                                            }
                                        ],
                                        "expression": {
                                            "argumentTypes": [
                                                {
                                                    "typeIdentifier": "t_bytes_memory_ptr",
                                                    "typeString": "bytes memory"
                                                }
                                            ],
                                            "id": 16905,
                                            "name": "_sendLogPayload",
                                            "nodeType": "Identifier",
                                            "overloadedDeclarations": [],
                                            "referencedDeclaration": 12880,
                                            "src": "31289:15:62",
                                            "typeDescriptions": {
                                                "typeIdentifier": "t_function_internal_view$_t_bytes_memory_ptr_$returns$__$",
                                                "typeString": "function (bytes memory) view"
                                            }
                                        },
                                        "id": 16914,
                                        "isConstant": false,
                                        "isLValue": false,
                                        "isPure": false,
                                        "kind": "functionCall",
                                        "lValueRequested": false,
                                        "names": [],
                                        "nodeType": "FunctionCall",
                                        "src": "31289:90:62",
                                        "tryCall": false,
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_tuple$__$",
                                            "typeString": "tuple()"
                                        }
                                    },
                                    "id": 16915,
                                    "nodeType": "ExpressionStatement",
                                    "src": "31289:90:62"
                                }
                            ]
                        },
                        "id": 16917,
                        "implemented": true,
                        "kind": "function",
                        "modifiers": [],
                        "name": "log",
                        "nameLocation": "31204:3:62",
                        "nodeType": "FunctionDefinition",
                        "parameters": {
                            "id": 16903,
                            "nodeType": "ParameterList",
                            "parameters": [
                                {
                                    "constant": false,
                                    "id": 16896,
                                    "mutability": "mutable",
                                    "name": "p0",
                                    "nameLocation": "31222:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 16917,
                                    "src": "31208:16:62",
                                    "stateVariable": false,
                                    "storageLocation": "memory",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_string_memory_ptr",
                                        "typeString": "string"
                                    },
                                    "typeName": {
                                        "id": 16895,
                                        "name": "string",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "31208:6:62",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_string_storage_ptr",
                                            "typeString": "string"
                                        }
                                    },
                                    "visibility": "internal"
                                },
                                {
                                    "constant": false,
                                    "id": 16898,
                                    "mutability": "mutable",
                                    "name": "p1",
                                    "nameLocation": "31240:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 16917,
                                    "src": "31226:16:62",
                                    "stateVariable": false,
                                    "storageLocation": "memory",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_string_memory_ptr",
                                        "typeString": "string"
                                    },
                                    "typeName": {
                                        "id": 16897,
                                        "name": "string",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "31226:6:62",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_string_storage_ptr",
                                            "typeString": "string"
                                        }
                                    },
                                    "visibility": "internal"
                                },
                                {
                                    "constant": false,
                                    "id": 16900,
                                    "mutability": "mutable",
                                    "name": "p2",
                                    "nameLocation": "31249:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 16917,
                                    "src": "31244:7:62",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_uint256",
                                        "typeString": "uint256"
                                    },
                                    "typeName": {
                                        "id": 16899,
                                        "name": "uint",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "31244:4:62",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_uint256",
                                            "typeString": "uint256"
                                        }
                                    },
                                    "visibility": "internal"
                                },
                                {
                                    "constant": false,
                                    "id": 16902,
                                    "mutability": "mutable",
                                    "name": "p3",
                                    "nameLocation": "31267:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 16917,
                                    "src": "31253:16:62",
                                    "stateVariable": false,
                                    "storageLocation": "memory",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_string_memory_ptr",
                                        "typeString": "string"
                                    },
                                    "typeName": {
                                        "id": 16901,
                                        "name": "string",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "31253:6:62",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_string_storage_ptr",
                                            "typeString": "string"
                                        }
                                    },
                                    "visibility": "internal"
                                }
                            ],
                            "src": "31207:63:62"
                        },
                        "returnParameters": {
                            "id": 16904,
                            "nodeType": "ParameterList",
                            "parameters": [],
                            "src": "31285:0:62"
                        },
                        "scope": 20920,
                        "src": "31195:188:62",
                        "stateMutability": "view",
                        "virtual": false,
                        "visibility": "internal"
                    },
                    {
                        "body": {
                            "id": 16939,
                            "nodeType": "Block",
                            "src": "31467:96:62",
                            "statements": [
                                {
                                    "expression": {
                                        "arguments": [
                                            {
                                                "arguments": [
                                                    {
                                                        "hexValue": "6c6f6728737472696e672c737472696e672c75696e742c626f6f6c29",
                                                        "id": 16931,
                                                        "isConstant": false,
                                                        "isLValue": false,
                                                        "isPure": true,
                                                        "kind": "string",
                                                        "lValueRequested": false,
                                                        "nodeType": "Literal",
                                                        "src": "31511:30:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_stringliteral_e65658ca6578795ac405c3487ab68ec21d76f9a79d734a9ab869db5d96b4556b",
                                                            "typeString": "literal_string \"log(string,string,uint,bool)\""
                                                        },
                                                        "value": "log(string,string,uint,bool)"
                                                    },
                                                    {
                                                        "id": 16932,
                                                        "name": "p0",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 16919,
                                                        "src": "31543:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_string_memory_ptr",
                                                            "typeString": "string memory"
                                                        }
                                                    },
                                                    {
                                                        "id": 16933,
                                                        "name": "p1",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 16921,
                                                        "src": "31547:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_string_memory_ptr",
                                                            "typeString": "string memory"
                                                        }
                                                    },
                                                    {
                                                        "id": 16934,
                                                        "name": "p2",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 16923,
                                                        "src": "31551:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_uint256",
                                                            "typeString": "uint256"
                                                        }
                                                    },
                                                    {
                                                        "id": 16935,
                                                        "name": "p3",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 16925,
                                                        "src": "31555:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_bool",
                                                            "typeString": "bool"
                                                        }
                                                    }
                                                ],
                                                "expression": {
                                                    "argumentTypes": [
                                                        {
                                                            "typeIdentifier": "t_stringliteral_e65658ca6578795ac405c3487ab68ec21d76f9a79d734a9ab869db5d96b4556b",
                                                            "typeString": "literal_string \"log(string,string,uint,bool)\""
                                                        },
                                                        {
                                                            "typeIdentifier": "t_string_memory_ptr",
                                                            "typeString": "string memory"
                                                        },
                                                        {
                                                            "typeIdentifier": "t_string_memory_ptr",
                                                            "typeString": "string memory"
                                                        },
                                                        {
                                                            "typeIdentifier": "t_uint256",
                                                            "typeString": "uint256"
                                                        },
                                                        {
                                                            "typeIdentifier": "t_bool",
                                                            "typeString": "bool"
                                                        }
                                                    ],
                                                    "expression": {
                                                        "id": 16929,
                                                        "name": "abi",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 4294967295,
                                                        "src": "31487:3:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_magic_abi",
                                                            "typeString": "abi"
                                                        }
                                                    },
                                                    "id": 16930,
                                                    "isConstant": false,
                                                    "isLValue": false,
                                                    "isPure": true,
                                                    "lValueRequested": false,
                                                    "memberName": "encodeWithSignature",
                                                    "nodeType": "MemberAccess",
                                                    "src": "31487:23:62",
                                                    "typeDescriptions": {
                                                        "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$",
                                                        "typeString": "function (string memory) pure returns (bytes memory)"
                                                    }
                                                },
                                                "id": 16936,
                                                "isConstant": false,
                                                "isLValue": false,
                                                "isPure": false,
                                                "kind": "functionCall",
                                                "lValueRequested": false,
                                                "names": [],
                                                "nodeType": "FunctionCall",
                                                "src": "31487:71:62",
                                                "tryCall": false,
                                                "typeDescriptions": {
                                                    "typeIdentifier": "t_bytes_memory_ptr",
                                                    "typeString": "bytes memory"
                                                }
                                            }
                                        ],
                                        "expression": {
                                            "argumentTypes": [
                                                {
                                                    "typeIdentifier": "t_bytes_memory_ptr",
                                                    "typeString": "bytes memory"
                                                }
                                            ],
                                            "id": 16928,
                                            "name": "_sendLogPayload",
                                            "nodeType": "Identifier",
                                            "overloadedDeclarations": [],
                                            "referencedDeclaration": 12880,
                                            "src": "31471:15:62",
                                            "typeDescriptions": {
                                                "typeIdentifier": "t_function_internal_view$_t_bytes_memory_ptr_$returns$__$",
                                                "typeString": "function (bytes memory) view"
                                            }
                                        },
                                        "id": 16937,
                                        "isConstant": false,
                                        "isLValue": false,
                                        "isPure": false,
                                        "kind": "functionCall",
                                        "lValueRequested": false,
                                        "names": [],
                                        "nodeType": "FunctionCall",
                                        "src": "31471:88:62",
                                        "tryCall": false,
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_tuple$__$",
                                            "typeString": "tuple()"
                                        }
                                    },
                                    "id": 16938,
                                    "nodeType": "ExpressionStatement",
                                    "src": "31471:88:62"
                                }
                            ]
                        },
                        "id": 16940,
                        "implemented": true,
                        "kind": "function",
                        "modifiers": [],
                        "name": "log",
                        "nameLocation": "31395:3:62",
                        "nodeType": "FunctionDefinition",
                        "parameters": {
                            "id": 16926,
                            "nodeType": "ParameterList",
                            "parameters": [
                                {
                                    "constant": false,
                                    "id": 16919,
                                    "mutability": "mutable",
                                    "name": "p0",
                                    "nameLocation": "31413:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 16940,
                                    "src": "31399:16:62",
                                    "stateVariable": false,
                                    "storageLocation": "memory",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_string_memory_ptr",
                                        "typeString": "string"
                                    },
                                    "typeName": {
                                        "id": 16918,
                                        "name": "string",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "31399:6:62",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_string_storage_ptr",
                                            "typeString": "string"
                                        }
                                    },
                                    "visibility": "internal"
                                },
                                {
                                    "constant": false,
                                    "id": 16921,
                                    "mutability": "mutable",
                                    "name": "p1",
                                    "nameLocation": "31431:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 16940,
                                    "src": "31417:16:62",
                                    "stateVariable": false,
                                    "storageLocation": "memory",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_string_memory_ptr",
                                        "typeString": "string"
                                    },
                                    "typeName": {
                                        "id": 16920,
                                        "name": "string",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "31417:6:62",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_string_storage_ptr",
                                            "typeString": "string"
                                        }
                                    },
                                    "visibility": "internal"
                                },
                                {
                                    "constant": false,
                                    "id": 16923,
                                    "mutability": "mutable",
                                    "name": "p2",
                                    "nameLocation": "31440:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 16940,
                                    "src": "31435:7:62",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_uint256",
                                        "typeString": "uint256"
                                    },
                                    "typeName": {
                                        "id": 16922,
                                        "name": "uint",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "31435:4:62",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_uint256",
                                            "typeString": "uint256"
                                        }
                                    },
                                    "visibility": "internal"
                                },
                                {
                                    "constant": false,
                                    "id": 16925,
                                    "mutability": "mutable",
                                    "name": "p3",
                                    "nameLocation": "31449:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 16940,
                                    "src": "31444:7:62",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_bool",
                                        "typeString": "bool"
                                    },
                                    "typeName": {
                                        "id": 16924,
                                        "name": "bool",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "31444:4:62",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_bool",
                                            "typeString": "bool"
                                        }
                                    },
                                    "visibility": "internal"
                                }
                            ],
                            "src": "31398:54:62"
                        },
                        "returnParameters": {
                            "id": 16927,
                            "nodeType": "ParameterList",
                            "parameters": [],
                            "src": "31467:0:62"
                        },
                        "scope": 20920,
                        "src": "31386:177:62",
                        "stateMutability": "view",
                        "virtual": false,
                        "visibility": "internal"
                    },
                    {
                        "body": {
                            "id": 16962,
                            "nodeType": "Block",
                            "src": "31650:99:62",
                            "statements": [
                                {
                                    "expression": {
                                        "arguments": [
                                            {
                                                "arguments": [
                                                    {
                                                        "hexValue": "6c6f6728737472696e672c737472696e672c75696e742c6164647265737329",
                                                        "id": 16954,
                                                        "isConstant": false,
                                                        "isLValue": false,
                                                        "isPure": true,
                                                        "kind": "string",
                                                        "lValueRequested": false,
                                                        "nodeType": "Literal",
                                                        "src": "31694:33:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_stringliteral_5d4f46805293f3e84ba6dbfe353f76b3d1f1cfb2ff1e8024fb2adb45e2b7a128",
                                                            "typeString": "literal_string \"log(string,string,uint,address)\""
                                                        },
                                                        "value": "log(string,string,uint,address)"
                                                    },
                                                    {
                                                        "id": 16955,
                                                        "name": "p0",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 16942,
                                                        "src": "31729:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_string_memory_ptr",
                                                            "typeString": "string memory"
                                                        }
                                                    },
                                                    {
                                                        "id": 16956,
                                                        "name": "p1",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 16944,
                                                        "src": "31733:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_string_memory_ptr",
                                                            "typeString": "string memory"
                                                        }
                                                    },
                                                    {
                                                        "id": 16957,
                                                        "name": "p2",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 16946,
                                                        "src": "31737:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_uint256",
                                                            "typeString": "uint256"
                                                        }
                                                    },
                                                    {
                                                        "id": 16958,
                                                        "name": "p3",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 16948,
                                                        "src": "31741:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_address",
                                                            "typeString": "address"
                                                        }
                                                    }
                                                ],
                                                "expression": {
                                                    "argumentTypes": [
                                                        {
                                                            "typeIdentifier": "t_stringliteral_5d4f46805293f3e84ba6dbfe353f76b3d1f1cfb2ff1e8024fb2adb45e2b7a128",
                                                            "typeString": "literal_string \"log(string,string,uint,address)\""
                                                        },
                                                        {
                                                            "typeIdentifier": "t_string_memory_ptr",
                                                            "typeString": "string memory"
                                                        },
                                                        {
                                                            "typeIdentifier": "t_string_memory_ptr",
                                                            "typeString": "string memory"
                                                        },
                                                        {
                                                            "typeIdentifier": "t_uint256",
                                                            "typeString": "uint256"
                                                        },
                                                        {
                                                            "typeIdentifier": "t_address",
                                                            "typeString": "address"
                                                        }
                                                    ],
                                                    "expression": {
                                                        "id": 16952,
                                                        "name": "abi",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 4294967295,
                                                        "src": "31670:3:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_magic_abi",
                                                            "typeString": "abi"
                                                        }
                                                    },
                                                    "id": 16953,
                                                    "isConstant": false,
                                                    "isLValue": false,
                                                    "isPure": true,
                                                    "lValueRequested": false,
                                                    "memberName": "encodeWithSignature",
                                                    "nodeType": "MemberAccess",
                                                    "src": "31670:23:62",
                                                    "typeDescriptions": {
                                                        "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$",
                                                        "typeString": "function (string memory) pure returns (bytes memory)"
                                                    }
                                                },
                                                "id": 16959,
                                                "isConstant": false,
                                                "isLValue": false,
                                                "isPure": false,
                                                "kind": "functionCall",
                                                "lValueRequested": false,
                                                "names": [],
                                                "nodeType": "FunctionCall",
                                                "src": "31670:74:62",
                                                "tryCall": false,
                                                "typeDescriptions": {
                                                    "typeIdentifier": "t_bytes_memory_ptr",
                                                    "typeString": "bytes memory"
                                                }
                                            }
                                        ],
                                        "expression": {
                                            "argumentTypes": [
                                                {
                                                    "typeIdentifier": "t_bytes_memory_ptr",
                                                    "typeString": "bytes memory"
                                                }
                                            ],
                                            "id": 16951,
                                            "name": "_sendLogPayload",
                                            "nodeType": "Identifier",
                                            "overloadedDeclarations": [],
                                            "referencedDeclaration": 12880,
                                            "src": "31654:15:62",
                                            "typeDescriptions": {
                                                "typeIdentifier": "t_function_internal_view$_t_bytes_memory_ptr_$returns$__$",
                                                "typeString": "function (bytes memory) view"
                                            }
                                        },
                                        "id": 16960,
                                        "isConstant": false,
                                        "isLValue": false,
                                        "isPure": false,
                                        "kind": "functionCall",
                                        "lValueRequested": false,
                                        "names": [],
                                        "nodeType": "FunctionCall",
                                        "src": "31654:91:62",
                                        "tryCall": false,
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_tuple$__$",
                                            "typeString": "tuple()"
                                        }
                                    },
                                    "id": 16961,
                                    "nodeType": "ExpressionStatement",
                                    "src": "31654:91:62"
                                }
                            ]
                        },
                        "id": 16963,
                        "implemented": true,
                        "kind": "function",
                        "modifiers": [],
                        "name": "log",
                        "nameLocation": "31575:3:62",
                        "nodeType": "FunctionDefinition",
                        "parameters": {
                            "id": 16949,
                            "nodeType": "ParameterList",
                            "parameters": [
                                {
                                    "constant": false,
                                    "id": 16942,
                                    "mutability": "mutable",
                                    "name": "p0",
                                    "nameLocation": "31593:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 16963,
                                    "src": "31579:16:62",
                                    "stateVariable": false,
                                    "storageLocation": "memory",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_string_memory_ptr",
                                        "typeString": "string"
                                    },
                                    "typeName": {
                                        "id": 16941,
                                        "name": "string",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "31579:6:62",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_string_storage_ptr",
                                            "typeString": "string"
                                        }
                                    },
                                    "visibility": "internal"
                                },
                                {
                                    "constant": false,
                                    "id": 16944,
                                    "mutability": "mutable",
                                    "name": "p1",
                                    "nameLocation": "31611:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 16963,
                                    "src": "31597:16:62",
                                    "stateVariable": false,
                                    "storageLocation": "memory",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_string_memory_ptr",
                                        "typeString": "string"
                                    },
                                    "typeName": {
                                        "id": 16943,
                                        "name": "string",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "31597:6:62",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_string_storage_ptr",
                                            "typeString": "string"
                                        }
                                    },
                                    "visibility": "internal"
                                },
                                {
                                    "constant": false,
                                    "id": 16946,
                                    "mutability": "mutable",
                                    "name": "p2",
                                    "nameLocation": "31620:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 16963,
                                    "src": "31615:7:62",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_uint256",
                                        "typeString": "uint256"
                                    },
                                    "typeName": {
                                        "id": 16945,
                                        "name": "uint",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "31615:4:62",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_uint256",
                                            "typeString": "uint256"
                                        }
                                    },
                                    "visibility": "internal"
                                },
                                {
                                    "constant": false,
                                    "id": 16948,
                                    "mutability": "mutable",
                                    "name": "p3",
                                    "nameLocation": "31632:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 16963,
                                    "src": "31624:10:62",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_address",
                                        "typeString": "address"
                                    },
                                    "typeName": {
                                        "id": 16947,
                                        "name": "address",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "31624:7:62",
                                        "stateMutability": "nonpayable",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_address",
                                            "typeString": "address"
                                        }
                                    },
                                    "visibility": "internal"
                                }
                            ],
                            "src": "31578:57:62"
                        },
                        "returnParameters": {
                            "id": 16950,
                            "nodeType": "ParameterList",
                            "parameters": [],
                            "src": "31650:0:62"
                        },
                        "scope": 20920,
                        "src": "31566:183:62",
                        "stateMutability": "view",
                        "virtual": false,
                        "visibility": "internal"
                    },
                    {
                        "body": {
                            "id": 16985,
                            "nodeType": "Block",
                            "src": "31842:98:62",
                            "statements": [
                                {
                                    "expression": {
                                        "arguments": [
                                            {
                                                "arguments": [
                                                    {
                                                        "hexValue": "6c6f6728737472696e672c737472696e672c737472696e672c75696e7429",
                                                        "id": 16977,
                                                        "isConstant": false,
                                                        "isLValue": false,
                                                        "isPure": true,
                                                        "kind": "string",
                                                        "lValueRequested": false,
                                                        "nodeType": "Literal",
                                                        "src": "31886:32:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_stringliteral_9fd009f5f31a16d665d9be327a4a2b17dc428108ae31e46ab875e747b5ee155f",
                                                            "typeString": "literal_string \"log(string,string,string,uint)\""
                                                        },
                                                        "value": "log(string,string,string,uint)"
                                                    },
                                                    {
                                                        "id": 16978,
                                                        "name": "p0",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 16965,
                                                        "src": "31920:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_string_memory_ptr",
                                                            "typeString": "string memory"
                                                        }
                                                    },
                                                    {
                                                        "id": 16979,
                                                        "name": "p1",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 16967,
                                                        "src": "31924:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_string_memory_ptr",
                                                            "typeString": "string memory"
                                                        }
                                                    },
                                                    {
                                                        "id": 16980,
                                                        "name": "p2",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 16969,
                                                        "src": "31928:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_string_memory_ptr",
                                                            "typeString": "string memory"
                                                        }
                                                    },
                                                    {
                                                        "id": 16981,
                                                        "name": "p3",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 16971,
                                                        "src": "31932:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_uint256",
                                                            "typeString": "uint256"
                                                        }
                                                    }
                                                ],
                                                "expression": {
                                                    "argumentTypes": [
                                                        {
                                                            "typeIdentifier": "t_stringliteral_9fd009f5f31a16d665d9be327a4a2b17dc428108ae31e46ab875e747b5ee155f",
                                                            "typeString": "literal_string \"log(string,string,string,uint)\""
                                                        },
                                                        {
                                                            "typeIdentifier": "t_string_memory_ptr",
                                                            "typeString": "string memory"
                                                        },
                                                        {
                                                            "typeIdentifier": "t_string_memory_ptr",
                                                            "typeString": "string memory"
                                                        },
                                                        {
                                                            "typeIdentifier": "t_string_memory_ptr",
                                                            "typeString": "string memory"
                                                        },
                                                        {
                                                            "typeIdentifier": "t_uint256",
                                                            "typeString": "uint256"
                                                        }
                                                    ],
                                                    "expression": {
                                                        "id": 16975,
                                                        "name": "abi",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 4294967295,
                                                        "src": "31862:3:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_magic_abi",
                                                            "typeString": "abi"
                                                        }
                                                    },
                                                    "id": 16976,
                                                    "isConstant": false,
                                                    "isLValue": false,
                                                    "isPure": true,
                                                    "lValueRequested": false,
                                                    "memberName": "encodeWithSignature",
                                                    "nodeType": "MemberAccess",
                                                    "src": "31862:23:62",
                                                    "typeDescriptions": {
                                                        "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$",
                                                        "typeString": "function (string memory) pure returns (bytes memory)"
                                                    }
                                                },
                                                "id": 16982,
                                                "isConstant": false,
                                                "isLValue": false,
                                                "isPure": false,
                                                "kind": "functionCall",
                                                "lValueRequested": false,
                                                "names": [],
                                                "nodeType": "FunctionCall",
                                                "src": "31862:73:62",
                                                "tryCall": false,
                                                "typeDescriptions": {
                                                    "typeIdentifier": "t_bytes_memory_ptr",
                                                    "typeString": "bytes memory"
                                                }
                                            }
                                        ],
                                        "expression": {
                                            "argumentTypes": [
                                                {
                                                    "typeIdentifier": "t_bytes_memory_ptr",
                                                    "typeString": "bytes memory"
                                                }
                                            ],
                                            "id": 16974,
                                            "name": "_sendLogPayload",
                                            "nodeType": "Identifier",
                                            "overloadedDeclarations": [],
                                            "referencedDeclaration": 12880,
                                            "src": "31846:15:62",
                                            "typeDescriptions": {
                                                "typeIdentifier": "t_function_internal_view$_t_bytes_memory_ptr_$returns$__$",
                                                "typeString": "function (bytes memory) view"
                                            }
                                        },
                                        "id": 16983,
                                        "isConstant": false,
                                        "isLValue": false,
                                        "isPure": false,
                                        "kind": "functionCall",
                                        "lValueRequested": false,
                                        "names": [],
                                        "nodeType": "FunctionCall",
                                        "src": "31846:90:62",
                                        "tryCall": false,
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_tuple$__$",
                                            "typeString": "tuple()"
                                        }
                                    },
                                    "id": 16984,
                                    "nodeType": "ExpressionStatement",
                                    "src": "31846:90:62"
                                }
                            ]
                        },
                        "id": 16986,
                        "implemented": true,
                        "kind": "function",
                        "modifiers": [],
                        "name": "log",
                        "nameLocation": "31761:3:62",
                        "nodeType": "FunctionDefinition",
                        "parameters": {
                            "id": 16972,
                            "nodeType": "ParameterList",
                            "parameters": [
                                {
                                    "constant": false,
                                    "id": 16965,
                                    "mutability": "mutable",
                                    "name": "p0",
                                    "nameLocation": "31779:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 16986,
                                    "src": "31765:16:62",
                                    "stateVariable": false,
                                    "storageLocation": "memory",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_string_memory_ptr",
                                        "typeString": "string"
                                    },
                                    "typeName": {
                                        "id": 16964,
                                        "name": "string",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "31765:6:62",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_string_storage_ptr",
                                            "typeString": "string"
                                        }
                                    },
                                    "visibility": "internal"
                                },
                                {
                                    "constant": false,
                                    "id": 16967,
                                    "mutability": "mutable",
                                    "name": "p1",
                                    "nameLocation": "31797:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 16986,
                                    "src": "31783:16:62",
                                    "stateVariable": false,
                                    "storageLocation": "memory",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_string_memory_ptr",
                                        "typeString": "string"
                                    },
                                    "typeName": {
                                        "id": 16966,
                                        "name": "string",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "31783:6:62",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_string_storage_ptr",
                                            "typeString": "string"
                                        }
                                    },
                                    "visibility": "internal"
                                },
                                {
                                    "constant": false,
                                    "id": 16969,
                                    "mutability": "mutable",
                                    "name": "p2",
                                    "nameLocation": "31815:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 16986,
                                    "src": "31801:16:62",
                                    "stateVariable": false,
                                    "storageLocation": "memory",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_string_memory_ptr",
                                        "typeString": "string"
                                    },
                                    "typeName": {
                                        "id": 16968,
                                        "name": "string",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "31801:6:62",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_string_storage_ptr",
                                            "typeString": "string"
                                        }
                                    },
                                    "visibility": "internal"
                                },
                                {
                                    "constant": false,
                                    "id": 16971,
                                    "mutability": "mutable",
                                    "name": "p3",
                                    "nameLocation": "31824:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 16986,
                                    "src": "31819:7:62",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_uint256",
                                        "typeString": "uint256"
                                    },
                                    "typeName": {
                                        "id": 16970,
                                        "name": "uint",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "31819:4:62",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_uint256",
                                            "typeString": "uint256"
                                        }
                                    },
                                    "visibility": "internal"
                                }
                            ],
                            "src": "31764:63:62"
                        },
                        "returnParameters": {
                            "id": 16973,
                            "nodeType": "ParameterList",
                            "parameters": [],
                            "src": "31842:0:62"
                        },
                        "scope": 20920,
                        "src": "31752:188:62",
                        "stateMutability": "view",
                        "virtual": false,
                        "visibility": "internal"
                    },
                    {
                        "body": {
                            "id": 17008,
                            "nodeType": "Block",
                            "src": "32042:100:62",
                            "statements": [
                                {
                                    "expression": {
                                        "arguments": [
                                            {
                                                "arguments": [
                                                    {
                                                        "hexValue": "6c6f6728737472696e672c737472696e672c737472696e672c737472696e6729",
                                                        "id": 17000,
                                                        "isConstant": false,
                                                        "isLValue": false,
                                                        "isPure": true,
                                                        "kind": "string",
                                                        "lValueRequested": false,
                                                        "nodeType": "Literal",
                                                        "src": "32086:34:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_stringliteral_de68f20a8e88f68d54c5aa294860ee37b58680632686e2f1101e4e042a2cbcbe",
                                                            "typeString": "literal_string \"log(string,string,string,string)\""
                                                        },
                                                        "value": "log(string,string,string,string)"
                                                    },
                                                    {
                                                        "id": 17001,
                                                        "name": "p0",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 16988,
                                                        "src": "32122:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_string_memory_ptr",
                                                            "typeString": "string memory"
                                                        }
                                                    },
                                                    {
                                                        "id": 17002,
                                                        "name": "p1",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 16990,
                                                        "src": "32126:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_string_memory_ptr",
                                                            "typeString": "string memory"
                                                        }
                                                    },
                                                    {
                                                        "id": 17003,
                                                        "name": "p2",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 16992,
                                                        "src": "32130:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_string_memory_ptr",
                                                            "typeString": "string memory"
                                                        }
                                                    },
                                                    {
                                                        "id": 17004,
                                                        "name": "p3",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 16994,
                                                        "src": "32134:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_string_memory_ptr",
                                                            "typeString": "string memory"
                                                        }
                                                    }
                                                ],
                                                "expression": {
                                                    "argumentTypes": [
                                                        {
                                                            "typeIdentifier": "t_stringliteral_de68f20a8e88f68d54c5aa294860ee37b58680632686e2f1101e4e042a2cbcbe",
                                                            "typeString": "literal_string \"log(string,string,string,string)\""
                                                        },
                                                        {
                                                            "typeIdentifier": "t_string_memory_ptr",
                                                            "typeString": "string memory"
                                                        },
                                                        {
                                                            "typeIdentifier": "t_string_memory_ptr",
                                                            "typeString": "string memory"
                                                        },
                                                        {
                                                            "typeIdentifier": "t_string_memory_ptr",
                                                            "typeString": "string memory"
                                                        },
                                                        {
                                                            "typeIdentifier": "t_string_memory_ptr",
                                                            "typeString": "string memory"
                                                        }
                                                    ],
                                                    "expression": {
                                                        "id": 16998,
                                                        "name": "abi",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 4294967295,
                                                        "src": "32062:3:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_magic_abi",
                                                            "typeString": "abi"
                                                        }
                                                    },
                                                    "id": 16999,
                                                    "isConstant": false,
                                                    "isLValue": false,
                                                    "isPure": true,
                                                    "lValueRequested": false,
                                                    "memberName": "encodeWithSignature",
                                                    "nodeType": "MemberAccess",
                                                    "src": "32062:23:62",
                                                    "typeDescriptions": {
                                                        "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$",
                                                        "typeString": "function (string memory) pure returns (bytes memory)"
                                                    }
                                                },
                                                "id": 17005,
                                                "isConstant": false,
                                                "isLValue": false,
                                                "isPure": false,
                                                "kind": "functionCall",
                                                "lValueRequested": false,
                                                "names": [],
                                                "nodeType": "FunctionCall",
                                                "src": "32062:75:62",
                                                "tryCall": false,
                                                "typeDescriptions": {
                                                    "typeIdentifier": "t_bytes_memory_ptr",
                                                    "typeString": "bytes memory"
                                                }
                                            }
                                        ],
                                        "expression": {
                                            "argumentTypes": [
                                                {
                                                    "typeIdentifier": "t_bytes_memory_ptr",
                                                    "typeString": "bytes memory"
                                                }
                                            ],
                                            "id": 16997,
                                            "name": "_sendLogPayload",
                                            "nodeType": "Identifier",
                                            "overloadedDeclarations": [],
                                            "referencedDeclaration": 12880,
                                            "src": "32046:15:62",
                                            "typeDescriptions": {
                                                "typeIdentifier": "t_function_internal_view$_t_bytes_memory_ptr_$returns$__$",
                                                "typeString": "function (bytes memory) view"
                                            }
                                        },
                                        "id": 17006,
                                        "isConstant": false,
                                        "isLValue": false,
                                        "isPure": false,
                                        "kind": "functionCall",
                                        "lValueRequested": false,
                                        "names": [],
                                        "nodeType": "FunctionCall",
                                        "src": "32046:92:62",
                                        "tryCall": false,
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_tuple$__$",
                                            "typeString": "tuple()"
                                        }
                                    },
                                    "id": 17007,
                                    "nodeType": "ExpressionStatement",
                                    "src": "32046:92:62"
                                }
                            ]
                        },
                        "id": 17009,
                        "implemented": true,
                        "kind": "function",
                        "modifiers": [],
                        "name": "log",
                        "nameLocation": "31952:3:62",
                        "nodeType": "FunctionDefinition",
                        "parameters": {
                            "id": 16995,
                            "nodeType": "ParameterList",
                            "parameters": [
                                {
                                    "constant": false,
                                    "id": 16988,
                                    "mutability": "mutable",
                                    "name": "p0",
                                    "nameLocation": "31970:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 17009,
                                    "src": "31956:16:62",
                                    "stateVariable": false,
                                    "storageLocation": "memory",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_string_memory_ptr",
                                        "typeString": "string"
                                    },
                                    "typeName": {
                                        "id": 16987,
                                        "name": "string",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "31956:6:62",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_string_storage_ptr",
                                            "typeString": "string"
                                        }
                                    },
                                    "visibility": "internal"
                                },
                                {
                                    "constant": false,
                                    "id": 16990,
                                    "mutability": "mutable",
                                    "name": "p1",
                                    "nameLocation": "31988:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 17009,
                                    "src": "31974:16:62",
                                    "stateVariable": false,
                                    "storageLocation": "memory",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_string_memory_ptr",
                                        "typeString": "string"
                                    },
                                    "typeName": {
                                        "id": 16989,
                                        "name": "string",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "31974:6:62",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_string_storage_ptr",
                                            "typeString": "string"
                                        }
                                    },
                                    "visibility": "internal"
                                },
                                {
                                    "constant": false,
                                    "id": 16992,
                                    "mutability": "mutable",
                                    "name": "p2",
                                    "nameLocation": "32006:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 17009,
                                    "src": "31992:16:62",
                                    "stateVariable": false,
                                    "storageLocation": "memory",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_string_memory_ptr",
                                        "typeString": "string"
                                    },
                                    "typeName": {
                                        "id": 16991,
                                        "name": "string",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "31992:6:62",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_string_storage_ptr",
                                            "typeString": "string"
                                        }
                                    },
                                    "visibility": "internal"
                                },
                                {
                                    "constant": false,
                                    "id": 16994,
                                    "mutability": "mutable",
                                    "name": "p3",
                                    "nameLocation": "32024:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 17009,
                                    "src": "32010:16:62",
                                    "stateVariable": false,
                                    "storageLocation": "memory",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_string_memory_ptr",
                                        "typeString": "string"
                                    },
                                    "typeName": {
                                        "id": 16993,
                                        "name": "string",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "32010:6:62",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_string_storage_ptr",
                                            "typeString": "string"
                                        }
                                    },
                                    "visibility": "internal"
                                }
                            ],
                            "src": "31955:72:62"
                        },
                        "returnParameters": {
                            "id": 16996,
                            "nodeType": "ParameterList",
                            "parameters": [],
                            "src": "32042:0:62"
                        },
                        "scope": 20920,
                        "src": "31943:199:62",
                        "stateMutability": "view",
                        "virtual": false,
                        "visibility": "internal"
                    },
                    {
                        "body": {
                            "id": 17031,
                            "nodeType": "Block",
                            "src": "32235:98:62",
                            "statements": [
                                {
                                    "expression": {
                                        "arguments": [
                                            {
                                                "arguments": [
                                                    {
                                                        "hexValue": "6c6f6728737472696e672c737472696e672c737472696e672c626f6f6c29",
                                                        "id": 17023,
                                                        "isConstant": false,
                                                        "isLValue": false,
                                                        "isPure": true,
                                                        "kind": "string",
                                                        "lValueRequested": false,
                                                        "nodeType": "Literal",
                                                        "src": "32279:32:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_stringliteral_2c1754ed9d3bc50669c3e71e3115dc4403f3cff35aa9b6b58799f80b5496f332",
                                                            "typeString": "literal_string \"log(string,string,string,bool)\""
                                                        },
                                                        "value": "log(string,string,string,bool)"
                                                    },
                                                    {
                                                        "id": 17024,
                                                        "name": "p0",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 17011,
                                                        "src": "32313:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_string_memory_ptr",
                                                            "typeString": "string memory"
                                                        }
                                                    },
                                                    {
                                                        "id": 17025,
                                                        "name": "p1",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 17013,
                                                        "src": "32317:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_string_memory_ptr",
                                                            "typeString": "string memory"
                                                        }
                                                    },
                                                    {
                                                        "id": 17026,
                                                        "name": "p2",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 17015,
                                                        "src": "32321:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_string_memory_ptr",
                                                            "typeString": "string memory"
                                                        }
                                                    },
                                                    {
                                                        "id": 17027,
                                                        "name": "p3",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 17017,
                                                        "src": "32325:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_bool",
                                                            "typeString": "bool"
                                                        }
                                                    }
                                                ],
                                                "expression": {
                                                    "argumentTypes": [
                                                        {
                                                            "typeIdentifier": "t_stringliteral_2c1754ed9d3bc50669c3e71e3115dc4403f3cff35aa9b6b58799f80b5496f332",
                                                            "typeString": "literal_string \"log(string,string,string,bool)\""
                                                        },
                                                        {
                                                            "typeIdentifier": "t_string_memory_ptr",
                                                            "typeString": "string memory"
                                                        },
                                                        {
                                                            "typeIdentifier": "t_string_memory_ptr",
                                                            "typeString": "string memory"
                                                        },
                                                        {
                                                            "typeIdentifier": "t_string_memory_ptr",
                                                            "typeString": "string memory"
                                                        },
                                                        {
                                                            "typeIdentifier": "t_bool",
                                                            "typeString": "bool"
                                                        }
                                                    ],
                                                    "expression": {
                                                        "id": 17021,
                                                        "name": "abi",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 4294967295,
                                                        "src": "32255:3:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_magic_abi",
                                                            "typeString": "abi"
                                                        }
                                                    },
                                                    "id": 17022,
                                                    "isConstant": false,
                                                    "isLValue": false,
                                                    "isPure": true,
                                                    "lValueRequested": false,
                                                    "memberName": "encodeWithSignature",
                                                    "nodeType": "MemberAccess",
                                                    "src": "32255:23:62",
                                                    "typeDescriptions": {
                                                        "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$",
                                                        "typeString": "function (string memory) pure returns (bytes memory)"
                                                    }
                                                },
                                                "id": 17028,
                                                "isConstant": false,
                                                "isLValue": false,
                                                "isPure": false,
                                                "kind": "functionCall",
                                                "lValueRequested": false,
                                                "names": [],
                                                "nodeType": "FunctionCall",
                                                "src": "32255:73:62",
                                                "tryCall": false,
                                                "typeDescriptions": {
                                                    "typeIdentifier": "t_bytes_memory_ptr",
                                                    "typeString": "bytes memory"
                                                }
                                            }
                                        ],
                                        "expression": {
                                            "argumentTypes": [
                                                {
                                                    "typeIdentifier": "t_bytes_memory_ptr",
                                                    "typeString": "bytes memory"
                                                }
                                            ],
                                            "id": 17020,
                                            "name": "_sendLogPayload",
                                            "nodeType": "Identifier",
                                            "overloadedDeclarations": [],
                                            "referencedDeclaration": 12880,
                                            "src": "32239:15:62",
                                            "typeDescriptions": {
                                                "typeIdentifier": "t_function_internal_view$_t_bytes_memory_ptr_$returns$__$",
                                                "typeString": "function (bytes memory) view"
                                            }
                                        },
                                        "id": 17029,
                                        "isConstant": false,
                                        "isLValue": false,
                                        "isPure": false,
                                        "kind": "functionCall",
                                        "lValueRequested": false,
                                        "names": [],
                                        "nodeType": "FunctionCall",
                                        "src": "32239:90:62",
                                        "tryCall": false,
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_tuple$__$",
                                            "typeString": "tuple()"
                                        }
                                    },
                                    "id": 17030,
                                    "nodeType": "ExpressionStatement",
                                    "src": "32239:90:62"
                                }
                            ]
                        },
                        "id": 17032,
                        "implemented": true,
                        "kind": "function",
                        "modifiers": [],
                        "name": "log",
                        "nameLocation": "32154:3:62",
                        "nodeType": "FunctionDefinition",
                        "parameters": {
                            "id": 17018,
                            "nodeType": "ParameterList",
                            "parameters": [
                                {
                                    "constant": false,
                                    "id": 17011,
                                    "mutability": "mutable",
                                    "name": "p0",
                                    "nameLocation": "32172:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 17032,
                                    "src": "32158:16:62",
                                    "stateVariable": false,
                                    "storageLocation": "memory",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_string_memory_ptr",
                                        "typeString": "string"
                                    },
                                    "typeName": {
                                        "id": 17010,
                                        "name": "string",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "32158:6:62",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_string_storage_ptr",
                                            "typeString": "string"
                                        }
                                    },
                                    "visibility": "internal"
                                },
                                {
                                    "constant": false,
                                    "id": 17013,
                                    "mutability": "mutable",
                                    "name": "p1",
                                    "nameLocation": "32190:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 17032,
                                    "src": "32176:16:62",
                                    "stateVariable": false,
                                    "storageLocation": "memory",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_string_memory_ptr",
                                        "typeString": "string"
                                    },
                                    "typeName": {
                                        "id": 17012,
                                        "name": "string",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "32176:6:62",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_string_storage_ptr",
                                            "typeString": "string"
                                        }
                                    },
                                    "visibility": "internal"
                                },
                                {
                                    "constant": false,
                                    "id": 17015,
                                    "mutability": "mutable",
                                    "name": "p2",
                                    "nameLocation": "32208:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 17032,
                                    "src": "32194:16:62",
                                    "stateVariable": false,
                                    "storageLocation": "memory",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_string_memory_ptr",
                                        "typeString": "string"
                                    },
                                    "typeName": {
                                        "id": 17014,
                                        "name": "string",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "32194:6:62",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_string_storage_ptr",
                                            "typeString": "string"
                                        }
                                    },
                                    "visibility": "internal"
                                },
                                {
                                    "constant": false,
                                    "id": 17017,
                                    "mutability": "mutable",
                                    "name": "p3",
                                    "nameLocation": "32217:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 17032,
                                    "src": "32212:7:62",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_bool",
                                        "typeString": "bool"
                                    },
                                    "typeName": {
                                        "id": 17016,
                                        "name": "bool",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "32212:4:62",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_bool",
                                            "typeString": "bool"
                                        }
                                    },
                                    "visibility": "internal"
                                }
                            ],
                            "src": "32157:63:62"
                        },
                        "returnParameters": {
                            "id": 17019,
                            "nodeType": "ParameterList",
                            "parameters": [],
                            "src": "32235:0:62"
                        },
                        "scope": 20920,
                        "src": "32145:188:62",
                        "stateMutability": "view",
                        "virtual": false,
                        "visibility": "internal"
                    },
                    {
                        "body": {
                            "id": 17054,
                            "nodeType": "Block",
                            "src": "32429:101:62",
                            "statements": [
                                {
                                    "expression": {
                                        "arguments": [
                                            {
                                                "arguments": [
                                                    {
                                                        "hexValue": "6c6f6728737472696e672c737472696e672c737472696e672c6164647265737329",
                                                        "id": 17046,
                                                        "isConstant": false,
                                                        "isLValue": false,
                                                        "isPure": true,
                                                        "kind": "string",
                                                        "lValueRequested": false,
                                                        "nodeType": "Literal",
                                                        "src": "32473:35:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_stringliteral_6d572f449cf1e446ea3ace51a34ce30628f4f1588a39dc5d550cefb210c5bb16",
                                                            "typeString": "literal_string \"log(string,string,string,address)\""
                                                        },
                                                        "value": "log(string,string,string,address)"
                                                    },
                                                    {
                                                        "id": 17047,
                                                        "name": "p0",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 17034,
                                                        "src": "32510:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_string_memory_ptr",
                                                            "typeString": "string memory"
                                                        }
                                                    },
                                                    {
                                                        "id": 17048,
                                                        "name": "p1",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 17036,
                                                        "src": "32514:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_string_memory_ptr",
                                                            "typeString": "string memory"
                                                        }
                                                    },
                                                    {
                                                        "id": 17049,
                                                        "name": "p2",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 17038,
                                                        "src": "32518:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_string_memory_ptr",
                                                            "typeString": "string memory"
                                                        }
                                                    },
                                                    {
                                                        "id": 17050,
                                                        "name": "p3",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 17040,
                                                        "src": "32522:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_address",
                                                            "typeString": "address"
                                                        }
                                                    }
                                                ],
                                                "expression": {
                                                    "argumentTypes": [
                                                        {
                                                            "typeIdentifier": "t_stringliteral_6d572f449cf1e446ea3ace51a34ce30628f4f1588a39dc5d550cefb210c5bb16",
                                                            "typeString": "literal_string \"log(string,string,string,address)\""
                                                        },
                                                        {
                                                            "typeIdentifier": "t_string_memory_ptr",
                                                            "typeString": "string memory"
                                                        },
                                                        {
                                                            "typeIdentifier": "t_string_memory_ptr",
                                                            "typeString": "string memory"
                                                        },
                                                        {
                                                            "typeIdentifier": "t_string_memory_ptr",
                                                            "typeString": "string memory"
                                                        },
                                                        {
                                                            "typeIdentifier": "t_address",
                                                            "typeString": "address"
                                                        }
                                                    ],
                                                    "expression": {
                                                        "id": 17044,
                                                        "name": "abi",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 4294967295,
                                                        "src": "32449:3:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_magic_abi",
                                                            "typeString": "abi"
                                                        }
                                                    },
                                                    "id": 17045,
                                                    "isConstant": false,
                                                    "isLValue": false,
                                                    "isPure": true,
                                                    "lValueRequested": false,
                                                    "memberName": "encodeWithSignature",
                                                    "nodeType": "MemberAccess",
                                                    "src": "32449:23:62",
                                                    "typeDescriptions": {
                                                        "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$",
                                                        "typeString": "function (string memory) pure returns (bytes memory)"
                                                    }
                                                },
                                                "id": 17051,
                                                "isConstant": false,
                                                "isLValue": false,
                                                "isPure": false,
                                                "kind": "functionCall",
                                                "lValueRequested": false,
                                                "names": [],
                                                "nodeType": "FunctionCall",
                                                "src": "32449:76:62",
                                                "tryCall": false,
                                                "typeDescriptions": {
                                                    "typeIdentifier": "t_bytes_memory_ptr",
                                                    "typeString": "bytes memory"
                                                }
                                            }
                                        ],
                                        "expression": {
                                            "argumentTypes": [
                                                {
                                                    "typeIdentifier": "t_bytes_memory_ptr",
                                                    "typeString": "bytes memory"
                                                }
                                            ],
                                            "id": 17043,
                                            "name": "_sendLogPayload",
                                            "nodeType": "Identifier",
                                            "overloadedDeclarations": [],
                                            "referencedDeclaration": 12880,
                                            "src": "32433:15:62",
                                            "typeDescriptions": {
                                                "typeIdentifier": "t_function_internal_view$_t_bytes_memory_ptr_$returns$__$",
                                                "typeString": "function (bytes memory) view"
                                            }
                                        },
                                        "id": 17052,
                                        "isConstant": false,
                                        "isLValue": false,
                                        "isPure": false,
                                        "kind": "functionCall",
                                        "lValueRequested": false,
                                        "names": [],
                                        "nodeType": "FunctionCall",
                                        "src": "32433:93:62",
                                        "tryCall": false,
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_tuple$__$",
                                            "typeString": "tuple()"
                                        }
                                    },
                                    "id": 17053,
                                    "nodeType": "ExpressionStatement",
                                    "src": "32433:93:62"
                                }
                            ]
                        },
                        "id": 17055,
                        "implemented": true,
                        "kind": "function",
                        "modifiers": [],
                        "name": "log",
                        "nameLocation": "32345:3:62",
                        "nodeType": "FunctionDefinition",
                        "parameters": {
                            "id": 17041,
                            "nodeType": "ParameterList",
                            "parameters": [
                                {
                                    "constant": false,
                                    "id": 17034,
                                    "mutability": "mutable",
                                    "name": "p0",
                                    "nameLocation": "32363:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 17055,
                                    "src": "32349:16:62",
                                    "stateVariable": false,
                                    "storageLocation": "memory",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_string_memory_ptr",
                                        "typeString": "string"
                                    },
                                    "typeName": {
                                        "id": 17033,
                                        "name": "string",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "32349:6:62",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_string_storage_ptr",
                                            "typeString": "string"
                                        }
                                    },
                                    "visibility": "internal"
                                },
                                {
                                    "constant": false,
                                    "id": 17036,
                                    "mutability": "mutable",
                                    "name": "p1",
                                    "nameLocation": "32381:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 17055,
                                    "src": "32367:16:62",
                                    "stateVariable": false,
                                    "storageLocation": "memory",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_string_memory_ptr",
                                        "typeString": "string"
                                    },
                                    "typeName": {
                                        "id": 17035,
                                        "name": "string",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "32367:6:62",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_string_storage_ptr",
                                            "typeString": "string"
                                        }
                                    },
                                    "visibility": "internal"
                                },
                                {
                                    "constant": false,
                                    "id": 17038,
                                    "mutability": "mutable",
                                    "name": "p2",
                                    "nameLocation": "32399:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 17055,
                                    "src": "32385:16:62",
                                    "stateVariable": false,
                                    "storageLocation": "memory",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_string_memory_ptr",
                                        "typeString": "string"
                                    },
                                    "typeName": {
                                        "id": 17037,
                                        "name": "string",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "32385:6:62",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_string_storage_ptr",
                                            "typeString": "string"
                                        }
                                    },
                                    "visibility": "internal"
                                },
                                {
                                    "constant": false,
                                    "id": 17040,
                                    "mutability": "mutable",
                                    "name": "p3",
                                    "nameLocation": "32411:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 17055,
                                    "src": "32403:10:62",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_address",
                                        "typeString": "address"
                                    },
                                    "typeName": {
                                        "id": 17039,
                                        "name": "address",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "32403:7:62",
                                        "stateMutability": "nonpayable",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_address",
                                            "typeString": "address"
                                        }
                                    },
                                    "visibility": "internal"
                                }
                            ],
                            "src": "32348:66:62"
                        },
                        "returnParameters": {
                            "id": 17042,
                            "nodeType": "ParameterList",
                            "parameters": [],
                            "src": "32429:0:62"
                        },
                        "scope": 20920,
                        "src": "32336:194:62",
                        "stateMutability": "view",
                        "virtual": false,
                        "visibility": "internal"
                    },
                    {
                        "body": {
                            "id": 17077,
                            "nodeType": "Block",
                            "src": "32614:96:62",
                            "statements": [
                                {
                                    "expression": {
                                        "arguments": [
                                            {
                                                "arguments": [
                                                    {
                                                        "hexValue": "6c6f6728737472696e672c737472696e672c626f6f6c2c75696e7429",
                                                        "id": 17069,
                                                        "isConstant": false,
                                                        "isLValue": false,
                                                        "isPure": true,
                                                        "kind": "string",
                                                        "lValueRequested": false,
                                                        "nodeType": "Literal",
                                                        "src": "32658:30:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_stringliteral_86818a7aa9bc994aa800ce554e865f0047fd8aaa8799a458e8fea2db0986c5c1",
                                                            "typeString": "literal_string \"log(string,string,bool,uint)\""
                                                        },
                                                        "value": "log(string,string,bool,uint)"
                                                    },
                                                    {
                                                        "id": 17070,
                                                        "name": "p0",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 17057,
                                                        "src": "32690:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_string_memory_ptr",
                                                            "typeString": "string memory"
                                                        }
                                                    },
                                                    {
                                                        "id": 17071,
                                                        "name": "p1",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 17059,
                                                        "src": "32694:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_string_memory_ptr",
                                                            "typeString": "string memory"
                                                        }
                                                    },
                                                    {
                                                        "id": 17072,
                                                        "name": "p2",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 17061,
                                                        "src": "32698:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_bool",
                                                            "typeString": "bool"
                                                        }
                                                    },
                                                    {
                                                        "id": 17073,
                                                        "name": "p3",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 17063,
                                                        "src": "32702:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_uint256",
                                                            "typeString": "uint256"
                                                        }
                                                    }
                                                ],
                                                "expression": {
                                                    "argumentTypes": [
                                                        {
                                                            "typeIdentifier": "t_stringliteral_86818a7aa9bc994aa800ce554e865f0047fd8aaa8799a458e8fea2db0986c5c1",
                                                            "typeString": "literal_string \"log(string,string,bool,uint)\""
                                                        },
                                                        {
                                                            "typeIdentifier": "t_string_memory_ptr",
                                                            "typeString": "string memory"
                                                        },
                                                        {
                                                            "typeIdentifier": "t_string_memory_ptr",
                                                            "typeString": "string memory"
                                                        },
                                                        {
                                                            "typeIdentifier": "t_bool",
                                                            "typeString": "bool"
                                                        },
                                                        {
                                                            "typeIdentifier": "t_uint256",
                                                            "typeString": "uint256"
                                                        }
                                                    ],
                                                    "expression": {
                                                        "id": 17067,
                                                        "name": "abi",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 4294967295,
                                                        "src": "32634:3:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_magic_abi",
                                                            "typeString": "abi"
                                                        }
                                                    },
                                                    "id": 17068,
                                                    "isConstant": false,
                                                    "isLValue": false,
                                                    "isPure": true,
                                                    "lValueRequested": false,
                                                    "memberName": "encodeWithSignature",
                                                    "nodeType": "MemberAccess",
                                                    "src": "32634:23:62",
                                                    "typeDescriptions": {
                                                        "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$",
                                                        "typeString": "function (string memory) pure returns (bytes memory)"
                                                    }
                                                },
                                                "id": 17074,
                                                "isConstant": false,
                                                "isLValue": false,
                                                "isPure": false,
                                                "kind": "functionCall",
                                                "lValueRequested": false,
                                                "names": [],
                                                "nodeType": "FunctionCall",
                                                "src": "32634:71:62",
                                                "tryCall": false,
                                                "typeDescriptions": {
                                                    "typeIdentifier": "t_bytes_memory_ptr",
                                                    "typeString": "bytes memory"
                                                }
                                            }
                                        ],
                                        "expression": {
                                            "argumentTypes": [
                                                {
                                                    "typeIdentifier": "t_bytes_memory_ptr",
                                                    "typeString": "bytes memory"
                                                }
                                            ],
                                            "id": 17066,
                                            "name": "_sendLogPayload",
                                            "nodeType": "Identifier",
                                            "overloadedDeclarations": [],
                                            "referencedDeclaration": 12880,
                                            "src": "32618:15:62",
                                            "typeDescriptions": {
                                                "typeIdentifier": "t_function_internal_view$_t_bytes_memory_ptr_$returns$__$",
                                                "typeString": "function (bytes memory) view"
                                            }
                                        },
                                        "id": 17075,
                                        "isConstant": false,
                                        "isLValue": false,
                                        "isPure": false,
                                        "kind": "functionCall",
                                        "lValueRequested": false,
                                        "names": [],
                                        "nodeType": "FunctionCall",
                                        "src": "32618:88:62",
                                        "tryCall": false,
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_tuple$__$",
                                            "typeString": "tuple()"
                                        }
                                    },
                                    "id": 17076,
                                    "nodeType": "ExpressionStatement",
                                    "src": "32618:88:62"
                                }
                            ]
                        },
                        "id": 17078,
                        "implemented": true,
                        "kind": "function",
                        "modifiers": [],
                        "name": "log",
                        "nameLocation": "32542:3:62",
                        "nodeType": "FunctionDefinition",
                        "parameters": {
                            "id": 17064,
                            "nodeType": "ParameterList",
                            "parameters": [
                                {
                                    "constant": false,
                                    "id": 17057,
                                    "mutability": "mutable",
                                    "name": "p0",
                                    "nameLocation": "32560:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 17078,
                                    "src": "32546:16:62",
                                    "stateVariable": false,
                                    "storageLocation": "memory",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_string_memory_ptr",
                                        "typeString": "string"
                                    },
                                    "typeName": {
                                        "id": 17056,
                                        "name": "string",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "32546:6:62",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_string_storage_ptr",
                                            "typeString": "string"
                                        }
                                    },
                                    "visibility": "internal"
                                },
                                {
                                    "constant": false,
                                    "id": 17059,
                                    "mutability": "mutable",
                                    "name": "p1",
                                    "nameLocation": "32578:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 17078,
                                    "src": "32564:16:62",
                                    "stateVariable": false,
                                    "storageLocation": "memory",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_string_memory_ptr",
                                        "typeString": "string"
                                    },
                                    "typeName": {
                                        "id": 17058,
                                        "name": "string",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "32564:6:62",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_string_storage_ptr",
                                            "typeString": "string"
                                        }
                                    },
                                    "visibility": "internal"
                                },
                                {
                                    "constant": false,
                                    "id": 17061,
                                    "mutability": "mutable",
                                    "name": "p2",
                                    "nameLocation": "32587:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 17078,
                                    "src": "32582:7:62",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_bool",
                                        "typeString": "bool"
                                    },
                                    "typeName": {
                                        "id": 17060,
                                        "name": "bool",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "32582:4:62",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_bool",
                                            "typeString": "bool"
                                        }
                                    },
                                    "visibility": "internal"
                                },
                                {
                                    "constant": false,
                                    "id": 17063,
                                    "mutability": "mutable",
                                    "name": "p3",
                                    "nameLocation": "32596:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 17078,
                                    "src": "32591:7:62",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_uint256",
                                        "typeString": "uint256"
                                    },
                                    "typeName": {
                                        "id": 17062,
                                        "name": "uint",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "32591:4:62",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_uint256",
                                            "typeString": "uint256"
                                        }
                                    },
                                    "visibility": "internal"
                                }
                            ],
                            "src": "32545:54:62"
                        },
                        "returnParameters": {
                            "id": 17065,
                            "nodeType": "ParameterList",
                            "parameters": [],
                            "src": "32614:0:62"
                        },
                        "scope": 20920,
                        "src": "32533:177:62",
                        "stateMutability": "view",
                        "virtual": false,
                        "visibility": "internal"
                    },
                    {
                        "body": {
                            "id": 17100,
                            "nodeType": "Block",
                            "src": "32803:98:62",
                            "statements": [
                                {
                                    "expression": {
                                        "arguments": [
                                            {
                                                "arguments": [
                                                    {
                                                        "hexValue": "6c6f6728737472696e672c737472696e672c626f6f6c2c737472696e6729",
                                                        "id": 17092,
                                                        "isConstant": false,
                                                        "isLValue": false,
                                                        "isPure": true,
                                                        "kind": "string",
                                                        "lValueRequested": false,
                                                        "nodeType": "Literal",
                                                        "src": "32847:32:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_stringliteral_5e84b0ea51a130c3c7e1443097f28cb5c541ea8487836ae7cb1ca9c6e683699b",
                                                            "typeString": "literal_string \"log(string,string,bool,string)\""
                                                        },
                                                        "value": "log(string,string,bool,string)"
                                                    },
                                                    {
                                                        "id": 17093,
                                                        "name": "p0",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 17080,
                                                        "src": "32881:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_string_memory_ptr",
                                                            "typeString": "string memory"
                                                        }
                                                    },
                                                    {
                                                        "id": 17094,
                                                        "name": "p1",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 17082,
                                                        "src": "32885:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_string_memory_ptr",
                                                            "typeString": "string memory"
                                                        }
                                                    },
                                                    {
                                                        "id": 17095,
                                                        "name": "p2",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 17084,
                                                        "src": "32889:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_bool",
                                                            "typeString": "bool"
                                                        }
                                                    },
                                                    {
                                                        "id": 17096,
                                                        "name": "p3",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 17086,
                                                        "src": "32893:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_string_memory_ptr",
                                                            "typeString": "string memory"
                                                        }
                                                    }
                                                ],
                                                "expression": {
                                                    "argumentTypes": [
                                                        {
                                                            "typeIdentifier": "t_stringliteral_5e84b0ea51a130c3c7e1443097f28cb5c541ea8487836ae7cb1ca9c6e683699b",
                                                            "typeString": "literal_string \"log(string,string,bool,string)\""
                                                        },
                                                        {
                                                            "typeIdentifier": "t_string_memory_ptr",
                                                            "typeString": "string memory"
                                                        },
                                                        {
                                                            "typeIdentifier": "t_string_memory_ptr",
                                                            "typeString": "string memory"
                                                        },
                                                        {
                                                            "typeIdentifier": "t_bool",
                                                            "typeString": "bool"
                                                        },
                                                        {
                                                            "typeIdentifier": "t_string_memory_ptr",
                                                            "typeString": "string memory"
                                                        }
                                                    ],
                                                    "expression": {
                                                        "id": 17090,
                                                        "name": "abi",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 4294967295,
                                                        "src": "32823:3:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_magic_abi",
                                                            "typeString": "abi"
                                                        }
                                                    },
                                                    "id": 17091,
                                                    "isConstant": false,
                                                    "isLValue": false,
                                                    "isPure": true,
                                                    "lValueRequested": false,
                                                    "memberName": "encodeWithSignature",
                                                    "nodeType": "MemberAccess",
                                                    "src": "32823:23:62",
                                                    "typeDescriptions": {
                                                        "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$",
                                                        "typeString": "function (string memory) pure returns (bytes memory)"
                                                    }
                                                },
                                                "id": 17097,
                                                "isConstant": false,
                                                "isLValue": false,
                                                "isPure": false,
                                                "kind": "functionCall",
                                                "lValueRequested": false,
                                                "names": [],
                                                "nodeType": "FunctionCall",
                                                "src": "32823:73:62",
                                                "tryCall": false,
                                                "typeDescriptions": {
                                                    "typeIdentifier": "t_bytes_memory_ptr",
                                                    "typeString": "bytes memory"
                                                }
                                            }
                                        ],
                                        "expression": {
                                            "argumentTypes": [
                                                {
                                                    "typeIdentifier": "t_bytes_memory_ptr",
                                                    "typeString": "bytes memory"
                                                }
                                            ],
                                            "id": 17089,
                                            "name": "_sendLogPayload",
                                            "nodeType": "Identifier",
                                            "overloadedDeclarations": [],
                                            "referencedDeclaration": 12880,
                                            "src": "32807:15:62",
                                            "typeDescriptions": {
                                                "typeIdentifier": "t_function_internal_view$_t_bytes_memory_ptr_$returns$__$",
                                                "typeString": "function (bytes memory) view"
                                            }
                                        },
                                        "id": 17098,
                                        "isConstant": false,
                                        "isLValue": false,
                                        "isPure": false,
                                        "kind": "functionCall",
                                        "lValueRequested": false,
                                        "names": [],
                                        "nodeType": "FunctionCall",
                                        "src": "32807:90:62",
                                        "tryCall": false,
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_tuple$__$",
                                            "typeString": "tuple()"
                                        }
                                    },
                                    "id": 17099,
                                    "nodeType": "ExpressionStatement",
                                    "src": "32807:90:62"
                                }
                            ]
                        },
                        "id": 17101,
                        "implemented": true,
                        "kind": "function",
                        "modifiers": [],
                        "name": "log",
                        "nameLocation": "32722:3:62",
                        "nodeType": "FunctionDefinition",
                        "parameters": {
                            "id": 17087,
                            "nodeType": "ParameterList",
                            "parameters": [
                                {
                                    "constant": false,
                                    "id": 17080,
                                    "mutability": "mutable",
                                    "name": "p0",
                                    "nameLocation": "32740:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 17101,
                                    "src": "32726:16:62",
                                    "stateVariable": false,
                                    "storageLocation": "memory",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_string_memory_ptr",
                                        "typeString": "string"
                                    },
                                    "typeName": {
                                        "id": 17079,
                                        "name": "string",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "32726:6:62",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_string_storage_ptr",
                                            "typeString": "string"
                                        }
                                    },
                                    "visibility": "internal"
                                },
                                {
                                    "constant": false,
                                    "id": 17082,
                                    "mutability": "mutable",
                                    "name": "p1",
                                    "nameLocation": "32758:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 17101,
                                    "src": "32744:16:62",
                                    "stateVariable": false,
                                    "storageLocation": "memory",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_string_memory_ptr",
                                        "typeString": "string"
                                    },
                                    "typeName": {
                                        "id": 17081,
                                        "name": "string",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "32744:6:62",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_string_storage_ptr",
                                            "typeString": "string"
                                        }
                                    },
                                    "visibility": "internal"
                                },
                                {
                                    "constant": false,
                                    "id": 17084,
                                    "mutability": "mutable",
                                    "name": "p2",
                                    "nameLocation": "32767:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 17101,
                                    "src": "32762:7:62",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_bool",
                                        "typeString": "bool"
                                    },
                                    "typeName": {
                                        "id": 17083,
                                        "name": "bool",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "32762:4:62",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_bool",
                                            "typeString": "bool"
                                        }
                                    },
                                    "visibility": "internal"
                                },
                                {
                                    "constant": false,
                                    "id": 17086,
                                    "mutability": "mutable",
                                    "name": "p3",
                                    "nameLocation": "32785:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 17101,
                                    "src": "32771:16:62",
                                    "stateVariable": false,
                                    "storageLocation": "memory",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_string_memory_ptr",
                                        "typeString": "string"
                                    },
                                    "typeName": {
                                        "id": 17085,
                                        "name": "string",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "32771:6:62",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_string_storage_ptr",
                                            "typeString": "string"
                                        }
                                    },
                                    "visibility": "internal"
                                }
                            ],
                            "src": "32725:63:62"
                        },
                        "returnParameters": {
                            "id": 17088,
                            "nodeType": "ParameterList",
                            "parameters": [],
                            "src": "32803:0:62"
                        },
                        "scope": 20920,
                        "src": "32713:188:62",
                        "stateMutability": "view",
                        "virtual": false,
                        "visibility": "internal"
                    },
                    {
                        "body": {
                            "id": 17123,
                            "nodeType": "Block",
                            "src": "32985:96:62",
                            "statements": [
                                {
                                    "expression": {
                                        "arguments": [
                                            {
                                                "arguments": [
                                                    {
                                                        "hexValue": "6c6f6728737472696e672c737472696e672c626f6f6c2c626f6f6c29",
                                                        "id": 17115,
                                                        "isConstant": false,
                                                        "isLValue": false,
                                                        "isPure": true,
                                                        "kind": "string",
                                                        "lValueRequested": false,
                                                        "nodeType": "Literal",
                                                        "src": "33029:30:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_stringliteral_40785869c0ea63ca2ccbcf7415552989c2f1ce04f151eb3b2bd695c64d21af10",
                                                            "typeString": "literal_string \"log(string,string,bool,bool)\""
                                                        },
                                                        "value": "log(string,string,bool,bool)"
                                                    },
                                                    {
                                                        "id": 17116,
                                                        "name": "p0",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 17103,
                                                        "src": "33061:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_string_memory_ptr",
                                                            "typeString": "string memory"
                                                        }
                                                    },
                                                    {
                                                        "id": 17117,
                                                        "name": "p1",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 17105,
                                                        "src": "33065:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_string_memory_ptr",
                                                            "typeString": "string memory"
                                                        }
                                                    },
                                                    {
                                                        "id": 17118,
                                                        "name": "p2",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 17107,
                                                        "src": "33069:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_bool",
                                                            "typeString": "bool"
                                                        }
                                                    },
                                                    {
                                                        "id": 17119,
                                                        "name": "p3",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 17109,
                                                        "src": "33073:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_bool",
                                                            "typeString": "bool"
                                                        }
                                                    }
                                                ],
                                                "expression": {
                                                    "argumentTypes": [
                                                        {
                                                            "typeIdentifier": "t_stringliteral_40785869c0ea63ca2ccbcf7415552989c2f1ce04f151eb3b2bd695c64d21af10",
                                                            "typeString": "literal_string \"log(string,string,bool,bool)\""
                                                        },
                                                        {
                                                            "typeIdentifier": "t_string_memory_ptr",
                                                            "typeString": "string memory"
                                                        },
                                                        {
                                                            "typeIdentifier": "t_string_memory_ptr",
                                                            "typeString": "string memory"
                                                        },
                                                        {
                                                            "typeIdentifier": "t_bool",
                                                            "typeString": "bool"
                                                        },
                                                        {
                                                            "typeIdentifier": "t_bool",
                                                            "typeString": "bool"
                                                        }
                                                    ],
                                                    "expression": {
                                                        "id": 17113,
                                                        "name": "abi",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 4294967295,
                                                        "src": "33005:3:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_magic_abi",
                                                            "typeString": "abi"
                                                        }
                                                    },
                                                    "id": 17114,
                                                    "isConstant": false,
                                                    "isLValue": false,
                                                    "isPure": true,
                                                    "lValueRequested": false,
                                                    "memberName": "encodeWithSignature",
                                                    "nodeType": "MemberAccess",
                                                    "src": "33005:23:62",
                                                    "typeDescriptions": {
                                                        "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$",
                                                        "typeString": "function (string memory) pure returns (bytes memory)"
                                                    }
                                                },
                                                "id": 17120,
                                                "isConstant": false,
                                                "isLValue": false,
                                                "isPure": false,
                                                "kind": "functionCall",
                                                "lValueRequested": false,
                                                "names": [],
                                                "nodeType": "FunctionCall",
                                                "src": "33005:71:62",
                                                "tryCall": false,
                                                "typeDescriptions": {
                                                    "typeIdentifier": "t_bytes_memory_ptr",
                                                    "typeString": "bytes memory"
                                                }
                                            }
                                        ],
                                        "expression": {
                                            "argumentTypes": [
                                                {
                                                    "typeIdentifier": "t_bytes_memory_ptr",
                                                    "typeString": "bytes memory"
                                                }
                                            ],
                                            "id": 17112,
                                            "name": "_sendLogPayload",
                                            "nodeType": "Identifier",
                                            "overloadedDeclarations": [],
                                            "referencedDeclaration": 12880,
                                            "src": "32989:15:62",
                                            "typeDescriptions": {
                                                "typeIdentifier": "t_function_internal_view$_t_bytes_memory_ptr_$returns$__$",
                                                "typeString": "function (bytes memory) view"
                                            }
                                        },
                                        "id": 17121,
                                        "isConstant": false,
                                        "isLValue": false,
                                        "isPure": false,
                                        "kind": "functionCall",
                                        "lValueRequested": false,
                                        "names": [],
                                        "nodeType": "FunctionCall",
                                        "src": "32989:88:62",
                                        "tryCall": false,
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_tuple$__$",
                                            "typeString": "tuple()"
                                        }
                                    },
                                    "id": 17122,
                                    "nodeType": "ExpressionStatement",
                                    "src": "32989:88:62"
                                }
                            ]
                        },
                        "id": 17124,
                        "implemented": true,
                        "kind": "function",
                        "modifiers": [],
                        "name": "log",
                        "nameLocation": "32913:3:62",
                        "nodeType": "FunctionDefinition",
                        "parameters": {
                            "id": 17110,
                            "nodeType": "ParameterList",
                            "parameters": [
                                {
                                    "constant": false,
                                    "id": 17103,
                                    "mutability": "mutable",
                                    "name": "p0",
                                    "nameLocation": "32931:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 17124,
                                    "src": "32917:16:62",
                                    "stateVariable": false,
                                    "storageLocation": "memory",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_string_memory_ptr",
                                        "typeString": "string"
                                    },
                                    "typeName": {
                                        "id": 17102,
                                        "name": "string",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "32917:6:62",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_string_storage_ptr",
                                            "typeString": "string"
                                        }
                                    },
                                    "visibility": "internal"
                                },
                                {
                                    "constant": false,
                                    "id": 17105,
                                    "mutability": "mutable",
                                    "name": "p1",
                                    "nameLocation": "32949:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 17124,
                                    "src": "32935:16:62",
                                    "stateVariable": false,
                                    "storageLocation": "memory",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_string_memory_ptr",
                                        "typeString": "string"
                                    },
                                    "typeName": {
                                        "id": 17104,
                                        "name": "string",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "32935:6:62",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_string_storage_ptr",
                                            "typeString": "string"
                                        }
                                    },
                                    "visibility": "internal"
                                },
                                {
                                    "constant": false,
                                    "id": 17107,
                                    "mutability": "mutable",
                                    "name": "p2",
                                    "nameLocation": "32958:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 17124,
                                    "src": "32953:7:62",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_bool",
                                        "typeString": "bool"
                                    },
                                    "typeName": {
                                        "id": 17106,
                                        "name": "bool",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "32953:4:62",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_bool",
                                            "typeString": "bool"
                                        }
                                    },
                                    "visibility": "internal"
                                },
                                {
                                    "constant": false,
                                    "id": 17109,
                                    "mutability": "mutable",
                                    "name": "p3",
                                    "nameLocation": "32967:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 17124,
                                    "src": "32962:7:62",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_bool",
                                        "typeString": "bool"
                                    },
                                    "typeName": {
                                        "id": 17108,
                                        "name": "bool",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "32962:4:62",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_bool",
                                            "typeString": "bool"
                                        }
                                    },
                                    "visibility": "internal"
                                }
                            ],
                            "src": "32916:54:62"
                        },
                        "returnParameters": {
                            "id": 17111,
                            "nodeType": "ParameterList",
                            "parameters": [],
                            "src": "32985:0:62"
                        },
                        "scope": 20920,
                        "src": "32904:177:62",
                        "stateMutability": "view",
                        "virtual": false,
                        "visibility": "internal"
                    },
                    {
                        "body": {
                            "id": 17146,
                            "nodeType": "Block",
                            "src": "33168:99:62",
                            "statements": [
                                {
                                    "expression": {
                                        "arguments": [
                                            {
                                                "arguments": [
                                                    {
                                                        "hexValue": "6c6f6728737472696e672c737472696e672c626f6f6c2c6164647265737329",
                                                        "id": 17138,
                                                        "isConstant": false,
                                                        "isLValue": false,
                                                        "isPure": true,
                                                        "kind": "string",
                                                        "lValueRequested": false,
                                                        "nodeType": "Literal",
                                                        "src": "33212:33:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_stringliteral_c371c7db0a4b104babdbdf00d079eb75cb5aa1d401c4fb726c8e5559029df84d",
                                                            "typeString": "literal_string \"log(string,string,bool,address)\""
                                                        },
                                                        "value": "log(string,string,bool,address)"
                                                    },
                                                    {
                                                        "id": 17139,
                                                        "name": "p0",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 17126,
                                                        "src": "33247:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_string_memory_ptr",
                                                            "typeString": "string memory"
                                                        }
                                                    },
                                                    {
                                                        "id": 17140,
                                                        "name": "p1",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 17128,
                                                        "src": "33251:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_string_memory_ptr",
                                                            "typeString": "string memory"
                                                        }
                                                    },
                                                    {
                                                        "id": 17141,
                                                        "name": "p2",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 17130,
                                                        "src": "33255:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_bool",
                                                            "typeString": "bool"
                                                        }
                                                    },
                                                    {
                                                        "id": 17142,
                                                        "name": "p3",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 17132,
                                                        "src": "33259:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_address",
                                                            "typeString": "address"
                                                        }
                                                    }
                                                ],
                                                "expression": {
                                                    "argumentTypes": [
                                                        {
                                                            "typeIdentifier": "t_stringliteral_c371c7db0a4b104babdbdf00d079eb75cb5aa1d401c4fb726c8e5559029df84d",
                                                            "typeString": "literal_string \"log(string,string,bool,address)\""
                                                        },
                                                        {
                                                            "typeIdentifier": "t_string_memory_ptr",
                                                            "typeString": "string memory"
                                                        },
                                                        {
                                                            "typeIdentifier": "t_string_memory_ptr",
                                                            "typeString": "string memory"
                                                        },
                                                        {
                                                            "typeIdentifier": "t_bool",
                                                            "typeString": "bool"
                                                        },
                                                        {
                                                            "typeIdentifier": "t_address",
                                                            "typeString": "address"
                                                        }
                                                    ],
                                                    "expression": {
                                                        "id": 17136,
                                                        "name": "abi",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 4294967295,
                                                        "src": "33188:3:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_magic_abi",
                                                            "typeString": "abi"
                                                        }
                                                    },
                                                    "id": 17137,
                                                    "isConstant": false,
                                                    "isLValue": false,
                                                    "isPure": true,
                                                    "lValueRequested": false,
                                                    "memberName": "encodeWithSignature",
                                                    "nodeType": "MemberAccess",
                                                    "src": "33188:23:62",
                                                    "typeDescriptions": {
                                                        "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$",
                                                        "typeString": "function (string memory) pure returns (bytes memory)"
                                                    }
                                                },
                                                "id": 17143,
                                                "isConstant": false,
                                                "isLValue": false,
                                                "isPure": false,
                                                "kind": "functionCall",
                                                "lValueRequested": false,
                                                "names": [],
                                                "nodeType": "FunctionCall",
                                                "src": "33188:74:62",
                                                "tryCall": false,
                                                "typeDescriptions": {
                                                    "typeIdentifier": "t_bytes_memory_ptr",
                                                    "typeString": "bytes memory"
                                                }
                                            }
                                        ],
                                        "expression": {
                                            "argumentTypes": [
                                                {
                                                    "typeIdentifier": "t_bytes_memory_ptr",
                                                    "typeString": "bytes memory"
                                                }
                                            ],
                                            "id": 17135,
                                            "name": "_sendLogPayload",
                                            "nodeType": "Identifier",
                                            "overloadedDeclarations": [],
                                            "referencedDeclaration": 12880,
                                            "src": "33172:15:62",
                                            "typeDescriptions": {
                                                "typeIdentifier": "t_function_internal_view$_t_bytes_memory_ptr_$returns$__$",
                                                "typeString": "function (bytes memory) view"
                                            }
                                        },
                                        "id": 17144,
                                        "isConstant": false,
                                        "isLValue": false,
                                        "isPure": false,
                                        "kind": "functionCall",
                                        "lValueRequested": false,
                                        "names": [],
                                        "nodeType": "FunctionCall",
                                        "src": "33172:91:62",
                                        "tryCall": false,
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_tuple$__$",
                                            "typeString": "tuple()"
                                        }
                                    },
                                    "id": 17145,
                                    "nodeType": "ExpressionStatement",
                                    "src": "33172:91:62"
                                }
                            ]
                        },
                        "id": 17147,
                        "implemented": true,
                        "kind": "function",
                        "modifiers": [],
                        "name": "log",
                        "nameLocation": "33093:3:62",
                        "nodeType": "FunctionDefinition",
                        "parameters": {
                            "id": 17133,
                            "nodeType": "ParameterList",
                            "parameters": [
                                {
                                    "constant": false,
                                    "id": 17126,
                                    "mutability": "mutable",
                                    "name": "p0",
                                    "nameLocation": "33111:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 17147,
                                    "src": "33097:16:62",
                                    "stateVariable": false,
                                    "storageLocation": "memory",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_string_memory_ptr",
                                        "typeString": "string"
                                    },
                                    "typeName": {
                                        "id": 17125,
                                        "name": "string",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "33097:6:62",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_string_storage_ptr",
                                            "typeString": "string"
                                        }
                                    },
                                    "visibility": "internal"
                                },
                                {
                                    "constant": false,
                                    "id": 17128,
                                    "mutability": "mutable",
                                    "name": "p1",
                                    "nameLocation": "33129:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 17147,
                                    "src": "33115:16:62",
                                    "stateVariable": false,
                                    "storageLocation": "memory",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_string_memory_ptr",
                                        "typeString": "string"
                                    },
                                    "typeName": {
                                        "id": 17127,
                                        "name": "string",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "33115:6:62",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_string_storage_ptr",
                                            "typeString": "string"
                                        }
                                    },
                                    "visibility": "internal"
                                },
                                {
                                    "constant": false,
                                    "id": 17130,
                                    "mutability": "mutable",
                                    "name": "p2",
                                    "nameLocation": "33138:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 17147,
                                    "src": "33133:7:62",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_bool",
                                        "typeString": "bool"
                                    },
                                    "typeName": {
                                        "id": 17129,
                                        "name": "bool",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "33133:4:62",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_bool",
                                            "typeString": "bool"
                                        }
                                    },
                                    "visibility": "internal"
                                },
                                {
                                    "constant": false,
                                    "id": 17132,
                                    "mutability": "mutable",
                                    "name": "p3",
                                    "nameLocation": "33150:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 17147,
                                    "src": "33142:10:62",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_address",
                                        "typeString": "address"
                                    },
                                    "typeName": {
                                        "id": 17131,
                                        "name": "address",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "33142:7:62",
                                        "stateMutability": "nonpayable",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_address",
                                            "typeString": "address"
                                        }
                                    },
                                    "visibility": "internal"
                                }
                            ],
                            "src": "33096:57:62"
                        },
                        "returnParameters": {
                            "id": 17134,
                            "nodeType": "ParameterList",
                            "parameters": [],
                            "src": "33168:0:62"
                        },
                        "scope": 20920,
                        "src": "33084:183:62",
                        "stateMutability": "view",
                        "virtual": false,
                        "visibility": "internal"
                    },
                    {
                        "body": {
                            "id": 17169,
                            "nodeType": "Block",
                            "src": "33354:99:62",
                            "statements": [
                                {
                                    "expression": {
                                        "arguments": [
                                            {
                                                "arguments": [
                                                    {
                                                        "hexValue": "6c6f6728737472696e672c737472696e672c616464726573732c75696e7429",
                                                        "id": 17161,
                                                        "isConstant": false,
                                                        "isLValue": false,
                                                        "isPure": true,
                                                        "kind": "string",
                                                        "lValueRequested": false,
                                                        "nodeType": "Literal",
                                                        "src": "33398:33:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_stringliteral_4a81a56a33247069679e8b6a463a3b29deb4b1020ce6e03b978132074cad28c2",
                                                            "typeString": "literal_string \"log(string,string,address,uint)\""
                                                        },
                                                        "value": "log(string,string,address,uint)"
                                                    },
                                                    {
                                                        "id": 17162,
                                                        "name": "p0",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 17149,
                                                        "src": "33433:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_string_memory_ptr",
                                                            "typeString": "string memory"
                                                        }
                                                    },
                                                    {
                                                        "id": 17163,
                                                        "name": "p1",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 17151,
                                                        "src": "33437:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_string_memory_ptr",
                                                            "typeString": "string memory"
                                                        }
                                                    },
                                                    {
                                                        "id": 17164,
                                                        "name": "p2",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 17153,
                                                        "src": "33441:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_address",
                                                            "typeString": "address"
                                                        }
                                                    },
                                                    {
                                                        "id": 17165,
                                                        "name": "p3",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 17155,
                                                        "src": "33445:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_uint256",
                                                            "typeString": "uint256"
                                                        }
                                                    }
                                                ],
                                                "expression": {
                                                    "argumentTypes": [
                                                        {
                                                            "typeIdentifier": "t_stringliteral_4a81a56a33247069679e8b6a463a3b29deb4b1020ce6e03b978132074cad28c2",
                                                            "typeString": "literal_string \"log(string,string,address,uint)\""
                                                        },
                                                        {
                                                            "typeIdentifier": "t_string_memory_ptr",
                                                            "typeString": "string memory"
                                                        },
                                                        {
                                                            "typeIdentifier": "t_string_memory_ptr",
                                                            "typeString": "string memory"
                                                        },
                                                        {
                                                            "typeIdentifier": "t_address",
                                                            "typeString": "address"
                                                        },
                                                        {
                                                            "typeIdentifier": "t_uint256",
                                                            "typeString": "uint256"
                                                        }
                                                    ],
                                                    "expression": {
                                                        "id": 17159,
                                                        "name": "abi",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 4294967295,
                                                        "src": "33374:3:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_magic_abi",
                                                            "typeString": "abi"
                                                        }
                                                    },
                                                    "id": 17160,
                                                    "isConstant": false,
                                                    "isLValue": false,
                                                    "isPure": true,
                                                    "lValueRequested": false,
                                                    "memberName": "encodeWithSignature",
                                                    "nodeType": "MemberAccess",
                                                    "src": "33374:23:62",
                                                    "typeDescriptions": {
                                                        "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$",
                                                        "typeString": "function (string memory) pure returns (bytes memory)"
                                                    }
                                                },
                                                "id": 17166,
                                                "isConstant": false,
                                                "isLValue": false,
                                                "isPure": false,
                                                "kind": "functionCall",
                                                "lValueRequested": false,
                                                "names": [],
                                                "nodeType": "FunctionCall",
                                                "src": "33374:74:62",
                                                "tryCall": false,
                                                "typeDescriptions": {
                                                    "typeIdentifier": "t_bytes_memory_ptr",
                                                    "typeString": "bytes memory"
                                                }
                                            }
                                        ],
                                        "expression": {
                                            "argumentTypes": [
                                                {
                                                    "typeIdentifier": "t_bytes_memory_ptr",
                                                    "typeString": "bytes memory"
                                                }
                                            ],
                                            "id": 17158,
                                            "name": "_sendLogPayload",
                                            "nodeType": "Identifier",
                                            "overloadedDeclarations": [],
                                            "referencedDeclaration": 12880,
                                            "src": "33358:15:62",
                                            "typeDescriptions": {
                                                "typeIdentifier": "t_function_internal_view$_t_bytes_memory_ptr_$returns$__$",
                                                "typeString": "function (bytes memory) view"
                                            }
                                        },
                                        "id": 17167,
                                        "isConstant": false,
                                        "isLValue": false,
                                        "isPure": false,
                                        "kind": "functionCall",
                                        "lValueRequested": false,
                                        "names": [],
                                        "nodeType": "FunctionCall",
                                        "src": "33358:91:62",
                                        "tryCall": false,
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_tuple$__$",
                                            "typeString": "tuple()"
                                        }
                                    },
                                    "id": 17168,
                                    "nodeType": "ExpressionStatement",
                                    "src": "33358:91:62"
                                }
                            ]
                        },
                        "id": 17170,
                        "implemented": true,
                        "kind": "function",
                        "modifiers": [],
                        "name": "log",
                        "nameLocation": "33279:3:62",
                        "nodeType": "FunctionDefinition",
                        "parameters": {
                            "id": 17156,
                            "nodeType": "ParameterList",
                            "parameters": [
                                {
                                    "constant": false,
                                    "id": 17149,
                                    "mutability": "mutable",
                                    "name": "p0",
                                    "nameLocation": "33297:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 17170,
                                    "src": "33283:16:62",
                                    "stateVariable": false,
                                    "storageLocation": "memory",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_string_memory_ptr",
                                        "typeString": "string"
                                    },
                                    "typeName": {
                                        "id": 17148,
                                        "name": "string",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "33283:6:62",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_string_storage_ptr",
                                            "typeString": "string"
                                        }
                                    },
                                    "visibility": "internal"
                                },
                                {
                                    "constant": false,
                                    "id": 17151,
                                    "mutability": "mutable",
                                    "name": "p1",
                                    "nameLocation": "33315:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 17170,
                                    "src": "33301:16:62",
                                    "stateVariable": false,
                                    "storageLocation": "memory",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_string_memory_ptr",
                                        "typeString": "string"
                                    },
                                    "typeName": {
                                        "id": 17150,
                                        "name": "string",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "33301:6:62",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_string_storage_ptr",
                                            "typeString": "string"
                                        }
                                    },
                                    "visibility": "internal"
                                },
                                {
                                    "constant": false,
                                    "id": 17153,
                                    "mutability": "mutable",
                                    "name": "p2",
                                    "nameLocation": "33327:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 17170,
                                    "src": "33319:10:62",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_address",
                                        "typeString": "address"
                                    },
                                    "typeName": {
                                        "id": 17152,
                                        "name": "address",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "33319:7:62",
                                        "stateMutability": "nonpayable",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_address",
                                            "typeString": "address"
                                        }
                                    },
                                    "visibility": "internal"
                                },
                                {
                                    "constant": false,
                                    "id": 17155,
                                    "mutability": "mutable",
                                    "name": "p3",
                                    "nameLocation": "33336:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 17170,
                                    "src": "33331:7:62",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_uint256",
                                        "typeString": "uint256"
                                    },
                                    "typeName": {
                                        "id": 17154,
                                        "name": "uint",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "33331:4:62",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_uint256",
                                            "typeString": "uint256"
                                        }
                                    },
                                    "visibility": "internal"
                                }
                            ],
                            "src": "33282:57:62"
                        },
                        "returnParameters": {
                            "id": 17157,
                            "nodeType": "ParameterList",
                            "parameters": [],
                            "src": "33354:0:62"
                        },
                        "scope": 20920,
                        "src": "33270:183:62",
                        "stateMutability": "view",
                        "virtual": false,
                        "visibility": "internal"
                    },
                    {
                        "body": {
                            "id": 17192,
                            "nodeType": "Block",
                            "src": "33549:101:62",
                            "statements": [
                                {
                                    "expression": {
                                        "arguments": [
                                            {
                                                "arguments": [
                                                    {
                                                        "hexValue": "6c6f6728737472696e672c737472696e672c616464726573732c737472696e6729",
                                                        "id": 17184,
                                                        "isConstant": false,
                                                        "isLValue": false,
                                                        "isPure": true,
                                                        "kind": "string",
                                                        "lValueRequested": false,
                                                        "nodeType": "Literal",
                                                        "src": "33593:35:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_stringliteral_eb1bff805ef136c60bfed230c7b932a14c6f7a62608edeaf56f8f2c0575d25b6",
                                                            "typeString": "literal_string \"log(string,string,address,string)\""
                                                        },
                                                        "value": "log(string,string,address,string)"
                                                    },
                                                    {
                                                        "id": 17185,
                                                        "name": "p0",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 17172,
                                                        "src": "33630:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_string_memory_ptr",
                                                            "typeString": "string memory"
                                                        }
                                                    },
                                                    {
                                                        "id": 17186,
                                                        "name": "p1",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 17174,
                                                        "src": "33634:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_string_memory_ptr",
                                                            "typeString": "string memory"
                                                        }
                                                    },
                                                    {
                                                        "id": 17187,
                                                        "name": "p2",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 17176,
                                                        "src": "33638:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_address",
                                                            "typeString": "address"
                                                        }
                                                    },
                                                    {
                                                        "id": 17188,
                                                        "name": "p3",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 17178,
                                                        "src": "33642:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_string_memory_ptr",
                                                            "typeString": "string memory"
                                                        }
                                                    }
                                                ],
                                                "expression": {
                                                    "argumentTypes": [
                                                        {
                                                            "typeIdentifier": "t_stringliteral_eb1bff805ef136c60bfed230c7b932a14c6f7a62608edeaf56f8f2c0575d25b6",
                                                            "typeString": "literal_string \"log(string,string,address,string)\""
                                                        },
                                                        {
                                                            "typeIdentifier": "t_string_memory_ptr",
                                                            "typeString": "string memory"
                                                        },
                                                        {
                                                            "typeIdentifier": "t_string_memory_ptr",
                                                            "typeString": "string memory"
                                                        },
                                                        {
                                                            "typeIdentifier": "t_address",
                                                            "typeString": "address"
                                                        },
                                                        {
                                                            "typeIdentifier": "t_string_memory_ptr",
                                                            "typeString": "string memory"
                                                        }
                                                    ],
                                                    "expression": {
                                                        "id": 17182,
                                                        "name": "abi",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 4294967295,
                                                        "src": "33569:3:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_magic_abi",
                                                            "typeString": "abi"
                                                        }
                                                    },
                                                    "id": 17183,
                                                    "isConstant": false,
                                                    "isLValue": false,
                                                    "isPure": true,
                                                    "lValueRequested": false,
                                                    "memberName": "encodeWithSignature",
                                                    "nodeType": "MemberAccess",
                                                    "src": "33569:23:62",
                                                    "typeDescriptions": {
                                                        "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$",
                                                        "typeString": "function (string memory) pure returns (bytes memory)"
                                                    }
                                                },
                                                "id": 17189,
                                                "isConstant": false,
                                                "isLValue": false,
                                                "isPure": false,
                                                "kind": "functionCall",
                                                "lValueRequested": false,
                                                "names": [],
                                                "nodeType": "FunctionCall",
                                                "src": "33569:76:62",
                                                "tryCall": false,
                                                "typeDescriptions": {
                                                    "typeIdentifier": "t_bytes_memory_ptr",
                                                    "typeString": "bytes memory"
                                                }
                                            }
                                        ],
                                        "expression": {
                                            "argumentTypes": [
                                                {
                                                    "typeIdentifier": "t_bytes_memory_ptr",
                                                    "typeString": "bytes memory"
                                                }
                                            ],
                                            "id": 17181,
                                            "name": "_sendLogPayload",
                                            "nodeType": "Identifier",
                                            "overloadedDeclarations": [],
                                            "referencedDeclaration": 12880,
                                            "src": "33553:15:62",
                                            "typeDescriptions": {
                                                "typeIdentifier": "t_function_internal_view$_t_bytes_memory_ptr_$returns$__$",
                                                "typeString": "function (bytes memory) view"
                                            }
                                        },
                                        "id": 17190,
                                        "isConstant": false,
                                        "isLValue": false,
                                        "isPure": false,
                                        "kind": "functionCall",
                                        "lValueRequested": false,
                                        "names": [],
                                        "nodeType": "FunctionCall",
                                        "src": "33553:93:62",
                                        "tryCall": false,
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_tuple$__$",
                                            "typeString": "tuple()"
                                        }
                                    },
                                    "id": 17191,
                                    "nodeType": "ExpressionStatement",
                                    "src": "33553:93:62"
                                }
                            ]
                        },
                        "id": 17193,
                        "implemented": true,
                        "kind": "function",
                        "modifiers": [],
                        "name": "log",
                        "nameLocation": "33465:3:62",
                        "nodeType": "FunctionDefinition",
                        "parameters": {
                            "id": 17179,
                            "nodeType": "ParameterList",
                            "parameters": [
                                {
                                    "constant": false,
                                    "id": 17172,
                                    "mutability": "mutable",
                                    "name": "p0",
                                    "nameLocation": "33483:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 17193,
                                    "src": "33469:16:62",
                                    "stateVariable": false,
                                    "storageLocation": "memory",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_string_memory_ptr",
                                        "typeString": "string"
                                    },
                                    "typeName": {
                                        "id": 17171,
                                        "name": "string",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "33469:6:62",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_string_storage_ptr",
                                            "typeString": "string"
                                        }
                                    },
                                    "visibility": "internal"
                                },
                                {
                                    "constant": false,
                                    "id": 17174,
                                    "mutability": "mutable",
                                    "name": "p1",
                                    "nameLocation": "33501:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 17193,
                                    "src": "33487:16:62",
                                    "stateVariable": false,
                                    "storageLocation": "memory",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_string_memory_ptr",
                                        "typeString": "string"
                                    },
                                    "typeName": {
                                        "id": 17173,
                                        "name": "string",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "33487:6:62",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_string_storage_ptr",
                                            "typeString": "string"
                                        }
                                    },
                                    "visibility": "internal"
                                },
                                {
                                    "constant": false,
                                    "id": 17176,
                                    "mutability": "mutable",
                                    "name": "p2",
                                    "nameLocation": "33513:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 17193,
                                    "src": "33505:10:62",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_address",
                                        "typeString": "address"
                                    },
                                    "typeName": {
                                        "id": 17175,
                                        "name": "address",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "33505:7:62",
                                        "stateMutability": "nonpayable",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_address",
                                            "typeString": "address"
                                        }
                                    },
                                    "visibility": "internal"
                                },
                                {
                                    "constant": false,
                                    "id": 17178,
                                    "mutability": "mutable",
                                    "name": "p3",
                                    "nameLocation": "33531:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 17193,
                                    "src": "33517:16:62",
                                    "stateVariable": false,
                                    "storageLocation": "memory",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_string_memory_ptr",
                                        "typeString": "string"
                                    },
                                    "typeName": {
                                        "id": 17177,
                                        "name": "string",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "33517:6:62",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_string_storage_ptr",
                                            "typeString": "string"
                                        }
                                    },
                                    "visibility": "internal"
                                }
                            ],
                            "src": "33468:66:62"
                        },
                        "returnParameters": {
                            "id": 17180,
                            "nodeType": "ParameterList",
                            "parameters": [],
                            "src": "33549:0:62"
                        },
                        "scope": 20920,
                        "src": "33456:194:62",
                        "stateMutability": "view",
                        "virtual": false,
                        "visibility": "internal"
                    },
                    {
                        "body": {
                            "id": 17215,
                            "nodeType": "Block",
                            "src": "33737:99:62",
                            "statements": [
                                {
                                    "expression": {
                                        "arguments": [
                                            {
                                                "arguments": [
                                                    {
                                                        "hexValue": "6c6f6728737472696e672c737472696e672c616464726573732c626f6f6c29",
                                                        "id": 17207,
                                                        "isConstant": false,
                                                        "isLValue": false,
                                                        "isPure": true,
                                                        "kind": "string",
                                                        "lValueRequested": false,
                                                        "nodeType": "Literal",
                                                        "src": "33781:33:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_stringliteral_5ccd4e373eb6ae26626c8607ae861c55cda5fd321363edde7e6328e09072ba63",
                                                            "typeString": "literal_string \"log(string,string,address,bool)\""
                                                        },
                                                        "value": "log(string,string,address,bool)"
                                                    },
                                                    {
                                                        "id": 17208,
                                                        "name": "p0",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 17195,
                                                        "src": "33816:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_string_memory_ptr",
                                                            "typeString": "string memory"
                                                        }
                                                    },
                                                    {
                                                        "id": 17209,
                                                        "name": "p1",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 17197,
                                                        "src": "33820:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_string_memory_ptr",
                                                            "typeString": "string memory"
                                                        }
                                                    },
                                                    {
                                                        "id": 17210,
                                                        "name": "p2",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 17199,
                                                        "src": "33824:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_address",
                                                            "typeString": "address"
                                                        }
                                                    },
                                                    {
                                                        "id": 17211,
                                                        "name": "p3",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 17201,
                                                        "src": "33828:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_bool",
                                                            "typeString": "bool"
                                                        }
                                                    }
                                                ],
                                                "expression": {
                                                    "argumentTypes": [
                                                        {
                                                            "typeIdentifier": "t_stringliteral_5ccd4e373eb6ae26626c8607ae861c55cda5fd321363edde7e6328e09072ba63",
                                                            "typeString": "literal_string \"log(string,string,address,bool)\""
                                                        },
                                                        {
                                                            "typeIdentifier": "t_string_memory_ptr",
                                                            "typeString": "string memory"
                                                        },
                                                        {
                                                            "typeIdentifier": "t_string_memory_ptr",
                                                            "typeString": "string memory"
                                                        },
                                                        {
                                                            "typeIdentifier": "t_address",
                                                            "typeString": "address"
                                                        },
                                                        {
                                                            "typeIdentifier": "t_bool",
                                                            "typeString": "bool"
                                                        }
                                                    ],
                                                    "expression": {
                                                        "id": 17205,
                                                        "name": "abi",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 4294967295,
                                                        "src": "33757:3:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_magic_abi",
                                                            "typeString": "abi"
                                                        }
                                                    },
                                                    "id": 17206,
                                                    "isConstant": false,
                                                    "isLValue": false,
                                                    "isPure": true,
                                                    "lValueRequested": false,
                                                    "memberName": "encodeWithSignature",
                                                    "nodeType": "MemberAccess",
                                                    "src": "33757:23:62",
                                                    "typeDescriptions": {
                                                        "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$",
                                                        "typeString": "function (string memory) pure returns (bytes memory)"
                                                    }
                                                },
                                                "id": 17212,
                                                "isConstant": false,
                                                "isLValue": false,
                                                "isPure": false,
                                                "kind": "functionCall",
                                                "lValueRequested": false,
                                                "names": [],
                                                "nodeType": "FunctionCall",
                                                "src": "33757:74:62",
                                                "tryCall": false,
                                                "typeDescriptions": {
                                                    "typeIdentifier": "t_bytes_memory_ptr",
                                                    "typeString": "bytes memory"
                                                }
                                            }
                                        ],
                                        "expression": {
                                            "argumentTypes": [
                                                {
                                                    "typeIdentifier": "t_bytes_memory_ptr",
                                                    "typeString": "bytes memory"
                                                }
                                            ],
                                            "id": 17204,
                                            "name": "_sendLogPayload",
                                            "nodeType": "Identifier",
                                            "overloadedDeclarations": [],
                                            "referencedDeclaration": 12880,
                                            "src": "33741:15:62",
                                            "typeDescriptions": {
                                                "typeIdentifier": "t_function_internal_view$_t_bytes_memory_ptr_$returns$__$",
                                                "typeString": "function (bytes memory) view"
                                            }
                                        },
                                        "id": 17213,
                                        "isConstant": false,
                                        "isLValue": false,
                                        "isPure": false,
                                        "kind": "functionCall",
                                        "lValueRequested": false,
                                        "names": [],
                                        "nodeType": "FunctionCall",
                                        "src": "33741:91:62",
                                        "tryCall": false,
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_tuple$__$",
                                            "typeString": "tuple()"
                                        }
                                    },
                                    "id": 17214,
                                    "nodeType": "ExpressionStatement",
                                    "src": "33741:91:62"
                                }
                            ]
                        },
                        "id": 17216,
                        "implemented": true,
                        "kind": "function",
                        "modifiers": [],
                        "name": "log",
                        "nameLocation": "33662:3:62",
                        "nodeType": "FunctionDefinition",
                        "parameters": {
                            "id": 17202,
                            "nodeType": "ParameterList",
                            "parameters": [
                                {
                                    "constant": false,
                                    "id": 17195,
                                    "mutability": "mutable",
                                    "name": "p0",
                                    "nameLocation": "33680:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 17216,
                                    "src": "33666:16:62",
                                    "stateVariable": false,
                                    "storageLocation": "memory",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_string_memory_ptr",
                                        "typeString": "string"
                                    },
                                    "typeName": {
                                        "id": 17194,
                                        "name": "string",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "33666:6:62",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_string_storage_ptr",
                                            "typeString": "string"
                                        }
                                    },
                                    "visibility": "internal"
                                },
                                {
                                    "constant": false,
                                    "id": 17197,
                                    "mutability": "mutable",
                                    "name": "p1",
                                    "nameLocation": "33698:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 17216,
                                    "src": "33684:16:62",
                                    "stateVariable": false,
                                    "storageLocation": "memory",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_string_memory_ptr",
                                        "typeString": "string"
                                    },
                                    "typeName": {
                                        "id": 17196,
                                        "name": "string",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "33684:6:62",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_string_storage_ptr",
                                            "typeString": "string"
                                        }
                                    },
                                    "visibility": "internal"
                                },
                                {
                                    "constant": false,
                                    "id": 17199,
                                    "mutability": "mutable",
                                    "name": "p2",
                                    "nameLocation": "33710:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 17216,
                                    "src": "33702:10:62",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_address",
                                        "typeString": "address"
                                    },
                                    "typeName": {
                                        "id": 17198,
                                        "name": "address",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "33702:7:62",
                                        "stateMutability": "nonpayable",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_address",
                                            "typeString": "address"
                                        }
                                    },
                                    "visibility": "internal"
                                },
                                {
                                    "constant": false,
                                    "id": 17201,
                                    "mutability": "mutable",
                                    "name": "p3",
                                    "nameLocation": "33719:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 17216,
                                    "src": "33714:7:62",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_bool",
                                        "typeString": "bool"
                                    },
                                    "typeName": {
                                        "id": 17200,
                                        "name": "bool",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "33714:4:62",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_bool",
                                            "typeString": "bool"
                                        }
                                    },
                                    "visibility": "internal"
                                }
                            ],
                            "src": "33665:57:62"
                        },
                        "returnParameters": {
                            "id": 17203,
                            "nodeType": "ParameterList",
                            "parameters": [],
                            "src": "33737:0:62"
                        },
                        "scope": 20920,
                        "src": "33653:183:62",
                        "stateMutability": "view",
                        "virtual": false,
                        "visibility": "internal"
                    },
                    {
                        "body": {
                            "id": 17238,
                            "nodeType": "Block",
                            "src": "33926:102:62",
                            "statements": [
                                {
                                    "expression": {
                                        "arguments": [
                                            {
                                                "arguments": [
                                                    {
                                                        "hexValue": "6c6f6728737472696e672c737472696e672c616464726573732c6164647265737329",
                                                        "id": 17230,
                                                        "isConstant": false,
                                                        "isLValue": false,
                                                        "isPure": true,
                                                        "kind": "string",
                                                        "lValueRequested": false,
                                                        "nodeType": "Literal",
                                                        "src": "33970:36:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_stringliteral_439c7befd1b6bfcb9bd001c1f3a991ef43c070f0ace0c190dd9f16d7ae338a5d",
                                                            "typeString": "literal_string \"log(string,string,address,address)\""
                                                        },
                                                        "value": "log(string,string,address,address)"
                                                    },
                                                    {
                                                        "id": 17231,
                                                        "name": "p0",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 17218,
                                                        "src": "34008:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_string_memory_ptr",
                                                            "typeString": "string memory"
                                                        }
                                                    },
                                                    {
                                                        "id": 17232,
                                                        "name": "p1",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 17220,
                                                        "src": "34012:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_string_memory_ptr",
                                                            "typeString": "string memory"
                                                        }
                                                    },
                                                    {
                                                        "id": 17233,
                                                        "name": "p2",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 17222,
                                                        "src": "34016:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_address",
                                                            "typeString": "address"
                                                        }
                                                    },
                                                    {
                                                        "id": 17234,
                                                        "name": "p3",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 17224,
                                                        "src": "34020:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_address",
                                                            "typeString": "address"
                                                        }
                                                    }
                                                ],
                                                "expression": {
                                                    "argumentTypes": [
                                                        {
                                                            "typeIdentifier": "t_stringliteral_439c7befd1b6bfcb9bd001c1f3a991ef43c070f0ace0c190dd9f16d7ae338a5d",
                                                            "typeString": "literal_string \"log(string,string,address,address)\""
                                                        },
                                                        {
                                                            "typeIdentifier": "t_string_memory_ptr",
                                                            "typeString": "string memory"
                                                        },
                                                        {
                                                            "typeIdentifier": "t_string_memory_ptr",
                                                            "typeString": "string memory"
                                                        },
                                                        {
                                                            "typeIdentifier": "t_address",
                                                            "typeString": "address"
                                                        },
                                                        {
                                                            "typeIdentifier": "t_address",
                                                            "typeString": "address"
                                                        }
                                                    ],
                                                    "expression": {
                                                        "id": 17228,
                                                        "name": "abi",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 4294967295,
                                                        "src": "33946:3:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_magic_abi",
                                                            "typeString": "abi"
                                                        }
                                                    },
                                                    "id": 17229,
                                                    "isConstant": false,
                                                    "isLValue": false,
                                                    "isPure": true,
                                                    "lValueRequested": false,
                                                    "memberName": "encodeWithSignature",
                                                    "nodeType": "MemberAccess",
                                                    "src": "33946:23:62",
                                                    "typeDescriptions": {
                                                        "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$",
                                                        "typeString": "function (string memory) pure returns (bytes memory)"
                                                    }
                                                },
                                                "id": 17235,
                                                "isConstant": false,
                                                "isLValue": false,
                                                "isPure": false,
                                                "kind": "functionCall",
                                                "lValueRequested": false,
                                                "names": [],
                                                "nodeType": "FunctionCall",
                                                "src": "33946:77:62",
                                                "tryCall": false,
                                                "typeDescriptions": {
                                                    "typeIdentifier": "t_bytes_memory_ptr",
                                                    "typeString": "bytes memory"
                                                }
                                            }
                                        ],
                                        "expression": {
                                            "argumentTypes": [
                                                {
                                                    "typeIdentifier": "t_bytes_memory_ptr",
                                                    "typeString": "bytes memory"
                                                }
                                            ],
                                            "id": 17227,
                                            "name": "_sendLogPayload",
                                            "nodeType": "Identifier",
                                            "overloadedDeclarations": [],
                                            "referencedDeclaration": 12880,
                                            "src": "33930:15:62",
                                            "typeDescriptions": {
                                                "typeIdentifier": "t_function_internal_view$_t_bytes_memory_ptr_$returns$__$",
                                                "typeString": "function (bytes memory) view"
                                            }
                                        },
                                        "id": 17236,
                                        "isConstant": false,
                                        "isLValue": false,
                                        "isPure": false,
                                        "kind": "functionCall",
                                        "lValueRequested": false,
                                        "names": [],
                                        "nodeType": "FunctionCall",
                                        "src": "33930:94:62",
                                        "tryCall": false,
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_tuple$__$",
                                            "typeString": "tuple()"
                                        }
                                    },
                                    "id": 17237,
                                    "nodeType": "ExpressionStatement",
                                    "src": "33930:94:62"
                                }
                            ]
                        },
                        "id": 17239,
                        "implemented": true,
                        "kind": "function",
                        "modifiers": [],
                        "name": "log",
                        "nameLocation": "33848:3:62",
                        "nodeType": "FunctionDefinition",
                        "parameters": {
                            "id": 17225,
                            "nodeType": "ParameterList",
                            "parameters": [
                                {
                                    "constant": false,
                                    "id": 17218,
                                    "mutability": "mutable",
                                    "name": "p0",
                                    "nameLocation": "33866:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 17239,
                                    "src": "33852:16:62",
                                    "stateVariable": false,
                                    "storageLocation": "memory",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_string_memory_ptr",
                                        "typeString": "string"
                                    },
                                    "typeName": {
                                        "id": 17217,
                                        "name": "string",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "33852:6:62",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_string_storage_ptr",
                                            "typeString": "string"
                                        }
                                    },
                                    "visibility": "internal"
                                },
                                {
                                    "constant": false,
                                    "id": 17220,
                                    "mutability": "mutable",
                                    "name": "p1",
                                    "nameLocation": "33884:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 17239,
                                    "src": "33870:16:62",
                                    "stateVariable": false,
                                    "storageLocation": "memory",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_string_memory_ptr",
                                        "typeString": "string"
                                    },
                                    "typeName": {
                                        "id": 17219,
                                        "name": "string",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "33870:6:62",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_string_storage_ptr",
                                            "typeString": "string"
                                        }
                                    },
                                    "visibility": "internal"
                                },
                                {
                                    "constant": false,
                                    "id": 17222,
                                    "mutability": "mutable",
                                    "name": "p2",
                                    "nameLocation": "33896:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 17239,
                                    "src": "33888:10:62",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_address",
                                        "typeString": "address"
                                    },
                                    "typeName": {
                                        "id": 17221,
                                        "name": "address",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "33888:7:62",
                                        "stateMutability": "nonpayable",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_address",
                                            "typeString": "address"
                                        }
                                    },
                                    "visibility": "internal"
                                },
                                {
                                    "constant": false,
                                    "id": 17224,
                                    "mutability": "mutable",
                                    "name": "p3",
                                    "nameLocation": "33908:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 17239,
                                    "src": "33900:10:62",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_address",
                                        "typeString": "address"
                                    },
                                    "typeName": {
                                        "id": 17223,
                                        "name": "address",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "33900:7:62",
                                        "stateMutability": "nonpayable",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_address",
                                            "typeString": "address"
                                        }
                                    },
                                    "visibility": "internal"
                                }
                            ],
                            "src": "33851:60:62"
                        },
                        "returnParameters": {
                            "id": 17226,
                            "nodeType": "ParameterList",
                            "parameters": [],
                            "src": "33926:0:62"
                        },
                        "scope": 20920,
                        "src": "33839:189:62",
                        "stateMutability": "view",
                        "virtual": false,
                        "visibility": "internal"
                    },
                    {
                        "body": {
                            "id": 17261,
                            "nodeType": "Block",
                            "src": "34103:94:62",
                            "statements": [
                                {
                                    "expression": {
                                        "arguments": [
                                            {
                                                "arguments": [
                                                    {
                                                        "hexValue": "6c6f6728737472696e672c626f6f6c2c75696e742c75696e7429",
                                                        "id": 17253,
                                                        "isConstant": false,
                                                        "isLValue": false,
                                                        "isPure": true,
                                                        "kind": "string",
                                                        "lValueRequested": false,
                                                        "nodeType": "Literal",
                                                        "src": "34147:28:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_stringliteral_5dbff038873b5f716761e9dcaab0713a903ceaebb2ba8c30b199c4dc534f7701",
                                                            "typeString": "literal_string \"log(string,bool,uint,uint)\""
                                                        },
                                                        "value": "log(string,bool,uint,uint)"
                                                    },
                                                    {
                                                        "id": 17254,
                                                        "name": "p0",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 17241,
                                                        "src": "34177:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_string_memory_ptr",
                                                            "typeString": "string memory"
                                                        }
                                                    },
                                                    {
                                                        "id": 17255,
                                                        "name": "p1",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 17243,
                                                        "src": "34181:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_bool",
                                                            "typeString": "bool"
                                                        }
                                                    },
                                                    {
                                                        "id": 17256,
                                                        "name": "p2",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 17245,
                                                        "src": "34185:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_uint256",
                                                            "typeString": "uint256"
                                                        }
                                                    },
                                                    {
                                                        "id": 17257,
                                                        "name": "p3",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 17247,
                                                        "src": "34189:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_uint256",
                                                            "typeString": "uint256"
                                                        }
                                                    }
                                                ],
                                                "expression": {
                                                    "argumentTypes": [
                                                        {
                                                            "typeIdentifier": "t_stringliteral_5dbff038873b5f716761e9dcaab0713a903ceaebb2ba8c30b199c4dc534f7701",
                                                            "typeString": "literal_string \"log(string,bool,uint,uint)\""
                                                        },
                                                        {
                                                            "typeIdentifier": "t_string_memory_ptr",
                                                            "typeString": "string memory"
                                                        },
                                                        {
                                                            "typeIdentifier": "t_bool",
                                                            "typeString": "bool"
                                                        },
                                                        {
                                                            "typeIdentifier": "t_uint256",
                                                            "typeString": "uint256"
                                                        },
                                                        {
                                                            "typeIdentifier": "t_uint256",
                                                            "typeString": "uint256"
                                                        }
                                                    ],
                                                    "expression": {
                                                        "id": 17251,
                                                        "name": "abi",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 4294967295,
                                                        "src": "34123:3:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_magic_abi",
                                                            "typeString": "abi"
                                                        }
                                                    },
                                                    "id": 17252,
                                                    "isConstant": false,
                                                    "isLValue": false,
                                                    "isPure": true,
                                                    "lValueRequested": false,
                                                    "memberName": "encodeWithSignature",
                                                    "nodeType": "MemberAccess",
                                                    "src": "34123:23:62",
                                                    "typeDescriptions": {
                                                        "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$",
                                                        "typeString": "function (string memory) pure returns (bytes memory)"
                                                    }
                                                },
                                                "id": 17258,
                                                "isConstant": false,
                                                "isLValue": false,
                                                "isPure": false,
                                                "kind": "functionCall",
                                                "lValueRequested": false,
                                                "names": [],
                                                "nodeType": "FunctionCall",
                                                "src": "34123:69:62",
                                                "tryCall": false,
                                                "typeDescriptions": {
                                                    "typeIdentifier": "t_bytes_memory_ptr",
                                                    "typeString": "bytes memory"
                                                }
                                            }
                                        ],
                                        "expression": {
                                            "argumentTypes": [
                                                {
                                                    "typeIdentifier": "t_bytes_memory_ptr",
                                                    "typeString": "bytes memory"
                                                }
                                            ],
                                            "id": 17250,
                                            "name": "_sendLogPayload",
                                            "nodeType": "Identifier",
                                            "overloadedDeclarations": [],
                                            "referencedDeclaration": 12880,
                                            "src": "34107:15:62",
                                            "typeDescriptions": {
                                                "typeIdentifier": "t_function_internal_view$_t_bytes_memory_ptr_$returns$__$",
                                                "typeString": "function (bytes memory) view"
                                            }
                                        },
                                        "id": 17259,
                                        "isConstant": false,
                                        "isLValue": false,
                                        "isPure": false,
                                        "kind": "functionCall",
                                        "lValueRequested": false,
                                        "names": [],
                                        "nodeType": "FunctionCall",
                                        "src": "34107:86:62",
                                        "tryCall": false,
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_tuple$__$",
                                            "typeString": "tuple()"
                                        }
                                    },
                                    "id": 17260,
                                    "nodeType": "ExpressionStatement",
                                    "src": "34107:86:62"
                                }
                            ]
                        },
                        "id": 17262,
                        "implemented": true,
                        "kind": "function",
                        "modifiers": [],
                        "name": "log",
                        "nameLocation": "34040:3:62",
                        "nodeType": "FunctionDefinition",
                        "parameters": {
                            "id": 17248,
                            "nodeType": "ParameterList",
                            "parameters": [
                                {
                                    "constant": false,
                                    "id": 17241,
                                    "mutability": "mutable",
                                    "name": "p0",
                                    "nameLocation": "34058:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 17262,
                                    "src": "34044:16:62",
                                    "stateVariable": false,
                                    "storageLocation": "memory",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_string_memory_ptr",
                                        "typeString": "string"
                                    },
                                    "typeName": {
                                        "id": 17240,
                                        "name": "string",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "34044:6:62",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_string_storage_ptr",
                                            "typeString": "string"
                                        }
                                    },
                                    "visibility": "internal"
                                },
                                {
                                    "constant": false,
                                    "id": 17243,
                                    "mutability": "mutable",
                                    "name": "p1",
                                    "nameLocation": "34067:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 17262,
                                    "src": "34062:7:62",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_bool",
                                        "typeString": "bool"
                                    },
                                    "typeName": {
                                        "id": 17242,
                                        "name": "bool",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "34062:4:62",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_bool",
                                            "typeString": "bool"
                                        }
                                    },
                                    "visibility": "internal"
                                },
                                {
                                    "constant": false,
                                    "id": 17245,
                                    "mutability": "mutable",
                                    "name": "p2",
                                    "nameLocation": "34076:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 17262,
                                    "src": "34071:7:62",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_uint256",
                                        "typeString": "uint256"
                                    },
                                    "typeName": {
                                        "id": 17244,
                                        "name": "uint",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "34071:4:62",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_uint256",
                                            "typeString": "uint256"
                                        }
                                    },
                                    "visibility": "internal"
                                },
                                {
                                    "constant": false,
                                    "id": 17247,
                                    "mutability": "mutable",
                                    "name": "p3",
                                    "nameLocation": "34085:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 17262,
                                    "src": "34080:7:62",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_uint256",
                                        "typeString": "uint256"
                                    },
                                    "typeName": {
                                        "id": 17246,
                                        "name": "uint",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "34080:4:62",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_uint256",
                                            "typeString": "uint256"
                                        }
                                    },
                                    "visibility": "internal"
                                }
                            ],
                            "src": "34043:45:62"
                        },
                        "returnParameters": {
                            "id": 17249,
                            "nodeType": "ParameterList",
                            "parameters": [],
                            "src": "34103:0:62"
                        },
                        "scope": 20920,
                        "src": "34031:166:62",
                        "stateMutability": "view",
                        "virtual": false,
                        "visibility": "internal"
                    },
                    {
                        "body": {
                            "id": 17284,
                            "nodeType": "Block",
                            "src": "34281:96:62",
                            "statements": [
                                {
                                    "expression": {
                                        "arguments": [
                                            {
                                                "arguments": [
                                                    {
                                                        "hexValue": "6c6f6728737472696e672c626f6f6c2c75696e742c737472696e6729",
                                                        "id": 17276,
                                                        "isConstant": false,
                                                        "isLValue": false,
                                                        "isPure": true,
                                                        "kind": "string",
                                                        "lValueRequested": false,
                                                        "nodeType": "Literal",
                                                        "src": "34325:30:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_stringliteral_42b9a2274d0e9ab9211da679bc79f433c4055060036260a350e95cf10b9004ee",
                                                            "typeString": "literal_string \"log(string,bool,uint,string)\""
                                                        },
                                                        "value": "log(string,bool,uint,string)"
                                                    },
                                                    {
                                                        "id": 17277,
                                                        "name": "p0",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 17264,
                                                        "src": "34357:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_string_memory_ptr",
                                                            "typeString": "string memory"
                                                        }
                                                    },
                                                    {
                                                        "id": 17278,
                                                        "name": "p1",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 17266,
                                                        "src": "34361:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_bool",
                                                            "typeString": "bool"
                                                        }
                                                    },
                                                    {
                                                        "id": 17279,
                                                        "name": "p2",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 17268,
                                                        "src": "34365:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_uint256",
                                                            "typeString": "uint256"
                                                        }
                                                    },
                                                    {
                                                        "id": 17280,
                                                        "name": "p3",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 17270,
                                                        "src": "34369:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_string_memory_ptr",
                                                            "typeString": "string memory"
                                                        }
                                                    }
                                                ],
                                                "expression": {
                                                    "argumentTypes": [
                                                        {
                                                            "typeIdentifier": "t_stringliteral_42b9a2274d0e9ab9211da679bc79f433c4055060036260a350e95cf10b9004ee",
                                                            "typeString": "literal_string \"log(string,bool,uint,string)\""
                                                        },
                                                        {
                                                            "typeIdentifier": "t_string_memory_ptr",
                                                            "typeString": "string memory"
                                                        },
                                                        {
                                                            "typeIdentifier": "t_bool",
                                                            "typeString": "bool"
                                                        },
                                                        {
                                                            "typeIdentifier": "t_uint256",
                                                            "typeString": "uint256"
                                                        },
                                                        {
                                                            "typeIdentifier": "t_string_memory_ptr",
                                                            "typeString": "string memory"
                                                        }
                                                    ],
                                                    "expression": {
                                                        "id": 17274,
                                                        "name": "abi",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 4294967295,
                                                        "src": "34301:3:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_magic_abi",
                                                            "typeString": "abi"
                                                        }
                                                    },
                                                    "id": 17275,
                                                    "isConstant": false,
                                                    "isLValue": false,
                                                    "isPure": true,
                                                    "lValueRequested": false,
                                                    "memberName": "encodeWithSignature",
                                                    "nodeType": "MemberAccess",
                                                    "src": "34301:23:62",
                                                    "typeDescriptions": {
                                                        "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$",
                                                        "typeString": "function (string memory) pure returns (bytes memory)"
                                                    }
                                                },
                                                "id": 17281,
                                                "isConstant": false,
                                                "isLValue": false,
                                                "isPure": false,
                                                "kind": "functionCall",
                                                "lValueRequested": false,
                                                "names": [],
                                                "nodeType": "FunctionCall",
                                                "src": "34301:71:62",
                                                "tryCall": false,
                                                "typeDescriptions": {
                                                    "typeIdentifier": "t_bytes_memory_ptr",
                                                    "typeString": "bytes memory"
                                                }
                                            }
                                        ],
                                        "expression": {
                                            "argumentTypes": [
                                                {
                                                    "typeIdentifier": "t_bytes_memory_ptr",
                                                    "typeString": "bytes memory"
                                                }
                                            ],
                                            "id": 17273,
                                            "name": "_sendLogPayload",
                                            "nodeType": "Identifier",
                                            "overloadedDeclarations": [],
                                            "referencedDeclaration": 12880,
                                            "src": "34285:15:62",
                                            "typeDescriptions": {
                                                "typeIdentifier": "t_function_internal_view$_t_bytes_memory_ptr_$returns$__$",
                                                "typeString": "function (bytes memory) view"
                                            }
                                        },
                                        "id": 17282,
                                        "isConstant": false,
                                        "isLValue": false,
                                        "isPure": false,
                                        "kind": "functionCall",
                                        "lValueRequested": false,
                                        "names": [],
                                        "nodeType": "FunctionCall",
                                        "src": "34285:88:62",
                                        "tryCall": false,
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_tuple$__$",
                                            "typeString": "tuple()"
                                        }
                                    },
                                    "id": 17283,
                                    "nodeType": "ExpressionStatement",
                                    "src": "34285:88:62"
                                }
                            ]
                        },
                        "id": 17285,
                        "implemented": true,
                        "kind": "function",
                        "modifiers": [],
                        "name": "log",
                        "nameLocation": "34209:3:62",
                        "nodeType": "FunctionDefinition",
                        "parameters": {
                            "id": 17271,
                            "nodeType": "ParameterList",
                            "parameters": [
                                {
                                    "constant": false,
                                    "id": 17264,
                                    "mutability": "mutable",
                                    "name": "p0",
                                    "nameLocation": "34227:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 17285,
                                    "src": "34213:16:62",
                                    "stateVariable": false,
                                    "storageLocation": "memory",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_string_memory_ptr",
                                        "typeString": "string"
                                    },
                                    "typeName": {
                                        "id": 17263,
                                        "name": "string",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "34213:6:62",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_string_storage_ptr",
                                            "typeString": "string"
                                        }
                                    },
                                    "visibility": "internal"
                                },
                                {
                                    "constant": false,
                                    "id": 17266,
                                    "mutability": "mutable",
                                    "name": "p1",
                                    "nameLocation": "34236:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 17285,
                                    "src": "34231:7:62",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_bool",
                                        "typeString": "bool"
                                    },
                                    "typeName": {
                                        "id": 17265,
                                        "name": "bool",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "34231:4:62",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_bool",
                                            "typeString": "bool"
                                        }
                                    },
                                    "visibility": "internal"
                                },
                                {
                                    "constant": false,
                                    "id": 17268,
                                    "mutability": "mutable",
                                    "name": "p2",
                                    "nameLocation": "34245:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 17285,
                                    "src": "34240:7:62",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_uint256",
                                        "typeString": "uint256"
                                    },
                                    "typeName": {
                                        "id": 17267,
                                        "name": "uint",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "34240:4:62",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_uint256",
                                            "typeString": "uint256"
                                        }
                                    },
                                    "visibility": "internal"
                                },
                                {
                                    "constant": false,
                                    "id": 17270,
                                    "mutability": "mutable",
                                    "name": "p3",
                                    "nameLocation": "34263:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 17285,
                                    "src": "34249:16:62",
                                    "stateVariable": false,
                                    "storageLocation": "memory",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_string_memory_ptr",
                                        "typeString": "string"
                                    },
                                    "typeName": {
                                        "id": 17269,
                                        "name": "string",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "34249:6:62",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_string_storage_ptr",
                                            "typeString": "string"
                                        }
                                    },
                                    "visibility": "internal"
                                }
                            ],
                            "src": "34212:54:62"
                        },
                        "returnParameters": {
                            "id": 17272,
                            "nodeType": "ParameterList",
                            "parameters": [],
                            "src": "34281:0:62"
                        },
                        "scope": 20920,
                        "src": "34200:177:62",
                        "stateMutability": "view",
                        "virtual": false,
                        "visibility": "internal"
                    },
                    {
                        "body": {
                            "id": 17307,
                            "nodeType": "Block",
                            "src": "34452:94:62",
                            "statements": [
                                {
                                    "expression": {
                                        "arguments": [
                                            {
                                                "arguments": [
                                                    {
                                                        "hexValue": "6c6f6728737472696e672c626f6f6c2c75696e742c626f6f6c29",
                                                        "id": 17299,
                                                        "isConstant": false,
                                                        "isLValue": false,
                                                        "isPure": true,
                                                        "kind": "string",
                                                        "lValueRequested": false,
                                                        "nodeType": "Literal",
                                                        "src": "34496:28:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_stringliteral_3cc5b5d38fa67d61ad4f760e2dab344ea54d36d39a7b72ff747c1e117e2289bb",
                                                            "typeString": "literal_string \"log(string,bool,uint,bool)\""
                                                        },
                                                        "value": "log(string,bool,uint,bool)"
                                                    },
                                                    {
                                                        "id": 17300,
                                                        "name": "p0",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 17287,
                                                        "src": "34526:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_string_memory_ptr",
                                                            "typeString": "string memory"
                                                        }
                                                    },
                                                    {
                                                        "id": 17301,
                                                        "name": "p1",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 17289,
                                                        "src": "34530:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_bool",
                                                            "typeString": "bool"
                                                        }
                                                    },
                                                    {
                                                        "id": 17302,
                                                        "name": "p2",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 17291,
                                                        "src": "34534:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_uint256",
                                                            "typeString": "uint256"
                                                        }
                                                    },
                                                    {
                                                        "id": 17303,
                                                        "name": "p3",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 17293,
                                                        "src": "34538:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_bool",
                                                            "typeString": "bool"
                                                        }
                                                    }
                                                ],
                                                "expression": {
                                                    "argumentTypes": [
                                                        {
                                                            "typeIdentifier": "t_stringliteral_3cc5b5d38fa67d61ad4f760e2dab344ea54d36d39a7b72ff747c1e117e2289bb",
                                                            "typeString": "literal_string \"log(string,bool,uint,bool)\""
                                                        },
                                                        {
                                                            "typeIdentifier": "t_string_memory_ptr",
                                                            "typeString": "string memory"
                                                        },
                                                        {
                                                            "typeIdentifier": "t_bool",
                                                            "typeString": "bool"
                                                        },
                                                        {
                                                            "typeIdentifier": "t_uint256",
                                                            "typeString": "uint256"
                                                        },
                                                        {
                                                            "typeIdentifier": "t_bool",
                                                            "typeString": "bool"
                                                        }
                                                    ],
                                                    "expression": {
                                                        "id": 17297,
                                                        "name": "abi",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 4294967295,
                                                        "src": "34472:3:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_magic_abi",
                                                            "typeString": "abi"
                                                        }
                                                    },
                                                    "id": 17298,
                                                    "isConstant": false,
                                                    "isLValue": false,
                                                    "isPure": true,
                                                    "lValueRequested": false,
                                                    "memberName": "encodeWithSignature",
                                                    "nodeType": "MemberAccess",
                                                    "src": "34472:23:62",
                                                    "typeDescriptions": {
                                                        "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$",
                                                        "typeString": "function (string memory) pure returns (bytes memory)"
                                                    }
                                                },
                                                "id": 17304,
                                                "isConstant": false,
                                                "isLValue": false,
                                                "isPure": false,
                                                "kind": "functionCall",
                                                "lValueRequested": false,
                                                "names": [],
                                                "nodeType": "FunctionCall",
                                                "src": "34472:69:62",
                                                "tryCall": false,
                                                "typeDescriptions": {
                                                    "typeIdentifier": "t_bytes_memory_ptr",
                                                    "typeString": "bytes memory"
                                                }
                                            }
                                        ],
                                        "expression": {
                                            "argumentTypes": [
                                                {
                                                    "typeIdentifier": "t_bytes_memory_ptr",
                                                    "typeString": "bytes memory"
                                                }
                                            ],
                                            "id": 17296,
                                            "name": "_sendLogPayload",
                                            "nodeType": "Identifier",
                                            "overloadedDeclarations": [],
                                            "referencedDeclaration": 12880,
                                            "src": "34456:15:62",
                                            "typeDescriptions": {
                                                "typeIdentifier": "t_function_internal_view$_t_bytes_memory_ptr_$returns$__$",
                                                "typeString": "function (bytes memory) view"
                                            }
                                        },
                                        "id": 17305,
                                        "isConstant": false,
                                        "isLValue": false,
                                        "isPure": false,
                                        "kind": "functionCall",
                                        "lValueRequested": false,
                                        "names": [],
                                        "nodeType": "FunctionCall",
                                        "src": "34456:86:62",
                                        "tryCall": false,
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_tuple$__$",
                                            "typeString": "tuple()"
                                        }
                                    },
                                    "id": 17306,
                                    "nodeType": "ExpressionStatement",
                                    "src": "34456:86:62"
                                }
                            ]
                        },
                        "id": 17308,
                        "implemented": true,
                        "kind": "function",
                        "modifiers": [],
                        "name": "log",
                        "nameLocation": "34389:3:62",
                        "nodeType": "FunctionDefinition",
                        "parameters": {
                            "id": 17294,
                            "nodeType": "ParameterList",
                            "parameters": [
                                {
                                    "constant": false,
                                    "id": 17287,
                                    "mutability": "mutable",
                                    "name": "p0",
                                    "nameLocation": "34407:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 17308,
                                    "src": "34393:16:62",
                                    "stateVariable": false,
                                    "storageLocation": "memory",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_string_memory_ptr",
                                        "typeString": "string"
                                    },
                                    "typeName": {
                                        "id": 17286,
                                        "name": "string",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "34393:6:62",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_string_storage_ptr",
                                            "typeString": "string"
                                        }
                                    },
                                    "visibility": "internal"
                                },
                                {
                                    "constant": false,
                                    "id": 17289,
                                    "mutability": "mutable",
                                    "name": "p1",
                                    "nameLocation": "34416:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 17308,
                                    "src": "34411:7:62",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_bool",
                                        "typeString": "bool"
                                    },
                                    "typeName": {
                                        "id": 17288,
                                        "name": "bool",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "34411:4:62",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_bool",
                                            "typeString": "bool"
                                        }
                                    },
                                    "visibility": "internal"
                                },
                                {
                                    "constant": false,
                                    "id": 17291,
                                    "mutability": "mutable",
                                    "name": "p2",
                                    "nameLocation": "34425:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 17308,
                                    "src": "34420:7:62",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_uint256",
                                        "typeString": "uint256"
                                    },
                                    "typeName": {
                                        "id": 17290,
                                        "name": "uint",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "34420:4:62",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_uint256",
                                            "typeString": "uint256"
                                        }
                                    },
                                    "visibility": "internal"
                                },
                                {
                                    "constant": false,
                                    "id": 17293,
                                    "mutability": "mutable",
                                    "name": "p3",
                                    "nameLocation": "34434:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 17308,
                                    "src": "34429:7:62",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_bool",
                                        "typeString": "bool"
                                    },
                                    "typeName": {
                                        "id": 17292,
                                        "name": "bool",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "34429:4:62",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_bool",
                                            "typeString": "bool"
                                        }
                                    },
                                    "visibility": "internal"
                                }
                            ],
                            "src": "34392:45:62"
                        },
                        "returnParameters": {
                            "id": 17295,
                            "nodeType": "ParameterList",
                            "parameters": [],
                            "src": "34452:0:62"
                        },
                        "scope": 20920,
                        "src": "34380:166:62",
                        "stateMutability": "view",
                        "virtual": false,
                        "visibility": "internal"
                    },
                    {
                        "body": {
                            "id": 17330,
                            "nodeType": "Block",
                            "src": "34624:97:62",
                            "statements": [
                                {
                                    "expression": {
                                        "arguments": [
                                            {
                                                "arguments": [
                                                    {
                                                        "hexValue": "6c6f6728737472696e672c626f6f6c2c75696e742c6164647265737329",
                                                        "id": 17322,
                                                        "isConstant": false,
                                                        "isLValue": false,
                                                        "isPure": true,
                                                        "kind": "string",
                                                        "lValueRequested": false,
                                                        "nodeType": "Literal",
                                                        "src": "34668:31:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_stringliteral_71d3850da171f493bcf1bd9faa0694f71484214d8459bca427251a9ad3e9bbd6",
                                                            "typeString": "literal_string \"log(string,bool,uint,address)\""
                                                        },
                                                        "value": "log(string,bool,uint,address)"
                                                    },
                                                    {
                                                        "id": 17323,
                                                        "name": "p0",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 17310,
                                                        "src": "34701:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_string_memory_ptr",
                                                            "typeString": "string memory"
                                                        }
                                                    },
                                                    {
                                                        "id": 17324,
                                                        "name": "p1",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 17312,
                                                        "src": "34705:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_bool",
                                                            "typeString": "bool"
                                                        }
                                                    },
                                                    {
                                                        "id": 17325,
                                                        "name": "p2",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 17314,
                                                        "src": "34709:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_uint256",
                                                            "typeString": "uint256"
                                                        }
                                                    },
                                                    {
                                                        "id": 17326,
                                                        "name": "p3",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 17316,
                                                        "src": "34713:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_address",
                                                            "typeString": "address"
                                                        }
                                                    }
                                                ],
                                                "expression": {
                                                    "argumentTypes": [
                                                        {
                                                            "typeIdentifier": "t_stringliteral_71d3850da171f493bcf1bd9faa0694f71484214d8459bca427251a9ad3e9bbd6",
                                                            "typeString": "literal_string \"log(string,bool,uint,address)\""
                                                        },
                                                        {
                                                            "typeIdentifier": "t_string_memory_ptr",
                                                            "typeString": "string memory"
                                                        },
                                                        {
                                                            "typeIdentifier": "t_bool",
                                                            "typeString": "bool"
                                                        },
                                                        {
                                                            "typeIdentifier": "t_uint256",
                                                            "typeString": "uint256"
                                                        },
                                                        {
                                                            "typeIdentifier": "t_address",
                                                            "typeString": "address"
                                                        }
                                                    ],
                                                    "expression": {
                                                        "id": 17320,
                                                        "name": "abi",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 4294967295,
                                                        "src": "34644:3:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_magic_abi",
                                                            "typeString": "abi"
                                                        }
                                                    },
                                                    "id": 17321,
                                                    "isConstant": false,
                                                    "isLValue": false,
                                                    "isPure": true,
                                                    "lValueRequested": false,
                                                    "memberName": "encodeWithSignature",
                                                    "nodeType": "MemberAccess",
                                                    "src": "34644:23:62",
                                                    "typeDescriptions": {
                                                        "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$",
                                                        "typeString": "function (string memory) pure returns (bytes memory)"
                                                    }
                                                },
                                                "id": 17327,
                                                "isConstant": false,
                                                "isLValue": false,
                                                "isPure": false,
                                                "kind": "functionCall",
                                                "lValueRequested": false,
                                                "names": [],
                                                "nodeType": "FunctionCall",
                                                "src": "34644:72:62",
                                                "tryCall": false,
                                                "typeDescriptions": {
                                                    "typeIdentifier": "t_bytes_memory_ptr",
                                                    "typeString": "bytes memory"
                                                }
                                            }
                                        ],
                                        "expression": {
                                            "argumentTypes": [
                                                {
                                                    "typeIdentifier": "t_bytes_memory_ptr",
                                                    "typeString": "bytes memory"
                                                }
                                            ],
                                            "id": 17319,
                                            "name": "_sendLogPayload",
                                            "nodeType": "Identifier",
                                            "overloadedDeclarations": [],
                                            "referencedDeclaration": 12880,
                                            "src": "34628:15:62",
                                            "typeDescriptions": {
                                                "typeIdentifier": "t_function_internal_view$_t_bytes_memory_ptr_$returns$__$",
                                                "typeString": "function (bytes memory) view"
                                            }
                                        },
                                        "id": 17328,
                                        "isConstant": false,
                                        "isLValue": false,
                                        "isPure": false,
                                        "kind": "functionCall",
                                        "lValueRequested": false,
                                        "names": [],
                                        "nodeType": "FunctionCall",
                                        "src": "34628:89:62",
                                        "tryCall": false,
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_tuple$__$",
                                            "typeString": "tuple()"
                                        }
                                    },
                                    "id": 17329,
                                    "nodeType": "ExpressionStatement",
                                    "src": "34628:89:62"
                                }
                            ]
                        },
                        "id": 17331,
                        "implemented": true,
                        "kind": "function",
                        "modifiers": [],
                        "name": "log",
                        "nameLocation": "34558:3:62",
                        "nodeType": "FunctionDefinition",
                        "parameters": {
                            "id": 17317,
                            "nodeType": "ParameterList",
                            "parameters": [
                                {
                                    "constant": false,
                                    "id": 17310,
                                    "mutability": "mutable",
                                    "name": "p0",
                                    "nameLocation": "34576:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 17331,
                                    "src": "34562:16:62",
                                    "stateVariable": false,
                                    "storageLocation": "memory",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_string_memory_ptr",
                                        "typeString": "string"
                                    },
                                    "typeName": {
                                        "id": 17309,
                                        "name": "string",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "34562:6:62",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_string_storage_ptr",
                                            "typeString": "string"
                                        }
                                    },
                                    "visibility": "internal"
                                },
                                {
                                    "constant": false,
                                    "id": 17312,
                                    "mutability": "mutable",
                                    "name": "p1",
                                    "nameLocation": "34585:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 17331,
                                    "src": "34580:7:62",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_bool",
                                        "typeString": "bool"
                                    },
                                    "typeName": {
                                        "id": 17311,
                                        "name": "bool",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "34580:4:62",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_bool",
                                            "typeString": "bool"
                                        }
                                    },
                                    "visibility": "internal"
                                },
                                {
                                    "constant": false,
                                    "id": 17314,
                                    "mutability": "mutable",
                                    "name": "p2",
                                    "nameLocation": "34594:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 17331,
                                    "src": "34589:7:62",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_uint256",
                                        "typeString": "uint256"
                                    },
                                    "typeName": {
                                        "id": 17313,
                                        "name": "uint",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "34589:4:62",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_uint256",
                                            "typeString": "uint256"
                                        }
                                    },
                                    "visibility": "internal"
                                },
                                {
                                    "constant": false,
                                    "id": 17316,
                                    "mutability": "mutable",
                                    "name": "p3",
                                    "nameLocation": "34606:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 17331,
                                    "src": "34598:10:62",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_address",
                                        "typeString": "address"
                                    },
                                    "typeName": {
                                        "id": 17315,
                                        "name": "address",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "34598:7:62",
                                        "stateMutability": "nonpayable",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_address",
                                            "typeString": "address"
                                        }
                                    },
                                    "visibility": "internal"
                                }
                            ],
                            "src": "34561:48:62"
                        },
                        "returnParameters": {
                            "id": 17318,
                            "nodeType": "ParameterList",
                            "parameters": [],
                            "src": "34624:0:62"
                        },
                        "scope": 20920,
                        "src": "34549:172:62",
                        "stateMutability": "view",
                        "virtual": false,
                        "visibility": "internal"
                    },
                    {
                        "body": {
                            "id": 17353,
                            "nodeType": "Block",
                            "src": "34805:96:62",
                            "statements": [
                                {
                                    "expression": {
                                        "arguments": [
                                            {
                                                "arguments": [
                                                    {
                                                        "hexValue": "6c6f6728737472696e672c626f6f6c2c737472696e672c75696e7429",
                                                        "id": 17345,
                                                        "isConstant": false,
                                                        "isLValue": false,
                                                        "isPure": true,
                                                        "kind": "string",
                                                        "lValueRequested": false,
                                                        "nodeType": "Literal",
                                                        "src": "34849:30:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_stringliteral_34cb308d42fc37e3a239bcd0d717cf3713a336733737bee1d82ac9061e969d72",
                                                            "typeString": "literal_string \"log(string,bool,string,uint)\""
                                                        },
                                                        "value": "log(string,bool,string,uint)"
                                                    },
                                                    {
                                                        "id": 17346,
                                                        "name": "p0",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 17333,
                                                        "src": "34881:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_string_memory_ptr",
                                                            "typeString": "string memory"
                                                        }
                                                    },
                                                    {
                                                        "id": 17347,
                                                        "name": "p1",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 17335,
                                                        "src": "34885:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_bool",
                                                            "typeString": "bool"
                                                        }
                                                    },
                                                    {
                                                        "id": 17348,
                                                        "name": "p2",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 17337,
                                                        "src": "34889:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_string_memory_ptr",
                                                            "typeString": "string memory"
                                                        }
                                                    },
                                                    {
                                                        "id": 17349,
                                                        "name": "p3",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 17339,
                                                        "src": "34893:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_uint256",
                                                            "typeString": "uint256"
                                                        }
                                                    }
                                                ],
                                                "expression": {
                                                    "argumentTypes": [
                                                        {
                                                            "typeIdentifier": "t_stringliteral_34cb308d42fc37e3a239bcd0d717cf3713a336733737bee1d82ac9061e969d72",
                                                            "typeString": "literal_string \"log(string,bool,string,uint)\""
                                                        },
                                                        {
                                                            "typeIdentifier": "t_string_memory_ptr",
                                                            "typeString": "string memory"
                                                        },
                                                        {
                                                            "typeIdentifier": "t_bool",
                                                            "typeString": "bool"
                                                        },
                                                        {
                                                            "typeIdentifier": "t_string_memory_ptr",
                                                            "typeString": "string memory"
                                                        },
                                                        {
                                                            "typeIdentifier": "t_uint256",
                                                            "typeString": "uint256"
                                                        }
                                                    ],
                                                    "expression": {
                                                        "id": 17343,
                                                        "name": "abi",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 4294967295,
                                                        "src": "34825:3:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_magic_abi",
                                                            "typeString": "abi"
                                                        }
                                                    },
                                                    "id": 17344,
                                                    "isConstant": false,
                                                    "isLValue": false,
                                                    "isPure": true,
                                                    "lValueRequested": false,
                                                    "memberName": "encodeWithSignature",
                                                    "nodeType": "MemberAccess",
                                                    "src": "34825:23:62",
                                                    "typeDescriptions": {
                                                        "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$",
                                                        "typeString": "function (string memory) pure returns (bytes memory)"
                                                    }
                                                },
                                                "id": 17350,
                                                "isConstant": false,
                                                "isLValue": false,
                                                "isPure": false,
                                                "kind": "functionCall",
                                                "lValueRequested": false,
                                                "names": [],
                                                "nodeType": "FunctionCall",
                                                "src": "34825:71:62",
                                                "tryCall": false,
                                                "typeDescriptions": {
                                                    "typeIdentifier": "t_bytes_memory_ptr",
                                                    "typeString": "bytes memory"
                                                }
                                            }
                                        ],
                                        "expression": {
                                            "argumentTypes": [
                                                {
                                                    "typeIdentifier": "t_bytes_memory_ptr",
                                                    "typeString": "bytes memory"
                                                }
                                            ],
                                            "id": 17342,
                                            "name": "_sendLogPayload",
                                            "nodeType": "Identifier",
                                            "overloadedDeclarations": [],
                                            "referencedDeclaration": 12880,
                                            "src": "34809:15:62",
                                            "typeDescriptions": {
                                                "typeIdentifier": "t_function_internal_view$_t_bytes_memory_ptr_$returns$__$",
                                                "typeString": "function (bytes memory) view"
                                            }
                                        },
                                        "id": 17351,
                                        "isConstant": false,
                                        "isLValue": false,
                                        "isPure": false,
                                        "kind": "functionCall",
                                        "lValueRequested": false,
                                        "names": [],
                                        "nodeType": "FunctionCall",
                                        "src": "34809:88:62",
                                        "tryCall": false,
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_tuple$__$",
                                            "typeString": "tuple()"
                                        }
                                    },
                                    "id": 17352,
                                    "nodeType": "ExpressionStatement",
                                    "src": "34809:88:62"
                                }
                            ]
                        },
                        "id": 17354,
                        "implemented": true,
                        "kind": "function",
                        "modifiers": [],
                        "name": "log",
                        "nameLocation": "34733:3:62",
                        "nodeType": "FunctionDefinition",
                        "parameters": {
                            "id": 17340,
                            "nodeType": "ParameterList",
                            "parameters": [
                                {
                                    "constant": false,
                                    "id": 17333,
                                    "mutability": "mutable",
                                    "name": "p0",
                                    "nameLocation": "34751:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 17354,
                                    "src": "34737:16:62",
                                    "stateVariable": false,
                                    "storageLocation": "memory",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_string_memory_ptr",
                                        "typeString": "string"
                                    },
                                    "typeName": {
                                        "id": 17332,
                                        "name": "string",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "34737:6:62",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_string_storage_ptr",
                                            "typeString": "string"
                                        }
                                    },
                                    "visibility": "internal"
                                },
                                {
                                    "constant": false,
                                    "id": 17335,
                                    "mutability": "mutable",
                                    "name": "p1",
                                    "nameLocation": "34760:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 17354,
                                    "src": "34755:7:62",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_bool",
                                        "typeString": "bool"
                                    },
                                    "typeName": {
                                        "id": 17334,
                                        "name": "bool",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "34755:4:62",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_bool",
                                            "typeString": "bool"
                                        }
                                    },
                                    "visibility": "internal"
                                },
                                {
                                    "constant": false,
                                    "id": 17337,
                                    "mutability": "mutable",
                                    "name": "p2",
                                    "nameLocation": "34778:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 17354,
                                    "src": "34764:16:62",
                                    "stateVariable": false,
                                    "storageLocation": "memory",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_string_memory_ptr",
                                        "typeString": "string"
                                    },
                                    "typeName": {
                                        "id": 17336,
                                        "name": "string",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "34764:6:62",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_string_storage_ptr",
                                            "typeString": "string"
                                        }
                                    },
                                    "visibility": "internal"
                                },
                                {
                                    "constant": false,
                                    "id": 17339,
                                    "mutability": "mutable",
                                    "name": "p3",
                                    "nameLocation": "34787:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 17354,
                                    "src": "34782:7:62",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_uint256",
                                        "typeString": "uint256"
                                    },
                                    "typeName": {
                                        "id": 17338,
                                        "name": "uint",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "34782:4:62",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_uint256",
                                            "typeString": "uint256"
                                        }
                                    },
                                    "visibility": "internal"
                                }
                            ],
                            "src": "34736:54:62"
                        },
                        "returnParameters": {
                            "id": 17341,
                            "nodeType": "ParameterList",
                            "parameters": [],
                            "src": "34805:0:62"
                        },
                        "scope": 20920,
                        "src": "34724:177:62",
                        "stateMutability": "view",
                        "virtual": false,
                        "visibility": "internal"
                    },
                    {
                        "body": {
                            "id": 17376,
                            "nodeType": "Block",
                            "src": "34994:98:62",
                            "statements": [
                                {
                                    "expression": {
                                        "arguments": [
                                            {
                                                "arguments": [
                                                    {
                                                        "hexValue": "6c6f6728737472696e672c626f6f6c2c737472696e672c737472696e6729",
                                                        "id": 17368,
                                                        "isConstant": false,
                                                        "isLValue": false,
                                                        "isPure": true,
                                                        "kind": "string",
                                                        "lValueRequested": false,
                                                        "nodeType": "Literal",
                                                        "src": "35038:32:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_stringliteral_a826caebc65f4a71211c1c7fd8dc9bdd856d7ef7dbeef42d8af156e9f73bc47d",
                                                            "typeString": "literal_string \"log(string,bool,string,string)\""
                                                        },
                                                        "value": "log(string,bool,string,string)"
                                                    },
                                                    {
                                                        "id": 17369,
                                                        "name": "p0",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 17356,
                                                        "src": "35072:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_string_memory_ptr",
                                                            "typeString": "string memory"
                                                        }
                                                    },
                                                    {
                                                        "id": 17370,
                                                        "name": "p1",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 17358,
                                                        "src": "35076:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_bool",
                                                            "typeString": "bool"
                                                        }
                                                    },
                                                    {
                                                        "id": 17371,
                                                        "name": "p2",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 17360,
                                                        "src": "35080:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_string_memory_ptr",
                                                            "typeString": "string memory"
                                                        }
                                                    },
                                                    {
                                                        "id": 17372,
                                                        "name": "p3",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 17362,
                                                        "src": "35084:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_string_memory_ptr",
                                                            "typeString": "string memory"
                                                        }
                                                    }
                                                ],
                                                "expression": {
                                                    "argumentTypes": [
                                                        {
                                                            "typeIdentifier": "t_stringliteral_a826caebc65f4a71211c1c7fd8dc9bdd856d7ef7dbeef42d8af156e9f73bc47d",
                                                            "typeString": "literal_string \"log(string,bool,string,string)\""
                                                        },
                                                        {
                                                            "typeIdentifier": "t_string_memory_ptr",
                                                            "typeString": "string memory"
                                                        },
                                                        {
                                                            "typeIdentifier": "t_bool",
                                                            "typeString": "bool"
                                                        },
                                                        {
                                                            "typeIdentifier": "t_string_memory_ptr",
                                                            "typeString": "string memory"
                                                        },
                                                        {
                                                            "typeIdentifier": "t_string_memory_ptr",
                                                            "typeString": "string memory"
                                                        }
                                                    ],
                                                    "expression": {
                                                        "id": 17366,
                                                        "name": "abi",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 4294967295,
                                                        "src": "35014:3:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_magic_abi",
                                                            "typeString": "abi"
                                                        }
                                                    },
                                                    "id": 17367,
                                                    "isConstant": false,
                                                    "isLValue": false,
                                                    "isPure": true,
                                                    "lValueRequested": false,
                                                    "memberName": "encodeWithSignature",
                                                    "nodeType": "MemberAccess",
                                                    "src": "35014:23:62",
                                                    "typeDescriptions": {
                                                        "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$",
                                                        "typeString": "function (string memory) pure returns (bytes memory)"
                                                    }
                                                },
                                                "id": 17373,
                                                "isConstant": false,
                                                "isLValue": false,
                                                "isPure": false,
                                                "kind": "functionCall",
                                                "lValueRequested": false,
                                                "names": [],
                                                "nodeType": "FunctionCall",
                                                "src": "35014:73:62",
                                                "tryCall": false,
                                                "typeDescriptions": {
                                                    "typeIdentifier": "t_bytes_memory_ptr",
                                                    "typeString": "bytes memory"
                                                }
                                            }
                                        ],
                                        "expression": {
                                            "argumentTypes": [
                                                {
                                                    "typeIdentifier": "t_bytes_memory_ptr",
                                                    "typeString": "bytes memory"
                                                }
                                            ],
                                            "id": 17365,
                                            "name": "_sendLogPayload",
                                            "nodeType": "Identifier",
                                            "overloadedDeclarations": [],
                                            "referencedDeclaration": 12880,
                                            "src": "34998:15:62",
                                            "typeDescriptions": {
                                                "typeIdentifier": "t_function_internal_view$_t_bytes_memory_ptr_$returns$__$",
                                                "typeString": "function (bytes memory) view"
                                            }
                                        },
                                        "id": 17374,
                                        "isConstant": false,
                                        "isLValue": false,
                                        "isPure": false,
                                        "kind": "functionCall",
                                        "lValueRequested": false,
                                        "names": [],
                                        "nodeType": "FunctionCall",
                                        "src": "34998:90:62",
                                        "tryCall": false,
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_tuple$__$",
                                            "typeString": "tuple()"
                                        }
                                    },
                                    "id": 17375,
                                    "nodeType": "ExpressionStatement",
                                    "src": "34998:90:62"
                                }
                            ]
                        },
                        "id": 17377,
                        "implemented": true,
                        "kind": "function",
                        "modifiers": [],
                        "name": "log",
                        "nameLocation": "34913:3:62",
                        "nodeType": "FunctionDefinition",
                        "parameters": {
                            "id": 17363,
                            "nodeType": "ParameterList",
                            "parameters": [
                                {
                                    "constant": false,
                                    "id": 17356,
                                    "mutability": "mutable",
                                    "name": "p0",
                                    "nameLocation": "34931:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 17377,
                                    "src": "34917:16:62",
                                    "stateVariable": false,
                                    "storageLocation": "memory",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_string_memory_ptr",
                                        "typeString": "string"
                                    },
                                    "typeName": {
                                        "id": 17355,
                                        "name": "string",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "34917:6:62",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_string_storage_ptr",
                                            "typeString": "string"
                                        }
                                    },
                                    "visibility": "internal"
                                },
                                {
                                    "constant": false,
                                    "id": 17358,
                                    "mutability": "mutable",
                                    "name": "p1",
                                    "nameLocation": "34940:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 17377,
                                    "src": "34935:7:62",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_bool",
                                        "typeString": "bool"
                                    },
                                    "typeName": {
                                        "id": 17357,
                                        "name": "bool",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "34935:4:62",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_bool",
                                            "typeString": "bool"
                                        }
                                    },
                                    "visibility": "internal"
                                },
                                {
                                    "constant": false,
                                    "id": 17360,
                                    "mutability": "mutable",
                                    "name": "p2",
                                    "nameLocation": "34958:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 17377,
                                    "src": "34944:16:62",
                                    "stateVariable": false,
                                    "storageLocation": "memory",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_string_memory_ptr",
                                        "typeString": "string"
                                    },
                                    "typeName": {
                                        "id": 17359,
                                        "name": "string",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "34944:6:62",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_string_storage_ptr",
                                            "typeString": "string"
                                        }
                                    },
                                    "visibility": "internal"
                                },
                                {
                                    "constant": false,
                                    "id": 17362,
                                    "mutability": "mutable",
                                    "name": "p3",
                                    "nameLocation": "34976:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 17377,
                                    "src": "34962:16:62",
                                    "stateVariable": false,
                                    "storageLocation": "memory",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_string_memory_ptr",
                                        "typeString": "string"
                                    },
                                    "typeName": {
                                        "id": 17361,
                                        "name": "string",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "34962:6:62",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_string_storage_ptr",
                                            "typeString": "string"
                                        }
                                    },
                                    "visibility": "internal"
                                }
                            ],
                            "src": "34916:63:62"
                        },
                        "returnParameters": {
                            "id": 17364,
                            "nodeType": "ParameterList",
                            "parameters": [],
                            "src": "34994:0:62"
                        },
                        "scope": 20920,
                        "src": "34904:188:62",
                        "stateMutability": "view",
                        "virtual": false,
                        "visibility": "internal"
                    },
                    {
                        "body": {
                            "id": 17399,
                            "nodeType": "Block",
                            "src": "35176:96:62",
                            "statements": [
                                {
                                    "expression": {
                                        "arguments": [
                                            {
                                                "arguments": [
                                                    {
                                                        "hexValue": "6c6f6728737472696e672c626f6f6c2c737472696e672c626f6f6c29",
                                                        "id": 17391,
                                                        "isConstant": false,
                                                        "isLValue": false,
                                                        "isPure": true,
                                                        "kind": "string",
                                                        "lValueRequested": false,
                                                        "nodeType": "Literal",
                                                        "src": "35220:30:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_stringliteral_3f8a701d00386d6ad9c7b7a930805b985bcbbe108e894a7d5cb9493e87e57e8b",
                                                            "typeString": "literal_string \"log(string,bool,string,bool)\""
                                                        },
                                                        "value": "log(string,bool,string,bool)"
                                                    },
                                                    {
                                                        "id": 17392,
                                                        "name": "p0",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 17379,
                                                        "src": "35252:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_string_memory_ptr",
                                                            "typeString": "string memory"
                                                        }
                                                    },
                                                    {
                                                        "id": 17393,
                                                        "name": "p1",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 17381,
                                                        "src": "35256:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_bool",
                                                            "typeString": "bool"
                                                        }
                                                    },
                                                    {
                                                        "id": 17394,
                                                        "name": "p2",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 17383,
                                                        "src": "35260:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_string_memory_ptr",
                                                            "typeString": "string memory"
                                                        }
                                                    },
                                                    {
                                                        "id": 17395,
                                                        "name": "p3",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 17385,
                                                        "src": "35264:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_bool",
                                                            "typeString": "bool"
                                                        }
                                                    }
                                                ],
                                                "expression": {
                                                    "argumentTypes": [
                                                        {
                                                            "typeIdentifier": "t_stringliteral_3f8a701d00386d6ad9c7b7a930805b985bcbbe108e894a7d5cb9493e87e57e8b",
                                                            "typeString": "literal_string \"log(string,bool,string,bool)\""
                                                        },
                                                        {
                                                            "typeIdentifier": "t_string_memory_ptr",
                                                            "typeString": "string memory"
                                                        },
                                                        {
                                                            "typeIdentifier": "t_bool",
                                                            "typeString": "bool"
                                                        },
                                                        {
                                                            "typeIdentifier": "t_string_memory_ptr",
                                                            "typeString": "string memory"
                                                        },
                                                        {
                                                            "typeIdentifier": "t_bool",
                                                            "typeString": "bool"
                                                        }
                                                    ],
                                                    "expression": {
                                                        "id": 17389,
                                                        "name": "abi",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 4294967295,
                                                        "src": "35196:3:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_magic_abi",
                                                            "typeString": "abi"
                                                        }
                                                    },
                                                    "id": 17390,
                                                    "isConstant": false,
                                                    "isLValue": false,
                                                    "isPure": true,
                                                    "lValueRequested": false,
                                                    "memberName": "encodeWithSignature",
                                                    "nodeType": "MemberAccess",
                                                    "src": "35196:23:62",
                                                    "typeDescriptions": {
                                                        "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$",
                                                        "typeString": "function (string memory) pure returns (bytes memory)"
                                                    }
                                                },
                                                "id": 17396,
                                                "isConstant": false,
                                                "isLValue": false,
                                                "isPure": false,
                                                "kind": "functionCall",
                                                "lValueRequested": false,
                                                "names": [],
                                                "nodeType": "FunctionCall",
                                                "src": "35196:71:62",
                                                "tryCall": false,
                                                "typeDescriptions": {
                                                    "typeIdentifier": "t_bytes_memory_ptr",
                                                    "typeString": "bytes memory"
                                                }
                                            }
                                        ],
                                        "expression": {
                                            "argumentTypes": [
                                                {
                                                    "typeIdentifier": "t_bytes_memory_ptr",
                                                    "typeString": "bytes memory"
                                                }
                                            ],
                                            "id": 17388,
                                            "name": "_sendLogPayload",
                                            "nodeType": "Identifier",
                                            "overloadedDeclarations": [],
                                            "referencedDeclaration": 12880,
                                            "src": "35180:15:62",
                                            "typeDescriptions": {
                                                "typeIdentifier": "t_function_internal_view$_t_bytes_memory_ptr_$returns$__$",
                                                "typeString": "function (bytes memory) view"
                                            }
                                        },
                                        "id": 17397,
                                        "isConstant": false,
                                        "isLValue": false,
                                        "isPure": false,
                                        "kind": "functionCall",
                                        "lValueRequested": false,
                                        "names": [],
                                        "nodeType": "FunctionCall",
                                        "src": "35180:88:62",
                                        "tryCall": false,
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_tuple$__$",
                                            "typeString": "tuple()"
                                        }
                                    },
                                    "id": 17398,
                                    "nodeType": "ExpressionStatement",
                                    "src": "35180:88:62"
                                }
                            ]
                        },
                        "id": 17400,
                        "implemented": true,
                        "kind": "function",
                        "modifiers": [],
                        "name": "log",
                        "nameLocation": "35104:3:62",
                        "nodeType": "FunctionDefinition",
                        "parameters": {
                            "id": 17386,
                            "nodeType": "ParameterList",
                            "parameters": [
                                {
                                    "constant": false,
                                    "id": 17379,
                                    "mutability": "mutable",
                                    "name": "p0",
                                    "nameLocation": "35122:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 17400,
                                    "src": "35108:16:62",
                                    "stateVariable": false,
                                    "storageLocation": "memory",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_string_memory_ptr",
                                        "typeString": "string"
                                    },
                                    "typeName": {
                                        "id": 17378,
                                        "name": "string",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "35108:6:62",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_string_storage_ptr",
                                            "typeString": "string"
                                        }
                                    },
                                    "visibility": "internal"
                                },
                                {
                                    "constant": false,
                                    "id": 17381,
                                    "mutability": "mutable",
                                    "name": "p1",
                                    "nameLocation": "35131:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 17400,
                                    "src": "35126:7:62",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_bool",
                                        "typeString": "bool"
                                    },
                                    "typeName": {
                                        "id": 17380,
                                        "name": "bool",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "35126:4:62",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_bool",
                                            "typeString": "bool"
                                        }
                                    },
                                    "visibility": "internal"
                                },
                                {
                                    "constant": false,
                                    "id": 17383,
                                    "mutability": "mutable",
                                    "name": "p2",
                                    "nameLocation": "35149:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 17400,
                                    "src": "35135:16:62",
                                    "stateVariable": false,
                                    "storageLocation": "memory",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_string_memory_ptr",
                                        "typeString": "string"
                                    },
                                    "typeName": {
                                        "id": 17382,
                                        "name": "string",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "35135:6:62",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_string_storage_ptr",
                                            "typeString": "string"
                                        }
                                    },
                                    "visibility": "internal"
                                },
                                {
                                    "constant": false,
                                    "id": 17385,
                                    "mutability": "mutable",
                                    "name": "p3",
                                    "nameLocation": "35158:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 17400,
                                    "src": "35153:7:62",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_bool",
                                        "typeString": "bool"
                                    },
                                    "typeName": {
                                        "id": 17384,
                                        "name": "bool",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "35153:4:62",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_bool",
                                            "typeString": "bool"
                                        }
                                    },
                                    "visibility": "internal"
                                }
                            ],
                            "src": "35107:54:62"
                        },
                        "returnParameters": {
                            "id": 17387,
                            "nodeType": "ParameterList",
                            "parameters": [],
                            "src": "35176:0:62"
                        },
                        "scope": 20920,
                        "src": "35095:177:62",
                        "stateMutability": "view",
                        "virtual": false,
                        "visibility": "internal"
                    },
                    {
                        "body": {
                            "id": 17422,
                            "nodeType": "Block",
                            "src": "35359:99:62",
                            "statements": [
                                {
                                    "expression": {
                                        "arguments": [
                                            {
                                                "arguments": [
                                                    {
                                                        "hexValue": "6c6f6728737472696e672c626f6f6c2c737472696e672c6164647265737329",
                                                        "id": 17414,
                                                        "isConstant": false,
                                                        "isLValue": false,
                                                        "isPure": true,
                                                        "kind": "string",
                                                        "lValueRequested": false,
                                                        "nodeType": "Literal",
                                                        "src": "35403:33:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_stringliteral_e0625b292fa5cbc865b55f61713cbbe0ce7abb244ec2df45291ea19c30ddfaf8",
                                                            "typeString": "literal_string \"log(string,bool,string,address)\""
                                                        },
                                                        "value": "log(string,bool,string,address)"
                                                    },
                                                    {
                                                        "id": 17415,
                                                        "name": "p0",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 17402,
                                                        "src": "35438:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_string_memory_ptr",
                                                            "typeString": "string memory"
                                                        }
                                                    },
                                                    {
                                                        "id": 17416,
                                                        "name": "p1",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 17404,
                                                        "src": "35442:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_bool",
                                                            "typeString": "bool"
                                                        }
                                                    },
                                                    {
                                                        "id": 17417,
                                                        "name": "p2",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 17406,
                                                        "src": "35446:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_string_memory_ptr",
                                                            "typeString": "string memory"
                                                        }
                                                    },
                                                    {
                                                        "id": 17418,
                                                        "name": "p3",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 17408,
                                                        "src": "35450:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_address",
                                                            "typeString": "address"
                                                        }
                                                    }
                                                ],
                                                "expression": {
                                                    "argumentTypes": [
                                                        {
                                                            "typeIdentifier": "t_stringliteral_e0625b292fa5cbc865b55f61713cbbe0ce7abb244ec2df45291ea19c30ddfaf8",
                                                            "typeString": "literal_string \"log(string,bool,string,address)\""
                                                        },
                                                        {
                                                            "typeIdentifier": "t_string_memory_ptr",
                                                            "typeString": "string memory"
                                                        },
                                                        {
                                                            "typeIdentifier": "t_bool",
                                                            "typeString": "bool"
                                                        },
                                                        {
                                                            "typeIdentifier": "t_string_memory_ptr",
                                                            "typeString": "string memory"
                                                        },
                                                        {
                                                            "typeIdentifier": "t_address",
                                                            "typeString": "address"
                                                        }
                                                    ],
                                                    "expression": {
                                                        "id": 17412,
                                                        "name": "abi",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 4294967295,
                                                        "src": "35379:3:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_magic_abi",
                                                            "typeString": "abi"
                                                        }
                                                    },
                                                    "id": 17413,
                                                    "isConstant": false,
                                                    "isLValue": false,
                                                    "isPure": true,
                                                    "lValueRequested": false,
                                                    "memberName": "encodeWithSignature",
                                                    "nodeType": "MemberAccess",
                                                    "src": "35379:23:62",
                                                    "typeDescriptions": {
                                                        "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$",
                                                        "typeString": "function (string memory) pure returns (bytes memory)"
                                                    }
                                                },
                                                "id": 17419,
                                                "isConstant": false,
                                                "isLValue": false,
                                                "isPure": false,
                                                "kind": "functionCall",
                                                "lValueRequested": false,
                                                "names": [],
                                                "nodeType": "FunctionCall",
                                                "src": "35379:74:62",
                                                "tryCall": false,
                                                "typeDescriptions": {
                                                    "typeIdentifier": "t_bytes_memory_ptr",
                                                    "typeString": "bytes memory"
                                                }
                                            }
                                        ],
                                        "expression": {
                                            "argumentTypes": [
                                                {
                                                    "typeIdentifier": "t_bytes_memory_ptr",
                                                    "typeString": "bytes memory"
                                                }
                                            ],
                                            "id": 17411,
                                            "name": "_sendLogPayload",
                                            "nodeType": "Identifier",
                                            "overloadedDeclarations": [],
                                            "referencedDeclaration": 12880,
                                            "src": "35363:15:62",
                                            "typeDescriptions": {
                                                "typeIdentifier": "t_function_internal_view$_t_bytes_memory_ptr_$returns$__$",
                                                "typeString": "function (bytes memory) view"
                                            }
                                        },
                                        "id": 17420,
                                        "isConstant": false,
                                        "isLValue": false,
                                        "isPure": false,
                                        "kind": "functionCall",
                                        "lValueRequested": false,
                                        "names": [],
                                        "nodeType": "FunctionCall",
                                        "src": "35363:91:62",
                                        "tryCall": false,
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_tuple$__$",
                                            "typeString": "tuple()"
                                        }
                                    },
                                    "id": 17421,
                                    "nodeType": "ExpressionStatement",
                                    "src": "35363:91:62"
                                }
                            ]
                        },
                        "id": 17423,
                        "implemented": true,
                        "kind": "function",
                        "modifiers": [],
                        "name": "log",
                        "nameLocation": "35284:3:62",
                        "nodeType": "FunctionDefinition",
                        "parameters": {
                            "id": 17409,
                            "nodeType": "ParameterList",
                            "parameters": [
                                {
                                    "constant": false,
                                    "id": 17402,
                                    "mutability": "mutable",
                                    "name": "p0",
                                    "nameLocation": "35302:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 17423,
                                    "src": "35288:16:62",
                                    "stateVariable": false,
                                    "storageLocation": "memory",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_string_memory_ptr",
                                        "typeString": "string"
                                    },
                                    "typeName": {
                                        "id": 17401,
                                        "name": "string",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "35288:6:62",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_string_storage_ptr",
                                            "typeString": "string"
                                        }
                                    },
                                    "visibility": "internal"
                                },
                                {
                                    "constant": false,
                                    "id": 17404,
                                    "mutability": "mutable",
                                    "name": "p1",
                                    "nameLocation": "35311:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 17423,
                                    "src": "35306:7:62",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_bool",
                                        "typeString": "bool"
                                    },
                                    "typeName": {
                                        "id": 17403,
                                        "name": "bool",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "35306:4:62",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_bool",
                                            "typeString": "bool"
                                        }
                                    },
                                    "visibility": "internal"
                                },
                                {
                                    "constant": false,
                                    "id": 17406,
                                    "mutability": "mutable",
                                    "name": "p2",
                                    "nameLocation": "35329:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 17423,
                                    "src": "35315:16:62",
                                    "stateVariable": false,
                                    "storageLocation": "memory",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_string_memory_ptr",
                                        "typeString": "string"
                                    },
                                    "typeName": {
                                        "id": 17405,
                                        "name": "string",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "35315:6:62",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_string_storage_ptr",
                                            "typeString": "string"
                                        }
                                    },
                                    "visibility": "internal"
                                },
                                {
                                    "constant": false,
                                    "id": 17408,
                                    "mutability": "mutable",
                                    "name": "p3",
                                    "nameLocation": "35341:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 17423,
                                    "src": "35333:10:62",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_address",
                                        "typeString": "address"
                                    },
                                    "typeName": {
                                        "id": 17407,
                                        "name": "address",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "35333:7:62",
                                        "stateMutability": "nonpayable",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_address",
                                            "typeString": "address"
                                        }
                                    },
                                    "visibility": "internal"
                                }
                            ],
                            "src": "35287:57:62"
                        },
                        "returnParameters": {
                            "id": 17410,
                            "nodeType": "ParameterList",
                            "parameters": [],
                            "src": "35359:0:62"
                        },
                        "scope": 20920,
                        "src": "35275:183:62",
                        "stateMutability": "view",
                        "virtual": false,
                        "visibility": "internal"
                    },
                    {
                        "body": {
                            "id": 17445,
                            "nodeType": "Block",
                            "src": "35533:94:62",
                            "statements": [
                                {
                                    "expression": {
                                        "arguments": [
                                            {
                                                "arguments": [
                                                    {
                                                        "hexValue": "6c6f6728737472696e672c626f6f6c2c626f6f6c2c75696e7429",
                                                        "id": 17437,
                                                        "isConstant": false,
                                                        "isLValue": false,
                                                        "isPure": true,
                                                        "kind": "string",
                                                        "lValueRequested": false,
                                                        "nodeType": "Literal",
                                                        "src": "35577:28:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_stringliteral_807531e8eafdd7a15a803e586dd9a01b2aa8ae2cdd52f093775c0dcb0c977edf",
                                                            "typeString": "literal_string \"log(string,bool,bool,uint)\""
                                                        },
                                                        "value": "log(string,bool,bool,uint)"
                                                    },
                                                    {
                                                        "id": 17438,
                                                        "name": "p0",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 17425,
                                                        "src": "35607:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_string_memory_ptr",
                                                            "typeString": "string memory"
                                                        }
                                                    },
                                                    {
                                                        "id": 17439,
                                                        "name": "p1",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 17427,
                                                        "src": "35611:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_bool",
                                                            "typeString": "bool"
                                                        }
                                                    },
                                                    {
                                                        "id": 17440,
                                                        "name": "p2",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 17429,
                                                        "src": "35615:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_bool",
                                                            "typeString": "bool"
                                                        }
                                                    },
                                                    {
                                                        "id": 17441,
                                                        "name": "p3",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 17431,
                                                        "src": "35619:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_uint256",
                                                            "typeString": "uint256"
                                                        }
                                                    }
                                                ],
                                                "expression": {
                                                    "argumentTypes": [
                                                        {
                                                            "typeIdentifier": "t_stringliteral_807531e8eafdd7a15a803e586dd9a01b2aa8ae2cdd52f093775c0dcb0c977edf",
                                                            "typeString": "literal_string \"log(string,bool,bool,uint)\""
                                                        },
                                                        {
                                                            "typeIdentifier": "t_string_memory_ptr",
                                                            "typeString": "string memory"
                                                        },
                                                        {
                                                            "typeIdentifier": "t_bool",
                                                            "typeString": "bool"
                                                        },
                                                        {
                                                            "typeIdentifier": "t_bool",
                                                            "typeString": "bool"
                                                        },
                                                        {
                                                            "typeIdentifier": "t_uint256",
                                                            "typeString": "uint256"
                                                        }
                                                    ],
                                                    "expression": {
                                                        "id": 17435,
                                                        "name": "abi",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 4294967295,
                                                        "src": "35553:3:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_magic_abi",
                                                            "typeString": "abi"
                                                        }
                                                    },
                                                    "id": 17436,
                                                    "isConstant": false,
                                                    "isLValue": false,
                                                    "isPure": true,
                                                    "lValueRequested": false,
                                                    "memberName": "encodeWithSignature",
                                                    "nodeType": "MemberAccess",
                                                    "src": "35553:23:62",
                                                    "typeDescriptions": {
                                                        "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$",
                                                        "typeString": "function (string memory) pure returns (bytes memory)"
                                                    }
                                                },
                                                "id": 17442,
                                                "isConstant": false,
                                                "isLValue": false,
                                                "isPure": false,
                                                "kind": "functionCall",
                                                "lValueRequested": false,
                                                "names": [],
                                                "nodeType": "FunctionCall",
                                                "src": "35553:69:62",
                                                "tryCall": false,
                                                "typeDescriptions": {
                                                    "typeIdentifier": "t_bytes_memory_ptr",
                                                    "typeString": "bytes memory"
                                                }
                                            }
                                        ],
                                        "expression": {
                                            "argumentTypes": [
                                                {
                                                    "typeIdentifier": "t_bytes_memory_ptr",
                                                    "typeString": "bytes memory"
                                                }
                                            ],
                                            "id": 17434,
                                            "name": "_sendLogPayload",
                                            "nodeType": "Identifier",
                                            "overloadedDeclarations": [],
                                            "referencedDeclaration": 12880,
                                            "src": "35537:15:62",
                                            "typeDescriptions": {
                                                "typeIdentifier": "t_function_internal_view$_t_bytes_memory_ptr_$returns$__$",
                                                "typeString": "function (bytes memory) view"
                                            }
                                        },
                                        "id": 17443,
                                        "isConstant": false,
                                        "isLValue": false,
                                        "isPure": false,
                                        "kind": "functionCall",
                                        "lValueRequested": false,
                                        "names": [],
                                        "nodeType": "FunctionCall",
                                        "src": "35537:86:62",
                                        "tryCall": false,
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_tuple$__$",
                                            "typeString": "tuple()"
                                        }
                                    },
                                    "id": 17444,
                                    "nodeType": "ExpressionStatement",
                                    "src": "35537:86:62"
                                }
                            ]
                        },
                        "id": 17446,
                        "implemented": true,
                        "kind": "function",
                        "modifiers": [],
                        "name": "log",
                        "nameLocation": "35470:3:62",
                        "nodeType": "FunctionDefinition",
                        "parameters": {
                            "id": 17432,
                            "nodeType": "ParameterList",
                            "parameters": [
                                {
                                    "constant": false,
                                    "id": 17425,
                                    "mutability": "mutable",
                                    "name": "p0",
                                    "nameLocation": "35488:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 17446,
                                    "src": "35474:16:62",
                                    "stateVariable": false,
                                    "storageLocation": "memory",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_string_memory_ptr",
                                        "typeString": "string"
                                    },
                                    "typeName": {
                                        "id": 17424,
                                        "name": "string",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "35474:6:62",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_string_storage_ptr",
                                            "typeString": "string"
                                        }
                                    },
                                    "visibility": "internal"
                                },
                                {
                                    "constant": false,
                                    "id": 17427,
                                    "mutability": "mutable",
                                    "name": "p1",
                                    "nameLocation": "35497:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 17446,
                                    "src": "35492:7:62",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_bool",
                                        "typeString": "bool"
                                    },
                                    "typeName": {
                                        "id": 17426,
                                        "name": "bool",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "35492:4:62",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_bool",
                                            "typeString": "bool"
                                        }
                                    },
                                    "visibility": "internal"
                                },
                                {
                                    "constant": false,
                                    "id": 17429,
                                    "mutability": "mutable",
                                    "name": "p2",
                                    "nameLocation": "35506:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 17446,
                                    "src": "35501:7:62",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_bool",
                                        "typeString": "bool"
                                    },
                                    "typeName": {
                                        "id": 17428,
                                        "name": "bool",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "35501:4:62",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_bool",
                                            "typeString": "bool"
                                        }
                                    },
                                    "visibility": "internal"
                                },
                                {
                                    "constant": false,
                                    "id": 17431,
                                    "mutability": "mutable",
                                    "name": "p3",
                                    "nameLocation": "35515:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 17446,
                                    "src": "35510:7:62",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_uint256",
                                        "typeString": "uint256"
                                    },
                                    "typeName": {
                                        "id": 17430,
                                        "name": "uint",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "35510:4:62",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_uint256",
                                            "typeString": "uint256"
                                        }
                                    },
                                    "visibility": "internal"
                                }
                            ],
                            "src": "35473:45:62"
                        },
                        "returnParameters": {
                            "id": 17433,
                            "nodeType": "ParameterList",
                            "parameters": [],
                            "src": "35533:0:62"
                        },
                        "scope": 20920,
                        "src": "35461:166:62",
                        "stateMutability": "view",
                        "virtual": false,
                        "visibility": "internal"
                    },
                    {
                        "body": {
                            "id": 17468,
                            "nodeType": "Block",
                            "src": "35711:96:62",
                            "statements": [
                                {
                                    "expression": {
                                        "arguments": [
                                            {
                                                "arguments": [
                                                    {
                                                        "hexValue": "6c6f6728737472696e672c626f6f6c2c626f6f6c2c737472696e6729",
                                                        "id": 17460,
                                                        "isConstant": false,
                                                        "isLValue": false,
                                                        "isPure": true,
                                                        "kind": "string",
                                                        "lValueRequested": false,
                                                        "nodeType": "Literal",
                                                        "src": "35755:30:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_stringliteral_9d22d5dd5fa6b44920526f32944af8a0b12651bcfe7d5e4d9330573146eaf058",
                                                            "typeString": "literal_string \"log(string,bool,bool,string)\""
                                                        },
                                                        "value": "log(string,bool,bool,string)"
                                                    },
                                                    {
                                                        "id": 17461,
                                                        "name": "p0",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 17448,
                                                        "src": "35787:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_string_memory_ptr",
                                                            "typeString": "string memory"
                                                        }
                                                    },
                                                    {
                                                        "id": 17462,
                                                        "name": "p1",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 17450,
                                                        "src": "35791:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_bool",
                                                            "typeString": "bool"
                                                        }
                                                    },
                                                    {
                                                        "id": 17463,
                                                        "name": "p2",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 17452,
                                                        "src": "35795:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_bool",
                                                            "typeString": "bool"
                                                        }
                                                    },
                                                    {
                                                        "id": 17464,
                                                        "name": "p3",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 17454,
                                                        "src": "35799:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_string_memory_ptr",
                                                            "typeString": "string memory"
                                                        }
                                                    }
                                                ],
                                                "expression": {
                                                    "argumentTypes": [
                                                        {
                                                            "typeIdentifier": "t_stringliteral_9d22d5dd5fa6b44920526f32944af8a0b12651bcfe7d5e4d9330573146eaf058",
                                                            "typeString": "literal_string \"log(string,bool,bool,string)\""
                                                        },
                                                        {
                                                            "typeIdentifier": "t_string_memory_ptr",
                                                            "typeString": "string memory"
                                                        },
                                                        {
                                                            "typeIdentifier": "t_bool",
                                                            "typeString": "bool"
                                                        },
                                                        {
                                                            "typeIdentifier": "t_bool",
                                                            "typeString": "bool"
                                                        },
                                                        {
                                                            "typeIdentifier": "t_string_memory_ptr",
                                                            "typeString": "string memory"
                                                        }
                                                    ],
                                                    "expression": {
                                                        "id": 17458,
                                                        "name": "abi",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 4294967295,
                                                        "src": "35731:3:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_magic_abi",
                                                            "typeString": "abi"
                                                        }
                                                    },
                                                    "id": 17459,
                                                    "isConstant": false,
                                                    "isLValue": false,
                                                    "isPure": true,
                                                    "lValueRequested": false,
                                                    "memberName": "encodeWithSignature",
                                                    "nodeType": "MemberAccess",
                                                    "src": "35731:23:62",
                                                    "typeDescriptions": {
                                                        "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$",
                                                        "typeString": "function (string memory) pure returns (bytes memory)"
                                                    }
                                                },
                                                "id": 17465,
                                                "isConstant": false,
                                                "isLValue": false,
                                                "isPure": false,
                                                "kind": "functionCall",
                                                "lValueRequested": false,
                                                "names": [],
                                                "nodeType": "FunctionCall",
                                                "src": "35731:71:62",
                                                "tryCall": false,
                                                "typeDescriptions": {
                                                    "typeIdentifier": "t_bytes_memory_ptr",
                                                    "typeString": "bytes memory"
                                                }
                                            }
                                        ],
                                        "expression": {
                                            "argumentTypes": [
                                                {
                                                    "typeIdentifier": "t_bytes_memory_ptr",
                                                    "typeString": "bytes memory"
                                                }
                                            ],
                                            "id": 17457,
                                            "name": "_sendLogPayload",
                                            "nodeType": "Identifier",
                                            "overloadedDeclarations": [],
                                            "referencedDeclaration": 12880,
                                            "src": "35715:15:62",
                                            "typeDescriptions": {
                                                "typeIdentifier": "t_function_internal_view$_t_bytes_memory_ptr_$returns$__$",
                                                "typeString": "function (bytes memory) view"
                                            }
                                        },
                                        "id": 17466,
                                        "isConstant": false,
                                        "isLValue": false,
                                        "isPure": false,
                                        "kind": "functionCall",
                                        "lValueRequested": false,
                                        "names": [],
                                        "nodeType": "FunctionCall",
                                        "src": "35715:88:62",
                                        "tryCall": false,
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_tuple$__$",
                                            "typeString": "tuple()"
                                        }
                                    },
                                    "id": 17467,
                                    "nodeType": "ExpressionStatement",
                                    "src": "35715:88:62"
                                }
                            ]
                        },
                        "id": 17469,
                        "implemented": true,
                        "kind": "function",
                        "modifiers": [],
                        "name": "log",
                        "nameLocation": "35639:3:62",
                        "nodeType": "FunctionDefinition",
                        "parameters": {
                            "id": 17455,
                            "nodeType": "ParameterList",
                            "parameters": [
                                {
                                    "constant": false,
                                    "id": 17448,
                                    "mutability": "mutable",
                                    "name": "p0",
                                    "nameLocation": "35657:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 17469,
                                    "src": "35643:16:62",
                                    "stateVariable": false,
                                    "storageLocation": "memory",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_string_memory_ptr",
                                        "typeString": "string"
                                    },
                                    "typeName": {
                                        "id": 17447,
                                        "name": "string",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "35643:6:62",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_string_storage_ptr",
                                            "typeString": "string"
                                        }
                                    },
                                    "visibility": "internal"
                                },
                                {
                                    "constant": false,
                                    "id": 17450,
                                    "mutability": "mutable",
                                    "name": "p1",
                                    "nameLocation": "35666:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 17469,
                                    "src": "35661:7:62",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_bool",
                                        "typeString": "bool"
                                    },
                                    "typeName": {
                                        "id": 17449,
                                        "name": "bool",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "35661:4:62",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_bool",
                                            "typeString": "bool"
                                        }
                                    },
                                    "visibility": "internal"
                                },
                                {
                                    "constant": false,
                                    "id": 17452,
                                    "mutability": "mutable",
                                    "name": "p2",
                                    "nameLocation": "35675:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 17469,
                                    "src": "35670:7:62",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_bool",
                                        "typeString": "bool"
                                    },
                                    "typeName": {
                                        "id": 17451,
                                        "name": "bool",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "35670:4:62",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_bool",
                                            "typeString": "bool"
                                        }
                                    },
                                    "visibility": "internal"
                                },
                                {
                                    "constant": false,
                                    "id": 17454,
                                    "mutability": "mutable",
                                    "name": "p3",
                                    "nameLocation": "35693:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 17469,
                                    "src": "35679:16:62",
                                    "stateVariable": false,
                                    "storageLocation": "memory",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_string_memory_ptr",
                                        "typeString": "string"
                                    },
                                    "typeName": {
                                        "id": 17453,
                                        "name": "string",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "35679:6:62",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_string_storage_ptr",
                                            "typeString": "string"
                                        }
                                    },
                                    "visibility": "internal"
                                }
                            ],
                            "src": "35642:54:62"
                        },
                        "returnParameters": {
                            "id": 17456,
                            "nodeType": "ParameterList",
                            "parameters": [],
                            "src": "35711:0:62"
                        },
                        "scope": 20920,
                        "src": "35630:177:62",
                        "stateMutability": "view",
                        "virtual": false,
                        "visibility": "internal"
                    },
                    {
                        "body": {
                            "id": 17491,
                            "nodeType": "Block",
                            "src": "35882:94:62",
                            "statements": [
                                {
                                    "expression": {
                                        "arguments": [
                                            {
                                                "arguments": [
                                                    {
                                                        "hexValue": "6c6f6728737472696e672c626f6f6c2c626f6f6c2c626f6f6c29",
                                                        "id": 17483,
                                                        "isConstant": false,
                                                        "isLValue": false,
                                                        "isPure": true,
                                                        "kind": "string",
                                                        "lValueRequested": false,
                                                        "nodeType": "Literal",
                                                        "src": "35926:28:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_stringliteral_895af8c5b50078ceec3119054e20583155eeb3e1a8f56b8ed56efbec57456ad2",
                                                            "typeString": "literal_string \"log(string,bool,bool,bool)\""
                                                        },
                                                        "value": "log(string,bool,bool,bool)"
                                                    },
                                                    {
                                                        "id": 17484,
                                                        "name": "p0",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 17471,
                                                        "src": "35956:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_string_memory_ptr",
                                                            "typeString": "string memory"
                                                        }
                                                    },
                                                    {
                                                        "id": 17485,
                                                        "name": "p1",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 17473,
                                                        "src": "35960:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_bool",
                                                            "typeString": "bool"
                                                        }
                                                    },
                                                    {
                                                        "id": 17486,
                                                        "name": "p2",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 17475,
                                                        "src": "35964:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_bool",
                                                            "typeString": "bool"
                                                        }
                                                    },
                                                    {
                                                        "id": 17487,
                                                        "name": "p3",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 17477,
                                                        "src": "35968:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_bool",
                                                            "typeString": "bool"
                                                        }
                                                    }
                                                ],
                                                "expression": {
                                                    "argumentTypes": [
                                                        {
                                                            "typeIdentifier": "t_stringliteral_895af8c5b50078ceec3119054e20583155eeb3e1a8f56b8ed56efbec57456ad2",
                                                            "typeString": "literal_string \"log(string,bool,bool,bool)\""
                                                        },
                                                        {
                                                            "typeIdentifier": "t_string_memory_ptr",
                                                            "typeString": "string memory"
                                                        },
                                                        {
                                                            "typeIdentifier": "t_bool",
                                                            "typeString": "bool"
                                                        },
                                                        {
                                                            "typeIdentifier": "t_bool",
                                                            "typeString": "bool"
                                                        },
                                                        {
                                                            "typeIdentifier": "t_bool",
                                                            "typeString": "bool"
                                                        }
                                                    ],
                                                    "expression": {
                                                        "id": 17481,
                                                        "name": "abi",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 4294967295,
                                                        "src": "35902:3:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_magic_abi",
                                                            "typeString": "abi"
                                                        }
                                                    },
                                                    "id": 17482,
                                                    "isConstant": false,
                                                    "isLValue": false,
                                                    "isPure": true,
                                                    "lValueRequested": false,
                                                    "memberName": "encodeWithSignature",
                                                    "nodeType": "MemberAccess",
                                                    "src": "35902:23:62",
                                                    "typeDescriptions": {
                                                        "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$",
                                                        "typeString": "function (string memory) pure returns (bytes memory)"
                                                    }
                                                },
                                                "id": 17488,
                                                "isConstant": false,
                                                "isLValue": false,
                                                "isPure": false,
                                                "kind": "functionCall",
                                                "lValueRequested": false,
                                                "names": [],
                                                "nodeType": "FunctionCall",
                                                "src": "35902:69:62",
                                                "tryCall": false,
                                                "typeDescriptions": {
                                                    "typeIdentifier": "t_bytes_memory_ptr",
                                                    "typeString": "bytes memory"
                                                }
                                            }
                                        ],
                                        "expression": {
                                            "argumentTypes": [
                                                {
                                                    "typeIdentifier": "t_bytes_memory_ptr",
                                                    "typeString": "bytes memory"
                                                }
                                            ],
                                            "id": 17480,
                                            "name": "_sendLogPayload",
                                            "nodeType": "Identifier",
                                            "overloadedDeclarations": [],
                                            "referencedDeclaration": 12880,
                                            "src": "35886:15:62",
                                            "typeDescriptions": {
                                                "typeIdentifier": "t_function_internal_view$_t_bytes_memory_ptr_$returns$__$",
                                                "typeString": "function (bytes memory) view"
                                            }
                                        },
                                        "id": 17489,
                                        "isConstant": false,
                                        "isLValue": false,
                                        "isPure": false,
                                        "kind": "functionCall",
                                        "lValueRequested": false,
                                        "names": [],
                                        "nodeType": "FunctionCall",
                                        "src": "35886:86:62",
                                        "tryCall": false,
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_tuple$__$",
                                            "typeString": "tuple()"
                                        }
                                    },
                                    "id": 17490,
                                    "nodeType": "ExpressionStatement",
                                    "src": "35886:86:62"
                                }
                            ]
                        },
                        "id": 17492,
                        "implemented": true,
                        "kind": "function",
                        "modifiers": [],
                        "name": "log",
                        "nameLocation": "35819:3:62",
                        "nodeType": "FunctionDefinition",
                        "parameters": {
                            "id": 17478,
                            "nodeType": "ParameterList",
                            "parameters": [
                                {
                                    "constant": false,
                                    "id": 17471,
                                    "mutability": "mutable",
                                    "name": "p0",
                                    "nameLocation": "35837:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 17492,
                                    "src": "35823:16:62",
                                    "stateVariable": false,
                                    "storageLocation": "memory",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_string_memory_ptr",
                                        "typeString": "string"
                                    },
                                    "typeName": {
                                        "id": 17470,
                                        "name": "string",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "35823:6:62",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_string_storage_ptr",
                                            "typeString": "string"
                                        }
                                    },
                                    "visibility": "internal"
                                },
                                {
                                    "constant": false,
                                    "id": 17473,
                                    "mutability": "mutable",
                                    "name": "p1",
                                    "nameLocation": "35846:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 17492,
                                    "src": "35841:7:62",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_bool",
                                        "typeString": "bool"
                                    },
                                    "typeName": {
                                        "id": 17472,
                                        "name": "bool",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "35841:4:62",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_bool",
                                            "typeString": "bool"
                                        }
                                    },
                                    "visibility": "internal"
                                },
                                {
                                    "constant": false,
                                    "id": 17475,
                                    "mutability": "mutable",
                                    "name": "p2",
                                    "nameLocation": "35855:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 17492,
                                    "src": "35850:7:62",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_bool",
                                        "typeString": "bool"
                                    },
                                    "typeName": {
                                        "id": 17474,
                                        "name": "bool",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "35850:4:62",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_bool",
                                            "typeString": "bool"
                                        }
                                    },
                                    "visibility": "internal"
                                },
                                {
                                    "constant": false,
                                    "id": 17477,
                                    "mutability": "mutable",
                                    "name": "p3",
                                    "nameLocation": "35864:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 17492,
                                    "src": "35859:7:62",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_bool",
                                        "typeString": "bool"
                                    },
                                    "typeName": {
                                        "id": 17476,
                                        "name": "bool",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "35859:4:62",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_bool",
                                            "typeString": "bool"
                                        }
                                    },
                                    "visibility": "internal"
                                }
                            ],
                            "src": "35822:45:62"
                        },
                        "returnParameters": {
                            "id": 17479,
                            "nodeType": "ParameterList",
                            "parameters": [],
                            "src": "35882:0:62"
                        },
                        "scope": 20920,
                        "src": "35810:166:62",
                        "stateMutability": "view",
                        "virtual": false,
                        "visibility": "internal"
                    },
                    {
                        "body": {
                            "id": 17514,
                            "nodeType": "Block",
                            "src": "36054:97:62",
                            "statements": [
                                {
                                    "expression": {
                                        "arguments": [
                                            {
                                                "arguments": [
                                                    {
                                                        "hexValue": "6c6f6728737472696e672c626f6f6c2c626f6f6c2c6164647265737329",
                                                        "id": 17506,
                                                        "isConstant": false,
                                                        "isLValue": false,
                                                        "isPure": true,
                                                        "kind": "string",
                                                        "lValueRequested": false,
                                                        "nodeType": "Literal",
                                                        "src": "36098:31:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_stringliteral_7190a529624f3e9168945b9053b9648f6439313f31cad0801b50f9dc38a45d4d",
                                                            "typeString": "literal_string \"log(string,bool,bool,address)\""
                                                        },
                                                        "value": "log(string,bool,bool,address)"
                                                    },
                                                    {
                                                        "id": 17507,
                                                        "name": "p0",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 17494,
                                                        "src": "36131:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_string_memory_ptr",
                                                            "typeString": "string memory"
                                                        }
                                                    },
                                                    {
                                                        "id": 17508,
                                                        "name": "p1",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 17496,
                                                        "src": "36135:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_bool",
                                                            "typeString": "bool"
                                                        }
                                                    },
                                                    {
                                                        "id": 17509,
                                                        "name": "p2",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 17498,
                                                        "src": "36139:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_bool",
                                                            "typeString": "bool"
                                                        }
                                                    },
                                                    {
                                                        "id": 17510,
                                                        "name": "p3",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 17500,
                                                        "src": "36143:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_address",
                                                            "typeString": "address"
                                                        }
                                                    }
                                                ],
                                                "expression": {
                                                    "argumentTypes": [
                                                        {
                                                            "typeIdentifier": "t_stringliteral_7190a529624f3e9168945b9053b9648f6439313f31cad0801b50f9dc38a45d4d",
                                                            "typeString": "literal_string \"log(string,bool,bool,address)\""
                                                        },
                                                        {
                                                            "typeIdentifier": "t_string_memory_ptr",
                                                            "typeString": "string memory"
                                                        },
                                                        {
                                                            "typeIdentifier": "t_bool",
                                                            "typeString": "bool"
                                                        },
                                                        {
                                                            "typeIdentifier": "t_bool",
                                                            "typeString": "bool"
                                                        },
                                                        {
                                                            "typeIdentifier": "t_address",
                                                            "typeString": "address"
                                                        }
                                                    ],
                                                    "expression": {
                                                        "id": 17504,
                                                        "name": "abi",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 4294967295,
                                                        "src": "36074:3:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_magic_abi",
                                                            "typeString": "abi"
                                                        }
                                                    },
                                                    "id": 17505,
                                                    "isConstant": false,
                                                    "isLValue": false,
                                                    "isPure": true,
                                                    "lValueRequested": false,
                                                    "memberName": "encodeWithSignature",
                                                    "nodeType": "MemberAccess",
                                                    "src": "36074:23:62",
                                                    "typeDescriptions": {
                                                        "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$",
                                                        "typeString": "function (string memory) pure returns (bytes memory)"
                                                    }
                                                },
                                                "id": 17511,
                                                "isConstant": false,
                                                "isLValue": false,
                                                "isPure": false,
                                                "kind": "functionCall",
                                                "lValueRequested": false,
                                                "names": [],
                                                "nodeType": "FunctionCall",
                                                "src": "36074:72:62",
                                                "tryCall": false,
                                                "typeDescriptions": {
                                                    "typeIdentifier": "t_bytes_memory_ptr",
                                                    "typeString": "bytes memory"
                                                }
                                            }
                                        ],
                                        "expression": {
                                            "argumentTypes": [
                                                {
                                                    "typeIdentifier": "t_bytes_memory_ptr",
                                                    "typeString": "bytes memory"
                                                }
                                            ],
                                            "id": 17503,
                                            "name": "_sendLogPayload",
                                            "nodeType": "Identifier",
                                            "overloadedDeclarations": [],
                                            "referencedDeclaration": 12880,
                                            "src": "36058:15:62",
                                            "typeDescriptions": {
                                                "typeIdentifier": "t_function_internal_view$_t_bytes_memory_ptr_$returns$__$",
                                                "typeString": "function (bytes memory) view"
                                            }
                                        },
                                        "id": 17512,
                                        "isConstant": false,
                                        "isLValue": false,
                                        "isPure": false,
                                        "kind": "functionCall",
                                        "lValueRequested": false,
                                        "names": [],
                                        "nodeType": "FunctionCall",
                                        "src": "36058:89:62",
                                        "tryCall": false,
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_tuple$__$",
                                            "typeString": "tuple()"
                                        }
                                    },
                                    "id": 17513,
                                    "nodeType": "ExpressionStatement",
                                    "src": "36058:89:62"
                                }
                            ]
                        },
                        "id": 17515,
                        "implemented": true,
                        "kind": "function",
                        "modifiers": [],
                        "name": "log",
                        "nameLocation": "35988:3:62",
                        "nodeType": "FunctionDefinition",
                        "parameters": {
                            "id": 17501,
                            "nodeType": "ParameterList",
                            "parameters": [
                                {
                                    "constant": false,
                                    "id": 17494,
                                    "mutability": "mutable",
                                    "name": "p0",
                                    "nameLocation": "36006:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 17515,
                                    "src": "35992:16:62",
                                    "stateVariable": false,
                                    "storageLocation": "memory",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_string_memory_ptr",
                                        "typeString": "string"
                                    },
                                    "typeName": {
                                        "id": 17493,
                                        "name": "string",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "35992:6:62",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_string_storage_ptr",
                                            "typeString": "string"
                                        }
                                    },
                                    "visibility": "internal"
                                },
                                {
                                    "constant": false,
                                    "id": 17496,
                                    "mutability": "mutable",
                                    "name": "p1",
                                    "nameLocation": "36015:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 17515,
                                    "src": "36010:7:62",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_bool",
                                        "typeString": "bool"
                                    },
                                    "typeName": {
                                        "id": 17495,
                                        "name": "bool",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "36010:4:62",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_bool",
                                            "typeString": "bool"
                                        }
                                    },
                                    "visibility": "internal"
                                },
                                {
                                    "constant": false,
                                    "id": 17498,
                                    "mutability": "mutable",
                                    "name": "p2",
                                    "nameLocation": "36024:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 17515,
                                    "src": "36019:7:62",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_bool",
                                        "typeString": "bool"
                                    },
                                    "typeName": {
                                        "id": 17497,
                                        "name": "bool",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "36019:4:62",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_bool",
                                            "typeString": "bool"
                                        }
                                    },
                                    "visibility": "internal"
                                },
                                {
                                    "constant": false,
                                    "id": 17500,
                                    "mutability": "mutable",
                                    "name": "p3",
                                    "nameLocation": "36036:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 17515,
                                    "src": "36028:10:62",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_address",
                                        "typeString": "address"
                                    },
                                    "typeName": {
                                        "id": 17499,
                                        "name": "address",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "36028:7:62",
                                        "stateMutability": "nonpayable",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_address",
                                            "typeString": "address"
                                        }
                                    },
                                    "visibility": "internal"
                                }
                            ],
                            "src": "35991:48:62"
                        },
                        "returnParameters": {
                            "id": 17502,
                            "nodeType": "ParameterList",
                            "parameters": [],
                            "src": "36054:0:62"
                        },
                        "scope": 20920,
                        "src": "35979:172:62",
                        "stateMutability": "view",
                        "virtual": false,
                        "visibility": "internal"
                    },
                    {
                        "body": {
                            "id": 17537,
                            "nodeType": "Block",
                            "src": "36229:97:62",
                            "statements": [
                                {
                                    "expression": {
                                        "arguments": [
                                            {
                                                "arguments": [
                                                    {
                                                        "hexValue": "6c6f6728737472696e672c626f6f6c2c616464726573732c75696e7429",
                                                        "id": 17529,
                                                        "isConstant": false,
                                                        "isLValue": false,
                                                        "isPure": true,
                                                        "kind": "string",
                                                        "lValueRequested": false,
                                                        "nodeType": "Literal",
                                                        "src": "36273:31:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_stringliteral_28df4e96d50017c69e64253ea877c992512b689fb9fed17cf6af78f104f1200b",
                                                            "typeString": "literal_string \"log(string,bool,address,uint)\""
                                                        },
                                                        "value": "log(string,bool,address,uint)"
                                                    },
                                                    {
                                                        "id": 17530,
                                                        "name": "p0",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 17517,
                                                        "src": "36306:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_string_memory_ptr",
                                                            "typeString": "string memory"
                                                        }
                                                    },
                                                    {
                                                        "id": 17531,
                                                        "name": "p1",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 17519,
                                                        "src": "36310:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_bool",
                                                            "typeString": "bool"
                                                        }
                                                    },
                                                    {
                                                        "id": 17532,
                                                        "name": "p2",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 17521,
                                                        "src": "36314:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_address",
                                                            "typeString": "address"
                                                        }
                                                    },
                                                    {
                                                        "id": 17533,
                                                        "name": "p3",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 17523,
                                                        "src": "36318:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_uint256",
                                                            "typeString": "uint256"
                                                        }
                                                    }
                                                ],
                                                "expression": {
                                                    "argumentTypes": [
                                                        {
                                                            "typeIdentifier": "t_stringliteral_28df4e96d50017c69e64253ea877c992512b689fb9fed17cf6af78f104f1200b",
                                                            "typeString": "literal_string \"log(string,bool,address,uint)\""
                                                        },
                                                        {
                                                            "typeIdentifier": "t_string_memory_ptr",
                                                            "typeString": "string memory"
                                                        },
                                                        {
                                                            "typeIdentifier": "t_bool",
                                                            "typeString": "bool"
                                                        },
                                                        {
                                                            "typeIdentifier": "t_address",
                                                            "typeString": "address"
                                                        },
                                                        {
                                                            "typeIdentifier": "t_uint256",
                                                            "typeString": "uint256"
                                                        }
                                                    ],
                                                    "expression": {
                                                        "id": 17527,
                                                        "name": "abi",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 4294967295,
                                                        "src": "36249:3:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_magic_abi",
                                                            "typeString": "abi"
                                                        }
                                                    },
                                                    "id": 17528,
                                                    "isConstant": false,
                                                    "isLValue": false,
                                                    "isPure": true,
                                                    "lValueRequested": false,
                                                    "memberName": "encodeWithSignature",
                                                    "nodeType": "MemberAccess",
                                                    "src": "36249:23:62",
                                                    "typeDescriptions": {
                                                        "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$",
                                                        "typeString": "function (string memory) pure returns (bytes memory)"
                                                    }
                                                },
                                                "id": 17534,
                                                "isConstant": false,
                                                "isLValue": false,
                                                "isPure": false,
                                                "kind": "functionCall",
                                                "lValueRequested": false,
                                                "names": [],
                                                "nodeType": "FunctionCall",
                                                "src": "36249:72:62",
                                                "tryCall": false,
                                                "typeDescriptions": {
                                                    "typeIdentifier": "t_bytes_memory_ptr",
                                                    "typeString": "bytes memory"
                                                }
                                            }
                                        ],
                                        "expression": {
                                            "argumentTypes": [
                                                {
                                                    "typeIdentifier": "t_bytes_memory_ptr",
                                                    "typeString": "bytes memory"
                                                }
                                            ],
                                            "id": 17526,
                                            "name": "_sendLogPayload",
                                            "nodeType": "Identifier",
                                            "overloadedDeclarations": [],
                                            "referencedDeclaration": 12880,
                                            "src": "36233:15:62",
                                            "typeDescriptions": {
                                                "typeIdentifier": "t_function_internal_view$_t_bytes_memory_ptr_$returns$__$",
                                                "typeString": "function (bytes memory) view"
                                            }
                                        },
                                        "id": 17535,
                                        "isConstant": false,
                                        "isLValue": false,
                                        "isPure": false,
                                        "kind": "functionCall",
                                        "lValueRequested": false,
                                        "names": [],
                                        "nodeType": "FunctionCall",
                                        "src": "36233:89:62",
                                        "tryCall": false,
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_tuple$__$",
                                            "typeString": "tuple()"
                                        }
                                    },
                                    "id": 17536,
                                    "nodeType": "ExpressionStatement",
                                    "src": "36233:89:62"
                                }
                            ]
                        },
                        "id": 17538,
                        "implemented": true,
                        "kind": "function",
                        "modifiers": [],
                        "name": "log",
                        "nameLocation": "36163:3:62",
                        "nodeType": "FunctionDefinition",
                        "parameters": {
                            "id": 17524,
                            "nodeType": "ParameterList",
                            "parameters": [
                                {
                                    "constant": false,
                                    "id": 17517,
                                    "mutability": "mutable",
                                    "name": "p0",
                                    "nameLocation": "36181:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 17538,
                                    "src": "36167:16:62",
                                    "stateVariable": false,
                                    "storageLocation": "memory",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_string_memory_ptr",
                                        "typeString": "string"
                                    },
                                    "typeName": {
                                        "id": 17516,
                                        "name": "string",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "36167:6:62",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_string_storage_ptr",
                                            "typeString": "string"
                                        }
                                    },
                                    "visibility": "internal"
                                },
                                {
                                    "constant": false,
                                    "id": 17519,
                                    "mutability": "mutable",
                                    "name": "p1",
                                    "nameLocation": "36190:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 17538,
                                    "src": "36185:7:62",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_bool",
                                        "typeString": "bool"
                                    },
                                    "typeName": {
                                        "id": 17518,
                                        "name": "bool",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "36185:4:62",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_bool",
                                            "typeString": "bool"
                                        }
                                    },
                                    "visibility": "internal"
                                },
                                {
                                    "constant": false,
                                    "id": 17521,
                                    "mutability": "mutable",
                                    "name": "p2",
                                    "nameLocation": "36202:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 17538,
                                    "src": "36194:10:62",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_address",
                                        "typeString": "address"
                                    },
                                    "typeName": {
                                        "id": 17520,
                                        "name": "address",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "36194:7:62",
                                        "stateMutability": "nonpayable",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_address",
                                            "typeString": "address"
                                        }
                                    },
                                    "visibility": "internal"
                                },
                                {
                                    "constant": false,
                                    "id": 17523,
                                    "mutability": "mutable",
                                    "name": "p3",
                                    "nameLocation": "36211:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 17538,
                                    "src": "36206:7:62",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_uint256",
                                        "typeString": "uint256"
                                    },
                                    "typeName": {
                                        "id": 17522,
                                        "name": "uint",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "36206:4:62",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_uint256",
                                            "typeString": "uint256"
                                        }
                                    },
                                    "visibility": "internal"
                                }
                            ],
                            "src": "36166:48:62"
                        },
                        "returnParameters": {
                            "id": 17525,
                            "nodeType": "ParameterList",
                            "parameters": [],
                            "src": "36229:0:62"
                        },
                        "scope": 20920,
                        "src": "36154:172:62",
                        "stateMutability": "view",
                        "virtual": false,
                        "visibility": "internal"
                    },
                    {
                        "body": {
                            "id": 17560,
                            "nodeType": "Block",
                            "src": "36413:99:62",
                            "statements": [
                                {
                                    "expression": {
                                        "arguments": [
                                            {
                                                "arguments": [
                                                    {
                                                        "hexValue": "6c6f6728737472696e672c626f6f6c2c616464726573732c737472696e6729",
                                                        "id": 17552,
                                                        "isConstant": false,
                                                        "isLValue": false,
                                                        "isPure": true,
                                                        "kind": "string",
                                                        "lValueRequested": false,
                                                        "nodeType": "Literal",
                                                        "src": "36457:33:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_stringliteral_2d8e33a4e52268aad313274a8446eec6f40466a28da2456a8f12d83b298c13ef",
                                                            "typeString": "literal_string \"log(string,bool,address,string)\""
                                                        },
                                                        "value": "log(string,bool,address,string)"
                                                    },
                                                    {
                                                        "id": 17553,
                                                        "name": "p0",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 17540,
                                                        "src": "36492:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_string_memory_ptr",
                                                            "typeString": "string memory"
                                                        }
                                                    },
                                                    {
                                                        "id": 17554,
                                                        "name": "p1",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 17542,
                                                        "src": "36496:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_bool",
                                                            "typeString": "bool"
                                                        }
                                                    },
                                                    {
                                                        "id": 17555,
                                                        "name": "p2",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 17544,
                                                        "src": "36500:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_address",
                                                            "typeString": "address"
                                                        }
                                                    },
                                                    {
                                                        "id": 17556,
                                                        "name": "p3",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 17546,
                                                        "src": "36504:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_string_memory_ptr",
                                                            "typeString": "string memory"
                                                        }
                                                    }
                                                ],
                                                "expression": {
                                                    "argumentTypes": [
                                                        {
                                                            "typeIdentifier": "t_stringliteral_2d8e33a4e52268aad313274a8446eec6f40466a28da2456a8f12d83b298c13ef",
                                                            "typeString": "literal_string \"log(string,bool,address,string)\""
                                                        },
                                                        {
                                                            "typeIdentifier": "t_string_memory_ptr",
                                                            "typeString": "string memory"
                                                        },
                                                        {
                                                            "typeIdentifier": "t_bool",
                                                            "typeString": "bool"
                                                        },
                                                        {
                                                            "typeIdentifier": "t_address",
                                                            "typeString": "address"
                                                        },
                                                        {
                                                            "typeIdentifier": "t_string_memory_ptr",
                                                            "typeString": "string memory"
                                                        }
                                                    ],
                                                    "expression": {
                                                        "id": 17550,
                                                        "name": "abi",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 4294967295,
                                                        "src": "36433:3:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_magic_abi",
                                                            "typeString": "abi"
                                                        }
                                                    },
                                                    "id": 17551,
                                                    "isConstant": false,
                                                    "isLValue": false,
                                                    "isPure": true,
                                                    "lValueRequested": false,
                                                    "memberName": "encodeWithSignature",
                                                    "nodeType": "MemberAccess",
                                                    "src": "36433:23:62",
                                                    "typeDescriptions": {
                                                        "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$",
                                                        "typeString": "function (string memory) pure returns (bytes memory)"
                                                    }
                                                },
                                                "id": 17557,
                                                "isConstant": false,
                                                "isLValue": false,
                                                "isPure": false,
                                                "kind": "functionCall",
                                                "lValueRequested": false,
                                                "names": [],
                                                "nodeType": "FunctionCall",
                                                "src": "36433:74:62",
                                                "tryCall": false,
                                                "typeDescriptions": {
                                                    "typeIdentifier": "t_bytes_memory_ptr",
                                                    "typeString": "bytes memory"
                                                }
                                            }
                                        ],
                                        "expression": {
                                            "argumentTypes": [
                                                {
                                                    "typeIdentifier": "t_bytes_memory_ptr",
                                                    "typeString": "bytes memory"
                                                }
                                            ],
                                            "id": 17549,
                                            "name": "_sendLogPayload",
                                            "nodeType": "Identifier",
                                            "overloadedDeclarations": [],
                                            "referencedDeclaration": 12880,
                                            "src": "36417:15:62",
                                            "typeDescriptions": {
                                                "typeIdentifier": "t_function_internal_view$_t_bytes_memory_ptr_$returns$__$",
                                                "typeString": "function (bytes memory) view"
                                            }
                                        },
                                        "id": 17558,
                                        "isConstant": false,
                                        "isLValue": false,
                                        "isPure": false,
                                        "kind": "functionCall",
                                        "lValueRequested": false,
                                        "names": [],
                                        "nodeType": "FunctionCall",
                                        "src": "36417:91:62",
                                        "tryCall": false,
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_tuple$__$",
                                            "typeString": "tuple()"
                                        }
                                    },
                                    "id": 17559,
                                    "nodeType": "ExpressionStatement",
                                    "src": "36417:91:62"
                                }
                            ]
                        },
                        "id": 17561,
                        "implemented": true,
                        "kind": "function",
                        "modifiers": [],
                        "name": "log",
                        "nameLocation": "36338:3:62",
                        "nodeType": "FunctionDefinition",
                        "parameters": {
                            "id": 17547,
                            "nodeType": "ParameterList",
                            "parameters": [
                                {
                                    "constant": false,
                                    "id": 17540,
                                    "mutability": "mutable",
                                    "name": "p0",
                                    "nameLocation": "36356:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 17561,
                                    "src": "36342:16:62",
                                    "stateVariable": false,
                                    "storageLocation": "memory",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_string_memory_ptr",
                                        "typeString": "string"
                                    },
                                    "typeName": {
                                        "id": 17539,
                                        "name": "string",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "36342:6:62",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_string_storage_ptr",
                                            "typeString": "string"
                                        }
                                    },
                                    "visibility": "internal"
                                },
                                {
                                    "constant": false,
                                    "id": 17542,
                                    "mutability": "mutable",
                                    "name": "p1",
                                    "nameLocation": "36365:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 17561,
                                    "src": "36360:7:62",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_bool",
                                        "typeString": "bool"
                                    },
                                    "typeName": {
                                        "id": 17541,
                                        "name": "bool",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "36360:4:62",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_bool",
                                            "typeString": "bool"
                                        }
                                    },
                                    "visibility": "internal"
                                },
                                {
                                    "constant": false,
                                    "id": 17544,
                                    "mutability": "mutable",
                                    "name": "p2",
                                    "nameLocation": "36377:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 17561,
                                    "src": "36369:10:62",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_address",
                                        "typeString": "address"
                                    },
                                    "typeName": {
                                        "id": 17543,
                                        "name": "address",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "36369:7:62",
                                        "stateMutability": "nonpayable",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_address",
                                            "typeString": "address"
                                        }
                                    },
                                    "visibility": "internal"
                                },
                                {
                                    "constant": false,
                                    "id": 17546,
                                    "mutability": "mutable",
                                    "name": "p3",
                                    "nameLocation": "36395:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 17561,
                                    "src": "36381:16:62",
                                    "stateVariable": false,
                                    "storageLocation": "memory",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_string_memory_ptr",
                                        "typeString": "string"
                                    },
                                    "typeName": {
                                        "id": 17545,
                                        "name": "string",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "36381:6:62",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_string_storage_ptr",
                                            "typeString": "string"
                                        }
                                    },
                                    "visibility": "internal"
                                }
                            ],
                            "src": "36341:57:62"
                        },
                        "returnParameters": {
                            "id": 17548,
                            "nodeType": "ParameterList",
                            "parameters": [],
                            "src": "36413:0:62"
                        },
                        "scope": 20920,
                        "src": "36329:183:62",
                        "stateMutability": "view",
                        "virtual": false,
                        "visibility": "internal"
                    },
                    {
                        "body": {
                            "id": 17583,
                            "nodeType": "Block",
                            "src": "36590:97:62",
                            "statements": [
                                {
                                    "expression": {
                                        "arguments": [
                                            {
                                                "arguments": [
                                                    {
                                                        "hexValue": "6c6f6728737472696e672c626f6f6c2c616464726573732c626f6f6c29",
                                                        "id": 17575,
                                                        "isConstant": false,
                                                        "isLValue": false,
                                                        "isPure": true,
                                                        "kind": "string",
                                                        "lValueRequested": false,
                                                        "nodeType": "Literal",
                                                        "src": "36634:31:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_stringliteral_958c28c6e7bd79de7ce7f6f112cbcb194d9e383764dfb947492ee1374ff5c482",
                                                            "typeString": "literal_string \"log(string,bool,address,bool)\""
                                                        },
                                                        "value": "log(string,bool,address,bool)"
                                                    },
                                                    {
                                                        "id": 17576,
                                                        "name": "p0",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 17563,
                                                        "src": "36667:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_string_memory_ptr",
                                                            "typeString": "string memory"
                                                        }
                                                    },
                                                    {
                                                        "id": 17577,
                                                        "name": "p1",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 17565,
                                                        "src": "36671:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_bool",
                                                            "typeString": "bool"
                                                        }
                                                    },
                                                    {
                                                        "id": 17578,
                                                        "name": "p2",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 17567,
                                                        "src": "36675:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_address",
                                                            "typeString": "address"
                                                        }
                                                    },
                                                    {
                                                        "id": 17579,
                                                        "name": "p3",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 17569,
                                                        "src": "36679:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_bool",
                                                            "typeString": "bool"
                                                        }
                                                    }
                                                ],
                                                "expression": {
                                                    "argumentTypes": [
                                                        {
                                                            "typeIdentifier": "t_stringliteral_958c28c6e7bd79de7ce7f6f112cbcb194d9e383764dfb947492ee1374ff5c482",
                                                            "typeString": "literal_string \"log(string,bool,address,bool)\""
                                                        },
                                                        {
                                                            "typeIdentifier": "t_string_memory_ptr",
                                                            "typeString": "string memory"
                                                        },
                                                        {
                                                            "typeIdentifier": "t_bool",
                                                            "typeString": "bool"
                                                        },
                                                        {
                                                            "typeIdentifier": "t_address",
                                                            "typeString": "address"
                                                        },
                                                        {
                                                            "typeIdentifier": "t_bool",
                                                            "typeString": "bool"
                                                        }
                                                    ],
                                                    "expression": {
                                                        "id": 17573,
                                                        "name": "abi",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 4294967295,
                                                        "src": "36610:3:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_magic_abi",
                                                            "typeString": "abi"
                                                        }
                                                    },
                                                    "id": 17574,
                                                    "isConstant": false,
                                                    "isLValue": false,
                                                    "isPure": true,
                                                    "lValueRequested": false,
                                                    "memberName": "encodeWithSignature",
                                                    "nodeType": "MemberAccess",
                                                    "src": "36610:23:62",
                                                    "typeDescriptions": {
                                                        "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$",
                                                        "typeString": "function (string memory) pure returns (bytes memory)"
                                                    }
                                                },
                                                "id": 17580,
                                                "isConstant": false,
                                                "isLValue": false,
                                                "isPure": false,
                                                "kind": "functionCall",
                                                "lValueRequested": false,
                                                "names": [],
                                                "nodeType": "FunctionCall",
                                                "src": "36610:72:62",
                                                "tryCall": false,
                                                "typeDescriptions": {
                                                    "typeIdentifier": "t_bytes_memory_ptr",
                                                    "typeString": "bytes memory"
                                                }
                                            }
                                        ],
                                        "expression": {
                                            "argumentTypes": [
                                                {
                                                    "typeIdentifier": "t_bytes_memory_ptr",
                                                    "typeString": "bytes memory"
                                                }
                                            ],
                                            "id": 17572,
                                            "name": "_sendLogPayload",
                                            "nodeType": "Identifier",
                                            "overloadedDeclarations": [],
                                            "referencedDeclaration": 12880,
                                            "src": "36594:15:62",
                                            "typeDescriptions": {
                                                "typeIdentifier": "t_function_internal_view$_t_bytes_memory_ptr_$returns$__$",
                                                "typeString": "function (bytes memory) view"
                                            }
                                        },
                                        "id": 17581,
                                        "isConstant": false,
                                        "isLValue": false,
                                        "isPure": false,
                                        "kind": "functionCall",
                                        "lValueRequested": false,
                                        "names": [],
                                        "nodeType": "FunctionCall",
                                        "src": "36594:89:62",
                                        "tryCall": false,
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_tuple$__$",
                                            "typeString": "tuple()"
                                        }
                                    },
                                    "id": 17582,
                                    "nodeType": "ExpressionStatement",
                                    "src": "36594:89:62"
                                }
                            ]
                        },
                        "id": 17584,
                        "implemented": true,
                        "kind": "function",
                        "modifiers": [],
                        "name": "log",
                        "nameLocation": "36524:3:62",
                        "nodeType": "FunctionDefinition",
                        "parameters": {
                            "id": 17570,
                            "nodeType": "ParameterList",
                            "parameters": [
                                {
                                    "constant": false,
                                    "id": 17563,
                                    "mutability": "mutable",
                                    "name": "p0",
                                    "nameLocation": "36542:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 17584,
                                    "src": "36528:16:62",
                                    "stateVariable": false,
                                    "storageLocation": "memory",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_string_memory_ptr",
                                        "typeString": "string"
                                    },
                                    "typeName": {
                                        "id": 17562,
                                        "name": "string",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "36528:6:62",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_string_storage_ptr",
                                            "typeString": "string"
                                        }
                                    },
                                    "visibility": "internal"
                                },
                                {
                                    "constant": false,
                                    "id": 17565,
                                    "mutability": "mutable",
                                    "name": "p1",
                                    "nameLocation": "36551:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 17584,
                                    "src": "36546:7:62",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_bool",
                                        "typeString": "bool"
                                    },
                                    "typeName": {
                                        "id": 17564,
                                        "name": "bool",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "36546:4:62",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_bool",
                                            "typeString": "bool"
                                        }
                                    },
                                    "visibility": "internal"
                                },
                                {
                                    "constant": false,
                                    "id": 17567,
                                    "mutability": "mutable",
                                    "name": "p2",
                                    "nameLocation": "36563:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 17584,
                                    "src": "36555:10:62",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_address",
                                        "typeString": "address"
                                    },
                                    "typeName": {
                                        "id": 17566,
                                        "name": "address",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "36555:7:62",
                                        "stateMutability": "nonpayable",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_address",
                                            "typeString": "address"
                                        }
                                    },
                                    "visibility": "internal"
                                },
                                {
                                    "constant": false,
                                    "id": 17569,
                                    "mutability": "mutable",
                                    "name": "p3",
                                    "nameLocation": "36572:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 17584,
                                    "src": "36567:7:62",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_bool",
                                        "typeString": "bool"
                                    },
                                    "typeName": {
                                        "id": 17568,
                                        "name": "bool",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "36567:4:62",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_bool",
                                            "typeString": "bool"
                                        }
                                    },
                                    "visibility": "internal"
                                }
                            ],
                            "src": "36527:48:62"
                        },
                        "returnParameters": {
                            "id": 17571,
                            "nodeType": "ParameterList",
                            "parameters": [],
                            "src": "36590:0:62"
                        },
                        "scope": 20920,
                        "src": "36515:172:62",
                        "stateMutability": "view",
                        "virtual": false,
                        "visibility": "internal"
                    },
                    {
                        "body": {
                            "id": 17606,
                            "nodeType": "Block",
                            "src": "36768:100:62",
                            "statements": [
                                {
                                    "expression": {
                                        "arguments": [
                                            {
                                                "arguments": [
                                                    {
                                                        "hexValue": "6c6f6728737472696e672c626f6f6c2c616464726573732c6164647265737329",
                                                        "id": 17598,
                                                        "isConstant": false,
                                                        "isLValue": false,
                                                        "isPure": true,
                                                        "kind": "string",
                                                        "lValueRequested": false,
                                                        "nodeType": "Literal",
                                                        "src": "36812:34:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_stringliteral_33e9dd1deb33816160eb59d86987de501b214bedbbe3c70103eff4092834b53d",
                                                            "typeString": "literal_string \"log(string,bool,address,address)\""
                                                        },
                                                        "value": "log(string,bool,address,address)"
                                                    },
                                                    {
                                                        "id": 17599,
                                                        "name": "p0",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 17586,
                                                        "src": "36848:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_string_memory_ptr",
                                                            "typeString": "string memory"
                                                        }
                                                    },
                                                    {
                                                        "id": 17600,
                                                        "name": "p1",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 17588,
                                                        "src": "36852:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_bool",
                                                            "typeString": "bool"
                                                        }
                                                    },
                                                    {
                                                        "id": 17601,
                                                        "name": "p2",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 17590,
                                                        "src": "36856:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_address",
                                                            "typeString": "address"
                                                        }
                                                    },
                                                    {
                                                        "id": 17602,
                                                        "name": "p3",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 17592,
                                                        "src": "36860:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_address",
                                                            "typeString": "address"
                                                        }
                                                    }
                                                ],
                                                "expression": {
                                                    "argumentTypes": [
                                                        {
                                                            "typeIdentifier": "t_stringliteral_33e9dd1deb33816160eb59d86987de501b214bedbbe3c70103eff4092834b53d",
                                                            "typeString": "literal_string \"log(string,bool,address,address)\""
                                                        },
                                                        {
                                                            "typeIdentifier": "t_string_memory_ptr",
                                                            "typeString": "string memory"
                                                        },
                                                        {
                                                            "typeIdentifier": "t_bool",
                                                            "typeString": "bool"
                                                        },
                                                        {
                                                            "typeIdentifier": "t_address",
                                                            "typeString": "address"
                                                        },
                                                        {
                                                            "typeIdentifier": "t_address",
                                                            "typeString": "address"
                                                        }
                                                    ],
                                                    "expression": {
                                                        "id": 17596,
                                                        "name": "abi",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 4294967295,
                                                        "src": "36788:3:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_magic_abi",
                                                            "typeString": "abi"
                                                        }
                                                    },
                                                    "id": 17597,
                                                    "isConstant": false,
                                                    "isLValue": false,
                                                    "isPure": true,
                                                    "lValueRequested": false,
                                                    "memberName": "encodeWithSignature",
                                                    "nodeType": "MemberAccess",
                                                    "src": "36788:23:62",
                                                    "typeDescriptions": {
                                                        "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$",
                                                        "typeString": "function (string memory) pure returns (bytes memory)"
                                                    }
                                                },
                                                "id": 17603,
                                                "isConstant": false,
                                                "isLValue": false,
                                                "isPure": false,
                                                "kind": "functionCall",
                                                "lValueRequested": false,
                                                "names": [],
                                                "nodeType": "FunctionCall",
                                                "src": "36788:75:62",
                                                "tryCall": false,
                                                "typeDescriptions": {
                                                    "typeIdentifier": "t_bytes_memory_ptr",
                                                    "typeString": "bytes memory"
                                                }
                                            }
                                        ],
                                        "expression": {
                                            "argumentTypes": [
                                                {
                                                    "typeIdentifier": "t_bytes_memory_ptr",
                                                    "typeString": "bytes memory"
                                                }
                                            ],
                                            "id": 17595,
                                            "name": "_sendLogPayload",
                                            "nodeType": "Identifier",
                                            "overloadedDeclarations": [],
                                            "referencedDeclaration": 12880,
                                            "src": "36772:15:62",
                                            "typeDescriptions": {
                                                "typeIdentifier": "t_function_internal_view$_t_bytes_memory_ptr_$returns$__$",
                                                "typeString": "function (bytes memory) view"
                                            }
                                        },
                                        "id": 17604,
                                        "isConstant": false,
                                        "isLValue": false,
                                        "isPure": false,
                                        "kind": "functionCall",
                                        "lValueRequested": false,
                                        "names": [],
                                        "nodeType": "FunctionCall",
                                        "src": "36772:92:62",
                                        "tryCall": false,
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_tuple$__$",
                                            "typeString": "tuple()"
                                        }
                                    },
                                    "id": 17605,
                                    "nodeType": "ExpressionStatement",
                                    "src": "36772:92:62"
                                }
                            ]
                        },
                        "id": 17607,
                        "implemented": true,
                        "kind": "function",
                        "modifiers": [],
                        "name": "log",
                        "nameLocation": "36699:3:62",
                        "nodeType": "FunctionDefinition",
                        "parameters": {
                            "id": 17593,
                            "nodeType": "ParameterList",
                            "parameters": [
                                {
                                    "constant": false,
                                    "id": 17586,
                                    "mutability": "mutable",
                                    "name": "p0",
                                    "nameLocation": "36717:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 17607,
                                    "src": "36703:16:62",
                                    "stateVariable": false,
                                    "storageLocation": "memory",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_string_memory_ptr",
                                        "typeString": "string"
                                    },
                                    "typeName": {
                                        "id": 17585,
                                        "name": "string",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "36703:6:62",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_string_storage_ptr",
                                            "typeString": "string"
                                        }
                                    },
                                    "visibility": "internal"
                                },
                                {
                                    "constant": false,
                                    "id": 17588,
                                    "mutability": "mutable",
                                    "name": "p1",
                                    "nameLocation": "36726:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 17607,
                                    "src": "36721:7:62",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_bool",
                                        "typeString": "bool"
                                    },
                                    "typeName": {
                                        "id": 17587,
                                        "name": "bool",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "36721:4:62",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_bool",
                                            "typeString": "bool"
                                        }
                                    },
                                    "visibility": "internal"
                                },
                                {
                                    "constant": false,
                                    "id": 17590,
                                    "mutability": "mutable",
                                    "name": "p2",
                                    "nameLocation": "36738:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 17607,
                                    "src": "36730:10:62",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_address",
                                        "typeString": "address"
                                    },
                                    "typeName": {
                                        "id": 17589,
                                        "name": "address",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "36730:7:62",
                                        "stateMutability": "nonpayable",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_address",
                                            "typeString": "address"
                                        }
                                    },
                                    "visibility": "internal"
                                },
                                {
                                    "constant": false,
                                    "id": 17592,
                                    "mutability": "mutable",
                                    "name": "p3",
                                    "nameLocation": "36750:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 17607,
                                    "src": "36742:10:62",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_address",
                                        "typeString": "address"
                                    },
                                    "typeName": {
                                        "id": 17591,
                                        "name": "address",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "36742:7:62",
                                        "stateMutability": "nonpayable",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_address",
                                            "typeString": "address"
                                        }
                                    },
                                    "visibility": "internal"
                                }
                            ],
                            "src": "36702:51:62"
                        },
                        "returnParameters": {
                            "id": 17594,
                            "nodeType": "ParameterList",
                            "parameters": [],
                            "src": "36768:0:62"
                        },
                        "scope": 20920,
                        "src": "36690:178:62",
                        "stateMutability": "view",
                        "virtual": false,
                        "visibility": "internal"
                    },
                    {
                        "body": {
                            "id": 17629,
                            "nodeType": "Block",
                            "src": "36946:97:62",
                            "statements": [
                                {
                                    "expression": {
                                        "arguments": [
                                            {
                                                "arguments": [
                                                    {
                                                        "hexValue": "6c6f6728737472696e672c616464726573732c75696e742c75696e7429",
                                                        "id": 17621,
                                                        "isConstant": false,
                                                        "isLValue": false,
                                                        "isPure": true,
                                                        "kind": "string",
                                                        "lValueRequested": false,
                                                        "nodeType": "Literal",
                                                        "src": "36990:31:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_stringliteral_daa394bd4914eaece965f4173c7699746dff411e470b03385f052bd7b13f1bd3",
                                                            "typeString": "literal_string \"log(string,address,uint,uint)\""
                                                        },
                                                        "value": "log(string,address,uint,uint)"
                                                    },
                                                    {
                                                        "id": 17622,
                                                        "name": "p0",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 17609,
                                                        "src": "37023:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_string_memory_ptr",
                                                            "typeString": "string memory"
                                                        }
                                                    },
                                                    {
                                                        "id": 17623,
                                                        "name": "p1",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 17611,
                                                        "src": "37027:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_address",
                                                            "typeString": "address"
                                                        }
                                                    },
                                                    {
                                                        "id": 17624,
                                                        "name": "p2",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 17613,
                                                        "src": "37031:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_uint256",
                                                            "typeString": "uint256"
                                                        }
                                                    },
                                                    {
                                                        "id": 17625,
                                                        "name": "p3",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 17615,
                                                        "src": "37035:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_uint256",
                                                            "typeString": "uint256"
                                                        }
                                                    }
                                                ],
                                                "expression": {
                                                    "argumentTypes": [
                                                        {
                                                            "typeIdentifier": "t_stringliteral_daa394bd4914eaece965f4173c7699746dff411e470b03385f052bd7b13f1bd3",
                                                            "typeString": "literal_string \"log(string,address,uint,uint)\""
                                                        },
                                                        {
                                                            "typeIdentifier": "t_string_memory_ptr",
                                                            "typeString": "string memory"
                                                        },
                                                        {
                                                            "typeIdentifier": "t_address",
                                                            "typeString": "address"
                                                        },
                                                        {
                                                            "typeIdentifier": "t_uint256",
                                                            "typeString": "uint256"
                                                        },
                                                        {
                                                            "typeIdentifier": "t_uint256",
                                                            "typeString": "uint256"
                                                        }
                                                    ],
                                                    "expression": {
                                                        "id": 17619,
                                                        "name": "abi",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 4294967295,
                                                        "src": "36966:3:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_magic_abi",
                                                            "typeString": "abi"
                                                        }
                                                    },
                                                    "id": 17620,
                                                    "isConstant": false,
                                                    "isLValue": false,
                                                    "isPure": true,
                                                    "lValueRequested": false,
                                                    "memberName": "encodeWithSignature",
                                                    "nodeType": "MemberAccess",
                                                    "src": "36966:23:62",
                                                    "typeDescriptions": {
                                                        "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$",
                                                        "typeString": "function (string memory) pure returns (bytes memory)"
                                                    }
                                                },
                                                "id": 17626,
                                                "isConstant": false,
                                                "isLValue": false,
                                                "isPure": false,
                                                "kind": "functionCall",
                                                "lValueRequested": false,
                                                "names": [],
                                                "nodeType": "FunctionCall",
                                                "src": "36966:72:62",
                                                "tryCall": false,
                                                "typeDescriptions": {
                                                    "typeIdentifier": "t_bytes_memory_ptr",
                                                    "typeString": "bytes memory"
                                                }
                                            }
                                        ],
                                        "expression": {
                                            "argumentTypes": [
                                                {
                                                    "typeIdentifier": "t_bytes_memory_ptr",
                                                    "typeString": "bytes memory"
                                                }
                                            ],
                                            "id": 17618,
                                            "name": "_sendLogPayload",
                                            "nodeType": "Identifier",
                                            "overloadedDeclarations": [],
                                            "referencedDeclaration": 12880,
                                            "src": "36950:15:62",
                                            "typeDescriptions": {
                                                "typeIdentifier": "t_function_internal_view$_t_bytes_memory_ptr_$returns$__$",
                                                "typeString": "function (bytes memory) view"
                                            }
                                        },
                                        "id": 17627,
                                        "isConstant": false,
                                        "isLValue": false,
                                        "isPure": false,
                                        "kind": "functionCall",
                                        "lValueRequested": false,
                                        "names": [],
                                        "nodeType": "FunctionCall",
                                        "src": "36950:89:62",
                                        "tryCall": false,
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_tuple$__$",
                                            "typeString": "tuple()"
                                        }
                                    },
                                    "id": 17628,
                                    "nodeType": "ExpressionStatement",
                                    "src": "36950:89:62"
                                }
                            ]
                        },
                        "id": 17630,
                        "implemented": true,
                        "kind": "function",
                        "modifiers": [],
                        "name": "log",
                        "nameLocation": "36880:3:62",
                        "nodeType": "FunctionDefinition",
                        "parameters": {
                            "id": 17616,
                            "nodeType": "ParameterList",
                            "parameters": [
                                {
                                    "constant": false,
                                    "id": 17609,
                                    "mutability": "mutable",
                                    "name": "p0",
                                    "nameLocation": "36898:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 17630,
                                    "src": "36884:16:62",
                                    "stateVariable": false,
                                    "storageLocation": "memory",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_string_memory_ptr",
                                        "typeString": "string"
                                    },
                                    "typeName": {
                                        "id": 17608,
                                        "name": "string",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "36884:6:62",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_string_storage_ptr",
                                            "typeString": "string"
                                        }
                                    },
                                    "visibility": "internal"
                                },
                                {
                                    "constant": false,
                                    "id": 17611,
                                    "mutability": "mutable",
                                    "name": "p1",
                                    "nameLocation": "36910:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 17630,
                                    "src": "36902:10:62",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_address",
                                        "typeString": "address"
                                    },
                                    "typeName": {
                                        "id": 17610,
                                        "name": "address",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "36902:7:62",
                                        "stateMutability": "nonpayable",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_address",
                                            "typeString": "address"
                                        }
                                    },
                                    "visibility": "internal"
                                },
                                {
                                    "constant": false,
                                    "id": 17613,
                                    "mutability": "mutable",
                                    "name": "p2",
                                    "nameLocation": "36919:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 17630,
                                    "src": "36914:7:62",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_uint256",
                                        "typeString": "uint256"
                                    },
                                    "typeName": {
                                        "id": 17612,
                                        "name": "uint",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "36914:4:62",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_uint256",
                                            "typeString": "uint256"
                                        }
                                    },
                                    "visibility": "internal"
                                },
                                {
                                    "constant": false,
                                    "id": 17615,
                                    "mutability": "mutable",
                                    "name": "p3",
                                    "nameLocation": "36928:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 17630,
                                    "src": "36923:7:62",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_uint256",
                                        "typeString": "uint256"
                                    },
                                    "typeName": {
                                        "id": 17614,
                                        "name": "uint",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "36923:4:62",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_uint256",
                                            "typeString": "uint256"
                                        }
                                    },
                                    "visibility": "internal"
                                }
                            ],
                            "src": "36883:48:62"
                        },
                        "returnParameters": {
                            "id": 17617,
                            "nodeType": "ParameterList",
                            "parameters": [],
                            "src": "36946:0:62"
                        },
                        "scope": 20920,
                        "src": "36871:172:62",
                        "stateMutability": "view",
                        "virtual": false,
                        "visibility": "internal"
                    },
                    {
                        "body": {
                            "id": 17652,
                            "nodeType": "Block",
                            "src": "37130:99:62",
                            "statements": [
                                {
                                    "expression": {
                                        "arguments": [
                                            {
                                                "arguments": [
                                                    {
                                                        "hexValue": "6c6f6728737472696e672c616464726573732c75696e742c737472696e6729",
                                                        "id": 17644,
                                                        "isConstant": false,
                                                        "isLValue": false,
                                                        "isPure": true,
                                                        "kind": "string",
                                                        "lValueRequested": false,
                                                        "nodeType": "Literal",
                                                        "src": "37174:33:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_stringliteral_4c55f234d048f08e770926729ee5d8a9c70d6b9a607ce037165c7e0f36155a98",
                                                            "typeString": "literal_string \"log(string,address,uint,string)\""
                                                        },
                                                        "value": "log(string,address,uint,string)"
                                                    },
                                                    {
                                                        "id": 17645,
                                                        "name": "p0",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 17632,
                                                        "src": "37209:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_string_memory_ptr",
                                                            "typeString": "string memory"
                                                        }
                                                    },
                                                    {
                                                        "id": 17646,
                                                        "name": "p1",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 17634,
                                                        "src": "37213:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_address",
                                                            "typeString": "address"
                                                        }
                                                    },
                                                    {
                                                        "id": 17647,
                                                        "name": "p2",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 17636,
                                                        "src": "37217:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_uint256",
                                                            "typeString": "uint256"
                                                        }
                                                    },
                                                    {
                                                        "id": 17648,
                                                        "name": "p3",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 17638,
                                                        "src": "37221:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_string_memory_ptr",
                                                            "typeString": "string memory"
                                                        }
                                                    }
                                                ],
                                                "expression": {
                                                    "argumentTypes": [
                                                        {
                                                            "typeIdentifier": "t_stringliteral_4c55f234d048f08e770926729ee5d8a9c70d6b9a607ce037165c7e0f36155a98",
                                                            "typeString": "literal_string \"log(string,address,uint,string)\""
                                                        },
                                                        {
                                                            "typeIdentifier": "t_string_memory_ptr",
                                                            "typeString": "string memory"
                                                        },
                                                        {
                                                            "typeIdentifier": "t_address",
                                                            "typeString": "address"
                                                        },
                                                        {
                                                            "typeIdentifier": "t_uint256",
                                                            "typeString": "uint256"
                                                        },
                                                        {
                                                            "typeIdentifier": "t_string_memory_ptr",
                                                            "typeString": "string memory"
                                                        }
                                                    ],
                                                    "expression": {
                                                        "id": 17642,
                                                        "name": "abi",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 4294967295,
                                                        "src": "37150:3:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_magic_abi",
                                                            "typeString": "abi"
                                                        }
                                                    },
                                                    "id": 17643,
                                                    "isConstant": false,
                                                    "isLValue": false,
                                                    "isPure": true,
                                                    "lValueRequested": false,
                                                    "memberName": "encodeWithSignature",
                                                    "nodeType": "MemberAccess",
                                                    "src": "37150:23:62",
                                                    "typeDescriptions": {
                                                        "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$",
                                                        "typeString": "function (string memory) pure returns (bytes memory)"
                                                    }
                                                },
                                                "id": 17649,
                                                "isConstant": false,
                                                "isLValue": false,
                                                "isPure": false,
                                                "kind": "functionCall",
                                                "lValueRequested": false,
                                                "names": [],
                                                "nodeType": "FunctionCall",
                                                "src": "37150:74:62",
                                                "tryCall": false,
                                                "typeDescriptions": {
                                                    "typeIdentifier": "t_bytes_memory_ptr",
                                                    "typeString": "bytes memory"
                                                }
                                            }
                                        ],
                                        "expression": {
                                            "argumentTypes": [
                                                {
                                                    "typeIdentifier": "t_bytes_memory_ptr",
                                                    "typeString": "bytes memory"
                                                }
                                            ],
                                            "id": 17641,
                                            "name": "_sendLogPayload",
                                            "nodeType": "Identifier",
                                            "overloadedDeclarations": [],
                                            "referencedDeclaration": 12880,
                                            "src": "37134:15:62",
                                            "typeDescriptions": {
                                                "typeIdentifier": "t_function_internal_view$_t_bytes_memory_ptr_$returns$__$",
                                                "typeString": "function (bytes memory) view"
                                            }
                                        },
                                        "id": 17650,
                                        "isConstant": false,
                                        "isLValue": false,
                                        "isPure": false,
                                        "kind": "functionCall",
                                        "lValueRequested": false,
                                        "names": [],
                                        "nodeType": "FunctionCall",
                                        "src": "37134:91:62",
                                        "tryCall": false,
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_tuple$__$",
                                            "typeString": "tuple()"
                                        }
                                    },
                                    "id": 17651,
                                    "nodeType": "ExpressionStatement",
                                    "src": "37134:91:62"
                                }
                            ]
                        },
                        "id": 17653,
                        "implemented": true,
                        "kind": "function",
                        "modifiers": [],
                        "name": "log",
                        "nameLocation": "37055:3:62",
                        "nodeType": "FunctionDefinition",
                        "parameters": {
                            "id": 17639,
                            "nodeType": "ParameterList",
                            "parameters": [
                                {
                                    "constant": false,
                                    "id": 17632,
                                    "mutability": "mutable",
                                    "name": "p0",
                                    "nameLocation": "37073:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 17653,
                                    "src": "37059:16:62",
                                    "stateVariable": false,
                                    "storageLocation": "memory",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_string_memory_ptr",
                                        "typeString": "string"
                                    },
                                    "typeName": {
                                        "id": 17631,
                                        "name": "string",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "37059:6:62",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_string_storage_ptr",
                                            "typeString": "string"
                                        }
                                    },
                                    "visibility": "internal"
                                },
                                {
                                    "constant": false,
                                    "id": 17634,
                                    "mutability": "mutable",
                                    "name": "p1",
                                    "nameLocation": "37085:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 17653,
                                    "src": "37077:10:62",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_address",
                                        "typeString": "address"
                                    },
                                    "typeName": {
                                        "id": 17633,
                                        "name": "address",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "37077:7:62",
                                        "stateMutability": "nonpayable",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_address",
                                            "typeString": "address"
                                        }
                                    },
                                    "visibility": "internal"
                                },
                                {
                                    "constant": false,
                                    "id": 17636,
                                    "mutability": "mutable",
                                    "name": "p2",
                                    "nameLocation": "37094:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 17653,
                                    "src": "37089:7:62",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_uint256",
                                        "typeString": "uint256"
                                    },
                                    "typeName": {
                                        "id": 17635,
                                        "name": "uint",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "37089:4:62",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_uint256",
                                            "typeString": "uint256"
                                        }
                                    },
                                    "visibility": "internal"
                                },
                                {
                                    "constant": false,
                                    "id": 17638,
                                    "mutability": "mutable",
                                    "name": "p3",
                                    "nameLocation": "37112:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 17653,
                                    "src": "37098:16:62",
                                    "stateVariable": false,
                                    "storageLocation": "memory",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_string_memory_ptr",
                                        "typeString": "string"
                                    },
                                    "typeName": {
                                        "id": 17637,
                                        "name": "string",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "37098:6:62",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_string_storage_ptr",
                                            "typeString": "string"
                                        }
                                    },
                                    "visibility": "internal"
                                }
                            ],
                            "src": "37058:57:62"
                        },
                        "returnParameters": {
                            "id": 17640,
                            "nodeType": "ParameterList",
                            "parameters": [],
                            "src": "37130:0:62"
                        },
                        "scope": 20920,
                        "src": "37046:183:62",
                        "stateMutability": "view",
                        "virtual": false,
                        "visibility": "internal"
                    },
                    {
                        "body": {
                            "id": 17675,
                            "nodeType": "Block",
                            "src": "37307:97:62",
                            "statements": [
                                {
                                    "expression": {
                                        "arguments": [
                                            {
                                                "arguments": [
                                                    {
                                                        "hexValue": "6c6f6728737472696e672c616464726573732c75696e742c626f6f6c29",
                                                        "id": 17667,
                                                        "isConstant": false,
                                                        "isLValue": false,
                                                        "isPure": true,
                                                        "kind": "string",
                                                        "lValueRequested": false,
                                                        "nodeType": "Literal",
                                                        "src": "37351:31:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_stringliteral_5ac1c13c91f65a91284d9d77ba7484e75b0a3dd9b57a01fd497babb7d6ebc554",
                                                            "typeString": "literal_string \"log(string,address,uint,bool)\""
                                                        },
                                                        "value": "log(string,address,uint,bool)"
                                                    },
                                                    {
                                                        "id": 17668,
                                                        "name": "p0",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 17655,
                                                        "src": "37384:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_string_memory_ptr",
                                                            "typeString": "string memory"
                                                        }
                                                    },
                                                    {
                                                        "id": 17669,
                                                        "name": "p1",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 17657,
                                                        "src": "37388:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_address",
                                                            "typeString": "address"
                                                        }
                                                    },
                                                    {
                                                        "id": 17670,
                                                        "name": "p2",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 17659,
                                                        "src": "37392:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_uint256",
                                                            "typeString": "uint256"
                                                        }
                                                    },
                                                    {
                                                        "id": 17671,
                                                        "name": "p3",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 17661,
                                                        "src": "37396:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_bool",
                                                            "typeString": "bool"
                                                        }
                                                    }
                                                ],
                                                "expression": {
                                                    "argumentTypes": [
                                                        {
                                                            "typeIdentifier": "t_stringliteral_5ac1c13c91f65a91284d9d77ba7484e75b0a3dd9b57a01fd497babb7d6ebc554",
                                                            "typeString": "literal_string \"log(string,address,uint,bool)\""
                                                        },
                                                        {
                                                            "typeIdentifier": "t_string_memory_ptr",
                                                            "typeString": "string memory"
                                                        },
                                                        {
                                                            "typeIdentifier": "t_address",
                                                            "typeString": "address"
                                                        },
                                                        {
                                                            "typeIdentifier": "t_uint256",
                                                            "typeString": "uint256"
                                                        },
                                                        {
                                                            "typeIdentifier": "t_bool",
                                                            "typeString": "bool"
                                                        }
                                                    ],
                                                    "expression": {
                                                        "id": 17665,
                                                        "name": "abi",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 4294967295,
                                                        "src": "37327:3:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_magic_abi",
                                                            "typeString": "abi"
                                                        }
                                                    },
                                                    "id": 17666,
                                                    "isConstant": false,
                                                    "isLValue": false,
                                                    "isPure": true,
                                                    "lValueRequested": false,
                                                    "memberName": "encodeWithSignature",
                                                    "nodeType": "MemberAccess",
                                                    "src": "37327:23:62",
                                                    "typeDescriptions": {
                                                        "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$",
                                                        "typeString": "function (string memory) pure returns (bytes memory)"
                                                    }
                                                },
                                                "id": 17672,
                                                "isConstant": false,
                                                "isLValue": false,
                                                "isPure": false,
                                                "kind": "functionCall",
                                                "lValueRequested": false,
                                                "names": [],
                                                "nodeType": "FunctionCall",
                                                "src": "37327:72:62",
                                                "tryCall": false,
                                                "typeDescriptions": {
                                                    "typeIdentifier": "t_bytes_memory_ptr",
                                                    "typeString": "bytes memory"
                                                }
                                            }
                                        ],
                                        "expression": {
                                            "argumentTypes": [
                                                {
                                                    "typeIdentifier": "t_bytes_memory_ptr",
                                                    "typeString": "bytes memory"
                                                }
                                            ],
                                            "id": 17664,
                                            "name": "_sendLogPayload",
                                            "nodeType": "Identifier",
                                            "overloadedDeclarations": [],
                                            "referencedDeclaration": 12880,
                                            "src": "37311:15:62",
                                            "typeDescriptions": {
                                                "typeIdentifier": "t_function_internal_view$_t_bytes_memory_ptr_$returns$__$",
                                                "typeString": "function (bytes memory) view"
                                            }
                                        },
                                        "id": 17673,
                                        "isConstant": false,
                                        "isLValue": false,
                                        "isPure": false,
                                        "kind": "functionCall",
                                        "lValueRequested": false,
                                        "names": [],
                                        "nodeType": "FunctionCall",
                                        "src": "37311:89:62",
                                        "tryCall": false,
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_tuple$__$",
                                            "typeString": "tuple()"
                                        }
                                    },
                                    "id": 17674,
                                    "nodeType": "ExpressionStatement",
                                    "src": "37311:89:62"
                                }
                            ]
                        },
                        "id": 17676,
                        "implemented": true,
                        "kind": "function",
                        "modifiers": [],
                        "name": "log",
                        "nameLocation": "37241:3:62",
                        "nodeType": "FunctionDefinition",
                        "parameters": {
                            "id": 17662,
                            "nodeType": "ParameterList",
                            "parameters": [
                                {
                                    "constant": false,
                                    "id": 17655,
                                    "mutability": "mutable",
                                    "name": "p0",
                                    "nameLocation": "37259:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 17676,
                                    "src": "37245:16:62",
                                    "stateVariable": false,
                                    "storageLocation": "memory",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_string_memory_ptr",
                                        "typeString": "string"
                                    },
                                    "typeName": {
                                        "id": 17654,
                                        "name": "string",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "37245:6:62",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_string_storage_ptr",
                                            "typeString": "string"
                                        }
                                    },
                                    "visibility": "internal"
                                },
                                {
                                    "constant": false,
                                    "id": 17657,
                                    "mutability": "mutable",
                                    "name": "p1",
                                    "nameLocation": "37271:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 17676,
                                    "src": "37263:10:62",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_address",
                                        "typeString": "address"
                                    },
                                    "typeName": {
                                        "id": 17656,
                                        "name": "address",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "37263:7:62",
                                        "stateMutability": "nonpayable",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_address",
                                            "typeString": "address"
                                        }
                                    },
                                    "visibility": "internal"
                                },
                                {
                                    "constant": false,
                                    "id": 17659,
                                    "mutability": "mutable",
                                    "name": "p2",
                                    "nameLocation": "37280:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 17676,
                                    "src": "37275:7:62",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_uint256",
                                        "typeString": "uint256"
                                    },
                                    "typeName": {
                                        "id": 17658,
                                        "name": "uint",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "37275:4:62",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_uint256",
                                            "typeString": "uint256"
                                        }
                                    },
                                    "visibility": "internal"
                                },
                                {
                                    "constant": false,
                                    "id": 17661,
                                    "mutability": "mutable",
                                    "name": "p3",
                                    "nameLocation": "37289:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 17676,
                                    "src": "37284:7:62",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_bool",
                                        "typeString": "bool"
                                    },
                                    "typeName": {
                                        "id": 17660,
                                        "name": "bool",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "37284:4:62",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_bool",
                                            "typeString": "bool"
                                        }
                                    },
                                    "visibility": "internal"
                                }
                            ],
                            "src": "37244:48:62"
                        },
                        "returnParameters": {
                            "id": 17663,
                            "nodeType": "ParameterList",
                            "parameters": [],
                            "src": "37307:0:62"
                        },
                        "scope": 20920,
                        "src": "37232:172:62",
                        "stateMutability": "view",
                        "virtual": false,
                        "visibility": "internal"
                    },
                    {
                        "body": {
                            "id": 17698,
                            "nodeType": "Block",
                            "src": "37485:100:62",
                            "statements": [
                                {
                                    "expression": {
                                        "arguments": [
                                            {
                                                "arguments": [
                                                    {
                                                        "hexValue": "6c6f6728737472696e672c616464726573732c75696e742c6164647265737329",
                                                        "id": 17690,
                                                        "isConstant": false,
                                                        "isLValue": false,
                                                        "isPure": true,
                                                        "kind": "string",
                                                        "lValueRequested": false,
                                                        "nodeType": "Literal",
                                                        "src": "37529:34:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_stringliteral_a366ec808c8af1aa091e8102642939a99436cf04d3dfac2ae23c299404f821b2",
                                                            "typeString": "literal_string \"log(string,address,uint,address)\""
                                                        },
                                                        "value": "log(string,address,uint,address)"
                                                    },
                                                    {
                                                        "id": 17691,
                                                        "name": "p0",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 17678,
                                                        "src": "37565:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_string_memory_ptr",
                                                            "typeString": "string memory"
                                                        }
                                                    },
                                                    {
                                                        "id": 17692,
                                                        "name": "p1",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 17680,
                                                        "src": "37569:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_address",
                                                            "typeString": "address"
                                                        }
                                                    },
                                                    {
                                                        "id": 17693,
                                                        "name": "p2",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 17682,
                                                        "src": "37573:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_uint256",
                                                            "typeString": "uint256"
                                                        }
                                                    },
                                                    {
                                                        "id": 17694,
                                                        "name": "p3",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 17684,
                                                        "src": "37577:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_address",
                                                            "typeString": "address"
                                                        }
                                                    }
                                                ],
                                                "expression": {
                                                    "argumentTypes": [
                                                        {
                                                            "typeIdentifier": "t_stringliteral_a366ec808c8af1aa091e8102642939a99436cf04d3dfac2ae23c299404f821b2",
                                                            "typeString": "literal_string \"log(string,address,uint,address)\""
                                                        },
                                                        {
                                                            "typeIdentifier": "t_string_memory_ptr",
                                                            "typeString": "string memory"
                                                        },
                                                        {
                                                            "typeIdentifier": "t_address",
                                                            "typeString": "address"
                                                        },
                                                        {
                                                            "typeIdentifier": "t_uint256",
                                                            "typeString": "uint256"
                                                        },
                                                        {
                                                            "typeIdentifier": "t_address",
                                                            "typeString": "address"
                                                        }
                                                    ],
                                                    "expression": {
                                                        "id": 17688,
                                                        "name": "abi",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 4294967295,
                                                        "src": "37505:3:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_magic_abi",
                                                            "typeString": "abi"
                                                        }
                                                    },
                                                    "id": 17689,
                                                    "isConstant": false,
                                                    "isLValue": false,
                                                    "isPure": true,
                                                    "lValueRequested": false,
                                                    "memberName": "encodeWithSignature",
                                                    "nodeType": "MemberAccess",
                                                    "src": "37505:23:62",
                                                    "typeDescriptions": {
                                                        "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$",
                                                        "typeString": "function (string memory) pure returns (bytes memory)"
                                                    }
                                                },
                                                "id": 17695,
                                                "isConstant": false,
                                                "isLValue": false,
                                                "isPure": false,
                                                "kind": "functionCall",
                                                "lValueRequested": false,
                                                "names": [],
                                                "nodeType": "FunctionCall",
                                                "src": "37505:75:62",
                                                "tryCall": false,
                                                "typeDescriptions": {
                                                    "typeIdentifier": "t_bytes_memory_ptr",
                                                    "typeString": "bytes memory"
                                                }
                                            }
                                        ],
                                        "expression": {
                                            "argumentTypes": [
                                                {
                                                    "typeIdentifier": "t_bytes_memory_ptr",
                                                    "typeString": "bytes memory"
                                                }
                                            ],
                                            "id": 17687,
                                            "name": "_sendLogPayload",
                                            "nodeType": "Identifier",
                                            "overloadedDeclarations": [],
                                            "referencedDeclaration": 12880,
                                            "src": "37489:15:62",
                                            "typeDescriptions": {
                                                "typeIdentifier": "t_function_internal_view$_t_bytes_memory_ptr_$returns$__$",
                                                "typeString": "function (bytes memory) view"
                                            }
                                        },
                                        "id": 17696,
                                        "isConstant": false,
                                        "isLValue": false,
                                        "isPure": false,
                                        "kind": "functionCall",
                                        "lValueRequested": false,
                                        "names": [],
                                        "nodeType": "FunctionCall",
                                        "src": "37489:92:62",
                                        "tryCall": false,
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_tuple$__$",
                                            "typeString": "tuple()"
                                        }
                                    },
                                    "id": 17697,
                                    "nodeType": "ExpressionStatement",
                                    "src": "37489:92:62"
                                }
                            ]
                        },
                        "id": 17699,
                        "implemented": true,
                        "kind": "function",
                        "modifiers": [],
                        "name": "log",
                        "nameLocation": "37416:3:62",
                        "nodeType": "FunctionDefinition",
                        "parameters": {
                            "id": 17685,
                            "nodeType": "ParameterList",
                            "parameters": [
                                {
                                    "constant": false,
                                    "id": 17678,
                                    "mutability": "mutable",
                                    "name": "p0",
                                    "nameLocation": "37434:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 17699,
                                    "src": "37420:16:62",
                                    "stateVariable": false,
                                    "storageLocation": "memory",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_string_memory_ptr",
                                        "typeString": "string"
                                    },
                                    "typeName": {
                                        "id": 17677,
                                        "name": "string",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "37420:6:62",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_string_storage_ptr",
                                            "typeString": "string"
                                        }
                                    },
                                    "visibility": "internal"
                                },
                                {
                                    "constant": false,
                                    "id": 17680,
                                    "mutability": "mutable",
                                    "name": "p1",
                                    "nameLocation": "37446:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 17699,
                                    "src": "37438:10:62",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_address",
                                        "typeString": "address"
                                    },
                                    "typeName": {
                                        "id": 17679,
                                        "name": "address",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "37438:7:62",
                                        "stateMutability": "nonpayable",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_address",
                                            "typeString": "address"
                                        }
                                    },
                                    "visibility": "internal"
                                },
                                {
                                    "constant": false,
                                    "id": 17682,
                                    "mutability": "mutable",
                                    "name": "p2",
                                    "nameLocation": "37455:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 17699,
                                    "src": "37450:7:62",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_uint256",
                                        "typeString": "uint256"
                                    },
                                    "typeName": {
                                        "id": 17681,
                                        "name": "uint",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "37450:4:62",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_uint256",
                                            "typeString": "uint256"
                                        }
                                    },
                                    "visibility": "internal"
                                },
                                {
                                    "constant": false,
                                    "id": 17684,
                                    "mutability": "mutable",
                                    "name": "p3",
                                    "nameLocation": "37467:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 17699,
                                    "src": "37459:10:62",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_address",
                                        "typeString": "address"
                                    },
                                    "typeName": {
                                        "id": 17683,
                                        "name": "address",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "37459:7:62",
                                        "stateMutability": "nonpayable",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_address",
                                            "typeString": "address"
                                        }
                                    },
                                    "visibility": "internal"
                                }
                            ],
                            "src": "37419:51:62"
                        },
                        "returnParameters": {
                            "id": 17686,
                            "nodeType": "ParameterList",
                            "parameters": [],
                            "src": "37485:0:62"
                        },
                        "scope": 20920,
                        "src": "37407:178:62",
                        "stateMutability": "view",
                        "virtual": false,
                        "visibility": "internal"
                    },
                    {
                        "body": {
                            "id": 17721,
                            "nodeType": "Block",
                            "src": "37672:99:62",
                            "statements": [
                                {
                                    "expression": {
                                        "arguments": [
                                            {
                                                "arguments": [
                                                    {
                                                        "hexValue": "6c6f6728737472696e672c616464726573732c737472696e672c75696e7429",
                                                        "id": 17713,
                                                        "isConstant": false,
                                                        "isLValue": false,
                                                        "isPure": true,
                                                        "kind": "string",
                                                        "lValueRequested": false,
                                                        "nodeType": "Literal",
                                                        "src": "37716:33:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_stringliteral_8f624be9ea3983abac9c65ced8f562a492ebb84e6f74cd40f35387eff4d66349",
                                                            "typeString": "literal_string \"log(string,address,string,uint)\""
                                                        },
                                                        "value": "log(string,address,string,uint)"
                                                    },
                                                    {
                                                        "id": 17714,
                                                        "name": "p0",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 17701,
                                                        "src": "37751:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_string_memory_ptr",
                                                            "typeString": "string memory"
                                                        }
                                                    },
                                                    {
                                                        "id": 17715,
                                                        "name": "p1",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 17703,
                                                        "src": "37755:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_address",
                                                            "typeString": "address"
                                                        }
                                                    },
                                                    {
                                                        "id": 17716,
                                                        "name": "p2",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 17705,
                                                        "src": "37759:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_string_memory_ptr",
                                                            "typeString": "string memory"
                                                        }
                                                    },
                                                    {
                                                        "id": 17717,
                                                        "name": "p3",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 17707,
                                                        "src": "37763:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_uint256",
                                                            "typeString": "uint256"
                                                        }
                                                    }
                                                ],
                                                "expression": {
                                                    "argumentTypes": [
                                                        {
                                                            "typeIdentifier": "t_stringliteral_8f624be9ea3983abac9c65ced8f562a492ebb84e6f74cd40f35387eff4d66349",
                                                            "typeString": "literal_string \"log(string,address,string,uint)\""
                                                        },
                                                        {
                                                            "typeIdentifier": "t_string_memory_ptr",
                                                            "typeString": "string memory"
                                                        },
                                                        {
                                                            "typeIdentifier": "t_address",
                                                            "typeString": "address"
                                                        },
                                                        {
                                                            "typeIdentifier": "t_string_memory_ptr",
                                                            "typeString": "string memory"
                                                        },
                                                        {
                                                            "typeIdentifier": "t_uint256",
                                                            "typeString": "uint256"
                                                        }
                                                    ],
                                                    "expression": {
                                                        "id": 17711,
                                                        "name": "abi",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 4294967295,
                                                        "src": "37692:3:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_magic_abi",
                                                            "typeString": "abi"
                                                        }
                                                    },
                                                    "id": 17712,
                                                    "isConstant": false,
                                                    "isLValue": false,
                                                    "isPure": true,
                                                    "lValueRequested": false,
                                                    "memberName": "encodeWithSignature",
                                                    "nodeType": "MemberAccess",
                                                    "src": "37692:23:62",
                                                    "typeDescriptions": {
                                                        "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$",
                                                        "typeString": "function (string memory) pure returns (bytes memory)"
                                                    }
                                                },
                                                "id": 17718,
                                                "isConstant": false,
                                                "isLValue": false,
                                                "isPure": false,
                                                "kind": "functionCall",
                                                "lValueRequested": false,
                                                "names": [],
                                                "nodeType": "FunctionCall",
                                                "src": "37692:74:62",
                                                "tryCall": false,
                                                "typeDescriptions": {
                                                    "typeIdentifier": "t_bytes_memory_ptr",
                                                    "typeString": "bytes memory"
                                                }
                                            }
                                        ],
                                        "expression": {
                                            "argumentTypes": [
                                                {
                                                    "typeIdentifier": "t_bytes_memory_ptr",
                                                    "typeString": "bytes memory"
                                                }
                                            ],
                                            "id": 17710,
                                            "name": "_sendLogPayload",
                                            "nodeType": "Identifier",
                                            "overloadedDeclarations": [],
                                            "referencedDeclaration": 12880,
                                            "src": "37676:15:62",
                                            "typeDescriptions": {
                                                "typeIdentifier": "t_function_internal_view$_t_bytes_memory_ptr_$returns$__$",
                                                "typeString": "function (bytes memory) view"
                                            }
                                        },
                                        "id": 17719,
                                        "isConstant": false,
                                        "isLValue": false,
                                        "isPure": false,
                                        "kind": "functionCall",
                                        "lValueRequested": false,
                                        "names": [],
                                        "nodeType": "FunctionCall",
                                        "src": "37676:91:62",
                                        "tryCall": false,
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_tuple$__$",
                                            "typeString": "tuple()"
                                        }
                                    },
                                    "id": 17720,
                                    "nodeType": "ExpressionStatement",
                                    "src": "37676:91:62"
                                }
                            ]
                        },
                        "id": 17722,
                        "implemented": true,
                        "kind": "function",
                        "modifiers": [],
                        "name": "log",
                        "nameLocation": "37597:3:62",
                        "nodeType": "FunctionDefinition",
                        "parameters": {
                            "id": 17708,
                            "nodeType": "ParameterList",
                            "parameters": [
                                {
                                    "constant": false,
                                    "id": 17701,
                                    "mutability": "mutable",
                                    "name": "p0",
                                    "nameLocation": "37615:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 17722,
                                    "src": "37601:16:62",
                                    "stateVariable": false,
                                    "storageLocation": "memory",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_string_memory_ptr",
                                        "typeString": "string"
                                    },
                                    "typeName": {
                                        "id": 17700,
                                        "name": "string",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "37601:6:62",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_string_storage_ptr",
                                            "typeString": "string"
                                        }
                                    },
                                    "visibility": "internal"
                                },
                                {
                                    "constant": false,
                                    "id": 17703,
                                    "mutability": "mutable",
                                    "name": "p1",
                                    "nameLocation": "37627:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 17722,
                                    "src": "37619:10:62",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_address",
                                        "typeString": "address"
                                    },
                                    "typeName": {
                                        "id": 17702,
                                        "name": "address",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "37619:7:62",
                                        "stateMutability": "nonpayable",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_address",
                                            "typeString": "address"
                                        }
                                    },
                                    "visibility": "internal"
                                },
                                {
                                    "constant": false,
                                    "id": 17705,
                                    "mutability": "mutable",
                                    "name": "p2",
                                    "nameLocation": "37645:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 17722,
                                    "src": "37631:16:62",
                                    "stateVariable": false,
                                    "storageLocation": "memory",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_string_memory_ptr",
                                        "typeString": "string"
                                    },
                                    "typeName": {
                                        "id": 17704,
                                        "name": "string",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "37631:6:62",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_string_storage_ptr",
                                            "typeString": "string"
                                        }
                                    },
                                    "visibility": "internal"
                                },
                                {
                                    "constant": false,
                                    "id": 17707,
                                    "mutability": "mutable",
                                    "name": "p3",
                                    "nameLocation": "37654:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 17722,
                                    "src": "37649:7:62",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_uint256",
                                        "typeString": "uint256"
                                    },
                                    "typeName": {
                                        "id": 17706,
                                        "name": "uint",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "37649:4:62",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_uint256",
                                            "typeString": "uint256"
                                        }
                                    },
                                    "visibility": "internal"
                                }
                            ],
                            "src": "37600:57:62"
                        },
                        "returnParameters": {
                            "id": 17709,
                            "nodeType": "ParameterList",
                            "parameters": [],
                            "src": "37672:0:62"
                        },
                        "scope": 20920,
                        "src": "37588:183:62",
                        "stateMutability": "view",
                        "virtual": false,
                        "visibility": "internal"
                    },
                    {
                        "body": {
                            "id": 17744,
                            "nodeType": "Block",
                            "src": "37867:101:62",
                            "statements": [
                                {
                                    "expression": {
                                        "arguments": [
                                            {
                                                "arguments": [
                                                    {
                                                        "hexValue": "6c6f6728737472696e672c616464726573732c737472696e672c737472696e6729",
                                                        "id": 17736,
                                                        "isConstant": false,
                                                        "isLValue": false,
                                                        "isPure": true,
                                                        "kind": "string",
                                                        "lValueRequested": false,
                                                        "nodeType": "Literal",
                                                        "src": "37911:35:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_stringliteral_245986f22170901865e76245a48ee28ce0127ca357f6ad576a72190e1d358797",
                                                            "typeString": "literal_string \"log(string,address,string,string)\""
                                                        },
                                                        "value": "log(string,address,string,string)"
                                                    },
                                                    {
                                                        "id": 17737,
                                                        "name": "p0",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 17724,
                                                        "src": "37948:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_string_memory_ptr",
                                                            "typeString": "string memory"
                                                        }
                                                    },
                                                    {
                                                        "id": 17738,
                                                        "name": "p1",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 17726,
                                                        "src": "37952:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_address",
                                                            "typeString": "address"
                                                        }
                                                    },
                                                    {
                                                        "id": 17739,
                                                        "name": "p2",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 17728,
                                                        "src": "37956:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_string_memory_ptr",
                                                            "typeString": "string memory"
                                                        }
                                                    },
                                                    {
                                                        "id": 17740,
                                                        "name": "p3",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 17730,
                                                        "src": "37960:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_string_memory_ptr",
                                                            "typeString": "string memory"
                                                        }
                                                    }
                                                ],
                                                "expression": {
                                                    "argumentTypes": [
                                                        {
                                                            "typeIdentifier": "t_stringliteral_245986f22170901865e76245a48ee28ce0127ca357f6ad576a72190e1d358797",
                                                            "typeString": "literal_string \"log(string,address,string,string)\""
                                                        },
                                                        {
                                                            "typeIdentifier": "t_string_memory_ptr",
                                                            "typeString": "string memory"
                                                        },
                                                        {
                                                            "typeIdentifier": "t_address",
                                                            "typeString": "address"
                                                        },
                                                        {
                                                            "typeIdentifier": "t_string_memory_ptr",
                                                            "typeString": "string memory"
                                                        },
                                                        {
                                                            "typeIdentifier": "t_string_memory_ptr",
                                                            "typeString": "string memory"
                                                        }
                                                    ],
                                                    "expression": {
                                                        "id": 17734,
                                                        "name": "abi",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 4294967295,
                                                        "src": "37887:3:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_magic_abi",
                                                            "typeString": "abi"
                                                        }
                                                    },
                                                    "id": 17735,
                                                    "isConstant": false,
                                                    "isLValue": false,
                                                    "isPure": true,
                                                    "lValueRequested": false,
                                                    "memberName": "encodeWithSignature",
                                                    "nodeType": "MemberAccess",
                                                    "src": "37887:23:62",
                                                    "typeDescriptions": {
                                                        "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$",
                                                        "typeString": "function (string memory) pure returns (bytes memory)"
                                                    }
                                                },
                                                "id": 17741,
                                                "isConstant": false,
                                                "isLValue": false,
                                                "isPure": false,
                                                "kind": "functionCall",
                                                "lValueRequested": false,
                                                "names": [],
                                                "nodeType": "FunctionCall",
                                                "src": "37887:76:62",
                                                "tryCall": false,
                                                "typeDescriptions": {
                                                    "typeIdentifier": "t_bytes_memory_ptr",
                                                    "typeString": "bytes memory"
                                                }
                                            }
                                        ],
                                        "expression": {
                                            "argumentTypes": [
                                                {
                                                    "typeIdentifier": "t_bytes_memory_ptr",
                                                    "typeString": "bytes memory"
                                                }
                                            ],
                                            "id": 17733,
                                            "name": "_sendLogPayload",
                                            "nodeType": "Identifier",
                                            "overloadedDeclarations": [],
                                            "referencedDeclaration": 12880,
                                            "src": "37871:15:62",
                                            "typeDescriptions": {
                                                "typeIdentifier": "t_function_internal_view$_t_bytes_memory_ptr_$returns$__$",
                                                "typeString": "function (bytes memory) view"
                                            }
                                        },
                                        "id": 17742,
                                        "isConstant": false,
                                        "isLValue": false,
                                        "isPure": false,
                                        "kind": "functionCall",
                                        "lValueRequested": false,
                                        "names": [],
                                        "nodeType": "FunctionCall",
                                        "src": "37871:93:62",
                                        "tryCall": false,
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_tuple$__$",
                                            "typeString": "tuple()"
                                        }
                                    },
                                    "id": 17743,
                                    "nodeType": "ExpressionStatement",
                                    "src": "37871:93:62"
                                }
                            ]
                        },
                        "id": 17745,
                        "implemented": true,
                        "kind": "function",
                        "modifiers": [],
                        "name": "log",
                        "nameLocation": "37783:3:62",
                        "nodeType": "FunctionDefinition",
                        "parameters": {
                            "id": 17731,
                            "nodeType": "ParameterList",
                            "parameters": [
                                {
                                    "constant": false,
                                    "id": 17724,
                                    "mutability": "mutable",
                                    "name": "p0",
                                    "nameLocation": "37801:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 17745,
                                    "src": "37787:16:62",
                                    "stateVariable": false,
                                    "storageLocation": "memory",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_string_memory_ptr",
                                        "typeString": "string"
                                    },
                                    "typeName": {
                                        "id": 17723,
                                        "name": "string",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "37787:6:62",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_string_storage_ptr",
                                            "typeString": "string"
                                        }
                                    },
                                    "visibility": "internal"
                                },
                                {
                                    "constant": false,
                                    "id": 17726,
                                    "mutability": "mutable",
                                    "name": "p1",
                                    "nameLocation": "37813:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 17745,
                                    "src": "37805:10:62",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_address",
                                        "typeString": "address"
                                    },
                                    "typeName": {
                                        "id": 17725,
                                        "name": "address",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "37805:7:62",
                                        "stateMutability": "nonpayable",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_address",
                                            "typeString": "address"
                                        }
                                    },
                                    "visibility": "internal"
                                },
                                {
                                    "constant": false,
                                    "id": 17728,
                                    "mutability": "mutable",
                                    "name": "p2",
                                    "nameLocation": "37831:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 17745,
                                    "src": "37817:16:62",
                                    "stateVariable": false,
                                    "storageLocation": "memory",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_string_memory_ptr",
                                        "typeString": "string"
                                    },
                                    "typeName": {
                                        "id": 17727,
                                        "name": "string",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "37817:6:62",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_string_storage_ptr",
                                            "typeString": "string"
                                        }
                                    },
                                    "visibility": "internal"
                                },
                                {
                                    "constant": false,
                                    "id": 17730,
                                    "mutability": "mutable",
                                    "name": "p3",
                                    "nameLocation": "37849:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 17745,
                                    "src": "37835:16:62",
                                    "stateVariable": false,
                                    "storageLocation": "memory",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_string_memory_ptr",
                                        "typeString": "string"
                                    },
                                    "typeName": {
                                        "id": 17729,
                                        "name": "string",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "37835:6:62",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_string_storage_ptr",
                                            "typeString": "string"
                                        }
                                    },
                                    "visibility": "internal"
                                }
                            ],
                            "src": "37786:66:62"
                        },
                        "returnParameters": {
                            "id": 17732,
                            "nodeType": "ParameterList",
                            "parameters": [],
                            "src": "37867:0:62"
                        },
                        "scope": 20920,
                        "src": "37774:194:62",
                        "stateMutability": "view",
                        "virtual": false,
                        "visibility": "internal"
                    },
                    {
                        "body": {
                            "id": 17767,
                            "nodeType": "Block",
                            "src": "38055:99:62",
                            "statements": [
                                {
                                    "expression": {
                                        "arguments": [
                                            {
                                                "arguments": [
                                                    {
                                                        "hexValue": "6c6f6728737472696e672c616464726573732c737472696e672c626f6f6c29",
                                                        "id": 17759,
                                                        "isConstant": false,
                                                        "isLValue": false,
                                                        "isPure": true,
                                                        "kind": "string",
                                                        "lValueRequested": false,
                                                        "nodeType": "Literal",
                                                        "src": "38099:33:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_stringliteral_5f15d28c15ddff15fba1c00f6a4975ae6af8b36c9b2a875bf59bd45049046154",
                                                            "typeString": "literal_string \"log(string,address,string,bool)\""
                                                        },
                                                        "value": "log(string,address,string,bool)"
                                                    },
                                                    {
                                                        "id": 17760,
                                                        "name": "p0",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 17747,
                                                        "src": "38134:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_string_memory_ptr",
                                                            "typeString": "string memory"
                                                        }
                                                    },
                                                    {
                                                        "id": 17761,
                                                        "name": "p1",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 17749,
                                                        "src": "38138:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_address",
                                                            "typeString": "address"
                                                        }
                                                    },
                                                    {
                                                        "id": 17762,
                                                        "name": "p2",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 17751,
                                                        "src": "38142:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_string_memory_ptr",
                                                            "typeString": "string memory"
                                                        }
                                                    },
                                                    {
                                                        "id": 17763,
                                                        "name": "p3",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 17753,
                                                        "src": "38146:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_bool",
                                                            "typeString": "bool"
                                                        }
                                                    }
                                                ],
                                                "expression": {
                                                    "argumentTypes": [
                                                        {
                                                            "typeIdentifier": "t_stringliteral_5f15d28c15ddff15fba1c00f6a4975ae6af8b36c9b2a875bf59bd45049046154",
                                                            "typeString": "literal_string \"log(string,address,string,bool)\""
                                                        },
                                                        {
                                                            "typeIdentifier": "t_string_memory_ptr",
                                                            "typeString": "string memory"
                                                        },
                                                        {
                                                            "typeIdentifier": "t_address",
                                                            "typeString": "address"
                                                        },
                                                        {
                                                            "typeIdentifier": "t_string_memory_ptr",
                                                            "typeString": "string memory"
                                                        },
                                                        {
                                                            "typeIdentifier": "t_bool",
                                                            "typeString": "bool"
                                                        }
                                                    ],
                                                    "expression": {
                                                        "id": 17757,
                                                        "name": "abi",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 4294967295,
                                                        "src": "38075:3:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_magic_abi",
                                                            "typeString": "abi"
                                                        }
                                                    },
                                                    "id": 17758,
                                                    "isConstant": false,
                                                    "isLValue": false,
                                                    "isPure": true,
                                                    "lValueRequested": false,
                                                    "memberName": "encodeWithSignature",
                                                    "nodeType": "MemberAccess",
                                                    "src": "38075:23:62",
                                                    "typeDescriptions": {
                                                        "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$",
                                                        "typeString": "function (string memory) pure returns (bytes memory)"
                                                    }
                                                },
                                                "id": 17764,
                                                "isConstant": false,
                                                "isLValue": false,
                                                "isPure": false,
                                                "kind": "functionCall",
                                                "lValueRequested": false,
                                                "names": [],
                                                "nodeType": "FunctionCall",
                                                "src": "38075:74:62",
                                                "tryCall": false,
                                                "typeDescriptions": {
                                                    "typeIdentifier": "t_bytes_memory_ptr",
                                                    "typeString": "bytes memory"
                                                }
                                            }
                                        ],
                                        "expression": {
                                            "argumentTypes": [
                                                {
                                                    "typeIdentifier": "t_bytes_memory_ptr",
                                                    "typeString": "bytes memory"
                                                }
                                            ],
                                            "id": 17756,
                                            "name": "_sendLogPayload",
                                            "nodeType": "Identifier",
                                            "overloadedDeclarations": [],
                                            "referencedDeclaration": 12880,
                                            "src": "38059:15:62",
                                            "typeDescriptions": {
                                                "typeIdentifier": "t_function_internal_view$_t_bytes_memory_ptr_$returns$__$",
                                                "typeString": "function (bytes memory) view"
                                            }
                                        },
                                        "id": 17765,
                                        "isConstant": false,
                                        "isLValue": false,
                                        "isPure": false,
                                        "kind": "functionCall",
                                        "lValueRequested": false,
                                        "names": [],
                                        "nodeType": "FunctionCall",
                                        "src": "38059:91:62",
                                        "tryCall": false,
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_tuple$__$",
                                            "typeString": "tuple()"
                                        }
                                    },
                                    "id": 17766,
                                    "nodeType": "ExpressionStatement",
                                    "src": "38059:91:62"
                                }
                            ]
                        },
                        "id": 17768,
                        "implemented": true,
                        "kind": "function",
                        "modifiers": [],
                        "name": "log",
                        "nameLocation": "37980:3:62",
                        "nodeType": "FunctionDefinition",
                        "parameters": {
                            "id": 17754,
                            "nodeType": "ParameterList",
                            "parameters": [
                                {
                                    "constant": false,
                                    "id": 17747,
                                    "mutability": "mutable",
                                    "name": "p0",
                                    "nameLocation": "37998:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 17768,
                                    "src": "37984:16:62",
                                    "stateVariable": false,
                                    "storageLocation": "memory",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_string_memory_ptr",
                                        "typeString": "string"
                                    },
                                    "typeName": {
                                        "id": 17746,
                                        "name": "string",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "37984:6:62",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_string_storage_ptr",
                                            "typeString": "string"
                                        }
                                    },
                                    "visibility": "internal"
                                },
                                {
                                    "constant": false,
                                    "id": 17749,
                                    "mutability": "mutable",
                                    "name": "p1",
                                    "nameLocation": "38010:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 17768,
                                    "src": "38002:10:62",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_address",
                                        "typeString": "address"
                                    },
                                    "typeName": {
                                        "id": 17748,
                                        "name": "address",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "38002:7:62",
                                        "stateMutability": "nonpayable",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_address",
                                            "typeString": "address"
                                        }
                                    },
                                    "visibility": "internal"
                                },
                                {
                                    "constant": false,
                                    "id": 17751,
                                    "mutability": "mutable",
                                    "name": "p2",
                                    "nameLocation": "38028:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 17768,
                                    "src": "38014:16:62",
                                    "stateVariable": false,
                                    "storageLocation": "memory",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_string_memory_ptr",
                                        "typeString": "string"
                                    },
                                    "typeName": {
                                        "id": 17750,
                                        "name": "string",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "38014:6:62",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_string_storage_ptr",
                                            "typeString": "string"
                                        }
                                    },
                                    "visibility": "internal"
                                },
                                {
                                    "constant": false,
                                    "id": 17753,
                                    "mutability": "mutable",
                                    "name": "p3",
                                    "nameLocation": "38037:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 17768,
                                    "src": "38032:7:62",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_bool",
                                        "typeString": "bool"
                                    },
                                    "typeName": {
                                        "id": 17752,
                                        "name": "bool",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "38032:4:62",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_bool",
                                            "typeString": "bool"
                                        }
                                    },
                                    "visibility": "internal"
                                }
                            ],
                            "src": "37983:57:62"
                        },
                        "returnParameters": {
                            "id": 17755,
                            "nodeType": "ParameterList",
                            "parameters": [],
                            "src": "38055:0:62"
                        },
                        "scope": 20920,
                        "src": "37971:183:62",
                        "stateMutability": "view",
                        "virtual": false,
                        "visibility": "internal"
                    },
                    {
                        "body": {
                            "id": 17790,
                            "nodeType": "Block",
                            "src": "38244:102:62",
                            "statements": [
                                {
                                    "expression": {
                                        "arguments": [
                                            {
                                                "arguments": [
                                                    {
                                                        "hexValue": "6c6f6728737472696e672c616464726573732c737472696e672c6164647265737329",
                                                        "id": 17782,
                                                        "isConstant": false,
                                                        "isLValue": false,
                                                        "isPure": true,
                                                        "kind": "string",
                                                        "lValueRequested": false,
                                                        "nodeType": "Literal",
                                                        "src": "38288:36:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_stringliteral_aabc9a311ab49789834b120d81155a7fee846a9f0d4f740bbeb970770190c82d",
                                                            "typeString": "literal_string \"log(string,address,string,address)\""
                                                        },
                                                        "value": "log(string,address,string,address)"
                                                    },
                                                    {
                                                        "id": 17783,
                                                        "name": "p0",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 17770,
                                                        "src": "38326:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_string_memory_ptr",
                                                            "typeString": "string memory"
                                                        }
                                                    },
                                                    {
                                                        "id": 17784,
                                                        "name": "p1",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 17772,
                                                        "src": "38330:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_address",
                                                            "typeString": "address"
                                                        }
                                                    },
                                                    {
                                                        "id": 17785,
                                                        "name": "p2",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 17774,
                                                        "src": "38334:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_string_memory_ptr",
                                                            "typeString": "string memory"
                                                        }
                                                    },
                                                    {
                                                        "id": 17786,
                                                        "name": "p3",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 17776,
                                                        "src": "38338:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_address",
                                                            "typeString": "address"
                                                        }
                                                    }
                                                ],
                                                "expression": {
                                                    "argumentTypes": [
                                                        {
                                                            "typeIdentifier": "t_stringliteral_aabc9a311ab49789834b120d81155a7fee846a9f0d4f740bbeb970770190c82d",
                                                            "typeString": "literal_string \"log(string,address,string,address)\""
                                                        },
                                                        {
                                                            "typeIdentifier": "t_string_memory_ptr",
                                                            "typeString": "string memory"
                                                        },
                                                        {
                                                            "typeIdentifier": "t_address",
                                                            "typeString": "address"
                                                        },
                                                        {
                                                            "typeIdentifier": "t_string_memory_ptr",
                                                            "typeString": "string memory"
                                                        },
                                                        {
                                                            "typeIdentifier": "t_address",
                                                            "typeString": "address"
                                                        }
                                                    ],
                                                    "expression": {
                                                        "id": 17780,
                                                        "name": "abi",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 4294967295,
                                                        "src": "38264:3:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_magic_abi",
                                                            "typeString": "abi"
                                                        }
                                                    },
                                                    "id": 17781,
                                                    "isConstant": false,
                                                    "isLValue": false,
                                                    "isPure": true,
                                                    "lValueRequested": false,
                                                    "memberName": "encodeWithSignature",
                                                    "nodeType": "MemberAccess",
                                                    "src": "38264:23:62",
                                                    "typeDescriptions": {
                                                        "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$",
                                                        "typeString": "function (string memory) pure returns (bytes memory)"
                                                    }
                                                },
                                                "id": 17787,
                                                "isConstant": false,
                                                "isLValue": false,
                                                "isPure": false,
                                                "kind": "functionCall",
                                                "lValueRequested": false,
                                                "names": [],
                                                "nodeType": "FunctionCall",
                                                "src": "38264:77:62",
                                                "tryCall": false,
                                                "typeDescriptions": {
                                                    "typeIdentifier": "t_bytes_memory_ptr",
                                                    "typeString": "bytes memory"
                                                }
                                            }
                                        ],
                                        "expression": {
                                            "argumentTypes": [
                                                {
                                                    "typeIdentifier": "t_bytes_memory_ptr",
                                                    "typeString": "bytes memory"
                                                }
                                            ],
                                            "id": 17779,
                                            "name": "_sendLogPayload",
                                            "nodeType": "Identifier",
                                            "overloadedDeclarations": [],
                                            "referencedDeclaration": 12880,
                                            "src": "38248:15:62",
                                            "typeDescriptions": {
                                                "typeIdentifier": "t_function_internal_view$_t_bytes_memory_ptr_$returns$__$",
                                                "typeString": "function (bytes memory) view"
                                            }
                                        },
                                        "id": 17788,
                                        "isConstant": false,
                                        "isLValue": false,
                                        "isPure": false,
                                        "kind": "functionCall",
                                        "lValueRequested": false,
                                        "names": [],
                                        "nodeType": "FunctionCall",
                                        "src": "38248:94:62",
                                        "tryCall": false,
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_tuple$__$",
                                            "typeString": "tuple()"
                                        }
                                    },
                                    "id": 17789,
                                    "nodeType": "ExpressionStatement",
                                    "src": "38248:94:62"
                                }
                            ]
                        },
                        "id": 17791,
                        "implemented": true,
                        "kind": "function",
                        "modifiers": [],
                        "name": "log",
                        "nameLocation": "38166:3:62",
                        "nodeType": "FunctionDefinition",
                        "parameters": {
                            "id": 17777,
                            "nodeType": "ParameterList",
                            "parameters": [
                                {
                                    "constant": false,
                                    "id": 17770,
                                    "mutability": "mutable",
                                    "name": "p0",
                                    "nameLocation": "38184:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 17791,
                                    "src": "38170:16:62",
                                    "stateVariable": false,
                                    "storageLocation": "memory",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_string_memory_ptr",
                                        "typeString": "string"
                                    },
                                    "typeName": {
                                        "id": 17769,
                                        "name": "string",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "38170:6:62",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_string_storage_ptr",
                                            "typeString": "string"
                                        }
                                    },
                                    "visibility": "internal"
                                },
                                {
                                    "constant": false,
                                    "id": 17772,
                                    "mutability": "mutable",
                                    "name": "p1",
                                    "nameLocation": "38196:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 17791,
                                    "src": "38188:10:62",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_address",
                                        "typeString": "address"
                                    },
                                    "typeName": {
                                        "id": 17771,
                                        "name": "address",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "38188:7:62",
                                        "stateMutability": "nonpayable",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_address",
                                            "typeString": "address"
                                        }
                                    },
                                    "visibility": "internal"
                                },
                                {
                                    "constant": false,
                                    "id": 17774,
                                    "mutability": "mutable",
                                    "name": "p2",
                                    "nameLocation": "38214:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 17791,
                                    "src": "38200:16:62",
                                    "stateVariable": false,
                                    "storageLocation": "memory",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_string_memory_ptr",
                                        "typeString": "string"
                                    },
                                    "typeName": {
                                        "id": 17773,
                                        "name": "string",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "38200:6:62",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_string_storage_ptr",
                                            "typeString": "string"
                                        }
                                    },
                                    "visibility": "internal"
                                },
                                {
                                    "constant": false,
                                    "id": 17776,
                                    "mutability": "mutable",
                                    "name": "p3",
                                    "nameLocation": "38226:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 17791,
                                    "src": "38218:10:62",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_address",
                                        "typeString": "address"
                                    },
                                    "typeName": {
                                        "id": 17775,
                                        "name": "address",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "38218:7:62",
                                        "stateMutability": "nonpayable",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_address",
                                            "typeString": "address"
                                        }
                                    },
                                    "visibility": "internal"
                                }
                            ],
                            "src": "38169:60:62"
                        },
                        "returnParameters": {
                            "id": 17778,
                            "nodeType": "ParameterList",
                            "parameters": [],
                            "src": "38244:0:62"
                        },
                        "scope": 20920,
                        "src": "38157:189:62",
                        "stateMutability": "view",
                        "virtual": false,
                        "visibility": "internal"
                    },
                    {
                        "body": {
                            "id": 17813,
                            "nodeType": "Block",
                            "src": "38424:97:62",
                            "statements": [
                                {
                                    "expression": {
                                        "arguments": [
                                            {
                                                "arguments": [
                                                    {
                                                        "hexValue": "6c6f6728737472696e672c616464726573732c626f6f6c2c75696e7429",
                                                        "id": 17805,
                                                        "isConstant": false,
                                                        "isLValue": false,
                                                        "isPure": true,
                                                        "kind": "string",
                                                        "lValueRequested": false,
                                                        "nodeType": "Literal",
                                                        "src": "38468:31:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_stringliteral_c5d1bb8ba57e795e9925065473f653a381a99be37bdcfbeaf49f38097f35af7f",
                                                            "typeString": "literal_string \"log(string,address,bool,uint)\""
                                                        },
                                                        "value": "log(string,address,bool,uint)"
                                                    },
                                                    {
                                                        "id": 17806,
                                                        "name": "p0",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 17793,
                                                        "src": "38501:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_string_memory_ptr",
                                                            "typeString": "string memory"
                                                        }
                                                    },
                                                    {
                                                        "id": 17807,
                                                        "name": "p1",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 17795,
                                                        "src": "38505:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_address",
                                                            "typeString": "address"
                                                        }
                                                    },
                                                    {
                                                        "id": 17808,
                                                        "name": "p2",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 17797,
                                                        "src": "38509:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_bool",
                                                            "typeString": "bool"
                                                        }
                                                    },
                                                    {
                                                        "id": 17809,
                                                        "name": "p3",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 17799,
                                                        "src": "38513:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_uint256",
                                                            "typeString": "uint256"
                                                        }
                                                    }
                                                ],
                                                "expression": {
                                                    "argumentTypes": [
                                                        {
                                                            "typeIdentifier": "t_stringliteral_c5d1bb8ba57e795e9925065473f653a381a99be37bdcfbeaf49f38097f35af7f",
                                                            "typeString": "literal_string \"log(string,address,bool,uint)\""
                                                        },
                                                        {
                                                            "typeIdentifier": "t_string_memory_ptr",
                                                            "typeString": "string memory"
                                                        },
                                                        {
                                                            "typeIdentifier": "t_address",
                                                            "typeString": "address"
                                                        },
                                                        {
                                                            "typeIdentifier": "t_bool",
                                                            "typeString": "bool"
                                                        },
                                                        {
                                                            "typeIdentifier": "t_uint256",
                                                            "typeString": "uint256"
                                                        }
                                                    ],
                                                    "expression": {
                                                        "id": 17803,
                                                        "name": "abi",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 4294967295,
                                                        "src": "38444:3:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_magic_abi",
                                                            "typeString": "abi"
                                                        }
                                                    },
                                                    "id": 17804,
                                                    "isConstant": false,
                                                    "isLValue": false,
                                                    "isPure": true,
                                                    "lValueRequested": false,
                                                    "memberName": "encodeWithSignature",
                                                    "nodeType": "MemberAccess",
                                                    "src": "38444:23:62",
                                                    "typeDescriptions": {
                                                        "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$",
                                                        "typeString": "function (string memory) pure returns (bytes memory)"
                                                    }
                                                },
                                                "id": 17810,
                                                "isConstant": false,
                                                "isLValue": false,
                                                "isPure": false,
                                                "kind": "functionCall",
                                                "lValueRequested": false,
                                                "names": [],
                                                "nodeType": "FunctionCall",
                                                "src": "38444:72:62",
                                                "tryCall": false,
                                                "typeDescriptions": {
                                                    "typeIdentifier": "t_bytes_memory_ptr",
                                                    "typeString": "bytes memory"
                                                }
                                            }
                                        ],
                                        "expression": {
                                            "argumentTypes": [
                                                {
                                                    "typeIdentifier": "t_bytes_memory_ptr",
                                                    "typeString": "bytes memory"
                                                }
                                            ],
                                            "id": 17802,
                                            "name": "_sendLogPayload",
                                            "nodeType": "Identifier",
                                            "overloadedDeclarations": [],
                                            "referencedDeclaration": 12880,
                                            "src": "38428:15:62",
                                            "typeDescriptions": {
                                                "typeIdentifier": "t_function_internal_view$_t_bytes_memory_ptr_$returns$__$",
                                                "typeString": "function (bytes memory) view"
                                            }
                                        },
                                        "id": 17811,
                                        "isConstant": false,
                                        "isLValue": false,
                                        "isPure": false,
                                        "kind": "functionCall",
                                        "lValueRequested": false,
                                        "names": [],
                                        "nodeType": "FunctionCall",
                                        "src": "38428:89:62",
                                        "tryCall": false,
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_tuple$__$",
                                            "typeString": "tuple()"
                                        }
                                    },
                                    "id": 17812,
                                    "nodeType": "ExpressionStatement",
                                    "src": "38428:89:62"
                                }
                            ]
                        },
                        "id": 17814,
                        "implemented": true,
                        "kind": "function",
                        "modifiers": [],
                        "name": "log",
                        "nameLocation": "38358:3:62",
                        "nodeType": "FunctionDefinition",
                        "parameters": {
                            "id": 17800,
                            "nodeType": "ParameterList",
                            "parameters": [
                                {
                                    "constant": false,
                                    "id": 17793,
                                    "mutability": "mutable",
                                    "name": "p0",
                                    "nameLocation": "38376:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 17814,
                                    "src": "38362:16:62",
                                    "stateVariable": false,
                                    "storageLocation": "memory",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_string_memory_ptr",
                                        "typeString": "string"
                                    },
                                    "typeName": {
                                        "id": 17792,
                                        "name": "string",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "38362:6:62",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_string_storage_ptr",
                                            "typeString": "string"
                                        }
                                    },
                                    "visibility": "internal"
                                },
                                {
                                    "constant": false,
                                    "id": 17795,
                                    "mutability": "mutable",
                                    "name": "p1",
                                    "nameLocation": "38388:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 17814,
                                    "src": "38380:10:62",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_address",
                                        "typeString": "address"
                                    },
                                    "typeName": {
                                        "id": 17794,
                                        "name": "address",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "38380:7:62",
                                        "stateMutability": "nonpayable",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_address",
                                            "typeString": "address"
                                        }
                                    },
                                    "visibility": "internal"
                                },
                                {
                                    "constant": false,
                                    "id": 17797,
                                    "mutability": "mutable",
                                    "name": "p2",
                                    "nameLocation": "38397:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 17814,
                                    "src": "38392:7:62",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_bool",
                                        "typeString": "bool"
                                    },
                                    "typeName": {
                                        "id": 17796,
                                        "name": "bool",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "38392:4:62",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_bool",
                                            "typeString": "bool"
                                        }
                                    },
                                    "visibility": "internal"
                                },
                                {
                                    "constant": false,
                                    "id": 17799,
                                    "mutability": "mutable",
                                    "name": "p3",
                                    "nameLocation": "38406:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 17814,
                                    "src": "38401:7:62",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_uint256",
                                        "typeString": "uint256"
                                    },
                                    "typeName": {
                                        "id": 17798,
                                        "name": "uint",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "38401:4:62",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_uint256",
                                            "typeString": "uint256"
                                        }
                                    },
                                    "visibility": "internal"
                                }
                            ],
                            "src": "38361:48:62"
                        },
                        "returnParameters": {
                            "id": 17801,
                            "nodeType": "ParameterList",
                            "parameters": [],
                            "src": "38424:0:62"
                        },
                        "scope": 20920,
                        "src": "38349:172:62",
                        "stateMutability": "view",
                        "virtual": false,
                        "visibility": "internal"
                    },
                    {
                        "body": {
                            "id": 17836,
                            "nodeType": "Block",
                            "src": "38608:99:62",
                            "statements": [
                                {
                                    "expression": {
                                        "arguments": [
                                            {
                                                "arguments": [
                                                    {
                                                        "hexValue": "6c6f6728737472696e672c616464726573732c626f6f6c2c737472696e6729",
                                                        "id": 17828,
                                                        "isConstant": false,
                                                        "isLValue": false,
                                                        "isPure": true,
                                                        "kind": "string",
                                                        "lValueRequested": false,
                                                        "nodeType": "Literal",
                                                        "src": "38652:33:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_stringliteral_0454c0793d4a41e5f630eb9a887926f8a67ff9e817a5feb968698354ac9d22fb",
                                                            "typeString": "literal_string \"log(string,address,bool,string)\""
                                                        },
                                                        "value": "log(string,address,bool,string)"
                                                    },
                                                    {
                                                        "id": 17829,
                                                        "name": "p0",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 17816,
                                                        "src": "38687:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_string_memory_ptr",
                                                            "typeString": "string memory"
                                                        }
                                                    },
                                                    {
                                                        "id": 17830,
                                                        "name": "p1",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 17818,
                                                        "src": "38691:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_address",
                                                            "typeString": "address"
                                                        }
                                                    },
                                                    {
                                                        "id": 17831,
                                                        "name": "p2",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 17820,
                                                        "src": "38695:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_bool",
                                                            "typeString": "bool"
                                                        }
                                                    },
                                                    {
                                                        "id": 17832,
                                                        "name": "p3",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 17822,
                                                        "src": "38699:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_string_memory_ptr",
                                                            "typeString": "string memory"
                                                        }
                                                    }
                                                ],
                                                "expression": {
                                                    "argumentTypes": [
                                                        {
                                                            "typeIdentifier": "t_stringliteral_0454c0793d4a41e5f630eb9a887926f8a67ff9e817a5feb968698354ac9d22fb",
                                                            "typeString": "literal_string \"log(string,address,bool,string)\""
                                                        },
                                                        {
                                                            "typeIdentifier": "t_string_memory_ptr",
                                                            "typeString": "string memory"
                                                        },
                                                        {
                                                            "typeIdentifier": "t_address",
                                                            "typeString": "address"
                                                        },
                                                        {
                                                            "typeIdentifier": "t_bool",
                                                            "typeString": "bool"
                                                        },
                                                        {
                                                            "typeIdentifier": "t_string_memory_ptr",
                                                            "typeString": "string memory"
                                                        }
                                                    ],
                                                    "expression": {
                                                        "id": 17826,
                                                        "name": "abi",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 4294967295,
                                                        "src": "38628:3:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_magic_abi",
                                                            "typeString": "abi"
                                                        }
                                                    },
                                                    "id": 17827,
                                                    "isConstant": false,
                                                    "isLValue": false,
                                                    "isPure": true,
                                                    "lValueRequested": false,
                                                    "memberName": "encodeWithSignature",
                                                    "nodeType": "MemberAccess",
                                                    "src": "38628:23:62",
                                                    "typeDescriptions": {
                                                        "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$",
                                                        "typeString": "function (string memory) pure returns (bytes memory)"
                                                    }
                                                },
                                                "id": 17833,
                                                "isConstant": false,
                                                "isLValue": false,
                                                "isPure": false,
                                                "kind": "functionCall",
                                                "lValueRequested": false,
                                                "names": [],
                                                "nodeType": "FunctionCall",
                                                "src": "38628:74:62",
                                                "tryCall": false,
                                                "typeDescriptions": {
                                                    "typeIdentifier": "t_bytes_memory_ptr",
                                                    "typeString": "bytes memory"
                                                }
                                            }
                                        ],
                                        "expression": {
                                            "argumentTypes": [
                                                {
                                                    "typeIdentifier": "t_bytes_memory_ptr",
                                                    "typeString": "bytes memory"
                                                }
                                            ],
                                            "id": 17825,
                                            "name": "_sendLogPayload",
                                            "nodeType": "Identifier",
                                            "overloadedDeclarations": [],
                                            "referencedDeclaration": 12880,
                                            "src": "38612:15:62",
                                            "typeDescriptions": {
                                                "typeIdentifier": "t_function_internal_view$_t_bytes_memory_ptr_$returns$__$",
                                                "typeString": "function (bytes memory) view"
                                            }
                                        },
                                        "id": 17834,
                                        "isConstant": false,
                                        "isLValue": false,
                                        "isPure": false,
                                        "kind": "functionCall",
                                        "lValueRequested": false,
                                        "names": [],
                                        "nodeType": "FunctionCall",
                                        "src": "38612:91:62",
                                        "tryCall": false,
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_tuple$__$",
                                            "typeString": "tuple()"
                                        }
                                    },
                                    "id": 17835,
                                    "nodeType": "ExpressionStatement",
                                    "src": "38612:91:62"
                                }
                            ]
                        },
                        "id": 17837,
                        "implemented": true,
                        "kind": "function",
                        "modifiers": [],
                        "name": "log",
                        "nameLocation": "38533:3:62",
                        "nodeType": "FunctionDefinition",
                        "parameters": {
                            "id": 17823,
                            "nodeType": "ParameterList",
                            "parameters": [
                                {
                                    "constant": false,
                                    "id": 17816,
                                    "mutability": "mutable",
                                    "name": "p0",
                                    "nameLocation": "38551:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 17837,
                                    "src": "38537:16:62",
                                    "stateVariable": false,
                                    "storageLocation": "memory",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_string_memory_ptr",
                                        "typeString": "string"
                                    },
                                    "typeName": {
                                        "id": 17815,
                                        "name": "string",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "38537:6:62",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_string_storage_ptr",
                                            "typeString": "string"
                                        }
                                    },
                                    "visibility": "internal"
                                },
                                {
                                    "constant": false,
                                    "id": 17818,
                                    "mutability": "mutable",
                                    "name": "p1",
                                    "nameLocation": "38563:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 17837,
                                    "src": "38555:10:62",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_address",
                                        "typeString": "address"
                                    },
                                    "typeName": {
                                        "id": 17817,
                                        "name": "address",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "38555:7:62",
                                        "stateMutability": "nonpayable",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_address",
                                            "typeString": "address"
                                        }
                                    },
                                    "visibility": "internal"
                                },
                                {
                                    "constant": false,
                                    "id": 17820,
                                    "mutability": "mutable",
                                    "name": "p2",
                                    "nameLocation": "38572:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 17837,
                                    "src": "38567:7:62",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_bool",
                                        "typeString": "bool"
                                    },
                                    "typeName": {
                                        "id": 17819,
                                        "name": "bool",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "38567:4:62",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_bool",
                                            "typeString": "bool"
                                        }
                                    },
                                    "visibility": "internal"
                                },
                                {
                                    "constant": false,
                                    "id": 17822,
                                    "mutability": "mutable",
                                    "name": "p3",
                                    "nameLocation": "38590:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 17837,
                                    "src": "38576:16:62",
                                    "stateVariable": false,
                                    "storageLocation": "memory",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_string_memory_ptr",
                                        "typeString": "string"
                                    },
                                    "typeName": {
                                        "id": 17821,
                                        "name": "string",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "38576:6:62",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_string_storage_ptr",
                                            "typeString": "string"
                                        }
                                    },
                                    "visibility": "internal"
                                }
                            ],
                            "src": "38536:57:62"
                        },
                        "returnParameters": {
                            "id": 17824,
                            "nodeType": "ParameterList",
                            "parameters": [],
                            "src": "38608:0:62"
                        },
                        "scope": 20920,
                        "src": "38524:183:62",
                        "stateMutability": "view",
                        "virtual": false,
                        "visibility": "internal"
                    },
                    {
                        "body": {
                            "id": 17859,
                            "nodeType": "Block",
                            "src": "38785:97:62",
                            "statements": [
                                {
                                    "expression": {
                                        "arguments": [
                                            {
                                                "arguments": [
                                                    {
                                                        "hexValue": "6c6f6728737472696e672c616464726573732c626f6f6c2c626f6f6c29",
                                                        "id": 17851,
                                                        "isConstant": false,
                                                        "isLValue": false,
                                                        "isPure": true,
                                                        "kind": "string",
                                                        "lValueRequested": false,
                                                        "nodeType": "Literal",
                                                        "src": "38829:31:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_stringliteral_79884c2bc85eb73c854df1610df373a05f191b834f79cd47a7ab28be2308c039",
                                                            "typeString": "literal_string \"log(string,address,bool,bool)\""
                                                        },
                                                        "value": "log(string,address,bool,bool)"
                                                    },
                                                    {
                                                        "id": 17852,
                                                        "name": "p0",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 17839,
                                                        "src": "38862:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_string_memory_ptr",
                                                            "typeString": "string memory"
                                                        }
                                                    },
                                                    {
                                                        "id": 17853,
                                                        "name": "p1",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 17841,
                                                        "src": "38866:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_address",
                                                            "typeString": "address"
                                                        }
                                                    },
                                                    {
                                                        "id": 17854,
                                                        "name": "p2",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 17843,
                                                        "src": "38870:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_bool",
                                                            "typeString": "bool"
                                                        }
                                                    },
                                                    {
                                                        "id": 17855,
                                                        "name": "p3",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 17845,
                                                        "src": "38874:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_bool",
                                                            "typeString": "bool"
                                                        }
                                                    }
                                                ],
                                                "expression": {
                                                    "argumentTypes": [
                                                        {
                                                            "typeIdentifier": "t_stringliteral_79884c2bc85eb73c854df1610df373a05f191b834f79cd47a7ab28be2308c039",
                                                            "typeString": "literal_string \"log(string,address,bool,bool)\""
                                                        },
                                                        {
                                                            "typeIdentifier": "t_string_memory_ptr",
                                                            "typeString": "string memory"
                                                        },
                                                        {
                                                            "typeIdentifier": "t_address",
                                                            "typeString": "address"
                                                        },
                                                        {
                                                            "typeIdentifier": "t_bool",
                                                            "typeString": "bool"
                                                        },
                                                        {
                                                            "typeIdentifier": "t_bool",
                                                            "typeString": "bool"
                                                        }
                                                    ],
                                                    "expression": {
                                                        "id": 17849,
                                                        "name": "abi",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 4294967295,
                                                        "src": "38805:3:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_magic_abi",
                                                            "typeString": "abi"
                                                        }
                                                    },
                                                    "id": 17850,
                                                    "isConstant": false,
                                                    "isLValue": false,
                                                    "isPure": true,
                                                    "lValueRequested": false,
                                                    "memberName": "encodeWithSignature",
                                                    "nodeType": "MemberAccess",
                                                    "src": "38805:23:62",
                                                    "typeDescriptions": {
                                                        "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$",
                                                        "typeString": "function (string memory) pure returns (bytes memory)"
                                                    }
                                                },
                                                "id": 17856,
                                                "isConstant": false,
                                                "isLValue": false,
                                                "isPure": false,
                                                "kind": "functionCall",
                                                "lValueRequested": false,
                                                "names": [],
                                                "nodeType": "FunctionCall",
                                                "src": "38805:72:62",
                                                "tryCall": false,
                                                "typeDescriptions": {
                                                    "typeIdentifier": "t_bytes_memory_ptr",
                                                    "typeString": "bytes memory"
                                                }
                                            }
                                        ],
                                        "expression": {
                                            "argumentTypes": [
                                                {
                                                    "typeIdentifier": "t_bytes_memory_ptr",
                                                    "typeString": "bytes memory"
                                                }
                                            ],
                                            "id": 17848,
                                            "name": "_sendLogPayload",
                                            "nodeType": "Identifier",
                                            "overloadedDeclarations": [],
                                            "referencedDeclaration": 12880,
                                            "src": "38789:15:62",
                                            "typeDescriptions": {
                                                "typeIdentifier": "t_function_internal_view$_t_bytes_memory_ptr_$returns$__$",
                                                "typeString": "function (bytes memory) view"
                                            }
                                        },
                                        "id": 17857,
                                        "isConstant": false,
                                        "isLValue": false,
                                        "isPure": false,
                                        "kind": "functionCall",
                                        "lValueRequested": false,
                                        "names": [],
                                        "nodeType": "FunctionCall",
                                        "src": "38789:89:62",
                                        "tryCall": false,
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_tuple$__$",
                                            "typeString": "tuple()"
                                        }
                                    },
                                    "id": 17858,
                                    "nodeType": "ExpressionStatement",
                                    "src": "38789:89:62"
                                }
                            ]
                        },
                        "id": 17860,
                        "implemented": true,
                        "kind": "function",
                        "modifiers": [],
                        "name": "log",
                        "nameLocation": "38719:3:62",
                        "nodeType": "FunctionDefinition",
                        "parameters": {
                            "id": 17846,
                            "nodeType": "ParameterList",
                            "parameters": [
                                {
                                    "constant": false,
                                    "id": 17839,
                                    "mutability": "mutable",
                                    "name": "p0",
                                    "nameLocation": "38737:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 17860,
                                    "src": "38723:16:62",
                                    "stateVariable": false,
                                    "storageLocation": "memory",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_string_memory_ptr",
                                        "typeString": "string"
                                    },
                                    "typeName": {
                                        "id": 17838,
                                        "name": "string",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "38723:6:62",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_string_storage_ptr",
                                            "typeString": "string"
                                        }
                                    },
                                    "visibility": "internal"
                                },
                                {
                                    "constant": false,
                                    "id": 17841,
                                    "mutability": "mutable",
                                    "name": "p1",
                                    "nameLocation": "38749:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 17860,
                                    "src": "38741:10:62",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_address",
                                        "typeString": "address"
                                    },
                                    "typeName": {
                                        "id": 17840,
                                        "name": "address",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "38741:7:62",
                                        "stateMutability": "nonpayable",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_address",
                                            "typeString": "address"
                                        }
                                    },
                                    "visibility": "internal"
                                },
                                {
                                    "constant": false,
                                    "id": 17843,
                                    "mutability": "mutable",
                                    "name": "p2",
                                    "nameLocation": "38758:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 17860,
                                    "src": "38753:7:62",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_bool",
                                        "typeString": "bool"
                                    },
                                    "typeName": {
                                        "id": 17842,
                                        "name": "bool",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "38753:4:62",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_bool",
                                            "typeString": "bool"
                                        }
                                    },
                                    "visibility": "internal"
                                },
                                {
                                    "constant": false,
                                    "id": 17845,
                                    "mutability": "mutable",
                                    "name": "p3",
                                    "nameLocation": "38767:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 17860,
                                    "src": "38762:7:62",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_bool",
                                        "typeString": "bool"
                                    },
                                    "typeName": {
                                        "id": 17844,
                                        "name": "bool",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "38762:4:62",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_bool",
                                            "typeString": "bool"
                                        }
                                    },
                                    "visibility": "internal"
                                }
                            ],
                            "src": "38722:48:62"
                        },
                        "returnParameters": {
                            "id": 17847,
                            "nodeType": "ParameterList",
                            "parameters": [],
                            "src": "38785:0:62"
                        },
                        "scope": 20920,
                        "src": "38710:172:62",
                        "stateMutability": "view",
                        "virtual": false,
                        "visibility": "internal"
                    },
                    {
                        "body": {
                            "id": 17882,
                            "nodeType": "Block",
                            "src": "38963:100:62",
                            "statements": [
                                {
                                    "expression": {
                                        "arguments": [
                                            {
                                                "arguments": [
                                                    {
                                                        "hexValue": "6c6f6728737472696e672c616464726573732c626f6f6c2c6164647265737329",
                                                        "id": 17874,
                                                        "isConstant": false,
                                                        "isLValue": false,
                                                        "isPure": true,
                                                        "kind": "string",
                                                        "lValueRequested": false,
                                                        "nodeType": "Literal",
                                                        "src": "39007:34:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_stringliteral_223603bd064d72559a7d519ad0f1c6a8da707a49f5718dfa23a5ccb01bf9ab76",
                                                            "typeString": "literal_string \"log(string,address,bool,address)\""
                                                        },
                                                        "value": "log(string,address,bool,address)"
                                                    },
                                                    {
                                                        "id": 17875,
                                                        "name": "p0",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 17862,
                                                        "src": "39043:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_string_memory_ptr",
                                                            "typeString": "string memory"
                                                        }
                                                    },
                                                    {
                                                        "id": 17876,
                                                        "name": "p1",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 17864,
                                                        "src": "39047:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_address",
                                                            "typeString": "address"
                                                        }
                                                    },
                                                    {
                                                        "id": 17877,
                                                        "name": "p2",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 17866,
                                                        "src": "39051:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_bool",
                                                            "typeString": "bool"
                                                        }
                                                    },
                                                    {
                                                        "id": 17878,
                                                        "name": "p3",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 17868,
                                                        "src": "39055:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_address",
                                                            "typeString": "address"
                                                        }
                                                    }
                                                ],
                                                "expression": {
                                                    "argumentTypes": [
                                                        {
                                                            "typeIdentifier": "t_stringliteral_223603bd064d72559a7d519ad0f1c6a8da707a49f5718dfa23a5ccb01bf9ab76",
                                                            "typeString": "literal_string \"log(string,address,bool,address)\""
                                                        },
                                                        {
                                                            "typeIdentifier": "t_string_memory_ptr",
                                                            "typeString": "string memory"
                                                        },
                                                        {
                                                            "typeIdentifier": "t_address",
                                                            "typeString": "address"
                                                        },
                                                        {
                                                            "typeIdentifier": "t_bool",
                                                            "typeString": "bool"
                                                        },
                                                        {
                                                            "typeIdentifier": "t_address",
                                                            "typeString": "address"
                                                        }
                                                    ],
                                                    "expression": {
                                                        "id": 17872,
                                                        "name": "abi",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 4294967295,
                                                        "src": "38983:3:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_magic_abi",
                                                            "typeString": "abi"
                                                        }
                                                    },
                                                    "id": 17873,
                                                    "isConstant": false,
                                                    "isLValue": false,
                                                    "isPure": true,
                                                    "lValueRequested": false,
                                                    "memberName": "encodeWithSignature",
                                                    "nodeType": "MemberAccess",
                                                    "src": "38983:23:62",
                                                    "typeDescriptions": {
                                                        "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$",
                                                        "typeString": "function (string memory) pure returns (bytes memory)"
                                                    }
                                                },
                                                "id": 17879,
                                                "isConstant": false,
                                                "isLValue": false,
                                                "isPure": false,
                                                "kind": "functionCall",
                                                "lValueRequested": false,
                                                "names": [],
                                                "nodeType": "FunctionCall",
                                                "src": "38983:75:62",
                                                "tryCall": false,
                                                "typeDescriptions": {
                                                    "typeIdentifier": "t_bytes_memory_ptr",
                                                    "typeString": "bytes memory"
                                                }
                                            }
                                        ],
                                        "expression": {
                                            "argumentTypes": [
                                                {
                                                    "typeIdentifier": "t_bytes_memory_ptr",
                                                    "typeString": "bytes memory"
                                                }
                                            ],
                                            "id": 17871,
                                            "name": "_sendLogPayload",
                                            "nodeType": "Identifier",
                                            "overloadedDeclarations": [],
                                            "referencedDeclaration": 12880,
                                            "src": "38967:15:62",
                                            "typeDescriptions": {
                                                "typeIdentifier": "t_function_internal_view$_t_bytes_memory_ptr_$returns$__$",
                                                "typeString": "function (bytes memory) view"
                                            }
                                        },
                                        "id": 17880,
                                        "isConstant": false,
                                        "isLValue": false,
                                        "isPure": false,
                                        "kind": "functionCall",
                                        "lValueRequested": false,
                                        "names": [],
                                        "nodeType": "FunctionCall",
                                        "src": "38967:92:62",
                                        "tryCall": false,
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_tuple$__$",
                                            "typeString": "tuple()"
                                        }
                                    },
                                    "id": 17881,
                                    "nodeType": "ExpressionStatement",
                                    "src": "38967:92:62"
                                }
                            ]
                        },
                        "id": 17883,
                        "implemented": true,
                        "kind": "function",
                        "modifiers": [],
                        "name": "log",
                        "nameLocation": "38894:3:62",
                        "nodeType": "FunctionDefinition",
                        "parameters": {
                            "id": 17869,
                            "nodeType": "ParameterList",
                            "parameters": [
                                {
                                    "constant": false,
                                    "id": 17862,
                                    "mutability": "mutable",
                                    "name": "p0",
                                    "nameLocation": "38912:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 17883,
                                    "src": "38898:16:62",
                                    "stateVariable": false,
                                    "storageLocation": "memory",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_string_memory_ptr",
                                        "typeString": "string"
                                    },
                                    "typeName": {
                                        "id": 17861,
                                        "name": "string",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "38898:6:62",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_string_storage_ptr",
                                            "typeString": "string"
                                        }
                                    },
                                    "visibility": "internal"
                                },
                                {
                                    "constant": false,
                                    "id": 17864,
                                    "mutability": "mutable",
                                    "name": "p1",
                                    "nameLocation": "38924:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 17883,
                                    "src": "38916:10:62",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_address",
                                        "typeString": "address"
                                    },
                                    "typeName": {
                                        "id": 17863,
                                        "name": "address",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "38916:7:62",
                                        "stateMutability": "nonpayable",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_address",
                                            "typeString": "address"
                                        }
                                    },
                                    "visibility": "internal"
                                },
                                {
                                    "constant": false,
                                    "id": 17866,
                                    "mutability": "mutable",
                                    "name": "p2",
                                    "nameLocation": "38933:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 17883,
                                    "src": "38928:7:62",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_bool",
                                        "typeString": "bool"
                                    },
                                    "typeName": {
                                        "id": 17865,
                                        "name": "bool",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "38928:4:62",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_bool",
                                            "typeString": "bool"
                                        }
                                    },
                                    "visibility": "internal"
                                },
                                {
                                    "constant": false,
                                    "id": 17868,
                                    "mutability": "mutable",
                                    "name": "p3",
                                    "nameLocation": "38945:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 17883,
                                    "src": "38937:10:62",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_address",
                                        "typeString": "address"
                                    },
                                    "typeName": {
                                        "id": 17867,
                                        "name": "address",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "38937:7:62",
                                        "stateMutability": "nonpayable",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_address",
                                            "typeString": "address"
                                        }
                                    },
                                    "visibility": "internal"
                                }
                            ],
                            "src": "38897:51:62"
                        },
                        "returnParameters": {
                            "id": 17870,
                            "nodeType": "ParameterList",
                            "parameters": [],
                            "src": "38963:0:62"
                        },
                        "scope": 20920,
                        "src": "38885:178:62",
                        "stateMutability": "view",
                        "virtual": false,
                        "visibility": "internal"
                    },
                    {
                        "body": {
                            "id": 17905,
                            "nodeType": "Block",
                            "src": "39144:100:62",
                            "statements": [
                                {
                                    "expression": {
                                        "arguments": [
                                            {
                                                "arguments": [
                                                    {
                                                        "hexValue": "6c6f6728737472696e672c616464726573732c616464726573732c75696e7429",
                                                        "id": 17897,
                                                        "isConstant": false,
                                                        "isLValue": false,
                                                        "isPure": true,
                                                        "kind": "string",
                                                        "lValueRequested": false,
                                                        "nodeType": "Literal",
                                                        "src": "39188:34:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_stringliteral_6eb7943d4272e495e7f5cdeb25ef89b9c3c1042d5c1e0e6e11a8fdc842ff5e02",
                                                            "typeString": "literal_string \"log(string,address,address,uint)\""
                                                        },
                                                        "value": "log(string,address,address,uint)"
                                                    },
                                                    {
                                                        "id": 17898,
                                                        "name": "p0",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 17885,
                                                        "src": "39224:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_string_memory_ptr",
                                                            "typeString": "string memory"
                                                        }
                                                    },
                                                    {
                                                        "id": 17899,
                                                        "name": "p1",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 17887,
                                                        "src": "39228:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_address",
                                                            "typeString": "address"
                                                        }
                                                    },
                                                    {
                                                        "id": 17900,
                                                        "name": "p2",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 17889,
                                                        "src": "39232:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_address",
                                                            "typeString": "address"
                                                        }
                                                    },
                                                    {
                                                        "id": 17901,
                                                        "name": "p3",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 17891,
                                                        "src": "39236:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_uint256",
                                                            "typeString": "uint256"
                                                        }
                                                    }
                                                ],
                                                "expression": {
                                                    "argumentTypes": [
                                                        {
                                                            "typeIdentifier": "t_stringliteral_6eb7943d4272e495e7f5cdeb25ef89b9c3c1042d5c1e0e6e11a8fdc842ff5e02",
                                                            "typeString": "literal_string \"log(string,address,address,uint)\""
                                                        },
                                                        {
                                                            "typeIdentifier": "t_string_memory_ptr",
                                                            "typeString": "string memory"
                                                        },
                                                        {
                                                            "typeIdentifier": "t_address",
                                                            "typeString": "address"
                                                        },
                                                        {
                                                            "typeIdentifier": "t_address",
                                                            "typeString": "address"
                                                        },
                                                        {
                                                            "typeIdentifier": "t_uint256",
                                                            "typeString": "uint256"
                                                        }
                                                    ],
                                                    "expression": {
                                                        "id": 17895,
                                                        "name": "abi",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 4294967295,
                                                        "src": "39164:3:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_magic_abi",
                                                            "typeString": "abi"
                                                        }
                                                    },
                                                    "id": 17896,
                                                    "isConstant": false,
                                                    "isLValue": false,
                                                    "isPure": true,
                                                    "lValueRequested": false,
                                                    "memberName": "encodeWithSignature",
                                                    "nodeType": "MemberAccess",
                                                    "src": "39164:23:62",
                                                    "typeDescriptions": {
                                                        "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$",
                                                        "typeString": "function (string memory) pure returns (bytes memory)"
                                                    }
                                                },
                                                "id": 17902,
                                                "isConstant": false,
                                                "isLValue": false,
                                                "isPure": false,
                                                "kind": "functionCall",
                                                "lValueRequested": false,
                                                "names": [],
                                                "nodeType": "FunctionCall",
                                                "src": "39164:75:62",
                                                "tryCall": false,
                                                "typeDescriptions": {
                                                    "typeIdentifier": "t_bytes_memory_ptr",
                                                    "typeString": "bytes memory"
                                                }
                                            }
                                        ],
                                        "expression": {
                                            "argumentTypes": [
                                                {
                                                    "typeIdentifier": "t_bytes_memory_ptr",
                                                    "typeString": "bytes memory"
                                                }
                                            ],
                                            "id": 17894,
                                            "name": "_sendLogPayload",
                                            "nodeType": "Identifier",
                                            "overloadedDeclarations": [],
                                            "referencedDeclaration": 12880,
                                            "src": "39148:15:62",
                                            "typeDescriptions": {
                                                "typeIdentifier": "t_function_internal_view$_t_bytes_memory_ptr_$returns$__$",
                                                "typeString": "function (bytes memory) view"
                                            }
                                        },
                                        "id": 17903,
                                        "isConstant": false,
                                        "isLValue": false,
                                        "isPure": false,
                                        "kind": "functionCall",
                                        "lValueRequested": false,
                                        "names": [],
                                        "nodeType": "FunctionCall",
                                        "src": "39148:92:62",
                                        "tryCall": false,
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_tuple$__$",
                                            "typeString": "tuple()"
                                        }
                                    },
                                    "id": 17904,
                                    "nodeType": "ExpressionStatement",
                                    "src": "39148:92:62"
                                }
                            ]
                        },
                        "id": 17906,
                        "implemented": true,
                        "kind": "function",
                        "modifiers": [],
                        "name": "log",
                        "nameLocation": "39075:3:62",
                        "nodeType": "FunctionDefinition",
                        "parameters": {
                            "id": 17892,
                            "nodeType": "ParameterList",
                            "parameters": [
                                {
                                    "constant": false,
                                    "id": 17885,
                                    "mutability": "mutable",
                                    "name": "p0",
                                    "nameLocation": "39093:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 17906,
                                    "src": "39079:16:62",
                                    "stateVariable": false,
                                    "storageLocation": "memory",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_string_memory_ptr",
                                        "typeString": "string"
                                    },
                                    "typeName": {
                                        "id": 17884,
                                        "name": "string",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "39079:6:62",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_string_storage_ptr",
                                            "typeString": "string"
                                        }
                                    },
                                    "visibility": "internal"
                                },
                                {
                                    "constant": false,
                                    "id": 17887,
                                    "mutability": "mutable",
                                    "name": "p1",
                                    "nameLocation": "39105:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 17906,
                                    "src": "39097:10:62",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_address",
                                        "typeString": "address"
                                    },
                                    "typeName": {
                                        "id": 17886,
                                        "name": "address",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "39097:7:62",
                                        "stateMutability": "nonpayable",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_address",
                                            "typeString": "address"
                                        }
                                    },
                                    "visibility": "internal"
                                },
                                {
                                    "constant": false,
                                    "id": 17889,
                                    "mutability": "mutable",
                                    "name": "p2",
                                    "nameLocation": "39117:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 17906,
                                    "src": "39109:10:62",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_address",
                                        "typeString": "address"
                                    },
                                    "typeName": {
                                        "id": 17888,
                                        "name": "address",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "39109:7:62",
                                        "stateMutability": "nonpayable",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_address",
                                            "typeString": "address"
                                        }
                                    },
                                    "visibility": "internal"
                                },
                                {
                                    "constant": false,
                                    "id": 17891,
                                    "mutability": "mutable",
                                    "name": "p3",
                                    "nameLocation": "39126:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 17906,
                                    "src": "39121:7:62",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_uint256",
                                        "typeString": "uint256"
                                    },
                                    "typeName": {
                                        "id": 17890,
                                        "name": "uint",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "39121:4:62",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_uint256",
                                            "typeString": "uint256"
                                        }
                                    },
                                    "visibility": "internal"
                                }
                            ],
                            "src": "39078:51:62"
                        },
                        "returnParameters": {
                            "id": 17893,
                            "nodeType": "ParameterList",
                            "parameters": [],
                            "src": "39144:0:62"
                        },
                        "scope": 20920,
                        "src": "39066:178:62",
                        "stateMutability": "view",
                        "virtual": false,
                        "visibility": "internal"
                    },
                    {
                        "body": {
                            "id": 17928,
                            "nodeType": "Block",
                            "src": "39334:102:62",
                            "statements": [
                                {
                                    "expression": {
                                        "arguments": [
                                            {
                                                "arguments": [
                                                    {
                                                        "hexValue": "6c6f6728737472696e672c616464726573732c616464726573732c737472696e6729",
                                                        "id": 17920,
                                                        "isConstant": false,
                                                        "isLValue": false,
                                                        "isPure": true,
                                                        "kind": "string",
                                                        "lValueRequested": false,
                                                        "nodeType": "Literal",
                                                        "src": "39378:36:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_stringliteral_800a1c6756a402b6162ca8653fd8e87e2c52d1c019c876e92eb2980479636a76",
                                                            "typeString": "literal_string \"log(string,address,address,string)\""
                                                        },
                                                        "value": "log(string,address,address,string)"
                                                    },
                                                    {
                                                        "id": 17921,
                                                        "name": "p0",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 17908,
                                                        "src": "39416:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_string_memory_ptr",
                                                            "typeString": "string memory"
                                                        }
                                                    },
                                                    {
                                                        "id": 17922,
                                                        "name": "p1",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 17910,
                                                        "src": "39420:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_address",
                                                            "typeString": "address"
                                                        }
                                                    },
                                                    {
                                                        "id": 17923,
                                                        "name": "p2",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 17912,
                                                        "src": "39424:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_address",
                                                            "typeString": "address"
                                                        }
                                                    },
                                                    {
                                                        "id": 17924,
                                                        "name": "p3",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 17914,
                                                        "src": "39428:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_string_memory_ptr",
                                                            "typeString": "string memory"
                                                        }
                                                    }
                                                ],
                                                "expression": {
                                                    "argumentTypes": [
                                                        {
                                                            "typeIdentifier": "t_stringliteral_800a1c6756a402b6162ca8653fd8e87e2c52d1c019c876e92eb2980479636a76",
                                                            "typeString": "literal_string \"log(string,address,address,string)\""
                                                        },
                                                        {
                                                            "typeIdentifier": "t_string_memory_ptr",
                                                            "typeString": "string memory"
                                                        },
                                                        {
                                                            "typeIdentifier": "t_address",
                                                            "typeString": "address"
                                                        },
                                                        {
                                                            "typeIdentifier": "t_address",
                                                            "typeString": "address"
                                                        },
                                                        {
                                                            "typeIdentifier": "t_string_memory_ptr",
                                                            "typeString": "string memory"
                                                        }
                                                    ],
                                                    "expression": {
                                                        "id": 17918,
                                                        "name": "abi",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 4294967295,
                                                        "src": "39354:3:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_magic_abi",
                                                            "typeString": "abi"
                                                        }
                                                    },
                                                    "id": 17919,
                                                    "isConstant": false,
                                                    "isLValue": false,
                                                    "isPure": true,
                                                    "lValueRequested": false,
                                                    "memberName": "encodeWithSignature",
                                                    "nodeType": "MemberAccess",
                                                    "src": "39354:23:62",
                                                    "typeDescriptions": {
                                                        "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$",
                                                        "typeString": "function (string memory) pure returns (bytes memory)"
                                                    }
                                                },
                                                "id": 17925,
                                                "isConstant": false,
                                                "isLValue": false,
                                                "isPure": false,
                                                "kind": "functionCall",
                                                "lValueRequested": false,
                                                "names": [],
                                                "nodeType": "FunctionCall",
                                                "src": "39354:77:62",
                                                "tryCall": false,
                                                "typeDescriptions": {
                                                    "typeIdentifier": "t_bytes_memory_ptr",
                                                    "typeString": "bytes memory"
                                                }
                                            }
                                        ],
                                        "expression": {
                                            "argumentTypes": [
                                                {
                                                    "typeIdentifier": "t_bytes_memory_ptr",
                                                    "typeString": "bytes memory"
                                                }
                                            ],
                                            "id": 17917,
                                            "name": "_sendLogPayload",
                                            "nodeType": "Identifier",
                                            "overloadedDeclarations": [],
                                            "referencedDeclaration": 12880,
                                            "src": "39338:15:62",
                                            "typeDescriptions": {
                                                "typeIdentifier": "t_function_internal_view$_t_bytes_memory_ptr_$returns$__$",
                                                "typeString": "function (bytes memory) view"
                                            }
                                        },
                                        "id": 17926,
                                        "isConstant": false,
                                        "isLValue": false,
                                        "isPure": false,
                                        "kind": "functionCall",
                                        "lValueRequested": false,
                                        "names": [],
                                        "nodeType": "FunctionCall",
                                        "src": "39338:94:62",
                                        "tryCall": false,
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_tuple$__$",
                                            "typeString": "tuple()"
                                        }
                                    },
                                    "id": 17927,
                                    "nodeType": "ExpressionStatement",
                                    "src": "39338:94:62"
                                }
                            ]
                        },
                        "id": 17929,
                        "implemented": true,
                        "kind": "function",
                        "modifiers": [],
                        "name": "log",
                        "nameLocation": "39256:3:62",
                        "nodeType": "FunctionDefinition",
                        "parameters": {
                            "id": 17915,
                            "nodeType": "ParameterList",
                            "parameters": [
                                {
                                    "constant": false,
                                    "id": 17908,
                                    "mutability": "mutable",
                                    "name": "p0",
                                    "nameLocation": "39274:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 17929,
                                    "src": "39260:16:62",
                                    "stateVariable": false,
                                    "storageLocation": "memory",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_string_memory_ptr",
                                        "typeString": "string"
                                    },
                                    "typeName": {
                                        "id": 17907,
                                        "name": "string",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "39260:6:62",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_string_storage_ptr",
                                            "typeString": "string"
                                        }
                                    },
                                    "visibility": "internal"
                                },
                                {
                                    "constant": false,
                                    "id": 17910,
                                    "mutability": "mutable",
                                    "name": "p1",
                                    "nameLocation": "39286:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 17929,
                                    "src": "39278:10:62",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_address",
                                        "typeString": "address"
                                    },
                                    "typeName": {
                                        "id": 17909,
                                        "name": "address",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "39278:7:62",
                                        "stateMutability": "nonpayable",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_address",
                                            "typeString": "address"
                                        }
                                    },
                                    "visibility": "internal"
                                },
                                {
                                    "constant": false,
                                    "id": 17912,
                                    "mutability": "mutable",
                                    "name": "p2",
                                    "nameLocation": "39298:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 17929,
                                    "src": "39290:10:62",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_address",
                                        "typeString": "address"
                                    },
                                    "typeName": {
                                        "id": 17911,
                                        "name": "address",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "39290:7:62",
                                        "stateMutability": "nonpayable",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_address",
                                            "typeString": "address"
                                        }
                                    },
                                    "visibility": "internal"
                                },
                                {
                                    "constant": false,
                                    "id": 17914,
                                    "mutability": "mutable",
                                    "name": "p3",
                                    "nameLocation": "39316:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 17929,
                                    "src": "39302:16:62",
                                    "stateVariable": false,
                                    "storageLocation": "memory",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_string_memory_ptr",
                                        "typeString": "string"
                                    },
                                    "typeName": {
                                        "id": 17913,
                                        "name": "string",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "39302:6:62",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_string_storage_ptr",
                                            "typeString": "string"
                                        }
                                    },
                                    "visibility": "internal"
                                }
                            ],
                            "src": "39259:60:62"
                        },
                        "returnParameters": {
                            "id": 17916,
                            "nodeType": "ParameterList",
                            "parameters": [],
                            "src": "39334:0:62"
                        },
                        "scope": 20920,
                        "src": "39247:189:62",
                        "stateMutability": "view",
                        "virtual": false,
                        "visibility": "internal"
                    },
                    {
                        "body": {
                            "id": 17951,
                            "nodeType": "Block",
                            "src": "39517:100:62",
                            "statements": [
                                {
                                    "expression": {
                                        "arguments": [
                                            {
                                                "arguments": [
                                                    {
                                                        "hexValue": "6c6f6728737472696e672c616464726573732c616464726573732c626f6f6c29",
                                                        "id": 17943,
                                                        "isConstant": false,
                                                        "isLValue": false,
                                                        "isPure": true,
                                                        "kind": "string",
                                                        "lValueRequested": false,
                                                        "nodeType": "Literal",
                                                        "src": "39561:34:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_stringliteral_b59dbd60587b4eeae521d5427cbc88bff32729f88aff059e7deb0a3a4320aaf4",
                                                            "typeString": "literal_string \"log(string,address,address,bool)\""
                                                        },
                                                        "value": "log(string,address,address,bool)"
                                                    },
                                                    {
                                                        "id": 17944,
                                                        "name": "p0",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 17931,
                                                        "src": "39597:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_string_memory_ptr",
                                                            "typeString": "string memory"
                                                        }
                                                    },
                                                    {
                                                        "id": 17945,
                                                        "name": "p1",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 17933,
                                                        "src": "39601:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_address",
                                                            "typeString": "address"
                                                        }
                                                    },
                                                    {
                                                        "id": 17946,
                                                        "name": "p2",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 17935,
                                                        "src": "39605:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_address",
                                                            "typeString": "address"
                                                        }
                                                    },
                                                    {
                                                        "id": 17947,
                                                        "name": "p3",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 17937,
                                                        "src": "39609:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_bool",
                                                            "typeString": "bool"
                                                        }
                                                    }
                                                ],
                                                "expression": {
                                                    "argumentTypes": [
                                                        {
                                                            "typeIdentifier": "t_stringliteral_b59dbd60587b4eeae521d5427cbc88bff32729f88aff059e7deb0a3a4320aaf4",
                                                            "typeString": "literal_string \"log(string,address,address,bool)\""
                                                        },
                                                        {
                                                            "typeIdentifier": "t_string_memory_ptr",
                                                            "typeString": "string memory"
                                                        },
                                                        {
                                                            "typeIdentifier": "t_address",
                                                            "typeString": "address"
                                                        },
                                                        {
                                                            "typeIdentifier": "t_address",
                                                            "typeString": "address"
                                                        },
                                                        {
                                                            "typeIdentifier": "t_bool",
                                                            "typeString": "bool"
                                                        }
                                                    ],
                                                    "expression": {
                                                        "id": 17941,
                                                        "name": "abi",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 4294967295,
                                                        "src": "39537:3:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_magic_abi",
                                                            "typeString": "abi"
                                                        }
                                                    },
                                                    "id": 17942,
                                                    "isConstant": false,
                                                    "isLValue": false,
                                                    "isPure": true,
                                                    "lValueRequested": false,
                                                    "memberName": "encodeWithSignature",
                                                    "nodeType": "MemberAccess",
                                                    "src": "39537:23:62",
                                                    "typeDescriptions": {
                                                        "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$",
                                                        "typeString": "function (string memory) pure returns (bytes memory)"
                                                    }
                                                },
                                                "id": 17948,
                                                "isConstant": false,
                                                "isLValue": false,
                                                "isPure": false,
                                                "kind": "functionCall",
                                                "lValueRequested": false,
                                                "names": [],
                                                "nodeType": "FunctionCall",
                                                "src": "39537:75:62",
                                                "tryCall": false,
                                                "typeDescriptions": {
                                                    "typeIdentifier": "t_bytes_memory_ptr",
                                                    "typeString": "bytes memory"
                                                }
                                            }
                                        ],
                                        "expression": {
                                            "argumentTypes": [
                                                {
                                                    "typeIdentifier": "t_bytes_memory_ptr",
                                                    "typeString": "bytes memory"
                                                }
                                            ],
                                            "id": 17940,
                                            "name": "_sendLogPayload",
                                            "nodeType": "Identifier",
                                            "overloadedDeclarations": [],
                                            "referencedDeclaration": 12880,
                                            "src": "39521:15:62",
                                            "typeDescriptions": {
                                                "typeIdentifier": "t_function_internal_view$_t_bytes_memory_ptr_$returns$__$",
                                                "typeString": "function (bytes memory) view"
                                            }
                                        },
                                        "id": 17949,
                                        "isConstant": false,
                                        "isLValue": false,
                                        "isPure": false,
                                        "kind": "functionCall",
                                        "lValueRequested": false,
                                        "names": [],
                                        "nodeType": "FunctionCall",
                                        "src": "39521:92:62",
                                        "tryCall": false,
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_tuple$__$",
                                            "typeString": "tuple()"
                                        }
                                    },
                                    "id": 17950,
                                    "nodeType": "ExpressionStatement",
                                    "src": "39521:92:62"
                                }
                            ]
                        },
                        "id": 17952,
                        "implemented": true,
                        "kind": "function",
                        "modifiers": [],
                        "name": "log",
                        "nameLocation": "39448:3:62",
                        "nodeType": "FunctionDefinition",
                        "parameters": {
                            "id": 17938,
                            "nodeType": "ParameterList",
                            "parameters": [
                                {
                                    "constant": false,
                                    "id": 17931,
                                    "mutability": "mutable",
                                    "name": "p0",
                                    "nameLocation": "39466:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 17952,
                                    "src": "39452:16:62",
                                    "stateVariable": false,
                                    "storageLocation": "memory",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_string_memory_ptr",
                                        "typeString": "string"
                                    },
                                    "typeName": {
                                        "id": 17930,
                                        "name": "string",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "39452:6:62",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_string_storage_ptr",
                                            "typeString": "string"
                                        }
                                    },
                                    "visibility": "internal"
                                },
                                {
                                    "constant": false,
                                    "id": 17933,
                                    "mutability": "mutable",
                                    "name": "p1",
                                    "nameLocation": "39478:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 17952,
                                    "src": "39470:10:62",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_address",
                                        "typeString": "address"
                                    },
                                    "typeName": {
                                        "id": 17932,
                                        "name": "address",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "39470:7:62",
                                        "stateMutability": "nonpayable",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_address",
                                            "typeString": "address"
                                        }
                                    },
                                    "visibility": "internal"
                                },
                                {
                                    "constant": false,
                                    "id": 17935,
                                    "mutability": "mutable",
                                    "name": "p2",
                                    "nameLocation": "39490:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 17952,
                                    "src": "39482:10:62",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_address",
                                        "typeString": "address"
                                    },
                                    "typeName": {
                                        "id": 17934,
                                        "name": "address",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "39482:7:62",
                                        "stateMutability": "nonpayable",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_address",
                                            "typeString": "address"
                                        }
                                    },
                                    "visibility": "internal"
                                },
                                {
                                    "constant": false,
                                    "id": 17937,
                                    "mutability": "mutable",
                                    "name": "p3",
                                    "nameLocation": "39499:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 17952,
                                    "src": "39494:7:62",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_bool",
                                        "typeString": "bool"
                                    },
                                    "typeName": {
                                        "id": 17936,
                                        "name": "bool",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "39494:4:62",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_bool",
                                            "typeString": "bool"
                                        }
                                    },
                                    "visibility": "internal"
                                }
                            ],
                            "src": "39451:51:62"
                        },
                        "returnParameters": {
                            "id": 17939,
                            "nodeType": "ParameterList",
                            "parameters": [],
                            "src": "39517:0:62"
                        },
                        "scope": 20920,
                        "src": "39439:178:62",
                        "stateMutability": "view",
                        "virtual": false,
                        "visibility": "internal"
                    },
                    {
                        "body": {
                            "id": 17974,
                            "nodeType": "Block",
                            "src": "39701:103:62",
                            "statements": [
                                {
                                    "expression": {
                                        "arguments": [
                                            {
                                                "arguments": [
                                                    {
                                                        "hexValue": "6c6f6728737472696e672c616464726573732c616464726573732c6164647265737329",
                                                        "id": 17966,
                                                        "isConstant": false,
                                                        "isLValue": false,
                                                        "isPure": true,
                                                        "kind": "string",
                                                        "lValueRequested": false,
                                                        "nodeType": "Literal",
                                                        "src": "39745:37:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_stringliteral_ed8f28f6f4b5d54b1d37f705e543f556805f28b9d1bb3aef0ef7e57ef4992d15",
                                                            "typeString": "literal_string \"log(string,address,address,address)\""
                                                        },
                                                        "value": "log(string,address,address,address)"
                                                    },
                                                    {
                                                        "id": 17967,
                                                        "name": "p0",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 17954,
                                                        "src": "39784:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_string_memory_ptr",
                                                            "typeString": "string memory"
                                                        }
                                                    },
                                                    {
                                                        "id": 17968,
                                                        "name": "p1",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 17956,
                                                        "src": "39788:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_address",
                                                            "typeString": "address"
                                                        }
                                                    },
                                                    {
                                                        "id": 17969,
                                                        "name": "p2",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 17958,
                                                        "src": "39792:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_address",
                                                            "typeString": "address"
                                                        }
                                                    },
                                                    {
                                                        "id": 17970,
                                                        "name": "p3",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 17960,
                                                        "src": "39796:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_address",
                                                            "typeString": "address"
                                                        }
                                                    }
                                                ],
                                                "expression": {
                                                    "argumentTypes": [
                                                        {
                                                            "typeIdentifier": "t_stringliteral_ed8f28f6f4b5d54b1d37f705e543f556805f28b9d1bb3aef0ef7e57ef4992d15",
                                                            "typeString": "literal_string \"log(string,address,address,address)\""
                                                        },
                                                        {
                                                            "typeIdentifier": "t_string_memory_ptr",
                                                            "typeString": "string memory"
                                                        },
                                                        {
                                                            "typeIdentifier": "t_address",
                                                            "typeString": "address"
                                                        },
                                                        {
                                                            "typeIdentifier": "t_address",
                                                            "typeString": "address"
                                                        },
                                                        {
                                                            "typeIdentifier": "t_address",
                                                            "typeString": "address"
                                                        }
                                                    ],
                                                    "expression": {
                                                        "id": 17964,
                                                        "name": "abi",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 4294967295,
                                                        "src": "39721:3:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_magic_abi",
                                                            "typeString": "abi"
                                                        }
                                                    },
                                                    "id": 17965,
                                                    "isConstant": false,
                                                    "isLValue": false,
                                                    "isPure": true,
                                                    "lValueRequested": false,
                                                    "memberName": "encodeWithSignature",
                                                    "nodeType": "MemberAccess",
                                                    "src": "39721:23:62",
                                                    "typeDescriptions": {
                                                        "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$",
                                                        "typeString": "function (string memory) pure returns (bytes memory)"
                                                    }
                                                },
                                                "id": 17971,
                                                "isConstant": false,
                                                "isLValue": false,
                                                "isPure": false,
                                                "kind": "functionCall",
                                                "lValueRequested": false,
                                                "names": [],
                                                "nodeType": "FunctionCall",
                                                "src": "39721:78:62",
                                                "tryCall": false,
                                                "typeDescriptions": {
                                                    "typeIdentifier": "t_bytes_memory_ptr",
                                                    "typeString": "bytes memory"
                                                }
                                            }
                                        ],
                                        "expression": {
                                            "argumentTypes": [
                                                {
                                                    "typeIdentifier": "t_bytes_memory_ptr",
                                                    "typeString": "bytes memory"
                                                }
                                            ],
                                            "id": 17963,
                                            "name": "_sendLogPayload",
                                            "nodeType": "Identifier",
                                            "overloadedDeclarations": [],
                                            "referencedDeclaration": 12880,
                                            "src": "39705:15:62",
                                            "typeDescriptions": {
                                                "typeIdentifier": "t_function_internal_view$_t_bytes_memory_ptr_$returns$__$",
                                                "typeString": "function (bytes memory) view"
                                            }
                                        },
                                        "id": 17972,
                                        "isConstant": false,
                                        "isLValue": false,
                                        "isPure": false,
                                        "kind": "functionCall",
                                        "lValueRequested": false,
                                        "names": [],
                                        "nodeType": "FunctionCall",
                                        "src": "39705:95:62",
                                        "tryCall": false,
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_tuple$__$",
                                            "typeString": "tuple()"
                                        }
                                    },
                                    "id": 17973,
                                    "nodeType": "ExpressionStatement",
                                    "src": "39705:95:62"
                                }
                            ]
                        },
                        "id": 17975,
                        "implemented": true,
                        "kind": "function",
                        "modifiers": [],
                        "name": "log",
                        "nameLocation": "39629:3:62",
                        "nodeType": "FunctionDefinition",
                        "parameters": {
                            "id": 17961,
                            "nodeType": "ParameterList",
                            "parameters": [
                                {
                                    "constant": false,
                                    "id": 17954,
                                    "mutability": "mutable",
                                    "name": "p0",
                                    "nameLocation": "39647:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 17975,
                                    "src": "39633:16:62",
                                    "stateVariable": false,
                                    "storageLocation": "memory",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_string_memory_ptr",
                                        "typeString": "string"
                                    },
                                    "typeName": {
                                        "id": 17953,
                                        "name": "string",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "39633:6:62",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_string_storage_ptr",
                                            "typeString": "string"
                                        }
                                    },
                                    "visibility": "internal"
                                },
                                {
                                    "constant": false,
                                    "id": 17956,
                                    "mutability": "mutable",
                                    "name": "p1",
                                    "nameLocation": "39659:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 17975,
                                    "src": "39651:10:62",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_address",
                                        "typeString": "address"
                                    },
                                    "typeName": {
                                        "id": 17955,
                                        "name": "address",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "39651:7:62",
                                        "stateMutability": "nonpayable",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_address",
                                            "typeString": "address"
                                        }
                                    },
                                    "visibility": "internal"
                                },
                                {
                                    "constant": false,
                                    "id": 17958,
                                    "mutability": "mutable",
                                    "name": "p2",
                                    "nameLocation": "39671:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 17975,
                                    "src": "39663:10:62",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_address",
                                        "typeString": "address"
                                    },
                                    "typeName": {
                                        "id": 17957,
                                        "name": "address",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "39663:7:62",
                                        "stateMutability": "nonpayable",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_address",
                                            "typeString": "address"
                                        }
                                    },
                                    "visibility": "internal"
                                },
                                {
                                    "constant": false,
                                    "id": 17960,
                                    "mutability": "mutable",
                                    "name": "p3",
                                    "nameLocation": "39683:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 17975,
                                    "src": "39675:10:62",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_address",
                                        "typeString": "address"
                                    },
                                    "typeName": {
                                        "id": 17959,
                                        "name": "address",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "39675:7:62",
                                        "stateMutability": "nonpayable",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_address",
                                            "typeString": "address"
                                        }
                                    },
                                    "visibility": "internal"
                                }
                            ],
                            "src": "39632:54:62"
                        },
                        "returnParameters": {
                            "id": 17962,
                            "nodeType": "ParameterList",
                            "parameters": [],
                            "src": "39701:0:62"
                        },
                        "scope": 20920,
                        "src": "39620:184:62",
                        "stateMutability": "view",
                        "virtual": false,
                        "visibility": "internal"
                    },
                    {
                        "body": {
                            "id": 17997,
                            "nodeType": "Block",
                            "src": "39870:92:62",
                            "statements": [
                                {
                                    "expression": {
                                        "arguments": [
                                            {
                                                "arguments": [
                                                    {
                                                        "hexValue": "6c6f6728626f6f6c2c75696e742c75696e742c75696e7429",
                                                        "id": 17989,
                                                        "isConstant": false,
                                                        "isLValue": false,
                                                        "isPure": true,
                                                        "kind": "string",
                                                        "lValueRequested": false,
                                                        "nodeType": "Literal",
                                                        "src": "39914:26:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_stringliteral_32dfa524f720faf836764864b46011dc5eb74e494d57e12b294a68048585d558",
                                                            "typeString": "literal_string \"log(bool,uint,uint,uint)\""
                                                        },
                                                        "value": "log(bool,uint,uint,uint)"
                                                    },
                                                    {
                                                        "id": 17990,
                                                        "name": "p0",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 17977,
                                                        "src": "39942:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_bool",
                                                            "typeString": "bool"
                                                        }
                                                    },
                                                    {
                                                        "id": 17991,
                                                        "name": "p1",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 17979,
                                                        "src": "39946:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_uint256",
                                                            "typeString": "uint256"
                                                        }
                                                    },
                                                    {
                                                        "id": 17992,
                                                        "name": "p2",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 17981,
                                                        "src": "39950:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_uint256",
                                                            "typeString": "uint256"
                                                        }
                                                    },
                                                    {
                                                        "id": 17993,
                                                        "name": "p3",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 17983,
                                                        "src": "39954:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_uint256",
                                                            "typeString": "uint256"
                                                        }
                                                    }
                                                ],
                                                "expression": {
                                                    "argumentTypes": [
                                                        {
                                                            "typeIdentifier": "t_stringliteral_32dfa524f720faf836764864b46011dc5eb74e494d57e12b294a68048585d558",
                                                            "typeString": "literal_string \"log(bool,uint,uint,uint)\""
                                                        },
                                                        {
                                                            "typeIdentifier": "t_bool",
                                                            "typeString": "bool"
                                                        },
                                                        {
                                                            "typeIdentifier": "t_uint256",
                                                            "typeString": "uint256"
                                                        },
                                                        {
                                                            "typeIdentifier": "t_uint256",
                                                            "typeString": "uint256"
                                                        },
                                                        {
                                                            "typeIdentifier": "t_uint256",
                                                            "typeString": "uint256"
                                                        }
                                                    ],
                                                    "expression": {
                                                        "id": 17987,
                                                        "name": "abi",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 4294967295,
                                                        "src": "39890:3:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_magic_abi",
                                                            "typeString": "abi"
                                                        }
                                                    },
                                                    "id": 17988,
                                                    "isConstant": false,
                                                    "isLValue": false,
                                                    "isPure": true,
                                                    "lValueRequested": false,
                                                    "memberName": "encodeWithSignature",
                                                    "nodeType": "MemberAccess",
                                                    "src": "39890:23:62",
                                                    "typeDescriptions": {
                                                        "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$",
                                                        "typeString": "function (string memory) pure returns (bytes memory)"
                                                    }
                                                },
                                                "id": 17994,
                                                "isConstant": false,
                                                "isLValue": false,
                                                "isPure": false,
                                                "kind": "functionCall",
                                                "lValueRequested": false,
                                                "names": [],
                                                "nodeType": "FunctionCall",
                                                "src": "39890:67:62",
                                                "tryCall": false,
                                                "typeDescriptions": {
                                                    "typeIdentifier": "t_bytes_memory_ptr",
                                                    "typeString": "bytes memory"
                                                }
                                            }
                                        ],
                                        "expression": {
                                            "argumentTypes": [
                                                {
                                                    "typeIdentifier": "t_bytes_memory_ptr",
                                                    "typeString": "bytes memory"
                                                }
                                            ],
                                            "id": 17986,
                                            "name": "_sendLogPayload",
                                            "nodeType": "Identifier",
                                            "overloadedDeclarations": [],
                                            "referencedDeclaration": 12880,
                                            "src": "39874:15:62",
                                            "typeDescriptions": {
                                                "typeIdentifier": "t_function_internal_view$_t_bytes_memory_ptr_$returns$__$",
                                                "typeString": "function (bytes memory) view"
                                            }
                                        },
                                        "id": 17995,
                                        "isConstant": false,
                                        "isLValue": false,
                                        "isPure": false,
                                        "kind": "functionCall",
                                        "lValueRequested": false,
                                        "names": [],
                                        "nodeType": "FunctionCall",
                                        "src": "39874:84:62",
                                        "tryCall": false,
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_tuple$__$",
                                            "typeString": "tuple()"
                                        }
                                    },
                                    "id": 17996,
                                    "nodeType": "ExpressionStatement",
                                    "src": "39874:84:62"
                                }
                            ]
                        },
                        "id": 17998,
                        "implemented": true,
                        "kind": "function",
                        "modifiers": [],
                        "name": "log",
                        "nameLocation": "39816:3:62",
                        "nodeType": "FunctionDefinition",
                        "parameters": {
                            "id": 17984,
                            "nodeType": "ParameterList",
                            "parameters": [
                                {
                                    "constant": false,
                                    "id": 17977,
                                    "mutability": "mutable",
                                    "name": "p0",
                                    "nameLocation": "39825:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 17998,
                                    "src": "39820:7:62",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_bool",
                                        "typeString": "bool"
                                    },
                                    "typeName": {
                                        "id": 17976,
                                        "name": "bool",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "39820:4:62",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_bool",
                                            "typeString": "bool"
                                        }
                                    },
                                    "visibility": "internal"
                                },
                                {
                                    "constant": false,
                                    "id": 17979,
                                    "mutability": "mutable",
                                    "name": "p1",
                                    "nameLocation": "39834:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 17998,
                                    "src": "39829:7:62",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_uint256",
                                        "typeString": "uint256"
                                    },
                                    "typeName": {
                                        "id": 17978,
                                        "name": "uint",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "39829:4:62",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_uint256",
                                            "typeString": "uint256"
                                        }
                                    },
                                    "visibility": "internal"
                                },
                                {
                                    "constant": false,
                                    "id": 17981,
                                    "mutability": "mutable",
                                    "name": "p2",
                                    "nameLocation": "39843:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 17998,
                                    "src": "39838:7:62",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_uint256",
                                        "typeString": "uint256"
                                    },
                                    "typeName": {
                                        "id": 17980,
                                        "name": "uint",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "39838:4:62",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_uint256",
                                            "typeString": "uint256"
                                        }
                                    },
                                    "visibility": "internal"
                                },
                                {
                                    "constant": false,
                                    "id": 17983,
                                    "mutability": "mutable",
                                    "name": "p3",
                                    "nameLocation": "39852:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 17998,
                                    "src": "39847:7:62",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_uint256",
                                        "typeString": "uint256"
                                    },
                                    "typeName": {
                                        "id": 17982,
                                        "name": "uint",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "39847:4:62",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_uint256",
                                            "typeString": "uint256"
                                        }
                                    },
                                    "visibility": "internal"
                                }
                            ],
                            "src": "39819:36:62"
                        },
                        "returnParameters": {
                            "id": 17985,
                            "nodeType": "ParameterList",
                            "parameters": [],
                            "src": "39870:0:62"
                        },
                        "scope": 20920,
                        "src": "39807:155:62",
                        "stateMutability": "view",
                        "virtual": false,
                        "visibility": "internal"
                    },
                    {
                        "body": {
                            "id": 18020,
                            "nodeType": "Block",
                            "src": "40037:94:62",
                            "statements": [
                                {
                                    "expression": {
                                        "arguments": [
                                            {
                                                "arguments": [
                                                    {
                                                        "hexValue": "6c6f6728626f6f6c2c75696e742c75696e742c737472696e6729",
                                                        "id": 18012,
                                                        "isConstant": false,
                                                        "isLValue": false,
                                                        "isPure": true,
                                                        "kind": "string",
                                                        "lValueRequested": false,
                                                        "nodeType": "Literal",
                                                        "src": "40081:28:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_stringliteral_da0666c89b01999f5c8980ce90fe9d0a367a350fd8d2ec7d1f94587b6281ebd3",
                                                            "typeString": "literal_string \"log(bool,uint,uint,string)\""
                                                        },
                                                        "value": "log(bool,uint,uint,string)"
                                                    },
                                                    {
                                                        "id": 18013,
                                                        "name": "p0",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 18000,
                                                        "src": "40111:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_bool",
                                                            "typeString": "bool"
                                                        }
                                                    },
                                                    {
                                                        "id": 18014,
                                                        "name": "p1",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 18002,
                                                        "src": "40115:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_uint256",
                                                            "typeString": "uint256"
                                                        }
                                                    },
                                                    {
                                                        "id": 18015,
                                                        "name": "p2",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 18004,
                                                        "src": "40119:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_uint256",
                                                            "typeString": "uint256"
                                                        }
                                                    },
                                                    {
                                                        "id": 18016,
                                                        "name": "p3",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 18006,
                                                        "src": "40123:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_string_memory_ptr",
                                                            "typeString": "string memory"
                                                        }
                                                    }
                                                ],
                                                "expression": {
                                                    "argumentTypes": [
                                                        {
                                                            "typeIdentifier": "t_stringliteral_da0666c89b01999f5c8980ce90fe9d0a367a350fd8d2ec7d1f94587b6281ebd3",
                                                            "typeString": "literal_string \"log(bool,uint,uint,string)\""
                                                        },
                                                        {
                                                            "typeIdentifier": "t_bool",
                                                            "typeString": "bool"
                                                        },
                                                        {
                                                            "typeIdentifier": "t_uint256",
                                                            "typeString": "uint256"
                                                        },
                                                        {
                                                            "typeIdentifier": "t_uint256",
                                                            "typeString": "uint256"
                                                        },
                                                        {
                                                            "typeIdentifier": "t_string_memory_ptr",
                                                            "typeString": "string memory"
                                                        }
                                                    ],
                                                    "expression": {
                                                        "id": 18010,
                                                        "name": "abi",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 4294967295,
                                                        "src": "40057:3:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_magic_abi",
                                                            "typeString": "abi"
                                                        }
                                                    },
                                                    "id": 18011,
                                                    "isConstant": false,
                                                    "isLValue": false,
                                                    "isPure": true,
                                                    "lValueRequested": false,
                                                    "memberName": "encodeWithSignature",
                                                    "nodeType": "MemberAccess",
                                                    "src": "40057:23:62",
                                                    "typeDescriptions": {
                                                        "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$",
                                                        "typeString": "function (string memory) pure returns (bytes memory)"
                                                    }
                                                },
                                                "id": 18017,
                                                "isConstant": false,
                                                "isLValue": false,
                                                "isPure": false,
                                                "kind": "functionCall",
                                                "lValueRequested": false,
                                                "names": [],
                                                "nodeType": "FunctionCall",
                                                "src": "40057:69:62",
                                                "tryCall": false,
                                                "typeDescriptions": {
                                                    "typeIdentifier": "t_bytes_memory_ptr",
                                                    "typeString": "bytes memory"
                                                }
                                            }
                                        ],
                                        "expression": {
                                            "argumentTypes": [
                                                {
                                                    "typeIdentifier": "t_bytes_memory_ptr",
                                                    "typeString": "bytes memory"
                                                }
                                            ],
                                            "id": 18009,
                                            "name": "_sendLogPayload",
                                            "nodeType": "Identifier",
                                            "overloadedDeclarations": [],
                                            "referencedDeclaration": 12880,
                                            "src": "40041:15:62",
                                            "typeDescriptions": {
                                                "typeIdentifier": "t_function_internal_view$_t_bytes_memory_ptr_$returns$__$",
                                                "typeString": "function (bytes memory) view"
                                            }
                                        },
                                        "id": 18018,
                                        "isConstant": false,
                                        "isLValue": false,
                                        "isPure": false,
                                        "kind": "functionCall",
                                        "lValueRequested": false,
                                        "names": [],
                                        "nodeType": "FunctionCall",
                                        "src": "40041:86:62",
                                        "tryCall": false,
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_tuple$__$",
                                            "typeString": "tuple()"
                                        }
                                    },
                                    "id": 18019,
                                    "nodeType": "ExpressionStatement",
                                    "src": "40041:86:62"
                                }
                            ]
                        },
                        "id": 18021,
                        "implemented": true,
                        "kind": "function",
                        "modifiers": [],
                        "name": "log",
                        "nameLocation": "39974:3:62",
                        "nodeType": "FunctionDefinition",
                        "parameters": {
                            "id": 18007,
                            "nodeType": "ParameterList",
                            "parameters": [
                                {
                                    "constant": false,
                                    "id": 18000,
                                    "mutability": "mutable",
                                    "name": "p0",
                                    "nameLocation": "39983:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 18021,
                                    "src": "39978:7:62",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_bool",
                                        "typeString": "bool"
                                    },
                                    "typeName": {
                                        "id": 17999,
                                        "name": "bool",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "39978:4:62",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_bool",
                                            "typeString": "bool"
                                        }
                                    },
                                    "visibility": "internal"
                                },
                                {
                                    "constant": false,
                                    "id": 18002,
                                    "mutability": "mutable",
                                    "name": "p1",
                                    "nameLocation": "39992:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 18021,
                                    "src": "39987:7:62",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_uint256",
                                        "typeString": "uint256"
                                    },
                                    "typeName": {
                                        "id": 18001,
                                        "name": "uint",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "39987:4:62",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_uint256",
                                            "typeString": "uint256"
                                        }
                                    },
                                    "visibility": "internal"
                                },
                                {
                                    "constant": false,
                                    "id": 18004,
                                    "mutability": "mutable",
                                    "name": "p2",
                                    "nameLocation": "40001:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 18021,
                                    "src": "39996:7:62",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_uint256",
                                        "typeString": "uint256"
                                    },
                                    "typeName": {
                                        "id": 18003,
                                        "name": "uint",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "39996:4:62",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_uint256",
                                            "typeString": "uint256"
                                        }
                                    },
                                    "visibility": "internal"
                                },
                                {
                                    "constant": false,
                                    "id": 18006,
                                    "mutability": "mutable",
                                    "name": "p3",
                                    "nameLocation": "40019:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 18021,
                                    "src": "40005:16:62",
                                    "stateVariable": false,
                                    "storageLocation": "memory",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_string_memory_ptr",
                                        "typeString": "string"
                                    },
                                    "typeName": {
                                        "id": 18005,
                                        "name": "string",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "40005:6:62",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_string_storage_ptr",
                                            "typeString": "string"
                                        }
                                    },
                                    "visibility": "internal"
                                }
                            ],
                            "src": "39977:45:62"
                        },
                        "returnParameters": {
                            "id": 18008,
                            "nodeType": "ParameterList",
                            "parameters": [],
                            "src": "40037:0:62"
                        },
                        "scope": 20920,
                        "src": "39965:166:62",
                        "stateMutability": "view",
                        "virtual": false,
                        "visibility": "internal"
                    },
                    {
                        "body": {
                            "id": 18043,
                            "nodeType": "Block",
                            "src": "40197:92:62",
                            "statements": [
                                {
                                    "expression": {
                                        "arguments": [
                                            {
                                                "arguments": [
                                                    {
                                                        "hexValue": "6c6f6728626f6f6c2c75696e742c75696e742c626f6f6c29",
                                                        "id": 18035,
                                                        "isConstant": false,
                                                        "isLValue": false,
                                                        "isPure": true,
                                                        "kind": "string",
                                                        "lValueRequested": false,
                                                        "nodeType": "Literal",
                                                        "src": "40241:26:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_stringliteral_a41d81dec511172fa866e067fea22fe074eb6260a116ec078e2e0e79a7fd8ef2",
                                                            "typeString": "literal_string \"log(bool,uint,uint,bool)\""
                                                        },
                                                        "value": "log(bool,uint,uint,bool)"
                                                    },
                                                    {
                                                        "id": 18036,
                                                        "name": "p0",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 18023,
                                                        "src": "40269:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_bool",
                                                            "typeString": "bool"
                                                        }
                                                    },
                                                    {
                                                        "id": 18037,
                                                        "name": "p1",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 18025,
                                                        "src": "40273:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_uint256",
                                                            "typeString": "uint256"
                                                        }
                                                    },
                                                    {
                                                        "id": 18038,
                                                        "name": "p2",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 18027,
                                                        "src": "40277:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_uint256",
                                                            "typeString": "uint256"
                                                        }
                                                    },
                                                    {
                                                        "id": 18039,
                                                        "name": "p3",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 18029,
                                                        "src": "40281:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_bool",
                                                            "typeString": "bool"
                                                        }
                                                    }
                                                ],
                                                "expression": {
                                                    "argumentTypes": [
                                                        {
                                                            "typeIdentifier": "t_stringliteral_a41d81dec511172fa866e067fea22fe074eb6260a116ec078e2e0e79a7fd8ef2",
                                                            "typeString": "literal_string \"log(bool,uint,uint,bool)\""
                                                        },
                                                        {
                                                            "typeIdentifier": "t_bool",
                                                            "typeString": "bool"
                                                        },
                                                        {
                                                            "typeIdentifier": "t_uint256",
                                                            "typeString": "uint256"
                                                        },
                                                        {
                                                            "typeIdentifier": "t_uint256",
                                                            "typeString": "uint256"
                                                        },
                                                        {
                                                            "typeIdentifier": "t_bool",
                                                            "typeString": "bool"
                                                        }
                                                    ],
                                                    "expression": {
                                                        "id": 18033,
                                                        "name": "abi",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 4294967295,
                                                        "src": "40217:3:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_magic_abi",
                                                            "typeString": "abi"
                                                        }
                                                    },
                                                    "id": 18034,
                                                    "isConstant": false,
                                                    "isLValue": false,
                                                    "isPure": true,
                                                    "lValueRequested": false,
                                                    "memberName": "encodeWithSignature",
                                                    "nodeType": "MemberAccess",
                                                    "src": "40217:23:62",
                                                    "typeDescriptions": {
                                                        "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$",
                                                        "typeString": "function (string memory) pure returns (bytes memory)"
                                                    }
                                                },
                                                "id": 18040,
                                                "isConstant": false,
                                                "isLValue": false,
                                                "isPure": false,
                                                "kind": "functionCall",
                                                "lValueRequested": false,
                                                "names": [],
                                                "nodeType": "FunctionCall",
                                                "src": "40217:67:62",
                                                "tryCall": false,
                                                "typeDescriptions": {
                                                    "typeIdentifier": "t_bytes_memory_ptr",
                                                    "typeString": "bytes memory"
                                                }
                                            }
                                        ],
                                        "expression": {
                                            "argumentTypes": [
                                                {
                                                    "typeIdentifier": "t_bytes_memory_ptr",
                                                    "typeString": "bytes memory"
                                                }
                                            ],
                                            "id": 18032,
                                            "name": "_sendLogPayload",
                                            "nodeType": "Identifier",
                                            "overloadedDeclarations": [],
                                            "referencedDeclaration": 12880,
                                            "src": "40201:15:62",
                                            "typeDescriptions": {
                                                "typeIdentifier": "t_function_internal_view$_t_bytes_memory_ptr_$returns$__$",
                                                "typeString": "function (bytes memory) view"
                                            }
                                        },
                                        "id": 18041,
                                        "isConstant": false,
                                        "isLValue": false,
                                        "isPure": false,
                                        "kind": "functionCall",
                                        "lValueRequested": false,
                                        "names": [],
                                        "nodeType": "FunctionCall",
                                        "src": "40201:84:62",
                                        "tryCall": false,
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_tuple$__$",
                                            "typeString": "tuple()"
                                        }
                                    },
                                    "id": 18042,
                                    "nodeType": "ExpressionStatement",
                                    "src": "40201:84:62"
                                }
                            ]
                        },
                        "id": 18044,
                        "implemented": true,
                        "kind": "function",
                        "modifiers": [],
                        "name": "log",
                        "nameLocation": "40143:3:62",
                        "nodeType": "FunctionDefinition",
                        "parameters": {
                            "id": 18030,
                            "nodeType": "ParameterList",
                            "parameters": [
                                {
                                    "constant": false,
                                    "id": 18023,
                                    "mutability": "mutable",
                                    "name": "p0",
                                    "nameLocation": "40152:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 18044,
                                    "src": "40147:7:62",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_bool",
                                        "typeString": "bool"
                                    },
                                    "typeName": {
                                        "id": 18022,
                                        "name": "bool",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "40147:4:62",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_bool",
                                            "typeString": "bool"
                                        }
                                    },
                                    "visibility": "internal"
                                },
                                {
                                    "constant": false,
                                    "id": 18025,
                                    "mutability": "mutable",
                                    "name": "p1",
                                    "nameLocation": "40161:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 18044,
                                    "src": "40156:7:62",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_uint256",
                                        "typeString": "uint256"
                                    },
                                    "typeName": {
                                        "id": 18024,
                                        "name": "uint",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "40156:4:62",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_uint256",
                                            "typeString": "uint256"
                                        }
                                    },
                                    "visibility": "internal"
                                },
                                {
                                    "constant": false,
                                    "id": 18027,
                                    "mutability": "mutable",
                                    "name": "p2",
                                    "nameLocation": "40170:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 18044,
                                    "src": "40165:7:62",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_uint256",
                                        "typeString": "uint256"
                                    },
                                    "typeName": {
                                        "id": 18026,
                                        "name": "uint",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "40165:4:62",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_uint256",
                                            "typeString": "uint256"
                                        }
                                    },
                                    "visibility": "internal"
                                },
                                {
                                    "constant": false,
                                    "id": 18029,
                                    "mutability": "mutable",
                                    "name": "p3",
                                    "nameLocation": "40179:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 18044,
                                    "src": "40174:7:62",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_bool",
                                        "typeString": "bool"
                                    },
                                    "typeName": {
                                        "id": 18028,
                                        "name": "bool",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "40174:4:62",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_bool",
                                            "typeString": "bool"
                                        }
                                    },
                                    "visibility": "internal"
                                }
                            ],
                            "src": "40146:36:62"
                        },
                        "returnParameters": {
                            "id": 18031,
                            "nodeType": "ParameterList",
                            "parameters": [],
                            "src": "40197:0:62"
                        },
                        "scope": 20920,
                        "src": "40134:155:62",
                        "stateMutability": "view",
                        "virtual": false,
                        "visibility": "internal"
                    },
                    {
                        "body": {
                            "id": 18066,
                            "nodeType": "Block",
                            "src": "40358:95:62",
                            "statements": [
                                {
                                    "expression": {
                                        "arguments": [
                                            {
                                                "arguments": [
                                                    {
                                                        "hexValue": "6c6f6728626f6f6c2c75696e742c75696e742c6164647265737329",
                                                        "id": 18058,
                                                        "isConstant": false,
                                                        "isLValue": false,
                                                        "isPure": true,
                                                        "kind": "string",
                                                        "lValueRequested": false,
                                                        "nodeType": "Literal",
                                                        "src": "40402:29:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_stringliteral_f161b2216765f7746c6d62a843721a4e56fa83880464de0ff958770fd9704e33",
                                                            "typeString": "literal_string \"log(bool,uint,uint,address)\""
                                                        },
                                                        "value": "log(bool,uint,uint,address)"
                                                    },
                                                    {
                                                        "id": 18059,
                                                        "name": "p0",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 18046,
                                                        "src": "40433:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_bool",
                                                            "typeString": "bool"
                                                        }
                                                    },
                                                    {
                                                        "id": 18060,
                                                        "name": "p1",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 18048,
                                                        "src": "40437:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_uint256",
                                                            "typeString": "uint256"
                                                        }
                                                    },
                                                    {
                                                        "id": 18061,
                                                        "name": "p2",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 18050,
                                                        "src": "40441:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_uint256",
                                                            "typeString": "uint256"
                                                        }
                                                    },
                                                    {
                                                        "id": 18062,
                                                        "name": "p3",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 18052,
                                                        "src": "40445:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_address",
                                                            "typeString": "address"
                                                        }
                                                    }
                                                ],
                                                "expression": {
                                                    "argumentTypes": [
                                                        {
                                                            "typeIdentifier": "t_stringliteral_f161b2216765f7746c6d62a843721a4e56fa83880464de0ff958770fd9704e33",
                                                            "typeString": "literal_string \"log(bool,uint,uint,address)\""
                                                        },
                                                        {
                                                            "typeIdentifier": "t_bool",
                                                            "typeString": "bool"
                                                        },
                                                        {
                                                            "typeIdentifier": "t_uint256",
                                                            "typeString": "uint256"
                                                        },
                                                        {
                                                            "typeIdentifier": "t_uint256",
                                                            "typeString": "uint256"
                                                        },
                                                        {
                                                            "typeIdentifier": "t_address",
                                                            "typeString": "address"
                                                        }
                                                    ],
                                                    "expression": {
                                                        "id": 18056,
                                                        "name": "abi",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 4294967295,
                                                        "src": "40378:3:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_magic_abi",
                                                            "typeString": "abi"
                                                        }
                                                    },
                                                    "id": 18057,
                                                    "isConstant": false,
                                                    "isLValue": false,
                                                    "isPure": true,
                                                    "lValueRequested": false,
                                                    "memberName": "encodeWithSignature",
                                                    "nodeType": "MemberAccess",
                                                    "src": "40378:23:62",
                                                    "typeDescriptions": {
                                                        "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$",
                                                        "typeString": "function (string memory) pure returns (bytes memory)"
                                                    }
                                                },
                                                "id": 18063,
                                                "isConstant": false,
                                                "isLValue": false,
                                                "isPure": false,
                                                "kind": "functionCall",
                                                "lValueRequested": false,
                                                "names": [],
                                                "nodeType": "FunctionCall",
                                                "src": "40378:70:62",
                                                "tryCall": false,
                                                "typeDescriptions": {
                                                    "typeIdentifier": "t_bytes_memory_ptr",
                                                    "typeString": "bytes memory"
                                                }
                                            }
                                        ],
                                        "expression": {
                                            "argumentTypes": [
                                                {
                                                    "typeIdentifier": "t_bytes_memory_ptr",
                                                    "typeString": "bytes memory"
                                                }
                                            ],
                                            "id": 18055,
                                            "name": "_sendLogPayload",
                                            "nodeType": "Identifier",
                                            "overloadedDeclarations": [],
                                            "referencedDeclaration": 12880,
                                            "src": "40362:15:62",
                                            "typeDescriptions": {
                                                "typeIdentifier": "t_function_internal_view$_t_bytes_memory_ptr_$returns$__$",
                                                "typeString": "function (bytes memory) view"
                                            }
                                        },
                                        "id": 18064,
                                        "isConstant": false,
                                        "isLValue": false,
                                        "isPure": false,
                                        "kind": "functionCall",
                                        "lValueRequested": false,
                                        "names": [],
                                        "nodeType": "FunctionCall",
                                        "src": "40362:87:62",
                                        "tryCall": false,
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_tuple$__$",
                                            "typeString": "tuple()"
                                        }
                                    },
                                    "id": 18065,
                                    "nodeType": "ExpressionStatement",
                                    "src": "40362:87:62"
                                }
                            ]
                        },
                        "id": 18067,
                        "implemented": true,
                        "kind": "function",
                        "modifiers": [],
                        "name": "log",
                        "nameLocation": "40301:3:62",
                        "nodeType": "FunctionDefinition",
                        "parameters": {
                            "id": 18053,
                            "nodeType": "ParameterList",
                            "parameters": [
                                {
                                    "constant": false,
                                    "id": 18046,
                                    "mutability": "mutable",
                                    "name": "p0",
                                    "nameLocation": "40310:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 18067,
                                    "src": "40305:7:62",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_bool",
                                        "typeString": "bool"
                                    },
                                    "typeName": {
                                        "id": 18045,
                                        "name": "bool",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "40305:4:62",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_bool",
                                            "typeString": "bool"
                                        }
                                    },
                                    "visibility": "internal"
                                },
                                {
                                    "constant": false,
                                    "id": 18048,
                                    "mutability": "mutable",
                                    "name": "p1",
                                    "nameLocation": "40319:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 18067,
                                    "src": "40314:7:62",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_uint256",
                                        "typeString": "uint256"
                                    },
                                    "typeName": {
                                        "id": 18047,
                                        "name": "uint",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "40314:4:62",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_uint256",
                                            "typeString": "uint256"
                                        }
                                    },
                                    "visibility": "internal"
                                },
                                {
                                    "constant": false,
                                    "id": 18050,
                                    "mutability": "mutable",
                                    "name": "p2",
                                    "nameLocation": "40328:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 18067,
                                    "src": "40323:7:62",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_uint256",
                                        "typeString": "uint256"
                                    },
                                    "typeName": {
                                        "id": 18049,
                                        "name": "uint",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "40323:4:62",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_uint256",
                                            "typeString": "uint256"
                                        }
                                    },
                                    "visibility": "internal"
                                },
                                {
                                    "constant": false,
                                    "id": 18052,
                                    "mutability": "mutable",
                                    "name": "p3",
                                    "nameLocation": "40340:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 18067,
                                    "src": "40332:10:62",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_address",
                                        "typeString": "address"
                                    },
                                    "typeName": {
                                        "id": 18051,
                                        "name": "address",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "40332:7:62",
                                        "stateMutability": "nonpayable",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_address",
                                            "typeString": "address"
                                        }
                                    },
                                    "visibility": "internal"
                                }
                            ],
                            "src": "40304:39:62"
                        },
                        "returnParameters": {
                            "id": 18054,
                            "nodeType": "ParameterList",
                            "parameters": [],
                            "src": "40358:0:62"
                        },
                        "scope": 20920,
                        "src": "40292:161:62",
                        "stateMutability": "view",
                        "virtual": false,
                        "visibility": "internal"
                    },
                    {
                        "body": {
                            "id": 18089,
                            "nodeType": "Block",
                            "src": "40528:94:62",
                            "statements": [
                                {
                                    "expression": {
                                        "arguments": [
                                            {
                                                "arguments": [
                                                    {
                                                        "hexValue": "6c6f6728626f6f6c2c75696e742c737472696e672c75696e7429",
                                                        "id": 18081,
                                                        "isConstant": false,
                                                        "isLValue": false,
                                                        "isPure": true,
                                                        "kind": "string",
                                                        "lValueRequested": false,
                                                        "nodeType": "Literal",
                                                        "src": "40572:28:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_stringliteral_4180011b79de474cdb825b6c4cfbc6d05927b06d92ab7c90ba7ff48d251e1813",
                                                            "typeString": "literal_string \"log(bool,uint,string,uint)\""
                                                        },
                                                        "value": "log(bool,uint,string,uint)"
                                                    },
                                                    {
                                                        "id": 18082,
                                                        "name": "p0",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 18069,
                                                        "src": "40602:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_bool",
                                                            "typeString": "bool"
                                                        }
                                                    },
                                                    {
                                                        "id": 18083,
                                                        "name": "p1",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 18071,
                                                        "src": "40606:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_uint256",
                                                            "typeString": "uint256"
                                                        }
                                                    },
                                                    {
                                                        "id": 18084,
                                                        "name": "p2",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 18073,
                                                        "src": "40610:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_string_memory_ptr",
                                                            "typeString": "string memory"
                                                        }
                                                    },
                                                    {
                                                        "id": 18085,
                                                        "name": "p3",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 18075,
                                                        "src": "40614:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_uint256",
                                                            "typeString": "uint256"
                                                        }
                                                    }
                                                ],
                                                "expression": {
                                                    "argumentTypes": [
                                                        {
                                                            "typeIdentifier": "t_stringliteral_4180011b79de474cdb825b6c4cfbc6d05927b06d92ab7c90ba7ff48d251e1813",
                                                            "typeString": "literal_string \"log(bool,uint,string,uint)\""
                                                        },
                                                        {
                                                            "typeIdentifier": "t_bool",
                                                            "typeString": "bool"
                                                        },
                                                        {
                                                            "typeIdentifier": "t_uint256",
                                                            "typeString": "uint256"
                                                        },
                                                        {
                                                            "typeIdentifier": "t_string_memory_ptr",
                                                            "typeString": "string memory"
                                                        },
                                                        {
                                                            "typeIdentifier": "t_uint256",
                                                            "typeString": "uint256"
                                                        }
                                                    ],
                                                    "expression": {
                                                        "id": 18079,
                                                        "name": "abi",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 4294967295,
                                                        "src": "40548:3:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_magic_abi",
                                                            "typeString": "abi"
                                                        }
                                                    },
                                                    "id": 18080,
                                                    "isConstant": false,
                                                    "isLValue": false,
                                                    "isPure": true,
                                                    "lValueRequested": false,
                                                    "memberName": "encodeWithSignature",
                                                    "nodeType": "MemberAccess",
                                                    "src": "40548:23:62",
                                                    "typeDescriptions": {
                                                        "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$",
                                                        "typeString": "function (string memory) pure returns (bytes memory)"
                                                    }
                                                },
                                                "id": 18086,
                                                "isConstant": false,
                                                "isLValue": false,
                                                "isPure": false,
                                                "kind": "functionCall",
                                                "lValueRequested": false,
                                                "names": [],
                                                "nodeType": "FunctionCall",
                                                "src": "40548:69:62",
                                                "tryCall": false,
                                                "typeDescriptions": {
                                                    "typeIdentifier": "t_bytes_memory_ptr",
                                                    "typeString": "bytes memory"
                                                }
                                            }
                                        ],
                                        "expression": {
                                            "argumentTypes": [
                                                {
                                                    "typeIdentifier": "t_bytes_memory_ptr",
                                                    "typeString": "bytes memory"
                                                }
                                            ],
                                            "id": 18078,
                                            "name": "_sendLogPayload",
                                            "nodeType": "Identifier",
                                            "overloadedDeclarations": [],
                                            "referencedDeclaration": 12880,
                                            "src": "40532:15:62",
                                            "typeDescriptions": {
                                                "typeIdentifier": "t_function_internal_view$_t_bytes_memory_ptr_$returns$__$",
                                                "typeString": "function (bytes memory) view"
                                            }
                                        },
                                        "id": 18087,
                                        "isConstant": false,
                                        "isLValue": false,
                                        "isPure": false,
                                        "kind": "functionCall",
                                        "lValueRequested": false,
                                        "names": [],
                                        "nodeType": "FunctionCall",
                                        "src": "40532:86:62",
                                        "tryCall": false,
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_tuple$__$",
                                            "typeString": "tuple()"
                                        }
                                    },
                                    "id": 18088,
                                    "nodeType": "ExpressionStatement",
                                    "src": "40532:86:62"
                                }
                            ]
                        },
                        "id": 18090,
                        "implemented": true,
                        "kind": "function",
                        "modifiers": [],
                        "name": "log",
                        "nameLocation": "40465:3:62",
                        "nodeType": "FunctionDefinition",
                        "parameters": {
                            "id": 18076,
                            "nodeType": "ParameterList",
                            "parameters": [
                                {
                                    "constant": false,
                                    "id": 18069,
                                    "mutability": "mutable",
                                    "name": "p0",
                                    "nameLocation": "40474:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 18090,
                                    "src": "40469:7:62",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_bool",
                                        "typeString": "bool"
                                    },
                                    "typeName": {
                                        "id": 18068,
                                        "name": "bool",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "40469:4:62",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_bool",
                                            "typeString": "bool"
                                        }
                                    },
                                    "visibility": "internal"
                                },
                                {
                                    "constant": false,
                                    "id": 18071,
                                    "mutability": "mutable",
                                    "name": "p1",
                                    "nameLocation": "40483:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 18090,
                                    "src": "40478:7:62",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_uint256",
                                        "typeString": "uint256"
                                    },
                                    "typeName": {
                                        "id": 18070,
                                        "name": "uint",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "40478:4:62",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_uint256",
                                            "typeString": "uint256"
                                        }
                                    },
                                    "visibility": "internal"
                                },
                                {
                                    "constant": false,
                                    "id": 18073,
                                    "mutability": "mutable",
                                    "name": "p2",
                                    "nameLocation": "40501:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 18090,
                                    "src": "40487:16:62",
                                    "stateVariable": false,
                                    "storageLocation": "memory",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_string_memory_ptr",
                                        "typeString": "string"
                                    },
                                    "typeName": {
                                        "id": 18072,
                                        "name": "string",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "40487:6:62",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_string_storage_ptr",
                                            "typeString": "string"
                                        }
                                    },
                                    "visibility": "internal"
                                },
                                {
                                    "constant": false,
                                    "id": 18075,
                                    "mutability": "mutable",
                                    "name": "p3",
                                    "nameLocation": "40510:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 18090,
                                    "src": "40505:7:62",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_uint256",
                                        "typeString": "uint256"
                                    },
                                    "typeName": {
                                        "id": 18074,
                                        "name": "uint",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "40505:4:62",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_uint256",
                                            "typeString": "uint256"
                                        }
                                    },
                                    "visibility": "internal"
                                }
                            ],
                            "src": "40468:45:62"
                        },
                        "returnParameters": {
                            "id": 18077,
                            "nodeType": "ParameterList",
                            "parameters": [],
                            "src": "40528:0:62"
                        },
                        "scope": 20920,
                        "src": "40456:166:62",
                        "stateMutability": "view",
                        "virtual": false,
                        "visibility": "internal"
                    },
                    {
                        "body": {
                            "id": 18112,
                            "nodeType": "Block",
                            "src": "40706:96:62",
                            "statements": [
                                {
                                    "expression": {
                                        "arguments": [
                                            {
                                                "arguments": [
                                                    {
                                                        "hexValue": "6c6f6728626f6f6c2c75696e742c737472696e672c737472696e6729",
                                                        "id": 18104,
                                                        "isConstant": false,
                                                        "isLValue": false,
                                                        "isPure": true,
                                                        "kind": "string",
                                                        "lValueRequested": false,
                                                        "nodeType": "Literal",
                                                        "src": "40750:30:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_stringliteral_d32a654812cf9bc5514c83d6adb00987a26a725c531c254b4dfe4eef4cdfc8ee",
                                                            "typeString": "literal_string \"log(bool,uint,string,string)\""
                                                        },
                                                        "value": "log(bool,uint,string,string)"
                                                    },
                                                    {
                                                        "id": 18105,
                                                        "name": "p0",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 18092,
                                                        "src": "40782:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_bool",
                                                            "typeString": "bool"
                                                        }
                                                    },
                                                    {
                                                        "id": 18106,
                                                        "name": "p1",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 18094,
                                                        "src": "40786:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_uint256",
                                                            "typeString": "uint256"
                                                        }
                                                    },
                                                    {
                                                        "id": 18107,
                                                        "name": "p2",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 18096,
                                                        "src": "40790:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_string_memory_ptr",
                                                            "typeString": "string memory"
                                                        }
                                                    },
                                                    {
                                                        "id": 18108,
                                                        "name": "p3",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 18098,
                                                        "src": "40794:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_string_memory_ptr",
                                                            "typeString": "string memory"
                                                        }
                                                    }
                                                ],
                                                "expression": {
                                                    "argumentTypes": [
                                                        {
                                                            "typeIdentifier": "t_stringliteral_d32a654812cf9bc5514c83d6adb00987a26a725c531c254b4dfe4eef4cdfc8ee",
                                                            "typeString": "literal_string \"log(bool,uint,string,string)\""
                                                        },
                                                        {
                                                            "typeIdentifier": "t_bool",
                                                            "typeString": "bool"
                                                        },
                                                        {
                                                            "typeIdentifier": "t_uint256",
                                                            "typeString": "uint256"
                                                        },
                                                        {
                                                            "typeIdentifier": "t_string_memory_ptr",
                                                            "typeString": "string memory"
                                                        },
                                                        {
                                                            "typeIdentifier": "t_string_memory_ptr",
                                                            "typeString": "string memory"
                                                        }
                                                    ],
                                                    "expression": {
                                                        "id": 18102,
                                                        "name": "abi",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 4294967295,
                                                        "src": "40726:3:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_magic_abi",
                                                            "typeString": "abi"
                                                        }
                                                    },
                                                    "id": 18103,
                                                    "isConstant": false,
                                                    "isLValue": false,
                                                    "isPure": true,
                                                    "lValueRequested": false,
                                                    "memberName": "encodeWithSignature",
                                                    "nodeType": "MemberAccess",
                                                    "src": "40726:23:62",
                                                    "typeDescriptions": {
                                                        "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$",
                                                        "typeString": "function (string memory) pure returns (bytes memory)"
                                                    }
                                                },
                                                "id": 18109,
                                                "isConstant": false,
                                                "isLValue": false,
                                                "isPure": false,
                                                "kind": "functionCall",
                                                "lValueRequested": false,
                                                "names": [],
                                                "nodeType": "FunctionCall",
                                                "src": "40726:71:62",
                                                "tryCall": false,
                                                "typeDescriptions": {
                                                    "typeIdentifier": "t_bytes_memory_ptr",
                                                    "typeString": "bytes memory"
                                                }
                                            }
                                        ],
                                        "expression": {
                                            "argumentTypes": [
                                                {
                                                    "typeIdentifier": "t_bytes_memory_ptr",
                                                    "typeString": "bytes memory"
                                                }
                                            ],
                                            "id": 18101,
                                            "name": "_sendLogPayload",
                                            "nodeType": "Identifier",
                                            "overloadedDeclarations": [],
                                            "referencedDeclaration": 12880,
                                            "src": "40710:15:62",
                                            "typeDescriptions": {
                                                "typeIdentifier": "t_function_internal_view$_t_bytes_memory_ptr_$returns$__$",
                                                "typeString": "function (bytes memory) view"
                                            }
                                        },
                                        "id": 18110,
                                        "isConstant": false,
                                        "isLValue": false,
                                        "isPure": false,
                                        "kind": "functionCall",
                                        "lValueRequested": false,
                                        "names": [],
                                        "nodeType": "FunctionCall",
                                        "src": "40710:88:62",
                                        "tryCall": false,
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_tuple$__$",
                                            "typeString": "tuple()"
                                        }
                                    },
                                    "id": 18111,
                                    "nodeType": "ExpressionStatement",
                                    "src": "40710:88:62"
                                }
                            ]
                        },
                        "id": 18113,
                        "implemented": true,
                        "kind": "function",
                        "modifiers": [],
                        "name": "log",
                        "nameLocation": "40634:3:62",
                        "nodeType": "FunctionDefinition",
                        "parameters": {
                            "id": 18099,
                            "nodeType": "ParameterList",
                            "parameters": [
                                {
                                    "constant": false,
                                    "id": 18092,
                                    "mutability": "mutable",
                                    "name": "p0",
                                    "nameLocation": "40643:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 18113,
                                    "src": "40638:7:62",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_bool",
                                        "typeString": "bool"
                                    },
                                    "typeName": {
                                        "id": 18091,
                                        "name": "bool",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "40638:4:62",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_bool",
                                            "typeString": "bool"
                                        }
                                    },
                                    "visibility": "internal"
                                },
                                {
                                    "constant": false,
                                    "id": 18094,
                                    "mutability": "mutable",
                                    "name": "p1",
                                    "nameLocation": "40652:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 18113,
                                    "src": "40647:7:62",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_uint256",
                                        "typeString": "uint256"
                                    },
                                    "typeName": {
                                        "id": 18093,
                                        "name": "uint",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "40647:4:62",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_uint256",
                                            "typeString": "uint256"
                                        }
                                    },
                                    "visibility": "internal"
                                },
                                {
                                    "constant": false,
                                    "id": 18096,
                                    "mutability": "mutable",
                                    "name": "p2",
                                    "nameLocation": "40670:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 18113,
                                    "src": "40656:16:62",
                                    "stateVariable": false,
                                    "storageLocation": "memory",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_string_memory_ptr",
                                        "typeString": "string"
                                    },
                                    "typeName": {
                                        "id": 18095,
                                        "name": "string",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "40656:6:62",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_string_storage_ptr",
                                            "typeString": "string"
                                        }
                                    },
                                    "visibility": "internal"
                                },
                                {
                                    "constant": false,
                                    "id": 18098,
                                    "mutability": "mutable",
                                    "name": "p3",
                                    "nameLocation": "40688:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 18113,
                                    "src": "40674:16:62",
                                    "stateVariable": false,
                                    "storageLocation": "memory",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_string_memory_ptr",
                                        "typeString": "string"
                                    },
                                    "typeName": {
                                        "id": 18097,
                                        "name": "string",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "40674:6:62",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_string_storage_ptr",
                                            "typeString": "string"
                                        }
                                    },
                                    "visibility": "internal"
                                }
                            ],
                            "src": "40637:54:62"
                        },
                        "returnParameters": {
                            "id": 18100,
                            "nodeType": "ParameterList",
                            "parameters": [],
                            "src": "40706:0:62"
                        },
                        "scope": 20920,
                        "src": "40625:177:62",
                        "stateMutability": "view",
                        "virtual": false,
                        "visibility": "internal"
                    },
                    {
                        "body": {
                            "id": 18135,
                            "nodeType": "Block",
                            "src": "40877:94:62",
                            "statements": [
                                {
                                    "expression": {
                                        "arguments": [
                                            {
                                                "arguments": [
                                                    {
                                                        "hexValue": "6c6f6728626f6f6c2c75696e742c737472696e672c626f6f6c29",
                                                        "id": 18127,
                                                        "isConstant": false,
                                                        "isLValue": false,
                                                        "isPure": true,
                                                        "kind": "string",
                                                        "lValueRequested": false,
                                                        "nodeType": "Literal",
                                                        "src": "40921:28:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_stringliteral_91d2f813beb255a90e7ea595fb27355b60d93c3f818aac6b4c27388d34e0ea16",
                                                            "typeString": "literal_string \"log(bool,uint,string,bool)\""
                                                        },
                                                        "value": "log(bool,uint,string,bool)"
                                                    },
                                                    {
                                                        "id": 18128,
                                                        "name": "p0",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 18115,
                                                        "src": "40951:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_bool",
                                                            "typeString": "bool"
                                                        }
                                                    },
                                                    {
                                                        "id": 18129,
                                                        "name": "p1",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 18117,
                                                        "src": "40955:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_uint256",
                                                            "typeString": "uint256"
                                                        }
                                                    },
                                                    {
                                                        "id": 18130,
                                                        "name": "p2",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 18119,
                                                        "src": "40959:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_string_memory_ptr",
                                                            "typeString": "string memory"
                                                        }
                                                    },
                                                    {
                                                        "id": 18131,
                                                        "name": "p3",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 18121,
                                                        "src": "40963:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_bool",
                                                            "typeString": "bool"
                                                        }
                                                    }
                                                ],
                                                "expression": {
                                                    "argumentTypes": [
                                                        {
                                                            "typeIdentifier": "t_stringliteral_91d2f813beb255a90e7ea595fb27355b60d93c3f818aac6b4c27388d34e0ea16",
                                                            "typeString": "literal_string \"log(bool,uint,string,bool)\""
                                                        },
                                                        {
                                                            "typeIdentifier": "t_bool",
                                                            "typeString": "bool"
                                                        },
                                                        {
                                                            "typeIdentifier": "t_uint256",
                                                            "typeString": "uint256"
                                                        },
                                                        {
                                                            "typeIdentifier": "t_string_memory_ptr",
                                                            "typeString": "string memory"
                                                        },
                                                        {
                                                            "typeIdentifier": "t_bool",
                                                            "typeString": "bool"
                                                        }
                                                    ],
                                                    "expression": {
                                                        "id": 18125,
                                                        "name": "abi",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 4294967295,
                                                        "src": "40897:3:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_magic_abi",
                                                            "typeString": "abi"
                                                        }
                                                    },
                                                    "id": 18126,
                                                    "isConstant": false,
                                                    "isLValue": false,
                                                    "isPure": true,
                                                    "lValueRequested": false,
                                                    "memberName": "encodeWithSignature",
                                                    "nodeType": "MemberAccess",
                                                    "src": "40897:23:62",
                                                    "typeDescriptions": {
                                                        "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$",
                                                        "typeString": "function (string memory) pure returns (bytes memory)"
                                                    }
                                                },
                                                "id": 18132,
                                                "isConstant": false,
                                                "isLValue": false,
                                                "isPure": false,
                                                "kind": "functionCall",
                                                "lValueRequested": false,
                                                "names": [],
                                                "nodeType": "FunctionCall",
                                                "src": "40897:69:62",
                                                "tryCall": false,
                                                "typeDescriptions": {
                                                    "typeIdentifier": "t_bytes_memory_ptr",
                                                    "typeString": "bytes memory"
                                                }
                                            }
                                        ],
                                        "expression": {
                                            "argumentTypes": [
                                                {
                                                    "typeIdentifier": "t_bytes_memory_ptr",
                                                    "typeString": "bytes memory"
                                                }
                                            ],
                                            "id": 18124,
                                            "name": "_sendLogPayload",
                                            "nodeType": "Identifier",
                                            "overloadedDeclarations": [],
                                            "referencedDeclaration": 12880,
                                            "src": "40881:15:62",
                                            "typeDescriptions": {
                                                "typeIdentifier": "t_function_internal_view$_t_bytes_memory_ptr_$returns$__$",
                                                "typeString": "function (bytes memory) view"
                                            }
                                        },
                                        "id": 18133,
                                        "isConstant": false,
                                        "isLValue": false,
                                        "isPure": false,
                                        "kind": "functionCall",
                                        "lValueRequested": false,
                                        "names": [],
                                        "nodeType": "FunctionCall",
                                        "src": "40881:86:62",
                                        "tryCall": false,
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_tuple$__$",
                                            "typeString": "tuple()"
                                        }
                                    },
                                    "id": 18134,
                                    "nodeType": "ExpressionStatement",
                                    "src": "40881:86:62"
                                }
                            ]
                        },
                        "id": 18136,
                        "implemented": true,
                        "kind": "function",
                        "modifiers": [],
                        "name": "log",
                        "nameLocation": "40814:3:62",
                        "nodeType": "FunctionDefinition",
                        "parameters": {
                            "id": 18122,
                            "nodeType": "ParameterList",
                            "parameters": [
                                {
                                    "constant": false,
                                    "id": 18115,
                                    "mutability": "mutable",
                                    "name": "p0",
                                    "nameLocation": "40823:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 18136,
                                    "src": "40818:7:62",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_bool",
                                        "typeString": "bool"
                                    },
                                    "typeName": {
                                        "id": 18114,
                                        "name": "bool",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "40818:4:62",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_bool",
                                            "typeString": "bool"
                                        }
                                    },
                                    "visibility": "internal"
                                },
                                {
                                    "constant": false,
                                    "id": 18117,
                                    "mutability": "mutable",
                                    "name": "p1",
                                    "nameLocation": "40832:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 18136,
                                    "src": "40827:7:62",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_uint256",
                                        "typeString": "uint256"
                                    },
                                    "typeName": {
                                        "id": 18116,
                                        "name": "uint",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "40827:4:62",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_uint256",
                                            "typeString": "uint256"
                                        }
                                    },
                                    "visibility": "internal"
                                },
                                {
                                    "constant": false,
                                    "id": 18119,
                                    "mutability": "mutable",
                                    "name": "p2",
                                    "nameLocation": "40850:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 18136,
                                    "src": "40836:16:62",
                                    "stateVariable": false,
                                    "storageLocation": "memory",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_string_memory_ptr",
                                        "typeString": "string"
                                    },
                                    "typeName": {
                                        "id": 18118,
                                        "name": "string",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "40836:6:62",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_string_storage_ptr",
                                            "typeString": "string"
                                        }
                                    },
                                    "visibility": "internal"
                                },
                                {
                                    "constant": false,
                                    "id": 18121,
                                    "mutability": "mutable",
                                    "name": "p3",
                                    "nameLocation": "40859:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 18136,
                                    "src": "40854:7:62",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_bool",
                                        "typeString": "bool"
                                    },
                                    "typeName": {
                                        "id": 18120,
                                        "name": "bool",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "40854:4:62",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_bool",
                                            "typeString": "bool"
                                        }
                                    },
                                    "visibility": "internal"
                                }
                            ],
                            "src": "40817:45:62"
                        },
                        "returnParameters": {
                            "id": 18123,
                            "nodeType": "ParameterList",
                            "parameters": [],
                            "src": "40877:0:62"
                        },
                        "scope": 20920,
                        "src": "40805:166:62",
                        "stateMutability": "view",
                        "virtual": false,
                        "visibility": "internal"
                    },
                    {
                        "body": {
                            "id": 18158,
                            "nodeType": "Block",
                            "src": "41049:97:62",
                            "statements": [
                                {
                                    "expression": {
                                        "arguments": [
                                            {
                                                "arguments": [
                                                    {
                                                        "hexValue": "6c6f6728626f6f6c2c75696e742c737472696e672c6164647265737329",
                                                        "id": 18150,
                                                        "isConstant": false,
                                                        "isLValue": false,
                                                        "isPure": true,
                                                        "kind": "string",
                                                        "lValueRequested": false,
                                                        "nodeType": "Literal",
                                                        "src": "41093:31:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_stringliteral_a5c70d29969a9ad21bdf8986348e5dc44eea151f64e0f90231a45219c4d0e3d5",
                                                            "typeString": "literal_string \"log(bool,uint,string,address)\""
                                                        },
                                                        "value": "log(bool,uint,string,address)"
                                                    },
                                                    {
                                                        "id": 18151,
                                                        "name": "p0",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 18138,
                                                        "src": "41126:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_bool",
                                                            "typeString": "bool"
                                                        }
                                                    },
                                                    {
                                                        "id": 18152,
                                                        "name": "p1",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 18140,
                                                        "src": "41130:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_uint256",
                                                            "typeString": "uint256"
                                                        }
                                                    },
                                                    {
                                                        "id": 18153,
                                                        "name": "p2",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 18142,
                                                        "src": "41134:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_string_memory_ptr",
                                                            "typeString": "string memory"
                                                        }
                                                    },
                                                    {
                                                        "id": 18154,
                                                        "name": "p3",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 18144,
                                                        "src": "41138:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_address",
                                                            "typeString": "address"
                                                        }
                                                    }
                                                ],
                                                "expression": {
                                                    "argumentTypes": [
                                                        {
                                                            "typeIdentifier": "t_stringliteral_a5c70d29969a9ad21bdf8986348e5dc44eea151f64e0f90231a45219c4d0e3d5",
                                                            "typeString": "literal_string \"log(bool,uint,string,address)\""
                                                        },
                                                        {
                                                            "typeIdentifier": "t_bool",
                                                            "typeString": "bool"
                                                        },
                                                        {
                                                            "typeIdentifier": "t_uint256",
                                                            "typeString": "uint256"
                                                        },
                                                        {
                                                            "typeIdentifier": "t_string_memory_ptr",
                                                            "typeString": "string memory"
                                                        },
                                                        {
                                                            "typeIdentifier": "t_address",
                                                            "typeString": "address"
                                                        }
                                                    ],
                                                    "expression": {
                                                        "id": 18148,
                                                        "name": "abi",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 4294967295,
                                                        "src": "41069:3:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_magic_abi",
                                                            "typeString": "abi"
                                                        }
                                                    },
                                                    "id": 18149,
                                                    "isConstant": false,
                                                    "isLValue": false,
                                                    "isPure": true,
                                                    "lValueRequested": false,
                                                    "memberName": "encodeWithSignature",
                                                    "nodeType": "MemberAccess",
                                                    "src": "41069:23:62",
                                                    "typeDescriptions": {
                                                        "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$",
                                                        "typeString": "function (string memory) pure returns (bytes memory)"
                                                    }
                                                },
                                                "id": 18155,
                                                "isConstant": false,
                                                "isLValue": false,
                                                "isPure": false,
                                                "kind": "functionCall",
                                                "lValueRequested": false,
                                                "names": [],
                                                "nodeType": "FunctionCall",
                                                "src": "41069:72:62",
                                                "tryCall": false,
                                                "typeDescriptions": {
                                                    "typeIdentifier": "t_bytes_memory_ptr",
                                                    "typeString": "bytes memory"
                                                }
                                            }
                                        ],
                                        "expression": {
                                            "argumentTypes": [
                                                {
                                                    "typeIdentifier": "t_bytes_memory_ptr",
                                                    "typeString": "bytes memory"
                                                }
                                            ],
                                            "id": 18147,
                                            "name": "_sendLogPayload",
                                            "nodeType": "Identifier",
                                            "overloadedDeclarations": [],
                                            "referencedDeclaration": 12880,
                                            "src": "41053:15:62",
                                            "typeDescriptions": {
                                                "typeIdentifier": "t_function_internal_view$_t_bytes_memory_ptr_$returns$__$",
                                                "typeString": "function (bytes memory) view"
                                            }
                                        },
                                        "id": 18156,
                                        "isConstant": false,
                                        "isLValue": false,
                                        "isPure": false,
                                        "kind": "functionCall",
                                        "lValueRequested": false,
                                        "names": [],
                                        "nodeType": "FunctionCall",
                                        "src": "41053:89:62",
                                        "tryCall": false,
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_tuple$__$",
                                            "typeString": "tuple()"
                                        }
                                    },
                                    "id": 18157,
                                    "nodeType": "ExpressionStatement",
                                    "src": "41053:89:62"
                                }
                            ]
                        },
                        "id": 18159,
                        "implemented": true,
                        "kind": "function",
                        "modifiers": [],
                        "name": "log",
                        "nameLocation": "40983:3:62",
                        "nodeType": "FunctionDefinition",
                        "parameters": {
                            "id": 18145,
                            "nodeType": "ParameterList",
                            "parameters": [
                                {
                                    "constant": false,
                                    "id": 18138,
                                    "mutability": "mutable",
                                    "name": "p0",
                                    "nameLocation": "40992:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 18159,
                                    "src": "40987:7:62",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_bool",
                                        "typeString": "bool"
                                    },
                                    "typeName": {
                                        "id": 18137,
                                        "name": "bool",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "40987:4:62",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_bool",
                                            "typeString": "bool"
                                        }
                                    },
                                    "visibility": "internal"
                                },
                                {
                                    "constant": false,
                                    "id": 18140,
                                    "mutability": "mutable",
                                    "name": "p1",
                                    "nameLocation": "41001:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 18159,
                                    "src": "40996:7:62",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_uint256",
                                        "typeString": "uint256"
                                    },
                                    "typeName": {
                                        "id": 18139,
                                        "name": "uint",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "40996:4:62",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_uint256",
                                            "typeString": "uint256"
                                        }
                                    },
                                    "visibility": "internal"
                                },
                                {
                                    "constant": false,
                                    "id": 18142,
                                    "mutability": "mutable",
                                    "name": "p2",
                                    "nameLocation": "41019:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 18159,
                                    "src": "41005:16:62",
                                    "stateVariable": false,
                                    "storageLocation": "memory",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_string_memory_ptr",
                                        "typeString": "string"
                                    },
                                    "typeName": {
                                        "id": 18141,
                                        "name": "string",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "41005:6:62",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_string_storage_ptr",
                                            "typeString": "string"
                                        }
                                    },
                                    "visibility": "internal"
                                },
                                {
                                    "constant": false,
                                    "id": 18144,
                                    "mutability": "mutable",
                                    "name": "p3",
                                    "nameLocation": "41031:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 18159,
                                    "src": "41023:10:62",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_address",
                                        "typeString": "address"
                                    },
                                    "typeName": {
                                        "id": 18143,
                                        "name": "address",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "41023:7:62",
                                        "stateMutability": "nonpayable",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_address",
                                            "typeString": "address"
                                        }
                                    },
                                    "visibility": "internal"
                                }
                            ],
                            "src": "40986:48:62"
                        },
                        "returnParameters": {
                            "id": 18146,
                            "nodeType": "ParameterList",
                            "parameters": [],
                            "src": "41049:0:62"
                        },
                        "scope": 20920,
                        "src": "40974:172:62",
                        "stateMutability": "view",
                        "virtual": false,
                        "visibility": "internal"
                    },
                    {
                        "body": {
                            "id": 18181,
                            "nodeType": "Block",
                            "src": "41212:92:62",
                            "statements": [
                                {
                                    "expression": {
                                        "arguments": [
                                            {
                                                "arguments": [
                                                    {
                                                        "hexValue": "6c6f6728626f6f6c2c75696e742c626f6f6c2c75696e7429",
                                                        "id": 18173,
                                                        "isConstant": false,
                                                        "isLValue": false,
                                                        "isPure": true,
                                                        "kind": "string",
                                                        "lValueRequested": false,
                                                        "nodeType": "Literal",
                                                        "src": "41256:26:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_stringliteral_d3de5593988099d08808f80d2a972ea3da18ecd746f0a3e437c530efaad65aa0",
                                                            "typeString": "literal_string \"log(bool,uint,bool,uint)\""
                                                        },
                                                        "value": "log(bool,uint,bool,uint)"
                                                    },
                                                    {
                                                        "id": 18174,
                                                        "name": "p0",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 18161,
                                                        "src": "41284:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_bool",
                                                            "typeString": "bool"
                                                        }
                                                    },
                                                    {
                                                        "id": 18175,
                                                        "name": "p1",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 18163,
                                                        "src": "41288:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_uint256",
                                                            "typeString": "uint256"
                                                        }
                                                    },
                                                    {
                                                        "id": 18176,
                                                        "name": "p2",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 18165,
                                                        "src": "41292:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_bool",
                                                            "typeString": "bool"
                                                        }
                                                    },
                                                    {
                                                        "id": 18177,
                                                        "name": "p3",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 18167,
                                                        "src": "41296:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_uint256",
                                                            "typeString": "uint256"
                                                        }
                                                    }
                                                ],
                                                "expression": {
                                                    "argumentTypes": [
                                                        {
                                                            "typeIdentifier": "t_stringliteral_d3de5593988099d08808f80d2a972ea3da18ecd746f0a3e437c530efaad65aa0",
                                                            "typeString": "literal_string \"log(bool,uint,bool,uint)\""
                                                        },
                                                        {
                                                            "typeIdentifier": "t_bool",
                                                            "typeString": "bool"
                                                        },
                                                        {
                                                            "typeIdentifier": "t_uint256",
                                                            "typeString": "uint256"
                                                        },
                                                        {
                                                            "typeIdentifier": "t_bool",
                                                            "typeString": "bool"
                                                        },
                                                        {
                                                            "typeIdentifier": "t_uint256",
                                                            "typeString": "uint256"
                                                        }
                                                    ],
                                                    "expression": {
                                                        "id": 18171,
                                                        "name": "abi",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 4294967295,
                                                        "src": "41232:3:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_magic_abi",
                                                            "typeString": "abi"
                                                        }
                                                    },
                                                    "id": 18172,
                                                    "isConstant": false,
                                                    "isLValue": false,
                                                    "isPure": true,
                                                    "lValueRequested": false,
                                                    "memberName": "encodeWithSignature",
                                                    "nodeType": "MemberAccess",
                                                    "src": "41232:23:62",
                                                    "typeDescriptions": {
                                                        "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$",
                                                        "typeString": "function (string memory) pure returns (bytes memory)"
                                                    }
                                                },
                                                "id": 18178,
                                                "isConstant": false,
                                                "isLValue": false,
                                                "isPure": false,
                                                "kind": "functionCall",
                                                "lValueRequested": false,
                                                "names": [],
                                                "nodeType": "FunctionCall",
                                                "src": "41232:67:62",
                                                "tryCall": false,
                                                "typeDescriptions": {
                                                    "typeIdentifier": "t_bytes_memory_ptr",
                                                    "typeString": "bytes memory"
                                                }
                                            }
                                        ],
                                        "expression": {
                                            "argumentTypes": [
                                                {
                                                    "typeIdentifier": "t_bytes_memory_ptr",
                                                    "typeString": "bytes memory"
                                                }
                                            ],
                                            "id": 18170,
                                            "name": "_sendLogPayload",
                                            "nodeType": "Identifier",
                                            "overloadedDeclarations": [],
                                            "referencedDeclaration": 12880,
                                            "src": "41216:15:62",
                                            "typeDescriptions": {
                                                "typeIdentifier": "t_function_internal_view$_t_bytes_memory_ptr_$returns$__$",
                                                "typeString": "function (bytes memory) view"
                                            }
                                        },
                                        "id": 18179,
                                        "isConstant": false,
                                        "isLValue": false,
                                        "isPure": false,
                                        "kind": "functionCall",
                                        "lValueRequested": false,
                                        "names": [],
                                        "nodeType": "FunctionCall",
                                        "src": "41216:84:62",
                                        "tryCall": false,
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_tuple$__$",
                                            "typeString": "tuple()"
                                        }
                                    },
                                    "id": 18180,
                                    "nodeType": "ExpressionStatement",
                                    "src": "41216:84:62"
                                }
                            ]
                        },
                        "id": 18182,
                        "implemented": true,
                        "kind": "function",
                        "modifiers": [],
                        "name": "log",
                        "nameLocation": "41158:3:62",
                        "nodeType": "FunctionDefinition",
                        "parameters": {
                            "id": 18168,
                            "nodeType": "ParameterList",
                            "parameters": [
                                {
                                    "constant": false,
                                    "id": 18161,
                                    "mutability": "mutable",
                                    "name": "p0",
                                    "nameLocation": "41167:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 18182,
                                    "src": "41162:7:62",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_bool",
                                        "typeString": "bool"
                                    },
                                    "typeName": {
                                        "id": 18160,
                                        "name": "bool",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "41162:4:62",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_bool",
                                            "typeString": "bool"
                                        }
                                    },
                                    "visibility": "internal"
                                },
                                {
                                    "constant": false,
                                    "id": 18163,
                                    "mutability": "mutable",
                                    "name": "p1",
                                    "nameLocation": "41176:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 18182,
                                    "src": "41171:7:62",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_uint256",
                                        "typeString": "uint256"
                                    },
                                    "typeName": {
                                        "id": 18162,
                                        "name": "uint",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "41171:4:62",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_uint256",
                                            "typeString": "uint256"
                                        }
                                    },
                                    "visibility": "internal"
                                },
                                {
                                    "constant": false,
                                    "id": 18165,
                                    "mutability": "mutable",
                                    "name": "p2",
                                    "nameLocation": "41185:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 18182,
                                    "src": "41180:7:62",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_bool",
                                        "typeString": "bool"
                                    },
                                    "typeName": {
                                        "id": 18164,
                                        "name": "bool",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "41180:4:62",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_bool",
                                            "typeString": "bool"
                                        }
                                    },
                                    "visibility": "internal"
                                },
                                {
                                    "constant": false,
                                    "id": 18167,
                                    "mutability": "mutable",
                                    "name": "p3",
                                    "nameLocation": "41194:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 18182,
                                    "src": "41189:7:62",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_uint256",
                                        "typeString": "uint256"
                                    },
                                    "typeName": {
                                        "id": 18166,
                                        "name": "uint",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "41189:4:62",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_uint256",
                                            "typeString": "uint256"
                                        }
                                    },
                                    "visibility": "internal"
                                }
                            ],
                            "src": "41161:36:62"
                        },
                        "returnParameters": {
                            "id": 18169,
                            "nodeType": "ParameterList",
                            "parameters": [],
                            "src": "41212:0:62"
                        },
                        "scope": 20920,
                        "src": "41149:155:62",
                        "stateMutability": "view",
                        "virtual": false,
                        "visibility": "internal"
                    },
                    {
                        "body": {
                            "id": 18204,
                            "nodeType": "Block",
                            "src": "41379:94:62",
                            "statements": [
                                {
                                    "expression": {
                                        "arguments": [
                                            {
                                                "arguments": [
                                                    {
                                                        "hexValue": "6c6f6728626f6f6c2c75696e742c626f6f6c2c737472696e6729",
                                                        "id": 18196,
                                                        "isConstant": false,
                                                        "isLValue": false,
                                                        "isPure": true,
                                                        "kind": "string",
                                                        "lValueRequested": false,
                                                        "nodeType": "Literal",
                                                        "src": "41423:28:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_stringliteral_b6d569d433e69694879a799e3777d59bc29ee89dcbaf739de9b283882fd259ad",
                                                            "typeString": "literal_string \"log(bool,uint,bool,string)\""
                                                        },
                                                        "value": "log(bool,uint,bool,string)"
                                                    },
                                                    {
                                                        "id": 18197,
                                                        "name": "p0",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 18184,
                                                        "src": "41453:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_bool",
                                                            "typeString": "bool"
                                                        }
                                                    },
                                                    {
                                                        "id": 18198,
                                                        "name": "p1",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 18186,
                                                        "src": "41457:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_uint256",
                                                            "typeString": "uint256"
                                                        }
                                                    },
                                                    {
                                                        "id": 18199,
                                                        "name": "p2",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 18188,
                                                        "src": "41461:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_bool",
                                                            "typeString": "bool"
                                                        }
                                                    },
                                                    {
                                                        "id": 18200,
                                                        "name": "p3",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 18190,
                                                        "src": "41465:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_string_memory_ptr",
                                                            "typeString": "string memory"
                                                        }
                                                    }
                                                ],
                                                "expression": {
                                                    "argumentTypes": [
                                                        {
                                                            "typeIdentifier": "t_stringliteral_b6d569d433e69694879a799e3777d59bc29ee89dcbaf739de9b283882fd259ad",
                                                            "typeString": "literal_string \"log(bool,uint,bool,string)\""
                                                        },
                                                        {
                                                            "typeIdentifier": "t_bool",
                                                            "typeString": "bool"
                                                        },
                                                        {
                                                            "typeIdentifier": "t_uint256",
                                                            "typeString": "uint256"
                                                        },
                                                        {
                                                            "typeIdentifier": "t_bool",
                                                            "typeString": "bool"
                                                        },
                                                        {
                                                            "typeIdentifier": "t_string_memory_ptr",
                                                            "typeString": "string memory"
                                                        }
                                                    ],
                                                    "expression": {
                                                        "id": 18194,
                                                        "name": "abi",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 4294967295,
                                                        "src": "41399:3:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_magic_abi",
                                                            "typeString": "abi"
                                                        }
                                                    },
                                                    "id": 18195,
                                                    "isConstant": false,
                                                    "isLValue": false,
                                                    "isPure": true,
                                                    "lValueRequested": false,
                                                    "memberName": "encodeWithSignature",
                                                    "nodeType": "MemberAccess",
                                                    "src": "41399:23:62",
                                                    "typeDescriptions": {
                                                        "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$",
                                                        "typeString": "function (string memory) pure returns (bytes memory)"
                                                    }
                                                },
                                                "id": 18201,
                                                "isConstant": false,
                                                "isLValue": false,
                                                "isPure": false,
                                                "kind": "functionCall",
                                                "lValueRequested": false,
                                                "names": [],
                                                "nodeType": "FunctionCall",
                                                "src": "41399:69:62",
                                                "tryCall": false,
                                                "typeDescriptions": {
                                                    "typeIdentifier": "t_bytes_memory_ptr",
                                                    "typeString": "bytes memory"
                                                }
                                            }
                                        ],
                                        "expression": {
                                            "argumentTypes": [
                                                {
                                                    "typeIdentifier": "t_bytes_memory_ptr",
                                                    "typeString": "bytes memory"
                                                }
                                            ],
                                            "id": 18193,
                                            "name": "_sendLogPayload",
                                            "nodeType": "Identifier",
                                            "overloadedDeclarations": [],
                                            "referencedDeclaration": 12880,
                                            "src": "41383:15:62",
                                            "typeDescriptions": {
                                                "typeIdentifier": "t_function_internal_view$_t_bytes_memory_ptr_$returns$__$",
                                                "typeString": "function (bytes memory) view"
                                            }
                                        },
                                        "id": 18202,
                                        "isConstant": false,
                                        "isLValue": false,
                                        "isPure": false,
                                        "kind": "functionCall",
                                        "lValueRequested": false,
                                        "names": [],
                                        "nodeType": "FunctionCall",
                                        "src": "41383:86:62",
                                        "tryCall": false,
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_tuple$__$",
                                            "typeString": "tuple()"
                                        }
                                    },
                                    "id": 18203,
                                    "nodeType": "ExpressionStatement",
                                    "src": "41383:86:62"
                                }
                            ]
                        },
                        "id": 18205,
                        "implemented": true,
                        "kind": "function",
                        "modifiers": [],
                        "name": "log",
                        "nameLocation": "41316:3:62",
                        "nodeType": "FunctionDefinition",
                        "parameters": {
                            "id": 18191,
                            "nodeType": "ParameterList",
                            "parameters": [
                                {
                                    "constant": false,
                                    "id": 18184,
                                    "mutability": "mutable",
                                    "name": "p0",
                                    "nameLocation": "41325:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 18205,
                                    "src": "41320:7:62",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_bool",
                                        "typeString": "bool"
                                    },
                                    "typeName": {
                                        "id": 18183,
                                        "name": "bool",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "41320:4:62",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_bool",
                                            "typeString": "bool"
                                        }
                                    },
                                    "visibility": "internal"
                                },
                                {
                                    "constant": false,
                                    "id": 18186,
                                    "mutability": "mutable",
                                    "name": "p1",
                                    "nameLocation": "41334:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 18205,
                                    "src": "41329:7:62",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_uint256",
                                        "typeString": "uint256"
                                    },
                                    "typeName": {
                                        "id": 18185,
                                        "name": "uint",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "41329:4:62",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_uint256",
                                            "typeString": "uint256"
                                        }
                                    },
                                    "visibility": "internal"
                                },
                                {
                                    "constant": false,
                                    "id": 18188,
                                    "mutability": "mutable",
                                    "name": "p2",
                                    "nameLocation": "41343:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 18205,
                                    "src": "41338:7:62",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_bool",
                                        "typeString": "bool"
                                    },
                                    "typeName": {
                                        "id": 18187,
                                        "name": "bool",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "41338:4:62",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_bool",
                                            "typeString": "bool"
                                        }
                                    },
                                    "visibility": "internal"
                                },
                                {
                                    "constant": false,
                                    "id": 18190,
                                    "mutability": "mutable",
                                    "name": "p3",
                                    "nameLocation": "41361:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 18205,
                                    "src": "41347:16:62",
                                    "stateVariable": false,
                                    "storageLocation": "memory",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_string_memory_ptr",
                                        "typeString": "string"
                                    },
                                    "typeName": {
                                        "id": 18189,
                                        "name": "string",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "41347:6:62",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_string_storage_ptr",
                                            "typeString": "string"
                                        }
                                    },
                                    "visibility": "internal"
                                }
                            ],
                            "src": "41319:45:62"
                        },
                        "returnParameters": {
                            "id": 18192,
                            "nodeType": "ParameterList",
                            "parameters": [],
                            "src": "41379:0:62"
                        },
                        "scope": 20920,
                        "src": "41307:166:62",
                        "stateMutability": "view",
                        "virtual": false,
                        "visibility": "internal"
                    },
                    {
                        "body": {
                            "id": 18227,
                            "nodeType": "Block",
                            "src": "41539:92:62",
                            "statements": [
                                {
                                    "expression": {
                                        "arguments": [
                                            {
                                                "arguments": [
                                                    {
                                                        "hexValue": "6c6f6728626f6f6c2c75696e742c626f6f6c2c626f6f6c29",
                                                        "id": 18219,
                                                        "isConstant": false,
                                                        "isLValue": false,
                                                        "isPure": true,
                                                        "kind": "string",
                                                        "lValueRequested": false,
                                                        "nodeType": "Literal",
                                                        "src": "41583:26:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_stringliteral_9e01f7417c5ff66a2399364b03788fbf8437045d38acf377fab727a3440df7be",
                                                            "typeString": "literal_string \"log(bool,uint,bool,bool)\""
                                                        },
                                                        "value": "log(bool,uint,bool,bool)"
                                                    },
                                                    {
                                                        "id": 18220,
                                                        "name": "p0",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 18207,
                                                        "src": "41611:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_bool",
                                                            "typeString": "bool"
                                                        }
                                                    },
                                                    {
                                                        "id": 18221,
                                                        "name": "p1",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 18209,
                                                        "src": "41615:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_uint256",
                                                            "typeString": "uint256"
                                                        }
                                                    },
                                                    {
                                                        "id": 18222,
                                                        "name": "p2",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 18211,
                                                        "src": "41619:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_bool",
                                                            "typeString": "bool"
                                                        }
                                                    },
                                                    {
                                                        "id": 18223,
                                                        "name": "p3",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 18213,
                                                        "src": "41623:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_bool",
                                                            "typeString": "bool"
                                                        }
                                                    }
                                                ],
                                                "expression": {
                                                    "argumentTypes": [
                                                        {
                                                            "typeIdentifier": "t_stringliteral_9e01f7417c5ff66a2399364b03788fbf8437045d38acf377fab727a3440df7be",
                                                            "typeString": "literal_string \"log(bool,uint,bool,bool)\""
                                                        },
                                                        {
                                                            "typeIdentifier": "t_bool",
                                                            "typeString": "bool"
                                                        },
                                                        {
                                                            "typeIdentifier": "t_uint256",
                                                            "typeString": "uint256"
                                                        },
                                                        {
                                                            "typeIdentifier": "t_bool",
                                                            "typeString": "bool"
                                                        },
                                                        {
                                                            "typeIdentifier": "t_bool",
                                                            "typeString": "bool"
                                                        }
                                                    ],
                                                    "expression": {
                                                        "id": 18217,
                                                        "name": "abi",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 4294967295,
                                                        "src": "41559:3:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_magic_abi",
                                                            "typeString": "abi"
                                                        }
                                                    },
                                                    "id": 18218,
                                                    "isConstant": false,
                                                    "isLValue": false,
                                                    "isPure": true,
                                                    "lValueRequested": false,
                                                    "memberName": "encodeWithSignature",
                                                    "nodeType": "MemberAccess",
                                                    "src": "41559:23:62",
                                                    "typeDescriptions": {
                                                        "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$",
                                                        "typeString": "function (string memory) pure returns (bytes memory)"
                                                    }
                                                },
                                                "id": 18224,
                                                "isConstant": false,
                                                "isLValue": false,
                                                "isPure": false,
                                                "kind": "functionCall",
                                                "lValueRequested": false,
                                                "names": [],
                                                "nodeType": "FunctionCall",
                                                "src": "41559:67:62",
                                                "tryCall": false,
                                                "typeDescriptions": {
                                                    "typeIdentifier": "t_bytes_memory_ptr",
                                                    "typeString": "bytes memory"
                                                }
                                            }
                                        ],
                                        "expression": {
                                            "argumentTypes": [
                                                {
                                                    "typeIdentifier": "t_bytes_memory_ptr",
                                                    "typeString": "bytes memory"
                                                }
                                            ],
                                            "id": 18216,
                                            "name": "_sendLogPayload",
                                            "nodeType": "Identifier",
                                            "overloadedDeclarations": [],
                                            "referencedDeclaration": 12880,
                                            "src": "41543:15:62",
                                            "typeDescriptions": {
                                                "typeIdentifier": "t_function_internal_view$_t_bytes_memory_ptr_$returns$__$",
                                                "typeString": "function (bytes memory) view"
                                            }
                                        },
                                        "id": 18225,
                                        "isConstant": false,
                                        "isLValue": false,
                                        "isPure": false,
                                        "kind": "functionCall",
                                        "lValueRequested": false,
                                        "names": [],
                                        "nodeType": "FunctionCall",
                                        "src": "41543:84:62",
                                        "tryCall": false,
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_tuple$__$",
                                            "typeString": "tuple()"
                                        }
                                    },
                                    "id": 18226,
                                    "nodeType": "ExpressionStatement",
                                    "src": "41543:84:62"
                                }
                            ]
                        },
                        "id": 18228,
                        "implemented": true,
                        "kind": "function",
                        "modifiers": [],
                        "name": "log",
                        "nameLocation": "41485:3:62",
                        "nodeType": "FunctionDefinition",
                        "parameters": {
                            "id": 18214,
                            "nodeType": "ParameterList",
                            "parameters": [
                                {
                                    "constant": false,
                                    "id": 18207,
                                    "mutability": "mutable",
                                    "name": "p0",
                                    "nameLocation": "41494:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 18228,
                                    "src": "41489:7:62",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_bool",
                                        "typeString": "bool"
                                    },
                                    "typeName": {
                                        "id": 18206,
                                        "name": "bool",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "41489:4:62",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_bool",
                                            "typeString": "bool"
                                        }
                                    },
                                    "visibility": "internal"
                                },
                                {
                                    "constant": false,
                                    "id": 18209,
                                    "mutability": "mutable",
                                    "name": "p1",
                                    "nameLocation": "41503:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 18228,
                                    "src": "41498:7:62",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_uint256",
                                        "typeString": "uint256"
                                    },
                                    "typeName": {
                                        "id": 18208,
                                        "name": "uint",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "41498:4:62",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_uint256",
                                            "typeString": "uint256"
                                        }
                                    },
                                    "visibility": "internal"
                                },
                                {
                                    "constant": false,
                                    "id": 18211,
                                    "mutability": "mutable",
                                    "name": "p2",
                                    "nameLocation": "41512:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 18228,
                                    "src": "41507:7:62",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_bool",
                                        "typeString": "bool"
                                    },
                                    "typeName": {
                                        "id": 18210,
                                        "name": "bool",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "41507:4:62",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_bool",
                                            "typeString": "bool"
                                        }
                                    },
                                    "visibility": "internal"
                                },
                                {
                                    "constant": false,
                                    "id": 18213,
                                    "mutability": "mutable",
                                    "name": "p3",
                                    "nameLocation": "41521:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 18228,
                                    "src": "41516:7:62",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_bool",
                                        "typeString": "bool"
                                    },
                                    "typeName": {
                                        "id": 18212,
                                        "name": "bool",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "41516:4:62",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_bool",
                                            "typeString": "bool"
                                        }
                                    },
                                    "visibility": "internal"
                                }
                            ],
                            "src": "41488:36:62"
                        },
                        "returnParameters": {
                            "id": 18215,
                            "nodeType": "ParameterList",
                            "parameters": [],
                            "src": "41539:0:62"
                        },
                        "scope": 20920,
                        "src": "41476:155:62",
                        "stateMutability": "view",
                        "virtual": false,
                        "visibility": "internal"
                    },
                    {
                        "body": {
                            "id": 18250,
                            "nodeType": "Block",
                            "src": "41700:95:62",
                            "statements": [
                                {
                                    "expression": {
                                        "arguments": [
                                            {
                                                "arguments": [
                                                    {
                                                        "hexValue": "6c6f6728626f6f6c2c75696e742c626f6f6c2c6164647265737329",
                                                        "id": 18242,
                                                        "isConstant": false,
                                                        "isLValue": false,
                                                        "isPure": true,
                                                        "kind": "string",
                                                        "lValueRequested": false,
                                                        "nodeType": "Literal",
                                                        "src": "41744:29:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_stringliteral_4267c7f8f9987b1bc934e31e016f4d182f67ab95e55c5567fbc71b4f01a83f4b",
                                                            "typeString": "literal_string \"log(bool,uint,bool,address)\""
                                                        },
                                                        "value": "log(bool,uint,bool,address)"
                                                    },
                                                    {
                                                        "id": 18243,
                                                        "name": "p0",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 18230,
                                                        "src": "41775:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_bool",
                                                            "typeString": "bool"
                                                        }
                                                    },
                                                    {
                                                        "id": 18244,
                                                        "name": "p1",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 18232,
                                                        "src": "41779:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_uint256",
                                                            "typeString": "uint256"
                                                        }
                                                    },
                                                    {
                                                        "id": 18245,
                                                        "name": "p2",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 18234,
                                                        "src": "41783:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_bool",
                                                            "typeString": "bool"
                                                        }
                                                    },
                                                    {
                                                        "id": 18246,
                                                        "name": "p3",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 18236,
                                                        "src": "41787:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_address",
                                                            "typeString": "address"
                                                        }
                                                    }
                                                ],
                                                "expression": {
                                                    "argumentTypes": [
                                                        {
                                                            "typeIdentifier": "t_stringliteral_4267c7f8f9987b1bc934e31e016f4d182f67ab95e55c5567fbc71b4f01a83f4b",
                                                            "typeString": "literal_string \"log(bool,uint,bool,address)\""
                                                        },
                                                        {
                                                            "typeIdentifier": "t_bool",
                                                            "typeString": "bool"
                                                        },
                                                        {
                                                            "typeIdentifier": "t_uint256",
                                                            "typeString": "uint256"
                                                        },
                                                        {
                                                            "typeIdentifier": "t_bool",
                                                            "typeString": "bool"
                                                        },
                                                        {
                                                            "typeIdentifier": "t_address",
                                                            "typeString": "address"
                                                        }
                                                    ],
                                                    "expression": {
                                                        "id": 18240,
                                                        "name": "abi",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 4294967295,
                                                        "src": "41720:3:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_magic_abi",
                                                            "typeString": "abi"
                                                        }
                                                    },
                                                    "id": 18241,
                                                    "isConstant": false,
                                                    "isLValue": false,
                                                    "isPure": true,
                                                    "lValueRequested": false,
                                                    "memberName": "encodeWithSignature",
                                                    "nodeType": "MemberAccess",
                                                    "src": "41720:23:62",
                                                    "typeDescriptions": {
                                                        "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$",
                                                        "typeString": "function (string memory) pure returns (bytes memory)"
                                                    }
                                                },
                                                "id": 18247,
                                                "isConstant": false,
                                                "isLValue": false,
                                                "isPure": false,
                                                "kind": "functionCall",
                                                "lValueRequested": false,
                                                "names": [],
                                                "nodeType": "FunctionCall",
                                                "src": "41720:70:62",
                                                "tryCall": false,
                                                "typeDescriptions": {
                                                    "typeIdentifier": "t_bytes_memory_ptr",
                                                    "typeString": "bytes memory"
                                                }
                                            }
                                        ],
                                        "expression": {
                                            "argumentTypes": [
                                                {
                                                    "typeIdentifier": "t_bytes_memory_ptr",
                                                    "typeString": "bytes memory"
                                                }
                                            ],
                                            "id": 18239,
                                            "name": "_sendLogPayload",
                                            "nodeType": "Identifier",
                                            "overloadedDeclarations": [],
                                            "referencedDeclaration": 12880,
                                            "src": "41704:15:62",
                                            "typeDescriptions": {
                                                "typeIdentifier": "t_function_internal_view$_t_bytes_memory_ptr_$returns$__$",
                                                "typeString": "function (bytes memory) view"
                                            }
                                        },
                                        "id": 18248,
                                        "isConstant": false,
                                        "isLValue": false,
                                        "isPure": false,
                                        "kind": "functionCall",
                                        "lValueRequested": false,
                                        "names": [],
                                        "nodeType": "FunctionCall",
                                        "src": "41704:87:62",
                                        "tryCall": false,
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_tuple$__$",
                                            "typeString": "tuple()"
                                        }
                                    },
                                    "id": 18249,
                                    "nodeType": "ExpressionStatement",
                                    "src": "41704:87:62"
                                }
                            ]
                        },
                        "id": 18251,
                        "implemented": true,
                        "kind": "function",
                        "modifiers": [],
                        "name": "log",
                        "nameLocation": "41643:3:62",
                        "nodeType": "FunctionDefinition",
                        "parameters": {
                            "id": 18237,
                            "nodeType": "ParameterList",
                            "parameters": [
                                {
                                    "constant": false,
                                    "id": 18230,
                                    "mutability": "mutable",
                                    "name": "p0",
                                    "nameLocation": "41652:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 18251,
                                    "src": "41647:7:62",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_bool",
                                        "typeString": "bool"
                                    },
                                    "typeName": {
                                        "id": 18229,
                                        "name": "bool",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "41647:4:62",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_bool",
                                            "typeString": "bool"
                                        }
                                    },
                                    "visibility": "internal"
                                },
                                {
                                    "constant": false,
                                    "id": 18232,
                                    "mutability": "mutable",
                                    "name": "p1",
                                    "nameLocation": "41661:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 18251,
                                    "src": "41656:7:62",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_uint256",
                                        "typeString": "uint256"
                                    },
                                    "typeName": {
                                        "id": 18231,
                                        "name": "uint",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "41656:4:62",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_uint256",
                                            "typeString": "uint256"
                                        }
                                    },
                                    "visibility": "internal"
                                },
                                {
                                    "constant": false,
                                    "id": 18234,
                                    "mutability": "mutable",
                                    "name": "p2",
                                    "nameLocation": "41670:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 18251,
                                    "src": "41665:7:62",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_bool",
                                        "typeString": "bool"
                                    },
                                    "typeName": {
                                        "id": 18233,
                                        "name": "bool",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "41665:4:62",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_bool",
                                            "typeString": "bool"
                                        }
                                    },
                                    "visibility": "internal"
                                },
                                {
                                    "constant": false,
                                    "id": 18236,
                                    "mutability": "mutable",
                                    "name": "p3",
                                    "nameLocation": "41682:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 18251,
                                    "src": "41674:10:62",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_address",
                                        "typeString": "address"
                                    },
                                    "typeName": {
                                        "id": 18235,
                                        "name": "address",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "41674:7:62",
                                        "stateMutability": "nonpayable",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_address",
                                            "typeString": "address"
                                        }
                                    },
                                    "visibility": "internal"
                                }
                            ],
                            "src": "41646:39:62"
                        },
                        "returnParameters": {
                            "id": 18238,
                            "nodeType": "ParameterList",
                            "parameters": [],
                            "src": "41700:0:62"
                        },
                        "scope": 20920,
                        "src": "41634:161:62",
                        "stateMutability": "view",
                        "virtual": false,
                        "visibility": "internal"
                    },
                    {
                        "body": {
                            "id": 18273,
                            "nodeType": "Block",
                            "src": "41864:95:62",
                            "statements": [
                                {
                                    "expression": {
                                        "arguments": [
                                            {
                                                "arguments": [
                                                    {
                                                        "hexValue": "6c6f6728626f6f6c2c75696e742c616464726573732c75696e7429",
                                                        "id": 18265,
                                                        "isConstant": false,
                                                        "isLValue": false,
                                                        "isPure": true,
                                                        "kind": "string",
                                                        "lValueRequested": false,
                                                        "nodeType": "Literal",
                                                        "src": "41908:29:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_stringliteral_caa5236acb25f4f5a01ec5f570d99d895d397c7e9fd20ed31c9c33fa8a17f26d",
                                                            "typeString": "literal_string \"log(bool,uint,address,uint)\""
                                                        },
                                                        "value": "log(bool,uint,address,uint)"
                                                    },
                                                    {
                                                        "id": 18266,
                                                        "name": "p0",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 18253,
                                                        "src": "41939:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_bool",
                                                            "typeString": "bool"
                                                        }
                                                    },
                                                    {
                                                        "id": 18267,
                                                        "name": "p1",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 18255,
                                                        "src": "41943:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_uint256",
                                                            "typeString": "uint256"
                                                        }
                                                    },
                                                    {
                                                        "id": 18268,
                                                        "name": "p2",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 18257,
                                                        "src": "41947:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_address",
                                                            "typeString": "address"
                                                        }
                                                    },
                                                    {
                                                        "id": 18269,
                                                        "name": "p3",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 18259,
                                                        "src": "41951:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_uint256",
                                                            "typeString": "uint256"
                                                        }
                                                    }
                                                ],
                                                "expression": {
                                                    "argumentTypes": [
                                                        {
                                                            "typeIdentifier": "t_stringliteral_caa5236acb25f4f5a01ec5f570d99d895d397c7e9fd20ed31c9c33fa8a17f26d",
                                                            "typeString": "literal_string \"log(bool,uint,address,uint)\""
                                                        },
                                                        {
                                                            "typeIdentifier": "t_bool",
                                                            "typeString": "bool"
                                                        },
                                                        {
                                                            "typeIdentifier": "t_uint256",
                                                            "typeString": "uint256"
                                                        },
                                                        {
                                                            "typeIdentifier": "t_address",
                                                            "typeString": "address"
                                                        },
                                                        {
                                                            "typeIdentifier": "t_uint256",
                                                            "typeString": "uint256"
                                                        }
                                                    ],
                                                    "expression": {
                                                        "id": 18263,
                                                        "name": "abi",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 4294967295,
                                                        "src": "41884:3:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_magic_abi",
                                                            "typeString": "abi"
                                                        }
                                                    },
                                                    "id": 18264,
                                                    "isConstant": false,
                                                    "isLValue": false,
                                                    "isPure": true,
                                                    "lValueRequested": false,
                                                    "memberName": "encodeWithSignature",
                                                    "nodeType": "MemberAccess",
                                                    "src": "41884:23:62",
                                                    "typeDescriptions": {
                                                        "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$",
                                                        "typeString": "function (string memory) pure returns (bytes memory)"
                                                    }
                                                },
                                                "id": 18270,
                                                "isConstant": false,
                                                "isLValue": false,
                                                "isPure": false,
                                                "kind": "functionCall",
                                                "lValueRequested": false,
                                                "names": [],
                                                "nodeType": "FunctionCall",
                                                "src": "41884:70:62",
                                                "tryCall": false,
                                                "typeDescriptions": {
                                                    "typeIdentifier": "t_bytes_memory_ptr",
                                                    "typeString": "bytes memory"
                                                }
                                            }
                                        ],
                                        "expression": {
                                            "argumentTypes": [
                                                {
                                                    "typeIdentifier": "t_bytes_memory_ptr",
                                                    "typeString": "bytes memory"
                                                }
                                            ],
                                            "id": 18262,
                                            "name": "_sendLogPayload",
                                            "nodeType": "Identifier",
                                            "overloadedDeclarations": [],
                                            "referencedDeclaration": 12880,
                                            "src": "41868:15:62",
                                            "typeDescriptions": {
                                                "typeIdentifier": "t_function_internal_view$_t_bytes_memory_ptr_$returns$__$",
                                                "typeString": "function (bytes memory) view"
                                            }
                                        },
                                        "id": 18271,
                                        "isConstant": false,
                                        "isLValue": false,
                                        "isPure": false,
                                        "kind": "functionCall",
                                        "lValueRequested": false,
                                        "names": [],
                                        "nodeType": "FunctionCall",
                                        "src": "41868:87:62",
                                        "tryCall": false,
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_tuple$__$",
                                            "typeString": "tuple()"
                                        }
                                    },
                                    "id": 18272,
                                    "nodeType": "ExpressionStatement",
                                    "src": "41868:87:62"
                                }
                            ]
                        },
                        "id": 18274,
                        "implemented": true,
                        "kind": "function",
                        "modifiers": [],
                        "name": "log",
                        "nameLocation": "41807:3:62",
                        "nodeType": "FunctionDefinition",
                        "parameters": {
                            "id": 18260,
                            "nodeType": "ParameterList",
                            "parameters": [
                                {
                                    "constant": false,
                                    "id": 18253,
                                    "mutability": "mutable",
                                    "name": "p0",
                                    "nameLocation": "41816:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 18274,
                                    "src": "41811:7:62",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_bool",
                                        "typeString": "bool"
                                    },
                                    "typeName": {
                                        "id": 18252,
                                        "name": "bool",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "41811:4:62",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_bool",
                                            "typeString": "bool"
                                        }
                                    },
                                    "visibility": "internal"
                                },
                                {
                                    "constant": false,
                                    "id": 18255,
                                    "mutability": "mutable",
                                    "name": "p1",
                                    "nameLocation": "41825:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 18274,
                                    "src": "41820:7:62",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_uint256",
                                        "typeString": "uint256"
                                    },
                                    "typeName": {
                                        "id": 18254,
                                        "name": "uint",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "41820:4:62",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_uint256",
                                            "typeString": "uint256"
                                        }
                                    },
                                    "visibility": "internal"
                                },
                                {
                                    "constant": false,
                                    "id": 18257,
                                    "mutability": "mutable",
                                    "name": "p2",
                                    "nameLocation": "41837:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 18274,
                                    "src": "41829:10:62",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_address",
                                        "typeString": "address"
                                    },
                                    "typeName": {
                                        "id": 18256,
                                        "name": "address",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "41829:7:62",
                                        "stateMutability": "nonpayable",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_address",
                                            "typeString": "address"
                                        }
                                    },
                                    "visibility": "internal"
                                },
                                {
                                    "constant": false,
                                    "id": 18259,
                                    "mutability": "mutable",
                                    "name": "p3",
                                    "nameLocation": "41846:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 18274,
                                    "src": "41841:7:62",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_uint256",
                                        "typeString": "uint256"
                                    },
                                    "typeName": {
                                        "id": 18258,
                                        "name": "uint",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "41841:4:62",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_uint256",
                                            "typeString": "uint256"
                                        }
                                    },
                                    "visibility": "internal"
                                }
                            ],
                            "src": "41810:39:62"
                        },
                        "returnParameters": {
                            "id": 18261,
                            "nodeType": "ParameterList",
                            "parameters": [],
                            "src": "41864:0:62"
                        },
                        "scope": 20920,
                        "src": "41798:161:62",
                        "stateMutability": "view",
                        "virtual": false,
                        "visibility": "internal"
                    },
                    {
                        "body": {
                            "id": 18296,
                            "nodeType": "Block",
                            "src": "42037:97:62",
                            "statements": [
                                {
                                    "expression": {
                                        "arguments": [
                                            {
                                                "arguments": [
                                                    {
                                                        "hexValue": "6c6f6728626f6f6c2c75696e742c616464726573732c737472696e6729",
                                                        "id": 18288,
                                                        "isConstant": false,
                                                        "isLValue": false,
                                                        "isPure": true,
                                                        "kind": "string",
                                                        "lValueRequested": false,
                                                        "nodeType": "Literal",
                                                        "src": "42081:31:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_stringliteral_180913415ccbde45e0d2184e3dd2387bed86df0066bd73fcb896bc02a6226689",
                                                            "typeString": "literal_string \"log(bool,uint,address,string)\""
                                                        },
                                                        "value": "log(bool,uint,address,string)"
                                                    },
                                                    {
                                                        "id": 18289,
                                                        "name": "p0",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 18276,
                                                        "src": "42114:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_bool",
                                                            "typeString": "bool"
                                                        }
                                                    },
                                                    {
                                                        "id": 18290,
                                                        "name": "p1",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 18278,
                                                        "src": "42118:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_uint256",
                                                            "typeString": "uint256"
                                                        }
                                                    },
                                                    {
                                                        "id": 18291,
                                                        "name": "p2",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 18280,
                                                        "src": "42122:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_address",
                                                            "typeString": "address"
                                                        }
                                                    },
                                                    {
                                                        "id": 18292,
                                                        "name": "p3",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 18282,
                                                        "src": "42126:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_string_memory_ptr",
                                                            "typeString": "string memory"
                                                        }
                                                    }
                                                ],
                                                "expression": {
                                                    "argumentTypes": [
                                                        {
                                                            "typeIdentifier": "t_stringliteral_180913415ccbde45e0d2184e3dd2387bed86df0066bd73fcb896bc02a6226689",
                                                            "typeString": "literal_string \"log(bool,uint,address,string)\""
                                                        },
                                                        {
                                                            "typeIdentifier": "t_bool",
                                                            "typeString": "bool"
                                                        },
                                                        {
                                                            "typeIdentifier": "t_uint256",
                                                            "typeString": "uint256"
                                                        },
                                                        {
                                                            "typeIdentifier": "t_address",
                                                            "typeString": "address"
                                                        },
                                                        {
                                                            "typeIdentifier": "t_string_memory_ptr",
                                                            "typeString": "string memory"
                                                        }
                                                    ],
                                                    "expression": {
                                                        "id": 18286,
                                                        "name": "abi",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 4294967295,
                                                        "src": "42057:3:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_magic_abi",
                                                            "typeString": "abi"
                                                        }
                                                    },
                                                    "id": 18287,
                                                    "isConstant": false,
                                                    "isLValue": false,
                                                    "isPure": true,
                                                    "lValueRequested": false,
                                                    "memberName": "encodeWithSignature",
                                                    "nodeType": "MemberAccess",
                                                    "src": "42057:23:62",
                                                    "typeDescriptions": {
                                                        "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$",
                                                        "typeString": "function (string memory) pure returns (bytes memory)"
                                                    }
                                                },
                                                "id": 18293,
                                                "isConstant": false,
                                                "isLValue": false,
                                                "isPure": false,
                                                "kind": "functionCall",
                                                "lValueRequested": false,
                                                "names": [],
                                                "nodeType": "FunctionCall",
                                                "src": "42057:72:62",
                                                "tryCall": false,
                                                "typeDescriptions": {
                                                    "typeIdentifier": "t_bytes_memory_ptr",
                                                    "typeString": "bytes memory"
                                                }
                                            }
                                        ],
                                        "expression": {
                                            "argumentTypes": [
                                                {
                                                    "typeIdentifier": "t_bytes_memory_ptr",
                                                    "typeString": "bytes memory"
                                                }
                                            ],
                                            "id": 18285,
                                            "name": "_sendLogPayload",
                                            "nodeType": "Identifier",
                                            "overloadedDeclarations": [],
                                            "referencedDeclaration": 12880,
                                            "src": "42041:15:62",
                                            "typeDescriptions": {
                                                "typeIdentifier": "t_function_internal_view$_t_bytes_memory_ptr_$returns$__$",
                                                "typeString": "function (bytes memory) view"
                                            }
                                        },
                                        "id": 18294,
                                        "isConstant": false,
                                        "isLValue": false,
                                        "isPure": false,
                                        "kind": "functionCall",
                                        "lValueRequested": false,
                                        "names": [],
                                        "nodeType": "FunctionCall",
                                        "src": "42041:89:62",
                                        "tryCall": false,
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_tuple$__$",
                                            "typeString": "tuple()"
                                        }
                                    },
                                    "id": 18295,
                                    "nodeType": "ExpressionStatement",
                                    "src": "42041:89:62"
                                }
                            ]
                        },
                        "id": 18297,
                        "implemented": true,
                        "kind": "function",
                        "modifiers": [],
                        "name": "log",
                        "nameLocation": "41971:3:62",
                        "nodeType": "FunctionDefinition",
                        "parameters": {
                            "id": 18283,
                            "nodeType": "ParameterList",
                            "parameters": [
                                {
                                    "constant": false,
                                    "id": 18276,
                                    "mutability": "mutable",
                                    "name": "p0",
                                    "nameLocation": "41980:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 18297,
                                    "src": "41975:7:62",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_bool",
                                        "typeString": "bool"
                                    },
                                    "typeName": {
                                        "id": 18275,
                                        "name": "bool",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "41975:4:62",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_bool",
                                            "typeString": "bool"
                                        }
                                    },
                                    "visibility": "internal"
                                },
                                {
                                    "constant": false,
                                    "id": 18278,
                                    "mutability": "mutable",
                                    "name": "p1",
                                    "nameLocation": "41989:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 18297,
                                    "src": "41984:7:62",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_uint256",
                                        "typeString": "uint256"
                                    },
                                    "typeName": {
                                        "id": 18277,
                                        "name": "uint",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "41984:4:62",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_uint256",
                                            "typeString": "uint256"
                                        }
                                    },
                                    "visibility": "internal"
                                },
                                {
                                    "constant": false,
                                    "id": 18280,
                                    "mutability": "mutable",
                                    "name": "p2",
                                    "nameLocation": "42001:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 18297,
                                    "src": "41993:10:62",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_address",
                                        "typeString": "address"
                                    },
                                    "typeName": {
                                        "id": 18279,
                                        "name": "address",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "41993:7:62",
                                        "stateMutability": "nonpayable",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_address",
                                            "typeString": "address"
                                        }
                                    },
                                    "visibility": "internal"
                                },
                                {
                                    "constant": false,
                                    "id": 18282,
                                    "mutability": "mutable",
                                    "name": "p3",
                                    "nameLocation": "42019:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 18297,
                                    "src": "42005:16:62",
                                    "stateVariable": false,
                                    "storageLocation": "memory",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_string_memory_ptr",
                                        "typeString": "string"
                                    },
                                    "typeName": {
                                        "id": 18281,
                                        "name": "string",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "42005:6:62",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_string_storage_ptr",
                                            "typeString": "string"
                                        }
                                    },
                                    "visibility": "internal"
                                }
                            ],
                            "src": "41974:48:62"
                        },
                        "returnParameters": {
                            "id": 18284,
                            "nodeType": "ParameterList",
                            "parameters": [],
                            "src": "42037:0:62"
                        },
                        "scope": 20920,
                        "src": "41962:172:62",
                        "stateMutability": "view",
                        "virtual": false,
                        "visibility": "internal"
                    },
                    {
                        "body": {
                            "id": 18319,
                            "nodeType": "Block",
                            "src": "42203:95:62",
                            "statements": [
                                {
                                    "expression": {
                                        "arguments": [
                                            {
                                                "arguments": [
                                                    {
                                                        "hexValue": "6c6f6728626f6f6c2c75696e742c616464726573732c626f6f6c29",
                                                        "id": 18311,
                                                        "isConstant": false,
                                                        "isLValue": false,
                                                        "isPure": true,
                                                        "kind": "string",
                                                        "lValueRequested": false,
                                                        "nodeType": "Literal",
                                                        "src": "42247:29:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_stringliteral_65adf4082cd731bd1252f957eddeecdbdcf11e48975b5ac20d902fcb218153fa",
                                                            "typeString": "literal_string \"log(bool,uint,address,bool)\""
                                                        },
                                                        "value": "log(bool,uint,address,bool)"
                                                    },
                                                    {
                                                        "id": 18312,
                                                        "name": "p0",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 18299,
                                                        "src": "42278:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_bool",
                                                            "typeString": "bool"
                                                        }
                                                    },
                                                    {
                                                        "id": 18313,
                                                        "name": "p1",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 18301,
                                                        "src": "42282:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_uint256",
                                                            "typeString": "uint256"
                                                        }
                                                    },
                                                    {
                                                        "id": 18314,
                                                        "name": "p2",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 18303,
                                                        "src": "42286:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_address",
                                                            "typeString": "address"
                                                        }
                                                    },
                                                    {
                                                        "id": 18315,
                                                        "name": "p3",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 18305,
                                                        "src": "42290:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_bool",
                                                            "typeString": "bool"
                                                        }
                                                    }
                                                ],
                                                "expression": {
                                                    "argumentTypes": [
                                                        {
                                                            "typeIdentifier": "t_stringliteral_65adf4082cd731bd1252f957eddeecdbdcf11e48975b5ac20d902fcb218153fa",
                                                            "typeString": "literal_string \"log(bool,uint,address,bool)\""
                                                        },
                                                        {
                                                            "typeIdentifier": "t_bool",
                                                            "typeString": "bool"
                                                        },
                                                        {
                                                            "typeIdentifier": "t_uint256",
                                                            "typeString": "uint256"
                                                        },
                                                        {
                                                            "typeIdentifier": "t_address",
                                                            "typeString": "address"
                                                        },
                                                        {
                                                            "typeIdentifier": "t_bool",
                                                            "typeString": "bool"
                                                        }
                                                    ],
                                                    "expression": {
                                                        "id": 18309,
                                                        "name": "abi",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 4294967295,
                                                        "src": "42223:3:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_magic_abi",
                                                            "typeString": "abi"
                                                        }
                                                    },
                                                    "id": 18310,
                                                    "isConstant": false,
                                                    "isLValue": false,
                                                    "isPure": true,
                                                    "lValueRequested": false,
                                                    "memberName": "encodeWithSignature",
                                                    "nodeType": "MemberAccess",
                                                    "src": "42223:23:62",
                                                    "typeDescriptions": {
                                                        "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$",
                                                        "typeString": "function (string memory) pure returns (bytes memory)"
                                                    }
                                                },
                                                "id": 18316,
                                                "isConstant": false,
                                                "isLValue": false,
                                                "isPure": false,
                                                "kind": "functionCall",
                                                "lValueRequested": false,
                                                "names": [],
                                                "nodeType": "FunctionCall",
                                                "src": "42223:70:62",
                                                "tryCall": false,
                                                "typeDescriptions": {
                                                    "typeIdentifier": "t_bytes_memory_ptr",
                                                    "typeString": "bytes memory"
                                                }
                                            }
                                        ],
                                        "expression": {
                                            "argumentTypes": [
                                                {
                                                    "typeIdentifier": "t_bytes_memory_ptr",
                                                    "typeString": "bytes memory"
                                                }
                                            ],
                                            "id": 18308,
                                            "name": "_sendLogPayload",
                                            "nodeType": "Identifier",
                                            "overloadedDeclarations": [],
                                            "referencedDeclaration": 12880,
                                            "src": "42207:15:62",
                                            "typeDescriptions": {
                                                "typeIdentifier": "t_function_internal_view$_t_bytes_memory_ptr_$returns$__$",
                                                "typeString": "function (bytes memory) view"
                                            }
                                        },
                                        "id": 18317,
                                        "isConstant": false,
                                        "isLValue": false,
                                        "isPure": false,
                                        "kind": "functionCall",
                                        "lValueRequested": false,
                                        "names": [],
                                        "nodeType": "FunctionCall",
                                        "src": "42207:87:62",
                                        "tryCall": false,
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_tuple$__$",
                                            "typeString": "tuple()"
                                        }
                                    },
                                    "id": 18318,
                                    "nodeType": "ExpressionStatement",
                                    "src": "42207:87:62"
                                }
                            ]
                        },
                        "id": 18320,
                        "implemented": true,
                        "kind": "function",
                        "modifiers": [],
                        "name": "log",
                        "nameLocation": "42146:3:62",
                        "nodeType": "FunctionDefinition",
                        "parameters": {
                            "id": 18306,
                            "nodeType": "ParameterList",
                            "parameters": [
                                {
                                    "constant": false,
                                    "id": 18299,
                                    "mutability": "mutable",
                                    "name": "p0",
                                    "nameLocation": "42155:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 18320,
                                    "src": "42150:7:62",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_bool",
                                        "typeString": "bool"
                                    },
                                    "typeName": {
                                        "id": 18298,
                                        "name": "bool",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "42150:4:62",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_bool",
                                            "typeString": "bool"
                                        }
                                    },
                                    "visibility": "internal"
                                },
                                {
                                    "constant": false,
                                    "id": 18301,
                                    "mutability": "mutable",
                                    "name": "p1",
                                    "nameLocation": "42164:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 18320,
                                    "src": "42159:7:62",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_uint256",
                                        "typeString": "uint256"
                                    },
                                    "typeName": {
                                        "id": 18300,
                                        "name": "uint",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "42159:4:62",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_uint256",
                                            "typeString": "uint256"
                                        }
                                    },
                                    "visibility": "internal"
                                },
                                {
                                    "constant": false,
                                    "id": 18303,
                                    "mutability": "mutable",
                                    "name": "p2",
                                    "nameLocation": "42176:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 18320,
                                    "src": "42168:10:62",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_address",
                                        "typeString": "address"
                                    },
                                    "typeName": {
                                        "id": 18302,
                                        "name": "address",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "42168:7:62",
                                        "stateMutability": "nonpayable",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_address",
                                            "typeString": "address"
                                        }
                                    },
                                    "visibility": "internal"
                                },
                                {
                                    "constant": false,
                                    "id": 18305,
                                    "mutability": "mutable",
                                    "name": "p3",
                                    "nameLocation": "42185:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 18320,
                                    "src": "42180:7:62",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_bool",
                                        "typeString": "bool"
                                    },
                                    "typeName": {
                                        "id": 18304,
                                        "name": "bool",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "42180:4:62",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_bool",
                                            "typeString": "bool"
                                        }
                                    },
                                    "visibility": "internal"
                                }
                            ],
                            "src": "42149:39:62"
                        },
                        "returnParameters": {
                            "id": 18307,
                            "nodeType": "ParameterList",
                            "parameters": [],
                            "src": "42203:0:62"
                        },
                        "scope": 20920,
                        "src": "42137:161:62",
                        "stateMutability": "view",
                        "virtual": false,
                        "visibility": "internal"
                    },
                    {
                        "body": {
                            "id": 18342,
                            "nodeType": "Block",
                            "src": "42370:98:62",
                            "statements": [
                                {
                                    "expression": {
                                        "arguments": [
                                            {
                                                "arguments": [
                                                    {
                                                        "hexValue": "6c6f6728626f6f6c2c75696e742c616464726573732c6164647265737329",
                                                        "id": 18334,
                                                        "isConstant": false,
                                                        "isLValue": false,
                                                        "isPure": true,
                                                        "kind": "string",
                                                        "lValueRequested": false,
                                                        "nodeType": "Literal",
                                                        "src": "42414:32:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_stringliteral_8a2f90aa07fc9781ea213028ce9aef0a44d6a31a77e2f4d54d97a0d808348d5d",
                                                            "typeString": "literal_string \"log(bool,uint,address,address)\""
                                                        },
                                                        "value": "log(bool,uint,address,address)"
                                                    },
                                                    {
                                                        "id": 18335,
                                                        "name": "p0",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 18322,
                                                        "src": "42448:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_bool",
                                                            "typeString": "bool"
                                                        }
                                                    },
                                                    {
                                                        "id": 18336,
                                                        "name": "p1",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 18324,
                                                        "src": "42452:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_uint256",
                                                            "typeString": "uint256"
                                                        }
                                                    },
                                                    {
                                                        "id": 18337,
                                                        "name": "p2",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 18326,
                                                        "src": "42456:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_address",
                                                            "typeString": "address"
                                                        }
                                                    },
                                                    {
                                                        "id": 18338,
                                                        "name": "p3",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 18328,
                                                        "src": "42460:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_address",
                                                            "typeString": "address"
                                                        }
                                                    }
                                                ],
                                                "expression": {
                                                    "argumentTypes": [
                                                        {
                                                            "typeIdentifier": "t_stringliteral_8a2f90aa07fc9781ea213028ce9aef0a44d6a31a77e2f4d54d97a0d808348d5d",
                                                            "typeString": "literal_string \"log(bool,uint,address,address)\""
                                                        },
                                                        {
                                                            "typeIdentifier": "t_bool",
                                                            "typeString": "bool"
                                                        },
                                                        {
                                                            "typeIdentifier": "t_uint256",
                                                            "typeString": "uint256"
                                                        },
                                                        {
                                                            "typeIdentifier": "t_address",
                                                            "typeString": "address"
                                                        },
                                                        {
                                                            "typeIdentifier": "t_address",
                                                            "typeString": "address"
                                                        }
                                                    ],
                                                    "expression": {
                                                        "id": 18332,
                                                        "name": "abi",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 4294967295,
                                                        "src": "42390:3:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_magic_abi",
                                                            "typeString": "abi"
                                                        }
                                                    },
                                                    "id": 18333,
                                                    "isConstant": false,
                                                    "isLValue": false,
                                                    "isPure": true,
                                                    "lValueRequested": false,
                                                    "memberName": "encodeWithSignature",
                                                    "nodeType": "MemberAccess",
                                                    "src": "42390:23:62",
                                                    "typeDescriptions": {
                                                        "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$",
                                                        "typeString": "function (string memory) pure returns (bytes memory)"
                                                    }
                                                },
                                                "id": 18339,
                                                "isConstant": false,
                                                "isLValue": false,
                                                "isPure": false,
                                                "kind": "functionCall",
                                                "lValueRequested": false,
                                                "names": [],
                                                "nodeType": "FunctionCall",
                                                "src": "42390:73:62",
                                                "tryCall": false,
                                                "typeDescriptions": {
                                                    "typeIdentifier": "t_bytes_memory_ptr",
                                                    "typeString": "bytes memory"
                                                }
                                            }
                                        ],
                                        "expression": {
                                            "argumentTypes": [
                                                {
                                                    "typeIdentifier": "t_bytes_memory_ptr",
                                                    "typeString": "bytes memory"
                                                }
                                            ],
                                            "id": 18331,
                                            "name": "_sendLogPayload",
                                            "nodeType": "Identifier",
                                            "overloadedDeclarations": [],
                                            "referencedDeclaration": 12880,
                                            "src": "42374:15:62",
                                            "typeDescriptions": {
                                                "typeIdentifier": "t_function_internal_view$_t_bytes_memory_ptr_$returns$__$",
                                                "typeString": "function (bytes memory) view"
                                            }
                                        },
                                        "id": 18340,
                                        "isConstant": false,
                                        "isLValue": false,
                                        "isPure": false,
                                        "kind": "functionCall",
                                        "lValueRequested": false,
                                        "names": [],
                                        "nodeType": "FunctionCall",
                                        "src": "42374:90:62",
                                        "tryCall": false,
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_tuple$__$",
                                            "typeString": "tuple()"
                                        }
                                    },
                                    "id": 18341,
                                    "nodeType": "ExpressionStatement",
                                    "src": "42374:90:62"
                                }
                            ]
                        },
                        "id": 18343,
                        "implemented": true,
                        "kind": "function",
                        "modifiers": [],
                        "name": "log",
                        "nameLocation": "42310:3:62",
                        "nodeType": "FunctionDefinition",
                        "parameters": {
                            "id": 18329,
                            "nodeType": "ParameterList",
                            "parameters": [
                                {
                                    "constant": false,
                                    "id": 18322,
                                    "mutability": "mutable",
                                    "name": "p0",
                                    "nameLocation": "42319:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 18343,
                                    "src": "42314:7:62",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_bool",
                                        "typeString": "bool"
                                    },
                                    "typeName": {
                                        "id": 18321,
                                        "name": "bool",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "42314:4:62",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_bool",
                                            "typeString": "bool"
                                        }
                                    },
                                    "visibility": "internal"
                                },
                                {
                                    "constant": false,
                                    "id": 18324,
                                    "mutability": "mutable",
                                    "name": "p1",
                                    "nameLocation": "42328:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 18343,
                                    "src": "42323:7:62",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_uint256",
                                        "typeString": "uint256"
                                    },
                                    "typeName": {
                                        "id": 18323,
                                        "name": "uint",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "42323:4:62",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_uint256",
                                            "typeString": "uint256"
                                        }
                                    },
                                    "visibility": "internal"
                                },
                                {
                                    "constant": false,
                                    "id": 18326,
                                    "mutability": "mutable",
                                    "name": "p2",
                                    "nameLocation": "42340:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 18343,
                                    "src": "42332:10:62",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_address",
                                        "typeString": "address"
                                    },
                                    "typeName": {
                                        "id": 18325,
                                        "name": "address",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "42332:7:62",
                                        "stateMutability": "nonpayable",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_address",
                                            "typeString": "address"
                                        }
                                    },
                                    "visibility": "internal"
                                },
                                {
                                    "constant": false,
                                    "id": 18328,
                                    "mutability": "mutable",
                                    "name": "p3",
                                    "nameLocation": "42352:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 18343,
                                    "src": "42344:10:62",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_address",
                                        "typeString": "address"
                                    },
                                    "typeName": {
                                        "id": 18327,
                                        "name": "address",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "42344:7:62",
                                        "stateMutability": "nonpayable",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_address",
                                            "typeString": "address"
                                        }
                                    },
                                    "visibility": "internal"
                                }
                            ],
                            "src": "42313:42:62"
                        },
                        "returnParameters": {
                            "id": 18330,
                            "nodeType": "ParameterList",
                            "parameters": [],
                            "src": "42370:0:62"
                        },
                        "scope": 20920,
                        "src": "42301:167:62",
                        "stateMutability": "view",
                        "virtual": false,
                        "visibility": "internal"
                    },
                    {
                        "body": {
                            "id": 18365,
                            "nodeType": "Block",
                            "src": "42543:94:62",
                            "statements": [
                                {
                                    "expression": {
                                        "arguments": [
                                            {
                                                "arguments": [
                                                    {
                                                        "hexValue": "6c6f6728626f6f6c2c737472696e672c75696e742c75696e7429",
                                                        "id": 18357,
                                                        "isConstant": false,
                                                        "isLValue": false,
                                                        "isPure": true,
                                                        "kind": "string",
                                                        "lValueRequested": false,
                                                        "nodeType": "Literal",
                                                        "src": "42587:28:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_stringliteral_8e4ae86e71c7c77322d634e39fba7bc2a7e4fbe918bce10fe47326050a13b7c9",
                                                            "typeString": "literal_string \"log(bool,string,uint,uint)\""
                                                        },
                                                        "value": "log(bool,string,uint,uint)"
                                                    },
                                                    {
                                                        "id": 18358,
                                                        "name": "p0",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 18345,
                                                        "src": "42617:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_bool",
                                                            "typeString": "bool"
                                                        }
                                                    },
                                                    {
                                                        "id": 18359,
                                                        "name": "p1",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 18347,
                                                        "src": "42621:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_string_memory_ptr",
                                                            "typeString": "string memory"
                                                        }
                                                    },
                                                    {
                                                        "id": 18360,
                                                        "name": "p2",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 18349,
                                                        "src": "42625:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_uint256",
                                                            "typeString": "uint256"
                                                        }
                                                    },
                                                    {
                                                        "id": 18361,
                                                        "name": "p3",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 18351,
                                                        "src": "42629:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_uint256",
                                                            "typeString": "uint256"
                                                        }
                                                    }
                                                ],
                                                "expression": {
                                                    "argumentTypes": [
                                                        {
                                                            "typeIdentifier": "t_stringliteral_8e4ae86e71c7c77322d634e39fba7bc2a7e4fbe918bce10fe47326050a13b7c9",
                                                            "typeString": "literal_string \"log(bool,string,uint,uint)\""
                                                        },
                                                        {
                                                            "typeIdentifier": "t_bool",
                                                            "typeString": "bool"
                                                        },
                                                        {
                                                            "typeIdentifier": "t_string_memory_ptr",
                                                            "typeString": "string memory"
                                                        },
                                                        {
                                                            "typeIdentifier": "t_uint256",
                                                            "typeString": "uint256"
                                                        },
                                                        {
                                                            "typeIdentifier": "t_uint256",
                                                            "typeString": "uint256"
                                                        }
                                                    ],
                                                    "expression": {
                                                        "id": 18355,
                                                        "name": "abi",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 4294967295,
                                                        "src": "42563:3:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_magic_abi",
                                                            "typeString": "abi"
                                                        }
                                                    },
                                                    "id": 18356,
                                                    "isConstant": false,
                                                    "isLValue": false,
                                                    "isPure": true,
                                                    "lValueRequested": false,
                                                    "memberName": "encodeWithSignature",
                                                    "nodeType": "MemberAccess",
                                                    "src": "42563:23:62",
                                                    "typeDescriptions": {
                                                        "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$",
                                                        "typeString": "function (string memory) pure returns (bytes memory)"
                                                    }
                                                },
                                                "id": 18362,
                                                "isConstant": false,
                                                "isLValue": false,
                                                "isPure": false,
                                                "kind": "functionCall",
                                                "lValueRequested": false,
                                                "names": [],
                                                "nodeType": "FunctionCall",
                                                "src": "42563:69:62",
                                                "tryCall": false,
                                                "typeDescriptions": {
                                                    "typeIdentifier": "t_bytes_memory_ptr",
                                                    "typeString": "bytes memory"
                                                }
                                            }
                                        ],
                                        "expression": {
                                            "argumentTypes": [
                                                {
                                                    "typeIdentifier": "t_bytes_memory_ptr",
                                                    "typeString": "bytes memory"
                                                }
                                            ],
                                            "id": 18354,
                                            "name": "_sendLogPayload",
                                            "nodeType": "Identifier",
                                            "overloadedDeclarations": [],
                                            "referencedDeclaration": 12880,
                                            "src": "42547:15:62",
                                            "typeDescriptions": {
                                                "typeIdentifier": "t_function_internal_view$_t_bytes_memory_ptr_$returns$__$",
                                                "typeString": "function (bytes memory) view"
                                            }
                                        },
                                        "id": 18363,
                                        "isConstant": false,
                                        "isLValue": false,
                                        "isPure": false,
                                        "kind": "functionCall",
                                        "lValueRequested": false,
                                        "names": [],
                                        "nodeType": "FunctionCall",
                                        "src": "42547:86:62",
                                        "tryCall": false,
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_tuple$__$",
                                            "typeString": "tuple()"
                                        }
                                    },
                                    "id": 18364,
                                    "nodeType": "ExpressionStatement",
                                    "src": "42547:86:62"
                                }
                            ]
                        },
                        "id": 18366,
                        "implemented": true,
                        "kind": "function",
                        "modifiers": [],
                        "name": "log",
                        "nameLocation": "42480:3:62",
                        "nodeType": "FunctionDefinition",
                        "parameters": {
                            "id": 18352,
                            "nodeType": "ParameterList",
                            "parameters": [
                                {
                                    "constant": false,
                                    "id": 18345,
                                    "mutability": "mutable",
                                    "name": "p0",
                                    "nameLocation": "42489:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 18366,
                                    "src": "42484:7:62",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_bool",
                                        "typeString": "bool"
                                    },
                                    "typeName": {
                                        "id": 18344,
                                        "name": "bool",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "42484:4:62",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_bool",
                                            "typeString": "bool"
                                        }
                                    },
                                    "visibility": "internal"
                                },
                                {
                                    "constant": false,
                                    "id": 18347,
                                    "mutability": "mutable",
                                    "name": "p1",
                                    "nameLocation": "42507:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 18366,
                                    "src": "42493:16:62",
                                    "stateVariable": false,
                                    "storageLocation": "memory",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_string_memory_ptr",
                                        "typeString": "string"
                                    },
                                    "typeName": {
                                        "id": 18346,
                                        "name": "string",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "42493:6:62",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_string_storage_ptr",
                                            "typeString": "string"
                                        }
                                    },
                                    "visibility": "internal"
                                },
                                {
                                    "constant": false,
                                    "id": 18349,
                                    "mutability": "mutable",
                                    "name": "p2",
                                    "nameLocation": "42516:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 18366,
                                    "src": "42511:7:62",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_uint256",
                                        "typeString": "uint256"
                                    },
                                    "typeName": {
                                        "id": 18348,
                                        "name": "uint",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "42511:4:62",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_uint256",
                                            "typeString": "uint256"
                                        }
                                    },
                                    "visibility": "internal"
                                },
                                {
                                    "constant": false,
                                    "id": 18351,
                                    "mutability": "mutable",
                                    "name": "p3",
                                    "nameLocation": "42525:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 18366,
                                    "src": "42520:7:62",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_uint256",
                                        "typeString": "uint256"
                                    },
                                    "typeName": {
                                        "id": 18350,
                                        "name": "uint",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "42520:4:62",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_uint256",
                                            "typeString": "uint256"
                                        }
                                    },
                                    "visibility": "internal"
                                }
                            ],
                            "src": "42483:45:62"
                        },
                        "returnParameters": {
                            "id": 18353,
                            "nodeType": "ParameterList",
                            "parameters": [],
                            "src": "42543:0:62"
                        },
                        "scope": 20920,
                        "src": "42471:166:62",
                        "stateMutability": "view",
                        "virtual": false,
                        "visibility": "internal"
                    },
                    {
                        "body": {
                            "id": 18388,
                            "nodeType": "Block",
                            "src": "42721:96:62",
                            "statements": [
                                {
                                    "expression": {
                                        "arguments": [
                                            {
                                                "arguments": [
                                                    {
                                                        "hexValue": "6c6f6728626f6f6c2c737472696e672c75696e742c737472696e6729",
                                                        "id": 18380,
                                                        "isConstant": false,
                                                        "isLValue": false,
                                                        "isPure": true,
                                                        "kind": "string",
                                                        "lValueRequested": false,
                                                        "nodeType": "Literal",
                                                        "src": "42765:30:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_stringliteral_77a1abed9f9fbc44023408083dd5c1cf42b0b566799470c6ab535b12d0f8f649",
                                                            "typeString": "literal_string \"log(bool,string,uint,string)\""
                                                        },
                                                        "value": "log(bool,string,uint,string)"
                                                    },
                                                    {
                                                        "id": 18381,
                                                        "name": "p0",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 18368,
                                                        "src": "42797:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_bool",
                                                            "typeString": "bool"
                                                        }
                                                    },
                                                    {
                                                        "id": 18382,
                                                        "name": "p1",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 18370,
                                                        "src": "42801:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_string_memory_ptr",
                                                            "typeString": "string memory"
                                                        }
                                                    },
                                                    {
                                                        "id": 18383,
                                                        "name": "p2",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 18372,
                                                        "src": "42805:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_uint256",
                                                            "typeString": "uint256"
                                                        }
                                                    },
                                                    {
                                                        "id": 18384,
                                                        "name": "p3",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 18374,
                                                        "src": "42809:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_string_memory_ptr",
                                                            "typeString": "string memory"
                                                        }
                                                    }
                                                ],
                                                "expression": {
                                                    "argumentTypes": [
                                                        {
                                                            "typeIdentifier": "t_stringliteral_77a1abed9f9fbc44023408083dd5c1cf42b0b566799470c6ab535b12d0f8f649",
                                                            "typeString": "literal_string \"log(bool,string,uint,string)\""
                                                        },
                                                        {
                                                            "typeIdentifier": "t_bool",
                                                            "typeString": "bool"
                                                        },
                                                        {
                                                            "typeIdentifier": "t_string_memory_ptr",
                                                            "typeString": "string memory"
                                                        },
                                                        {
                                                            "typeIdentifier": "t_uint256",
                                                            "typeString": "uint256"
                                                        },
                                                        {
                                                            "typeIdentifier": "t_string_memory_ptr",
                                                            "typeString": "string memory"
                                                        }
                                                    ],
                                                    "expression": {
                                                        "id": 18378,
                                                        "name": "abi",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 4294967295,
                                                        "src": "42741:3:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_magic_abi",
                                                            "typeString": "abi"
                                                        }
                                                    },
                                                    "id": 18379,
                                                    "isConstant": false,
                                                    "isLValue": false,
                                                    "isPure": true,
                                                    "lValueRequested": false,
                                                    "memberName": "encodeWithSignature",
                                                    "nodeType": "MemberAccess",
                                                    "src": "42741:23:62",
                                                    "typeDescriptions": {
                                                        "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$",
                                                        "typeString": "function (string memory) pure returns (bytes memory)"
                                                    }
                                                },
                                                "id": 18385,
                                                "isConstant": false,
                                                "isLValue": false,
                                                "isPure": false,
                                                "kind": "functionCall",
                                                "lValueRequested": false,
                                                "names": [],
                                                "nodeType": "FunctionCall",
                                                "src": "42741:71:62",
                                                "tryCall": false,
                                                "typeDescriptions": {
                                                    "typeIdentifier": "t_bytes_memory_ptr",
                                                    "typeString": "bytes memory"
                                                }
                                            }
                                        ],
                                        "expression": {
                                            "argumentTypes": [
                                                {
                                                    "typeIdentifier": "t_bytes_memory_ptr",
                                                    "typeString": "bytes memory"
                                                }
                                            ],
                                            "id": 18377,
                                            "name": "_sendLogPayload",
                                            "nodeType": "Identifier",
                                            "overloadedDeclarations": [],
                                            "referencedDeclaration": 12880,
                                            "src": "42725:15:62",
                                            "typeDescriptions": {
                                                "typeIdentifier": "t_function_internal_view$_t_bytes_memory_ptr_$returns$__$",
                                                "typeString": "function (bytes memory) view"
                                            }
                                        },
                                        "id": 18386,
                                        "isConstant": false,
                                        "isLValue": false,
                                        "isPure": false,
                                        "kind": "functionCall",
                                        "lValueRequested": false,
                                        "names": [],
                                        "nodeType": "FunctionCall",
                                        "src": "42725:88:62",
                                        "tryCall": false,
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_tuple$__$",
                                            "typeString": "tuple()"
                                        }
                                    },
                                    "id": 18387,
                                    "nodeType": "ExpressionStatement",
                                    "src": "42725:88:62"
                                }
                            ]
                        },
                        "id": 18389,
                        "implemented": true,
                        "kind": "function",
                        "modifiers": [],
                        "name": "log",
                        "nameLocation": "42649:3:62",
                        "nodeType": "FunctionDefinition",
                        "parameters": {
                            "id": 18375,
                            "nodeType": "ParameterList",
                            "parameters": [
                                {
                                    "constant": false,
                                    "id": 18368,
                                    "mutability": "mutable",
                                    "name": "p0",
                                    "nameLocation": "42658:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 18389,
                                    "src": "42653:7:62",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_bool",
                                        "typeString": "bool"
                                    },
                                    "typeName": {
                                        "id": 18367,
                                        "name": "bool",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "42653:4:62",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_bool",
                                            "typeString": "bool"
                                        }
                                    },
                                    "visibility": "internal"
                                },
                                {
                                    "constant": false,
                                    "id": 18370,
                                    "mutability": "mutable",
                                    "name": "p1",
                                    "nameLocation": "42676:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 18389,
                                    "src": "42662:16:62",
                                    "stateVariable": false,
                                    "storageLocation": "memory",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_string_memory_ptr",
                                        "typeString": "string"
                                    },
                                    "typeName": {
                                        "id": 18369,
                                        "name": "string",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "42662:6:62",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_string_storage_ptr",
                                            "typeString": "string"
                                        }
                                    },
                                    "visibility": "internal"
                                },
                                {
                                    "constant": false,
                                    "id": 18372,
                                    "mutability": "mutable",
                                    "name": "p2",
                                    "nameLocation": "42685:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 18389,
                                    "src": "42680:7:62",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_uint256",
                                        "typeString": "uint256"
                                    },
                                    "typeName": {
                                        "id": 18371,
                                        "name": "uint",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "42680:4:62",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_uint256",
                                            "typeString": "uint256"
                                        }
                                    },
                                    "visibility": "internal"
                                },
                                {
                                    "constant": false,
                                    "id": 18374,
                                    "mutability": "mutable",
                                    "name": "p3",
                                    "nameLocation": "42703:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 18389,
                                    "src": "42689:16:62",
                                    "stateVariable": false,
                                    "storageLocation": "memory",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_string_memory_ptr",
                                        "typeString": "string"
                                    },
                                    "typeName": {
                                        "id": 18373,
                                        "name": "string",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "42689:6:62",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_string_storage_ptr",
                                            "typeString": "string"
                                        }
                                    },
                                    "visibility": "internal"
                                }
                            ],
                            "src": "42652:54:62"
                        },
                        "returnParameters": {
                            "id": 18376,
                            "nodeType": "ParameterList",
                            "parameters": [],
                            "src": "42721:0:62"
                        },
                        "scope": 20920,
                        "src": "42640:177:62",
                        "stateMutability": "view",
                        "virtual": false,
                        "visibility": "internal"
                    },
                    {
                        "body": {
                            "id": 18411,
                            "nodeType": "Block",
                            "src": "42892:94:62",
                            "statements": [
                                {
                                    "expression": {
                                        "arguments": [
                                            {
                                                "arguments": [
                                                    {
                                                        "hexValue": "6c6f6728626f6f6c2c737472696e672c75696e742c626f6f6c29",
                                                        "id": 18403,
                                                        "isConstant": false,
                                                        "isLValue": false,
                                                        "isPure": true,
                                                        "kind": "string",
                                                        "lValueRequested": false,
                                                        "nodeType": "Literal",
                                                        "src": "42936:28:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_stringliteral_20bbc9af7c6bae926ffd73678c9130310d497610a5c76e6e2ae48edff96f38a8",
                                                            "typeString": "literal_string \"log(bool,string,uint,bool)\""
                                                        },
                                                        "value": "log(bool,string,uint,bool)"
                                                    },
                                                    {
                                                        "id": 18404,
                                                        "name": "p0",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 18391,
                                                        "src": "42966:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_bool",
                                                            "typeString": "bool"
                                                        }
                                                    },
                                                    {
                                                        "id": 18405,
                                                        "name": "p1",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 18393,
                                                        "src": "42970:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_string_memory_ptr",
                                                            "typeString": "string memory"
                                                        }
                                                    },
                                                    {
                                                        "id": 18406,
                                                        "name": "p2",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 18395,
                                                        "src": "42974:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_uint256",
                                                            "typeString": "uint256"
                                                        }
                                                    },
                                                    {
                                                        "id": 18407,
                                                        "name": "p3",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 18397,
                                                        "src": "42978:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_bool",
                                                            "typeString": "bool"
                                                        }
                                                    }
                                                ],
                                                "expression": {
                                                    "argumentTypes": [
                                                        {
                                                            "typeIdentifier": "t_stringliteral_20bbc9af7c6bae926ffd73678c9130310d497610a5c76e6e2ae48edff96f38a8",
                                                            "typeString": "literal_string \"log(bool,string,uint,bool)\""
                                                        },
                                                        {
                                                            "typeIdentifier": "t_bool",
                                                            "typeString": "bool"
                                                        },
                                                        {
                                                            "typeIdentifier": "t_string_memory_ptr",
                                                            "typeString": "string memory"
                                                        },
                                                        {
                                                            "typeIdentifier": "t_uint256",
                                                            "typeString": "uint256"
                                                        },
                                                        {
                                                            "typeIdentifier": "t_bool",
                                                            "typeString": "bool"
                                                        }
                                                    ],
                                                    "expression": {
                                                        "id": 18401,
                                                        "name": "abi",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 4294967295,
                                                        "src": "42912:3:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_magic_abi",
                                                            "typeString": "abi"
                                                        }
                                                    },
                                                    "id": 18402,
                                                    "isConstant": false,
                                                    "isLValue": false,
                                                    "isPure": true,
                                                    "lValueRequested": false,
                                                    "memberName": "encodeWithSignature",
                                                    "nodeType": "MemberAccess",
                                                    "src": "42912:23:62",
                                                    "typeDescriptions": {
                                                        "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$",
                                                        "typeString": "function (string memory) pure returns (bytes memory)"
                                                    }
                                                },
                                                "id": 18408,
                                                "isConstant": false,
                                                "isLValue": false,
                                                "isPure": false,
                                                "kind": "functionCall",
                                                "lValueRequested": false,
                                                "names": [],
                                                "nodeType": "FunctionCall",
                                                "src": "42912:69:62",
                                                "tryCall": false,
                                                "typeDescriptions": {
                                                    "typeIdentifier": "t_bytes_memory_ptr",
                                                    "typeString": "bytes memory"
                                                }
                                            }
                                        ],
                                        "expression": {
                                            "argumentTypes": [
                                                {
                                                    "typeIdentifier": "t_bytes_memory_ptr",
                                                    "typeString": "bytes memory"
                                                }
                                            ],
                                            "id": 18400,
                                            "name": "_sendLogPayload",
                                            "nodeType": "Identifier",
                                            "overloadedDeclarations": [],
                                            "referencedDeclaration": 12880,
                                            "src": "42896:15:62",
                                            "typeDescriptions": {
                                                "typeIdentifier": "t_function_internal_view$_t_bytes_memory_ptr_$returns$__$",
                                                "typeString": "function (bytes memory) view"
                                            }
                                        },
                                        "id": 18409,
                                        "isConstant": false,
                                        "isLValue": false,
                                        "isPure": false,
                                        "kind": "functionCall",
                                        "lValueRequested": false,
                                        "names": [],
                                        "nodeType": "FunctionCall",
                                        "src": "42896:86:62",
                                        "tryCall": false,
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_tuple$__$",
                                            "typeString": "tuple()"
                                        }
                                    },
                                    "id": 18410,
                                    "nodeType": "ExpressionStatement",
                                    "src": "42896:86:62"
                                }
                            ]
                        },
                        "id": 18412,
                        "implemented": true,
                        "kind": "function",
                        "modifiers": [],
                        "name": "log",
                        "nameLocation": "42829:3:62",
                        "nodeType": "FunctionDefinition",
                        "parameters": {
                            "id": 18398,
                            "nodeType": "ParameterList",
                            "parameters": [
                                {
                                    "constant": false,
                                    "id": 18391,
                                    "mutability": "mutable",
                                    "name": "p0",
                                    "nameLocation": "42838:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 18412,
                                    "src": "42833:7:62",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_bool",
                                        "typeString": "bool"
                                    },
                                    "typeName": {
                                        "id": 18390,
                                        "name": "bool",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "42833:4:62",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_bool",
                                            "typeString": "bool"
                                        }
                                    },
                                    "visibility": "internal"
                                },
                                {
                                    "constant": false,
                                    "id": 18393,
                                    "mutability": "mutable",
                                    "name": "p1",
                                    "nameLocation": "42856:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 18412,
                                    "src": "42842:16:62",
                                    "stateVariable": false,
                                    "storageLocation": "memory",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_string_memory_ptr",
                                        "typeString": "string"
                                    },
                                    "typeName": {
                                        "id": 18392,
                                        "name": "string",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "42842:6:62",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_string_storage_ptr",
                                            "typeString": "string"
                                        }
                                    },
                                    "visibility": "internal"
                                },
                                {
                                    "constant": false,
                                    "id": 18395,
                                    "mutability": "mutable",
                                    "name": "p2",
                                    "nameLocation": "42865:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 18412,
                                    "src": "42860:7:62",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_uint256",
                                        "typeString": "uint256"
                                    },
                                    "typeName": {
                                        "id": 18394,
                                        "name": "uint",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "42860:4:62",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_uint256",
                                            "typeString": "uint256"
                                        }
                                    },
                                    "visibility": "internal"
                                },
                                {
                                    "constant": false,
                                    "id": 18397,
                                    "mutability": "mutable",
                                    "name": "p3",
                                    "nameLocation": "42874:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 18412,
                                    "src": "42869:7:62",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_bool",
                                        "typeString": "bool"
                                    },
                                    "typeName": {
                                        "id": 18396,
                                        "name": "bool",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "42869:4:62",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_bool",
                                            "typeString": "bool"
                                        }
                                    },
                                    "visibility": "internal"
                                }
                            ],
                            "src": "42832:45:62"
                        },
                        "returnParameters": {
                            "id": 18399,
                            "nodeType": "ParameterList",
                            "parameters": [],
                            "src": "42892:0:62"
                        },
                        "scope": 20920,
                        "src": "42820:166:62",
                        "stateMutability": "view",
                        "virtual": false,
                        "visibility": "internal"
                    },
                    {
                        "body": {
                            "id": 18434,
                            "nodeType": "Block",
                            "src": "43064:97:62",
                            "statements": [
                                {
                                    "expression": {
                                        "arguments": [
                                            {
                                                "arguments": [
                                                    {
                                                        "hexValue": "6c6f6728626f6f6c2c737472696e672c75696e742c6164647265737329",
                                                        "id": 18426,
                                                        "isConstant": false,
                                                        "isLValue": false,
                                                        "isPure": true,
                                                        "kind": "string",
                                                        "lValueRequested": false,
                                                        "nodeType": "Literal",
                                                        "src": "43108:31:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_stringliteral_5b22b938264abfc98de8ea025ac5bd87df03cbffd23b96cdfe194e0ef6fb136a",
                                                            "typeString": "literal_string \"log(bool,string,uint,address)\""
                                                        },
                                                        "value": "log(bool,string,uint,address)"
                                                    },
                                                    {
                                                        "id": 18427,
                                                        "name": "p0",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 18414,
                                                        "src": "43141:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_bool",
                                                            "typeString": "bool"
                                                        }
                                                    },
                                                    {
                                                        "id": 18428,
                                                        "name": "p1",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 18416,
                                                        "src": "43145:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_string_memory_ptr",
                                                            "typeString": "string memory"
                                                        }
                                                    },
                                                    {
                                                        "id": 18429,
                                                        "name": "p2",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 18418,
                                                        "src": "43149:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_uint256",
                                                            "typeString": "uint256"
                                                        }
                                                    },
                                                    {
                                                        "id": 18430,
                                                        "name": "p3",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 18420,
                                                        "src": "43153:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_address",
                                                            "typeString": "address"
                                                        }
                                                    }
                                                ],
                                                "expression": {
                                                    "argumentTypes": [
                                                        {
                                                            "typeIdentifier": "t_stringliteral_5b22b938264abfc98de8ea025ac5bd87df03cbffd23b96cdfe194e0ef6fb136a",
                                                            "typeString": "literal_string \"log(bool,string,uint,address)\""
                                                        },
                                                        {
                                                            "typeIdentifier": "t_bool",
                                                            "typeString": "bool"
                                                        },
                                                        {
                                                            "typeIdentifier": "t_string_memory_ptr",
                                                            "typeString": "string memory"
                                                        },
                                                        {
                                                            "typeIdentifier": "t_uint256",
                                                            "typeString": "uint256"
                                                        },
                                                        {
                                                            "typeIdentifier": "t_address",
                                                            "typeString": "address"
                                                        }
                                                    ],
                                                    "expression": {
                                                        "id": 18424,
                                                        "name": "abi",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 4294967295,
                                                        "src": "43084:3:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_magic_abi",
                                                            "typeString": "abi"
                                                        }
                                                    },
                                                    "id": 18425,
                                                    "isConstant": false,
                                                    "isLValue": false,
                                                    "isPure": true,
                                                    "lValueRequested": false,
                                                    "memberName": "encodeWithSignature",
                                                    "nodeType": "MemberAccess",
                                                    "src": "43084:23:62",
                                                    "typeDescriptions": {
                                                        "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$",
                                                        "typeString": "function (string memory) pure returns (bytes memory)"
                                                    }
                                                },
                                                "id": 18431,
                                                "isConstant": false,
                                                "isLValue": false,
                                                "isPure": false,
                                                "kind": "functionCall",
                                                "lValueRequested": false,
                                                "names": [],
                                                "nodeType": "FunctionCall",
                                                "src": "43084:72:62",
                                                "tryCall": false,
                                                "typeDescriptions": {
                                                    "typeIdentifier": "t_bytes_memory_ptr",
                                                    "typeString": "bytes memory"
                                                }
                                            }
                                        ],
                                        "expression": {
                                            "argumentTypes": [
                                                {
                                                    "typeIdentifier": "t_bytes_memory_ptr",
                                                    "typeString": "bytes memory"
                                                }
                                            ],
                                            "id": 18423,
                                            "name": "_sendLogPayload",
                                            "nodeType": "Identifier",
                                            "overloadedDeclarations": [],
                                            "referencedDeclaration": 12880,
                                            "src": "43068:15:62",
                                            "typeDescriptions": {
                                                "typeIdentifier": "t_function_internal_view$_t_bytes_memory_ptr_$returns$__$",
                                                "typeString": "function (bytes memory) view"
                                            }
                                        },
                                        "id": 18432,
                                        "isConstant": false,
                                        "isLValue": false,
                                        "isPure": false,
                                        "kind": "functionCall",
                                        "lValueRequested": false,
                                        "names": [],
                                        "nodeType": "FunctionCall",
                                        "src": "43068:89:62",
                                        "tryCall": false,
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_tuple$__$",
                                            "typeString": "tuple()"
                                        }
                                    },
                                    "id": 18433,
                                    "nodeType": "ExpressionStatement",
                                    "src": "43068:89:62"
                                }
                            ]
                        },
                        "id": 18435,
                        "implemented": true,
                        "kind": "function",
                        "modifiers": [],
                        "name": "log",
                        "nameLocation": "42998:3:62",
                        "nodeType": "FunctionDefinition",
                        "parameters": {
                            "id": 18421,
                            "nodeType": "ParameterList",
                            "parameters": [
                                {
                                    "constant": false,
                                    "id": 18414,
                                    "mutability": "mutable",
                                    "name": "p0",
                                    "nameLocation": "43007:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 18435,
                                    "src": "43002:7:62",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_bool",
                                        "typeString": "bool"
                                    },
                                    "typeName": {
                                        "id": 18413,
                                        "name": "bool",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "43002:4:62",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_bool",
                                            "typeString": "bool"
                                        }
                                    },
                                    "visibility": "internal"
                                },
                                {
                                    "constant": false,
                                    "id": 18416,
                                    "mutability": "mutable",
                                    "name": "p1",
                                    "nameLocation": "43025:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 18435,
                                    "src": "43011:16:62",
                                    "stateVariable": false,
                                    "storageLocation": "memory",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_string_memory_ptr",
                                        "typeString": "string"
                                    },
                                    "typeName": {
                                        "id": 18415,
                                        "name": "string",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "43011:6:62",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_string_storage_ptr",
                                            "typeString": "string"
                                        }
                                    },
                                    "visibility": "internal"
                                },
                                {
                                    "constant": false,
                                    "id": 18418,
                                    "mutability": "mutable",
                                    "name": "p2",
                                    "nameLocation": "43034:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 18435,
                                    "src": "43029:7:62",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_uint256",
                                        "typeString": "uint256"
                                    },
                                    "typeName": {
                                        "id": 18417,
                                        "name": "uint",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "43029:4:62",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_uint256",
                                            "typeString": "uint256"
                                        }
                                    },
                                    "visibility": "internal"
                                },
                                {
                                    "constant": false,
                                    "id": 18420,
                                    "mutability": "mutable",
                                    "name": "p3",
                                    "nameLocation": "43046:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 18435,
                                    "src": "43038:10:62",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_address",
                                        "typeString": "address"
                                    },
                                    "typeName": {
                                        "id": 18419,
                                        "name": "address",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "43038:7:62",
                                        "stateMutability": "nonpayable",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_address",
                                            "typeString": "address"
                                        }
                                    },
                                    "visibility": "internal"
                                }
                            ],
                            "src": "43001:48:62"
                        },
                        "returnParameters": {
                            "id": 18422,
                            "nodeType": "ParameterList",
                            "parameters": [],
                            "src": "43064:0:62"
                        },
                        "scope": 20920,
                        "src": "42989:172:62",
                        "stateMutability": "view",
                        "virtual": false,
                        "visibility": "internal"
                    },
                    {
                        "body": {
                            "id": 18457,
                            "nodeType": "Block",
                            "src": "43245:96:62",
                            "statements": [
                                {
                                    "expression": {
                                        "arguments": [
                                            {
                                                "arguments": [
                                                    {
                                                        "hexValue": "6c6f6728626f6f6c2c737472696e672c737472696e672c75696e7429",
                                                        "id": 18449,
                                                        "isConstant": false,
                                                        "isLValue": false,
                                                        "isPure": true,
                                                        "kind": "string",
                                                        "lValueRequested": false,
                                                        "nodeType": "Literal",
                                                        "src": "43289:30:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_stringliteral_5ddb259214a75c0fc75757e8e19b1cf1c4ec17a5eef635b4715f04b86884d5df",
                                                            "typeString": "literal_string \"log(bool,string,string,uint)\""
                                                        },
                                                        "value": "log(bool,string,string,uint)"
                                                    },
                                                    {
                                                        "id": 18450,
                                                        "name": "p0",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 18437,
                                                        "src": "43321:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_bool",
                                                            "typeString": "bool"
                                                        }
                                                    },
                                                    {
                                                        "id": 18451,
                                                        "name": "p1",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 18439,
                                                        "src": "43325:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_string_memory_ptr",
                                                            "typeString": "string memory"
                                                        }
                                                    },
                                                    {
                                                        "id": 18452,
                                                        "name": "p2",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 18441,
                                                        "src": "43329:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_string_memory_ptr",
                                                            "typeString": "string memory"
                                                        }
                                                    },
                                                    {
                                                        "id": 18453,
                                                        "name": "p3",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 18443,
                                                        "src": "43333:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_uint256",
                                                            "typeString": "uint256"
                                                        }
                                                    }
                                                ],
                                                "expression": {
                                                    "argumentTypes": [
                                                        {
                                                            "typeIdentifier": "t_stringliteral_5ddb259214a75c0fc75757e8e19b1cf1c4ec17a5eef635b4715f04b86884d5df",
                                                            "typeString": "literal_string \"log(bool,string,string,uint)\""
                                                        },
                                                        {
                                                            "typeIdentifier": "t_bool",
                                                            "typeString": "bool"
                                                        },
                                                        {
                                                            "typeIdentifier": "t_string_memory_ptr",
                                                            "typeString": "string memory"
                                                        },
                                                        {
                                                            "typeIdentifier": "t_string_memory_ptr",
                                                            "typeString": "string memory"
                                                        },
                                                        {
                                                            "typeIdentifier": "t_uint256",
                                                            "typeString": "uint256"
                                                        }
                                                    ],
                                                    "expression": {
                                                        "id": 18447,
                                                        "name": "abi",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 4294967295,
                                                        "src": "43265:3:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_magic_abi",
                                                            "typeString": "abi"
                                                        }
                                                    },
                                                    "id": 18448,
                                                    "isConstant": false,
                                                    "isLValue": false,
                                                    "isPure": true,
                                                    "lValueRequested": false,
                                                    "memberName": "encodeWithSignature",
                                                    "nodeType": "MemberAccess",
                                                    "src": "43265:23:62",
                                                    "typeDescriptions": {
                                                        "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$",
                                                        "typeString": "function (string memory) pure returns (bytes memory)"
                                                    }
                                                },
                                                "id": 18454,
                                                "isConstant": false,
                                                "isLValue": false,
                                                "isPure": false,
                                                "kind": "functionCall",
                                                "lValueRequested": false,
                                                "names": [],
                                                "nodeType": "FunctionCall",
                                                "src": "43265:71:62",
                                                "tryCall": false,
                                                "typeDescriptions": {
                                                    "typeIdentifier": "t_bytes_memory_ptr",
                                                    "typeString": "bytes memory"
                                                }
                                            }
                                        ],
                                        "expression": {
                                            "argumentTypes": [
                                                {
                                                    "typeIdentifier": "t_bytes_memory_ptr",
                                                    "typeString": "bytes memory"
                                                }
                                            ],
                                            "id": 18446,
                                            "name": "_sendLogPayload",
                                            "nodeType": "Identifier",
                                            "overloadedDeclarations": [],
                                            "referencedDeclaration": 12880,
                                            "src": "43249:15:62",
                                            "typeDescriptions": {
                                                "typeIdentifier": "t_function_internal_view$_t_bytes_memory_ptr_$returns$__$",
                                                "typeString": "function (bytes memory) view"
                                            }
                                        },
                                        "id": 18455,
                                        "isConstant": false,
                                        "isLValue": false,
                                        "isPure": false,
                                        "kind": "functionCall",
                                        "lValueRequested": false,
                                        "names": [],
                                        "nodeType": "FunctionCall",
                                        "src": "43249:88:62",
                                        "tryCall": false,
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_tuple$__$",
                                            "typeString": "tuple()"
                                        }
                                    },
                                    "id": 18456,
                                    "nodeType": "ExpressionStatement",
                                    "src": "43249:88:62"
                                }
                            ]
                        },
                        "id": 18458,
                        "implemented": true,
                        "kind": "function",
                        "modifiers": [],
                        "name": "log",
                        "nameLocation": "43173:3:62",
                        "nodeType": "FunctionDefinition",
                        "parameters": {
                            "id": 18444,
                            "nodeType": "ParameterList",
                            "parameters": [
                                {
                                    "constant": false,
                                    "id": 18437,
                                    "mutability": "mutable",
                                    "name": "p0",
                                    "nameLocation": "43182:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 18458,
                                    "src": "43177:7:62",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_bool",
                                        "typeString": "bool"
                                    },
                                    "typeName": {
                                        "id": 18436,
                                        "name": "bool",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "43177:4:62",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_bool",
                                            "typeString": "bool"
                                        }
                                    },
                                    "visibility": "internal"
                                },
                                {
                                    "constant": false,
                                    "id": 18439,
                                    "mutability": "mutable",
                                    "name": "p1",
                                    "nameLocation": "43200:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 18458,
                                    "src": "43186:16:62",
                                    "stateVariable": false,
                                    "storageLocation": "memory",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_string_memory_ptr",
                                        "typeString": "string"
                                    },
                                    "typeName": {
                                        "id": 18438,
                                        "name": "string",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "43186:6:62",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_string_storage_ptr",
                                            "typeString": "string"
                                        }
                                    },
                                    "visibility": "internal"
                                },
                                {
                                    "constant": false,
                                    "id": 18441,
                                    "mutability": "mutable",
                                    "name": "p2",
                                    "nameLocation": "43218:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 18458,
                                    "src": "43204:16:62",
                                    "stateVariable": false,
                                    "storageLocation": "memory",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_string_memory_ptr",
                                        "typeString": "string"
                                    },
                                    "typeName": {
                                        "id": 18440,
                                        "name": "string",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "43204:6:62",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_string_storage_ptr",
                                            "typeString": "string"
                                        }
                                    },
                                    "visibility": "internal"
                                },
                                {
                                    "constant": false,
                                    "id": 18443,
                                    "mutability": "mutable",
                                    "name": "p3",
                                    "nameLocation": "43227:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 18458,
                                    "src": "43222:7:62",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_uint256",
                                        "typeString": "uint256"
                                    },
                                    "typeName": {
                                        "id": 18442,
                                        "name": "uint",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "43222:4:62",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_uint256",
                                            "typeString": "uint256"
                                        }
                                    },
                                    "visibility": "internal"
                                }
                            ],
                            "src": "43176:54:62"
                        },
                        "returnParameters": {
                            "id": 18445,
                            "nodeType": "ParameterList",
                            "parameters": [],
                            "src": "43245:0:62"
                        },
                        "scope": 20920,
                        "src": "43164:177:62",
                        "stateMutability": "view",
                        "virtual": false,
                        "visibility": "internal"
                    },
                    {
                        "body": {
                            "id": 18480,
                            "nodeType": "Block",
                            "src": "43434:98:62",
                            "statements": [
                                {
                                    "expression": {
                                        "arguments": [
                                            {
                                                "arguments": [
                                                    {
                                                        "hexValue": "6c6f6728626f6f6c2c737472696e672c737472696e672c737472696e6729",
                                                        "id": 18472,
                                                        "isConstant": false,
                                                        "isLValue": false,
                                                        "isPure": true,
                                                        "kind": "string",
                                                        "lValueRequested": false,
                                                        "nodeType": "Literal",
                                                        "src": "43478:32:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_stringliteral_1762e32af9fa924f818d8f4a6c92011d30129df73749081e0b95feea819a17c9",
                                                            "typeString": "literal_string \"log(bool,string,string,string)\""
                                                        },
                                                        "value": "log(bool,string,string,string)"
                                                    },
                                                    {
                                                        "id": 18473,
                                                        "name": "p0",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 18460,
                                                        "src": "43512:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_bool",
                                                            "typeString": "bool"
                                                        }
                                                    },
                                                    {
                                                        "id": 18474,
                                                        "name": "p1",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 18462,
                                                        "src": "43516:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_string_memory_ptr",
                                                            "typeString": "string memory"
                                                        }
                                                    },
                                                    {
                                                        "id": 18475,
                                                        "name": "p2",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 18464,
                                                        "src": "43520:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_string_memory_ptr",
                                                            "typeString": "string memory"
                                                        }
                                                    },
                                                    {
                                                        "id": 18476,
                                                        "name": "p3",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 18466,
                                                        "src": "43524:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_string_memory_ptr",
                                                            "typeString": "string memory"
                                                        }
                                                    }
                                                ],
                                                "expression": {
                                                    "argumentTypes": [
                                                        {
                                                            "typeIdentifier": "t_stringliteral_1762e32af9fa924f818d8f4a6c92011d30129df73749081e0b95feea819a17c9",
                                                            "typeString": "literal_string \"log(bool,string,string,string)\""
                                                        },
                                                        {
                                                            "typeIdentifier": "t_bool",
                                                            "typeString": "bool"
                                                        },
                                                        {
                                                            "typeIdentifier": "t_string_memory_ptr",
                                                            "typeString": "string memory"
                                                        },
                                                        {
                                                            "typeIdentifier": "t_string_memory_ptr",
                                                            "typeString": "string memory"
                                                        },
                                                        {
                                                            "typeIdentifier": "t_string_memory_ptr",
                                                            "typeString": "string memory"
                                                        }
                                                    ],
                                                    "expression": {
                                                        "id": 18470,
                                                        "name": "abi",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 4294967295,
                                                        "src": "43454:3:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_magic_abi",
                                                            "typeString": "abi"
                                                        }
                                                    },
                                                    "id": 18471,
                                                    "isConstant": false,
                                                    "isLValue": false,
                                                    "isPure": true,
                                                    "lValueRequested": false,
                                                    "memberName": "encodeWithSignature",
                                                    "nodeType": "MemberAccess",
                                                    "src": "43454:23:62",
                                                    "typeDescriptions": {
                                                        "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$",
                                                        "typeString": "function (string memory) pure returns (bytes memory)"
                                                    }
                                                },
                                                "id": 18477,
                                                "isConstant": false,
                                                "isLValue": false,
                                                "isPure": false,
                                                "kind": "functionCall",
                                                "lValueRequested": false,
                                                "names": [],
                                                "nodeType": "FunctionCall",
                                                "src": "43454:73:62",
                                                "tryCall": false,
                                                "typeDescriptions": {
                                                    "typeIdentifier": "t_bytes_memory_ptr",
                                                    "typeString": "bytes memory"
                                                }
                                            }
                                        ],
                                        "expression": {
                                            "argumentTypes": [
                                                {
                                                    "typeIdentifier": "t_bytes_memory_ptr",
                                                    "typeString": "bytes memory"
                                                }
                                            ],
                                            "id": 18469,
                                            "name": "_sendLogPayload",
                                            "nodeType": "Identifier",
                                            "overloadedDeclarations": [],
                                            "referencedDeclaration": 12880,
                                            "src": "43438:15:62",
                                            "typeDescriptions": {
                                                "typeIdentifier": "t_function_internal_view$_t_bytes_memory_ptr_$returns$__$",
                                                "typeString": "function (bytes memory) view"
                                            }
                                        },
                                        "id": 18478,
                                        "isConstant": false,
                                        "isLValue": false,
                                        "isPure": false,
                                        "kind": "functionCall",
                                        "lValueRequested": false,
                                        "names": [],
                                        "nodeType": "FunctionCall",
                                        "src": "43438:90:62",
                                        "tryCall": false,
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_tuple$__$",
                                            "typeString": "tuple()"
                                        }
                                    },
                                    "id": 18479,
                                    "nodeType": "ExpressionStatement",
                                    "src": "43438:90:62"
                                }
                            ]
                        },
                        "id": 18481,
                        "implemented": true,
                        "kind": "function",
                        "modifiers": [],
                        "name": "log",
                        "nameLocation": "43353:3:62",
                        "nodeType": "FunctionDefinition",
                        "parameters": {
                            "id": 18467,
                            "nodeType": "ParameterList",
                            "parameters": [
                                {
                                    "constant": false,
                                    "id": 18460,
                                    "mutability": "mutable",
                                    "name": "p0",
                                    "nameLocation": "43362:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 18481,
                                    "src": "43357:7:62",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_bool",
                                        "typeString": "bool"
                                    },
                                    "typeName": {
                                        "id": 18459,
                                        "name": "bool",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "43357:4:62",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_bool",
                                            "typeString": "bool"
                                        }
                                    },
                                    "visibility": "internal"
                                },
                                {
                                    "constant": false,
                                    "id": 18462,
                                    "mutability": "mutable",
                                    "name": "p1",
                                    "nameLocation": "43380:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 18481,
                                    "src": "43366:16:62",
                                    "stateVariable": false,
                                    "storageLocation": "memory",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_string_memory_ptr",
                                        "typeString": "string"
                                    },
                                    "typeName": {
                                        "id": 18461,
                                        "name": "string",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "43366:6:62",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_string_storage_ptr",
                                            "typeString": "string"
                                        }
                                    },
                                    "visibility": "internal"
                                },
                                {
                                    "constant": false,
                                    "id": 18464,
                                    "mutability": "mutable",
                                    "name": "p2",
                                    "nameLocation": "43398:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 18481,
                                    "src": "43384:16:62",
                                    "stateVariable": false,
                                    "storageLocation": "memory",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_string_memory_ptr",
                                        "typeString": "string"
                                    },
                                    "typeName": {
                                        "id": 18463,
                                        "name": "string",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "43384:6:62",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_string_storage_ptr",
                                            "typeString": "string"
                                        }
                                    },
                                    "visibility": "internal"
                                },
                                {
                                    "constant": false,
                                    "id": 18466,
                                    "mutability": "mutable",
                                    "name": "p3",
                                    "nameLocation": "43416:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 18481,
                                    "src": "43402:16:62",
                                    "stateVariable": false,
                                    "storageLocation": "memory",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_string_memory_ptr",
                                        "typeString": "string"
                                    },
                                    "typeName": {
                                        "id": 18465,
                                        "name": "string",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "43402:6:62",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_string_storage_ptr",
                                            "typeString": "string"
                                        }
                                    },
                                    "visibility": "internal"
                                }
                            ],
                            "src": "43356:63:62"
                        },
                        "returnParameters": {
                            "id": 18468,
                            "nodeType": "ParameterList",
                            "parameters": [],
                            "src": "43434:0:62"
                        },
                        "scope": 20920,
                        "src": "43344:188:62",
                        "stateMutability": "view",
                        "virtual": false,
                        "visibility": "internal"
                    },
                    {
                        "body": {
                            "id": 18503,
                            "nodeType": "Block",
                            "src": "43616:96:62",
                            "statements": [
                                {
                                    "expression": {
                                        "arguments": [
                                            {
                                                "arguments": [
                                                    {
                                                        "hexValue": "6c6f6728626f6f6c2c737472696e672c737472696e672c626f6f6c29",
                                                        "id": 18495,
                                                        "isConstant": false,
                                                        "isLValue": false,
                                                        "isPure": true,
                                                        "kind": "string",
                                                        "lValueRequested": false,
                                                        "nodeType": "Literal",
                                                        "src": "43660:30:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_stringliteral_1e4b87e52d13efc5b368defba0463e423637ec55125c6230945d005f817198d1",
                                                            "typeString": "literal_string \"log(bool,string,string,bool)\""
                                                        },
                                                        "value": "log(bool,string,string,bool)"
                                                    },
                                                    {
                                                        "id": 18496,
                                                        "name": "p0",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 18483,
                                                        "src": "43692:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_bool",
                                                            "typeString": "bool"
                                                        }
                                                    },
                                                    {
                                                        "id": 18497,
                                                        "name": "p1",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 18485,
                                                        "src": "43696:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_string_memory_ptr",
                                                            "typeString": "string memory"
                                                        }
                                                    },
                                                    {
                                                        "id": 18498,
                                                        "name": "p2",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 18487,
                                                        "src": "43700:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_string_memory_ptr",
                                                            "typeString": "string memory"
                                                        }
                                                    },
                                                    {
                                                        "id": 18499,
                                                        "name": "p3",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 18489,
                                                        "src": "43704:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_bool",
                                                            "typeString": "bool"
                                                        }
                                                    }
                                                ],
                                                "expression": {
                                                    "argumentTypes": [
                                                        {
                                                            "typeIdentifier": "t_stringliteral_1e4b87e52d13efc5b368defba0463e423637ec55125c6230945d005f817198d1",
                                                            "typeString": "literal_string \"log(bool,string,string,bool)\""
                                                        },
                                                        {
                                                            "typeIdentifier": "t_bool",
                                                            "typeString": "bool"
                                                        },
                                                        {
                                                            "typeIdentifier": "t_string_memory_ptr",
                                                            "typeString": "string memory"
                                                        },
                                                        {
                                                            "typeIdentifier": "t_string_memory_ptr",
                                                            "typeString": "string memory"
                                                        },
                                                        {
                                                            "typeIdentifier": "t_bool",
                                                            "typeString": "bool"
                                                        }
                                                    ],
                                                    "expression": {
                                                        "id": 18493,
                                                        "name": "abi",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 4294967295,
                                                        "src": "43636:3:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_magic_abi",
                                                            "typeString": "abi"
                                                        }
                                                    },
                                                    "id": 18494,
                                                    "isConstant": false,
                                                    "isLValue": false,
                                                    "isPure": true,
                                                    "lValueRequested": false,
                                                    "memberName": "encodeWithSignature",
                                                    "nodeType": "MemberAccess",
                                                    "src": "43636:23:62",
                                                    "typeDescriptions": {
                                                        "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$",
                                                        "typeString": "function (string memory) pure returns (bytes memory)"
                                                    }
                                                },
                                                "id": 18500,
                                                "isConstant": false,
                                                "isLValue": false,
                                                "isPure": false,
                                                "kind": "functionCall",
                                                "lValueRequested": false,
                                                "names": [],
                                                "nodeType": "FunctionCall",
                                                "src": "43636:71:62",
                                                "tryCall": false,
                                                "typeDescriptions": {
                                                    "typeIdentifier": "t_bytes_memory_ptr",
                                                    "typeString": "bytes memory"
                                                }
                                            }
                                        ],
                                        "expression": {
                                            "argumentTypes": [
                                                {
                                                    "typeIdentifier": "t_bytes_memory_ptr",
                                                    "typeString": "bytes memory"
                                                }
                                            ],
                                            "id": 18492,
                                            "name": "_sendLogPayload",
                                            "nodeType": "Identifier",
                                            "overloadedDeclarations": [],
                                            "referencedDeclaration": 12880,
                                            "src": "43620:15:62",
                                            "typeDescriptions": {
                                                "typeIdentifier": "t_function_internal_view$_t_bytes_memory_ptr_$returns$__$",
                                                "typeString": "function (bytes memory) view"
                                            }
                                        },
                                        "id": 18501,
                                        "isConstant": false,
                                        "isLValue": false,
                                        "isPure": false,
                                        "kind": "functionCall",
                                        "lValueRequested": false,
                                        "names": [],
                                        "nodeType": "FunctionCall",
                                        "src": "43620:88:62",
                                        "tryCall": false,
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_tuple$__$",
                                            "typeString": "tuple()"
                                        }
                                    },
                                    "id": 18502,
                                    "nodeType": "ExpressionStatement",
                                    "src": "43620:88:62"
                                }
                            ]
                        },
                        "id": 18504,
                        "implemented": true,
                        "kind": "function",
                        "modifiers": [],
                        "name": "log",
                        "nameLocation": "43544:3:62",
                        "nodeType": "FunctionDefinition",
                        "parameters": {
                            "id": 18490,
                            "nodeType": "ParameterList",
                            "parameters": [
                                {
                                    "constant": false,
                                    "id": 18483,
                                    "mutability": "mutable",
                                    "name": "p0",
                                    "nameLocation": "43553:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 18504,
                                    "src": "43548:7:62",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_bool",
                                        "typeString": "bool"
                                    },
                                    "typeName": {
                                        "id": 18482,
                                        "name": "bool",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "43548:4:62",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_bool",
                                            "typeString": "bool"
                                        }
                                    },
                                    "visibility": "internal"
                                },
                                {
                                    "constant": false,
                                    "id": 18485,
                                    "mutability": "mutable",
                                    "name": "p1",
                                    "nameLocation": "43571:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 18504,
                                    "src": "43557:16:62",
                                    "stateVariable": false,
                                    "storageLocation": "memory",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_string_memory_ptr",
                                        "typeString": "string"
                                    },
                                    "typeName": {
                                        "id": 18484,
                                        "name": "string",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "43557:6:62",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_string_storage_ptr",
                                            "typeString": "string"
                                        }
                                    },
                                    "visibility": "internal"
                                },
                                {
                                    "constant": false,
                                    "id": 18487,
                                    "mutability": "mutable",
                                    "name": "p2",
                                    "nameLocation": "43589:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 18504,
                                    "src": "43575:16:62",
                                    "stateVariable": false,
                                    "storageLocation": "memory",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_string_memory_ptr",
                                        "typeString": "string"
                                    },
                                    "typeName": {
                                        "id": 18486,
                                        "name": "string",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "43575:6:62",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_string_storage_ptr",
                                            "typeString": "string"
                                        }
                                    },
                                    "visibility": "internal"
                                },
                                {
                                    "constant": false,
                                    "id": 18489,
                                    "mutability": "mutable",
                                    "name": "p3",
                                    "nameLocation": "43598:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 18504,
                                    "src": "43593:7:62",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_bool",
                                        "typeString": "bool"
                                    },
                                    "typeName": {
                                        "id": 18488,
                                        "name": "bool",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "43593:4:62",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_bool",
                                            "typeString": "bool"
                                        }
                                    },
                                    "visibility": "internal"
                                }
                            ],
                            "src": "43547:54:62"
                        },
                        "returnParameters": {
                            "id": 18491,
                            "nodeType": "ParameterList",
                            "parameters": [],
                            "src": "43616:0:62"
                        },
                        "scope": 20920,
                        "src": "43535:177:62",
                        "stateMutability": "view",
                        "virtual": false,
                        "visibility": "internal"
                    },
                    {
                        "body": {
                            "id": 18526,
                            "nodeType": "Block",
                            "src": "43799:99:62",
                            "statements": [
                                {
                                    "expression": {
                                        "arguments": [
                                            {
                                                "arguments": [
                                                    {
                                                        "hexValue": "6c6f6728626f6f6c2c737472696e672c737472696e672c6164647265737329",
                                                        "id": 18518,
                                                        "isConstant": false,
                                                        "isLValue": false,
                                                        "isPure": true,
                                                        "kind": "string",
                                                        "lValueRequested": false,
                                                        "nodeType": "Literal",
                                                        "src": "43843:33:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_stringliteral_97d394d89551bd441d1340d1c3dcc3b6160871bf042c6884bcb4049b2fa2bdb5",
                                                            "typeString": "literal_string \"log(bool,string,string,address)\""
                                                        },
                                                        "value": "log(bool,string,string,address)"
                                                    },
                                                    {
                                                        "id": 18519,
                                                        "name": "p0",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 18506,
                                                        "src": "43878:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_bool",
                                                            "typeString": "bool"
                                                        }
                                                    },
                                                    {
                                                        "id": 18520,
                                                        "name": "p1",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 18508,
                                                        "src": "43882:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_string_memory_ptr",
                                                            "typeString": "string memory"
                                                        }
                                                    },
                                                    {
                                                        "id": 18521,
                                                        "name": "p2",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 18510,
                                                        "src": "43886:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_string_memory_ptr",
                                                            "typeString": "string memory"
                                                        }
                                                    },
                                                    {
                                                        "id": 18522,
                                                        "name": "p3",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 18512,
                                                        "src": "43890:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_address",
                                                            "typeString": "address"
                                                        }
                                                    }
                                                ],
                                                "expression": {
                                                    "argumentTypes": [
                                                        {
                                                            "typeIdentifier": "t_stringliteral_97d394d89551bd441d1340d1c3dcc3b6160871bf042c6884bcb4049b2fa2bdb5",
                                                            "typeString": "literal_string \"log(bool,string,string,address)\""
                                                        },
                                                        {
                                                            "typeIdentifier": "t_bool",
                                                            "typeString": "bool"
                                                        },
                                                        {
                                                            "typeIdentifier": "t_string_memory_ptr",
                                                            "typeString": "string memory"
                                                        },
                                                        {
                                                            "typeIdentifier": "t_string_memory_ptr",
                                                            "typeString": "string memory"
                                                        },
                                                        {
                                                            "typeIdentifier": "t_address",
                                                            "typeString": "address"
                                                        }
                                                    ],
                                                    "expression": {
                                                        "id": 18516,
                                                        "name": "abi",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 4294967295,
                                                        "src": "43819:3:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_magic_abi",
                                                            "typeString": "abi"
                                                        }
                                                    },
                                                    "id": 18517,
                                                    "isConstant": false,
                                                    "isLValue": false,
                                                    "isPure": true,
                                                    "lValueRequested": false,
                                                    "memberName": "encodeWithSignature",
                                                    "nodeType": "MemberAccess",
                                                    "src": "43819:23:62",
                                                    "typeDescriptions": {
                                                        "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$",
                                                        "typeString": "function (string memory) pure returns (bytes memory)"
                                                    }
                                                },
                                                "id": 18523,
                                                "isConstant": false,
                                                "isLValue": false,
                                                "isPure": false,
                                                "kind": "functionCall",
                                                "lValueRequested": false,
                                                "names": [],
                                                "nodeType": "FunctionCall",
                                                "src": "43819:74:62",
                                                "tryCall": false,
                                                "typeDescriptions": {
                                                    "typeIdentifier": "t_bytes_memory_ptr",
                                                    "typeString": "bytes memory"
                                                }
                                            }
                                        ],
                                        "expression": {
                                            "argumentTypes": [
                                                {
                                                    "typeIdentifier": "t_bytes_memory_ptr",
                                                    "typeString": "bytes memory"
                                                }
                                            ],
                                            "id": 18515,
                                            "name": "_sendLogPayload",
                                            "nodeType": "Identifier",
                                            "overloadedDeclarations": [],
                                            "referencedDeclaration": 12880,
                                            "src": "43803:15:62",
                                            "typeDescriptions": {
                                                "typeIdentifier": "t_function_internal_view$_t_bytes_memory_ptr_$returns$__$",
                                                "typeString": "function (bytes memory) view"
                                            }
                                        },
                                        "id": 18524,
                                        "isConstant": false,
                                        "isLValue": false,
                                        "isPure": false,
                                        "kind": "functionCall",
                                        "lValueRequested": false,
                                        "names": [],
                                        "nodeType": "FunctionCall",
                                        "src": "43803:91:62",
                                        "tryCall": false,
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_tuple$__$",
                                            "typeString": "tuple()"
                                        }
                                    },
                                    "id": 18525,
                                    "nodeType": "ExpressionStatement",
                                    "src": "43803:91:62"
                                }
                            ]
                        },
                        "id": 18527,
                        "implemented": true,
                        "kind": "function",
                        "modifiers": [],
                        "name": "log",
                        "nameLocation": "43724:3:62",
                        "nodeType": "FunctionDefinition",
                        "parameters": {
                            "id": 18513,
                            "nodeType": "ParameterList",
                            "parameters": [
                                {
                                    "constant": false,
                                    "id": 18506,
                                    "mutability": "mutable",
                                    "name": "p0",
                                    "nameLocation": "43733:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 18527,
                                    "src": "43728:7:62",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_bool",
                                        "typeString": "bool"
                                    },
                                    "typeName": {
                                        "id": 18505,
                                        "name": "bool",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "43728:4:62",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_bool",
                                            "typeString": "bool"
                                        }
                                    },
                                    "visibility": "internal"
                                },
                                {
                                    "constant": false,
                                    "id": 18508,
                                    "mutability": "mutable",
                                    "name": "p1",
                                    "nameLocation": "43751:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 18527,
                                    "src": "43737:16:62",
                                    "stateVariable": false,
                                    "storageLocation": "memory",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_string_memory_ptr",
                                        "typeString": "string"
                                    },
                                    "typeName": {
                                        "id": 18507,
                                        "name": "string",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "43737:6:62",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_string_storage_ptr",
                                            "typeString": "string"
                                        }
                                    },
                                    "visibility": "internal"
                                },
                                {
                                    "constant": false,
                                    "id": 18510,
                                    "mutability": "mutable",
                                    "name": "p2",
                                    "nameLocation": "43769:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 18527,
                                    "src": "43755:16:62",
                                    "stateVariable": false,
                                    "storageLocation": "memory",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_string_memory_ptr",
                                        "typeString": "string"
                                    },
                                    "typeName": {
                                        "id": 18509,
                                        "name": "string",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "43755:6:62",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_string_storage_ptr",
                                            "typeString": "string"
                                        }
                                    },
                                    "visibility": "internal"
                                },
                                {
                                    "constant": false,
                                    "id": 18512,
                                    "mutability": "mutable",
                                    "name": "p3",
                                    "nameLocation": "43781:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 18527,
                                    "src": "43773:10:62",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_address",
                                        "typeString": "address"
                                    },
                                    "typeName": {
                                        "id": 18511,
                                        "name": "address",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "43773:7:62",
                                        "stateMutability": "nonpayable",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_address",
                                            "typeString": "address"
                                        }
                                    },
                                    "visibility": "internal"
                                }
                            ],
                            "src": "43727:57:62"
                        },
                        "returnParameters": {
                            "id": 18514,
                            "nodeType": "ParameterList",
                            "parameters": [],
                            "src": "43799:0:62"
                        },
                        "scope": 20920,
                        "src": "43715:183:62",
                        "stateMutability": "view",
                        "virtual": false,
                        "visibility": "internal"
                    },
                    {
                        "body": {
                            "id": 18549,
                            "nodeType": "Block",
                            "src": "43973:94:62",
                            "statements": [
                                {
                                    "expression": {
                                        "arguments": [
                                            {
                                                "arguments": [
                                                    {
                                                        "hexValue": "6c6f6728626f6f6c2c737472696e672c626f6f6c2c75696e7429",
                                                        "id": 18541,
                                                        "isConstant": false,
                                                        "isLValue": false,
                                                        "isPure": true,
                                                        "kind": "string",
                                                        "lValueRequested": false,
                                                        "nodeType": "Literal",
                                                        "src": "44017:28:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_stringliteral_8d6f9ca539d16169f184b68d5f2cbc34ada538d6737083559aa5a96068582055",
                                                            "typeString": "literal_string \"log(bool,string,bool,uint)\""
                                                        },
                                                        "value": "log(bool,string,bool,uint)"
                                                    },
                                                    {
                                                        "id": 18542,
                                                        "name": "p0",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 18529,
                                                        "src": "44047:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_bool",
                                                            "typeString": "bool"
                                                        }
                                                    },
                                                    {
                                                        "id": 18543,
                                                        "name": "p1",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 18531,
                                                        "src": "44051:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_string_memory_ptr",
                                                            "typeString": "string memory"
                                                        }
                                                    },
                                                    {
                                                        "id": 18544,
                                                        "name": "p2",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 18533,
                                                        "src": "44055:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_bool",
                                                            "typeString": "bool"
                                                        }
                                                    },
                                                    {
                                                        "id": 18545,
                                                        "name": "p3",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 18535,
                                                        "src": "44059:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_uint256",
                                                            "typeString": "uint256"
                                                        }
                                                    }
                                                ],
                                                "expression": {
                                                    "argumentTypes": [
                                                        {
                                                            "typeIdentifier": "t_stringliteral_8d6f9ca539d16169f184b68d5f2cbc34ada538d6737083559aa5a96068582055",
                                                            "typeString": "literal_string \"log(bool,string,bool,uint)\""
                                                        },
                                                        {
                                                            "typeIdentifier": "t_bool",
                                                            "typeString": "bool"
                                                        },
                                                        {
                                                            "typeIdentifier": "t_string_memory_ptr",
                                                            "typeString": "string memory"
                                                        },
                                                        {
                                                            "typeIdentifier": "t_bool",
                                                            "typeString": "bool"
                                                        },
                                                        {
                                                            "typeIdentifier": "t_uint256",
                                                            "typeString": "uint256"
                                                        }
                                                    ],
                                                    "expression": {
                                                        "id": 18539,
                                                        "name": "abi",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 4294967295,
                                                        "src": "43993:3:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_magic_abi",
                                                            "typeString": "abi"
                                                        }
                                                    },
                                                    "id": 18540,
                                                    "isConstant": false,
                                                    "isLValue": false,
                                                    "isPure": true,
                                                    "lValueRequested": false,
                                                    "memberName": "encodeWithSignature",
                                                    "nodeType": "MemberAccess",
                                                    "src": "43993:23:62",
                                                    "typeDescriptions": {
                                                        "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$",
                                                        "typeString": "function (string memory) pure returns (bytes memory)"
                                                    }
                                                },
                                                "id": 18546,
                                                "isConstant": false,
                                                "isLValue": false,
                                                "isPure": false,
                                                "kind": "functionCall",
                                                "lValueRequested": false,
                                                "names": [],
                                                "nodeType": "FunctionCall",
                                                "src": "43993:69:62",
                                                "tryCall": false,
                                                "typeDescriptions": {
                                                    "typeIdentifier": "t_bytes_memory_ptr",
                                                    "typeString": "bytes memory"
                                                }
                                            }
                                        ],
                                        "expression": {
                                            "argumentTypes": [
                                                {
                                                    "typeIdentifier": "t_bytes_memory_ptr",
                                                    "typeString": "bytes memory"
                                                }
                                            ],
                                            "id": 18538,
                                            "name": "_sendLogPayload",
                                            "nodeType": "Identifier",
                                            "overloadedDeclarations": [],
                                            "referencedDeclaration": 12880,
                                            "src": "43977:15:62",
                                            "typeDescriptions": {
                                                "typeIdentifier": "t_function_internal_view$_t_bytes_memory_ptr_$returns$__$",
                                                "typeString": "function (bytes memory) view"
                                            }
                                        },
                                        "id": 18547,
                                        "isConstant": false,
                                        "isLValue": false,
                                        "isPure": false,
                                        "kind": "functionCall",
                                        "lValueRequested": false,
                                        "names": [],
                                        "nodeType": "FunctionCall",
                                        "src": "43977:86:62",
                                        "tryCall": false,
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_tuple$__$",
                                            "typeString": "tuple()"
                                        }
                                    },
                                    "id": 18548,
                                    "nodeType": "ExpressionStatement",
                                    "src": "43977:86:62"
                                }
                            ]
                        },
                        "id": 18550,
                        "implemented": true,
                        "kind": "function",
                        "modifiers": [],
                        "name": "log",
                        "nameLocation": "43910:3:62",
                        "nodeType": "FunctionDefinition",
                        "parameters": {
                            "id": 18536,
                            "nodeType": "ParameterList",
                            "parameters": [
                                {
                                    "constant": false,
                                    "id": 18529,
                                    "mutability": "mutable",
                                    "name": "p0",
                                    "nameLocation": "43919:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 18550,
                                    "src": "43914:7:62",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_bool",
                                        "typeString": "bool"
                                    },
                                    "typeName": {
                                        "id": 18528,
                                        "name": "bool",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "43914:4:62",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_bool",
                                            "typeString": "bool"
                                        }
                                    },
                                    "visibility": "internal"
                                },
                                {
                                    "constant": false,
                                    "id": 18531,
                                    "mutability": "mutable",
                                    "name": "p1",
                                    "nameLocation": "43937:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 18550,
                                    "src": "43923:16:62",
                                    "stateVariable": false,
                                    "storageLocation": "memory",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_string_memory_ptr",
                                        "typeString": "string"
                                    },
                                    "typeName": {
                                        "id": 18530,
                                        "name": "string",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "43923:6:62",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_string_storage_ptr",
                                            "typeString": "string"
                                        }
                                    },
                                    "visibility": "internal"
                                },
                                {
                                    "constant": false,
                                    "id": 18533,
                                    "mutability": "mutable",
                                    "name": "p2",
                                    "nameLocation": "43946:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 18550,
                                    "src": "43941:7:62",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_bool",
                                        "typeString": "bool"
                                    },
                                    "typeName": {
                                        "id": 18532,
                                        "name": "bool",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "43941:4:62",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_bool",
                                            "typeString": "bool"
                                        }
                                    },
                                    "visibility": "internal"
                                },
                                {
                                    "constant": false,
                                    "id": 18535,
                                    "mutability": "mutable",
                                    "name": "p3",
                                    "nameLocation": "43955:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 18550,
                                    "src": "43950:7:62",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_uint256",
                                        "typeString": "uint256"
                                    },
                                    "typeName": {
                                        "id": 18534,
                                        "name": "uint",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "43950:4:62",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_uint256",
                                            "typeString": "uint256"
                                        }
                                    },
                                    "visibility": "internal"
                                }
                            ],
                            "src": "43913:45:62"
                        },
                        "returnParameters": {
                            "id": 18537,
                            "nodeType": "ParameterList",
                            "parameters": [],
                            "src": "43973:0:62"
                        },
                        "scope": 20920,
                        "src": "43901:166:62",
                        "stateMutability": "view",
                        "virtual": false,
                        "visibility": "internal"
                    },
                    {
                        "body": {
                            "id": 18572,
                            "nodeType": "Block",
                            "src": "44151:96:62",
                            "statements": [
                                {
                                    "expression": {
                                        "arguments": [
                                            {
                                                "arguments": [
                                                    {
                                                        "hexValue": "6c6f6728626f6f6c2c737472696e672c626f6f6c2c737472696e6729",
                                                        "id": 18564,
                                                        "isConstant": false,
                                                        "isLValue": false,
                                                        "isPure": true,
                                                        "kind": "string",
                                                        "lValueRequested": false,
                                                        "nodeType": "Literal",
                                                        "src": "44195:30:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_stringliteral_483d0416329d0c81c68975a0cac822497c590c00f8ae8be66af490d0f9215468",
                                                            "typeString": "literal_string \"log(bool,string,bool,string)\""
                                                        },
                                                        "value": "log(bool,string,bool,string)"
                                                    },
                                                    {
                                                        "id": 18565,
                                                        "name": "p0",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 18552,
                                                        "src": "44227:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_bool",
                                                            "typeString": "bool"
                                                        }
                                                    },
                                                    {
                                                        "id": 18566,
                                                        "name": "p1",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 18554,
                                                        "src": "44231:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_string_memory_ptr",
                                                            "typeString": "string memory"
                                                        }
                                                    },
                                                    {
                                                        "id": 18567,
                                                        "name": "p2",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 18556,
                                                        "src": "44235:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_bool",
                                                            "typeString": "bool"
                                                        }
                                                    },
                                                    {
                                                        "id": 18568,
                                                        "name": "p3",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 18558,
                                                        "src": "44239:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_string_memory_ptr",
                                                            "typeString": "string memory"
                                                        }
                                                    }
                                                ],
                                                "expression": {
                                                    "argumentTypes": [
                                                        {
                                                            "typeIdentifier": "t_stringliteral_483d0416329d0c81c68975a0cac822497c590c00f8ae8be66af490d0f9215468",
                                                            "typeString": "literal_string \"log(bool,string,bool,string)\""
                                                        },
                                                        {
                                                            "typeIdentifier": "t_bool",
                                                            "typeString": "bool"
                                                        },
                                                        {
                                                            "typeIdentifier": "t_string_memory_ptr",
                                                            "typeString": "string memory"
                                                        },
                                                        {
                                                            "typeIdentifier": "t_bool",
                                                            "typeString": "bool"
                                                        },
                                                        {
                                                            "typeIdentifier": "t_string_memory_ptr",
                                                            "typeString": "string memory"
                                                        }
                                                    ],
                                                    "expression": {
                                                        "id": 18562,
                                                        "name": "abi",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 4294967295,
                                                        "src": "44171:3:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_magic_abi",
                                                            "typeString": "abi"
                                                        }
                                                    },
                                                    "id": 18563,
                                                    "isConstant": false,
                                                    "isLValue": false,
                                                    "isPure": true,
                                                    "lValueRequested": false,
                                                    "memberName": "encodeWithSignature",
                                                    "nodeType": "MemberAccess",
                                                    "src": "44171:23:62",
                                                    "typeDescriptions": {
                                                        "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$",
                                                        "typeString": "function (string memory) pure returns (bytes memory)"
                                                    }
                                                },
                                                "id": 18569,
                                                "isConstant": false,
                                                "isLValue": false,
                                                "isPure": false,
                                                "kind": "functionCall",
                                                "lValueRequested": false,
                                                "names": [],
                                                "nodeType": "FunctionCall",
                                                "src": "44171:71:62",
                                                "tryCall": false,
                                                "typeDescriptions": {
                                                    "typeIdentifier": "t_bytes_memory_ptr",
                                                    "typeString": "bytes memory"
                                                }
                                            }
                                        ],
                                        "expression": {
                                            "argumentTypes": [
                                                {
                                                    "typeIdentifier": "t_bytes_memory_ptr",
                                                    "typeString": "bytes memory"
                                                }
                                            ],
                                            "id": 18561,
                                            "name": "_sendLogPayload",
                                            "nodeType": "Identifier",
                                            "overloadedDeclarations": [],
                                            "referencedDeclaration": 12880,
                                            "src": "44155:15:62",
                                            "typeDescriptions": {
                                                "typeIdentifier": "t_function_internal_view$_t_bytes_memory_ptr_$returns$__$",
                                                "typeString": "function (bytes memory) view"
                                            }
                                        },
                                        "id": 18570,
                                        "isConstant": false,
                                        "isLValue": false,
                                        "isPure": false,
                                        "kind": "functionCall",
                                        "lValueRequested": false,
                                        "names": [],
                                        "nodeType": "FunctionCall",
                                        "src": "44155:88:62",
                                        "tryCall": false,
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_tuple$__$",
                                            "typeString": "tuple()"
                                        }
                                    },
                                    "id": 18571,
                                    "nodeType": "ExpressionStatement",
                                    "src": "44155:88:62"
                                }
                            ]
                        },
                        "id": 18573,
                        "implemented": true,
                        "kind": "function",
                        "modifiers": [],
                        "name": "log",
                        "nameLocation": "44079:3:62",
                        "nodeType": "FunctionDefinition",
                        "parameters": {
                            "id": 18559,
                            "nodeType": "ParameterList",
                            "parameters": [
                                {
                                    "constant": false,
                                    "id": 18552,
                                    "mutability": "mutable",
                                    "name": "p0",
                                    "nameLocation": "44088:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 18573,
                                    "src": "44083:7:62",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_bool",
                                        "typeString": "bool"
                                    },
                                    "typeName": {
                                        "id": 18551,
                                        "name": "bool",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "44083:4:62",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_bool",
                                            "typeString": "bool"
                                        }
                                    },
                                    "visibility": "internal"
                                },
                                {
                                    "constant": false,
                                    "id": 18554,
                                    "mutability": "mutable",
                                    "name": "p1",
                                    "nameLocation": "44106:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 18573,
                                    "src": "44092:16:62",
                                    "stateVariable": false,
                                    "storageLocation": "memory",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_string_memory_ptr",
                                        "typeString": "string"
                                    },
                                    "typeName": {
                                        "id": 18553,
                                        "name": "string",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "44092:6:62",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_string_storage_ptr",
                                            "typeString": "string"
                                        }
                                    },
                                    "visibility": "internal"
                                },
                                {
                                    "constant": false,
                                    "id": 18556,
                                    "mutability": "mutable",
                                    "name": "p2",
                                    "nameLocation": "44115:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 18573,
                                    "src": "44110:7:62",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_bool",
                                        "typeString": "bool"
                                    },
                                    "typeName": {
                                        "id": 18555,
                                        "name": "bool",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "44110:4:62",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_bool",
                                            "typeString": "bool"
                                        }
                                    },
                                    "visibility": "internal"
                                },
                                {
                                    "constant": false,
                                    "id": 18558,
                                    "mutability": "mutable",
                                    "name": "p3",
                                    "nameLocation": "44133:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 18573,
                                    "src": "44119:16:62",
                                    "stateVariable": false,
                                    "storageLocation": "memory",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_string_memory_ptr",
                                        "typeString": "string"
                                    },
                                    "typeName": {
                                        "id": 18557,
                                        "name": "string",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "44119:6:62",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_string_storage_ptr",
                                            "typeString": "string"
                                        }
                                    },
                                    "visibility": "internal"
                                }
                            ],
                            "src": "44082:54:62"
                        },
                        "returnParameters": {
                            "id": 18560,
                            "nodeType": "ParameterList",
                            "parameters": [],
                            "src": "44151:0:62"
                        },
                        "scope": 20920,
                        "src": "44070:177:62",
                        "stateMutability": "view",
                        "virtual": false,
                        "visibility": "internal"
                    },
                    {
                        "body": {
                            "id": 18595,
                            "nodeType": "Block",
                            "src": "44322:94:62",
                            "statements": [
                                {
                                    "expression": {
                                        "arguments": [
                                            {
                                                "arguments": [
                                                    {
                                                        "hexValue": "6c6f6728626f6f6c2c737472696e672c626f6f6c2c626f6f6c29",
                                                        "id": 18587,
                                                        "isConstant": false,
                                                        "isLValue": false,
                                                        "isPure": true,
                                                        "kind": "string",
                                                        "lValueRequested": false,
                                                        "nodeType": "Literal",
                                                        "src": "44366:28:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_stringliteral_dc5e935b9ccf45ff13b5900aeaf3a593df3e9479fc07e9c213f5fcaa0951e91f",
                                                            "typeString": "literal_string \"log(bool,string,bool,bool)\""
                                                        },
                                                        "value": "log(bool,string,bool,bool)"
                                                    },
                                                    {
                                                        "id": 18588,
                                                        "name": "p0",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 18575,
                                                        "src": "44396:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_bool",
                                                            "typeString": "bool"
                                                        }
                                                    },
                                                    {
                                                        "id": 18589,
                                                        "name": "p1",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 18577,
                                                        "src": "44400:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_string_memory_ptr",
                                                            "typeString": "string memory"
                                                        }
                                                    },
                                                    {
                                                        "id": 18590,
                                                        "name": "p2",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 18579,
                                                        "src": "44404:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_bool",
                                                            "typeString": "bool"
                                                        }
                                                    },
                                                    {
                                                        "id": 18591,
                                                        "name": "p3",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 18581,
                                                        "src": "44408:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_bool",
                                                            "typeString": "bool"
                                                        }
                                                    }
                                                ],
                                                "expression": {
                                                    "argumentTypes": [
                                                        {
                                                            "typeIdentifier": "t_stringliteral_dc5e935b9ccf45ff13b5900aeaf3a593df3e9479fc07e9c213f5fcaa0951e91f",
                                                            "typeString": "literal_string \"log(bool,string,bool,bool)\""
                                                        },
                                                        {
                                                            "typeIdentifier": "t_bool",
                                                            "typeString": "bool"
                                                        },
                                                        {
                                                            "typeIdentifier": "t_string_memory_ptr",
                                                            "typeString": "string memory"
                                                        },
                                                        {
                                                            "typeIdentifier": "t_bool",
                                                            "typeString": "bool"
                                                        },
                                                        {
                                                            "typeIdentifier": "t_bool",
                                                            "typeString": "bool"
                                                        }
                                                    ],
                                                    "expression": {
                                                        "id": 18585,
                                                        "name": "abi",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 4294967295,
                                                        "src": "44342:3:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_magic_abi",
                                                            "typeString": "abi"
                                                        }
                                                    },
                                                    "id": 18586,
                                                    "isConstant": false,
                                                    "isLValue": false,
                                                    "isPure": true,
                                                    "lValueRequested": false,
                                                    "memberName": "encodeWithSignature",
                                                    "nodeType": "MemberAccess",
                                                    "src": "44342:23:62",
                                                    "typeDescriptions": {
                                                        "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$",
                                                        "typeString": "function (string memory) pure returns (bytes memory)"
                                                    }
                                                },
                                                "id": 18592,
                                                "isConstant": false,
                                                "isLValue": false,
                                                "isPure": false,
                                                "kind": "functionCall",
                                                "lValueRequested": false,
                                                "names": [],
                                                "nodeType": "FunctionCall",
                                                "src": "44342:69:62",
                                                "tryCall": false,
                                                "typeDescriptions": {
                                                    "typeIdentifier": "t_bytes_memory_ptr",
                                                    "typeString": "bytes memory"
                                                }
                                            }
                                        ],
                                        "expression": {
                                            "argumentTypes": [
                                                {
                                                    "typeIdentifier": "t_bytes_memory_ptr",
                                                    "typeString": "bytes memory"
                                                }
                                            ],
                                            "id": 18584,
                                            "name": "_sendLogPayload",
                                            "nodeType": "Identifier",
                                            "overloadedDeclarations": [],
                                            "referencedDeclaration": 12880,
                                            "src": "44326:15:62",
                                            "typeDescriptions": {
                                                "typeIdentifier": "t_function_internal_view$_t_bytes_memory_ptr_$returns$__$",
                                                "typeString": "function (bytes memory) view"
                                            }
                                        },
                                        "id": 18593,
                                        "isConstant": false,
                                        "isLValue": false,
                                        "isPure": false,
                                        "kind": "functionCall",
                                        "lValueRequested": false,
                                        "names": [],
                                        "nodeType": "FunctionCall",
                                        "src": "44326:86:62",
                                        "tryCall": false,
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_tuple$__$",
                                            "typeString": "tuple()"
                                        }
                                    },
                                    "id": 18594,
                                    "nodeType": "ExpressionStatement",
                                    "src": "44326:86:62"
                                }
                            ]
                        },
                        "id": 18596,
                        "implemented": true,
                        "kind": "function",
                        "modifiers": [],
                        "name": "log",
                        "nameLocation": "44259:3:62",
                        "nodeType": "FunctionDefinition",
                        "parameters": {
                            "id": 18582,
                            "nodeType": "ParameterList",
                            "parameters": [
                                {
                                    "constant": false,
                                    "id": 18575,
                                    "mutability": "mutable",
                                    "name": "p0",
                                    "nameLocation": "44268:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 18596,
                                    "src": "44263:7:62",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_bool",
                                        "typeString": "bool"
                                    },
                                    "typeName": {
                                        "id": 18574,
                                        "name": "bool",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "44263:4:62",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_bool",
                                            "typeString": "bool"
                                        }
                                    },
                                    "visibility": "internal"
                                },
                                {
                                    "constant": false,
                                    "id": 18577,
                                    "mutability": "mutable",
                                    "name": "p1",
                                    "nameLocation": "44286:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 18596,
                                    "src": "44272:16:62",
                                    "stateVariable": false,
                                    "storageLocation": "memory",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_string_memory_ptr",
                                        "typeString": "string"
                                    },
                                    "typeName": {
                                        "id": 18576,
                                        "name": "string",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "44272:6:62",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_string_storage_ptr",
                                            "typeString": "string"
                                        }
                                    },
                                    "visibility": "internal"
                                },
                                {
                                    "constant": false,
                                    "id": 18579,
                                    "mutability": "mutable",
                                    "name": "p2",
                                    "nameLocation": "44295:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 18596,
                                    "src": "44290:7:62",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_bool",
                                        "typeString": "bool"
                                    },
                                    "typeName": {
                                        "id": 18578,
                                        "name": "bool",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "44290:4:62",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_bool",
                                            "typeString": "bool"
                                        }
                                    },
                                    "visibility": "internal"
                                },
                                {
                                    "constant": false,
                                    "id": 18581,
                                    "mutability": "mutable",
                                    "name": "p3",
                                    "nameLocation": "44304:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 18596,
                                    "src": "44299:7:62",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_bool",
                                        "typeString": "bool"
                                    },
                                    "typeName": {
                                        "id": 18580,
                                        "name": "bool",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "44299:4:62",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_bool",
                                            "typeString": "bool"
                                        }
                                    },
                                    "visibility": "internal"
                                }
                            ],
                            "src": "44262:45:62"
                        },
                        "returnParameters": {
                            "id": 18583,
                            "nodeType": "ParameterList",
                            "parameters": [],
                            "src": "44322:0:62"
                        },
                        "scope": 20920,
                        "src": "44250:166:62",
                        "stateMutability": "view",
                        "virtual": false,
                        "visibility": "internal"
                    },
                    {
                        "body": {
                            "id": 18618,
                            "nodeType": "Block",
                            "src": "44494:97:62",
                            "statements": [
                                {
                                    "expression": {
                                        "arguments": [
                                            {
                                                "arguments": [
                                                    {
                                                        "hexValue": "6c6f6728626f6f6c2c737472696e672c626f6f6c2c6164647265737329",
                                                        "id": 18610,
                                                        "isConstant": false,
                                                        "isLValue": false,
                                                        "isPure": true,
                                                        "kind": "string",
                                                        "lValueRequested": false,
                                                        "nodeType": "Literal",
                                                        "src": "44538:31:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_stringliteral_538e06ab06366b189ea53da7c11628ee5730bc373b0bc64719bea1a2afab03c5",
                                                            "typeString": "literal_string \"log(bool,string,bool,address)\""
                                                        },
                                                        "value": "log(bool,string,bool,address)"
                                                    },
                                                    {
                                                        "id": 18611,
                                                        "name": "p0",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 18598,
                                                        "src": "44571:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_bool",
                                                            "typeString": "bool"
                                                        }
                                                    },
                                                    {
                                                        "id": 18612,
                                                        "name": "p1",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 18600,
                                                        "src": "44575:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_string_memory_ptr",
                                                            "typeString": "string memory"
                                                        }
                                                    },
                                                    {
                                                        "id": 18613,
                                                        "name": "p2",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 18602,
                                                        "src": "44579:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_bool",
                                                            "typeString": "bool"
                                                        }
                                                    },
                                                    {
                                                        "id": 18614,
                                                        "name": "p3",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 18604,
                                                        "src": "44583:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_address",
                                                            "typeString": "address"
                                                        }
                                                    }
                                                ],
                                                "expression": {
                                                    "argumentTypes": [
                                                        {
                                                            "typeIdentifier": "t_stringliteral_538e06ab06366b189ea53da7c11628ee5730bc373b0bc64719bea1a2afab03c5",
                                                            "typeString": "literal_string \"log(bool,string,bool,address)\""
                                                        },
                                                        {
                                                            "typeIdentifier": "t_bool",
                                                            "typeString": "bool"
                                                        },
                                                        {
                                                            "typeIdentifier": "t_string_memory_ptr",
                                                            "typeString": "string memory"
                                                        },
                                                        {
                                                            "typeIdentifier": "t_bool",
                                                            "typeString": "bool"
                                                        },
                                                        {
                                                            "typeIdentifier": "t_address",
                                                            "typeString": "address"
                                                        }
                                                    ],
                                                    "expression": {
                                                        "id": 18608,
                                                        "name": "abi",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 4294967295,
                                                        "src": "44514:3:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_magic_abi",
                                                            "typeString": "abi"
                                                        }
                                                    },
                                                    "id": 18609,
                                                    "isConstant": false,
                                                    "isLValue": false,
                                                    "isPure": true,
                                                    "lValueRequested": false,
                                                    "memberName": "encodeWithSignature",
                                                    "nodeType": "MemberAccess",
                                                    "src": "44514:23:62",
                                                    "typeDescriptions": {
                                                        "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$",
                                                        "typeString": "function (string memory) pure returns (bytes memory)"
                                                    }
                                                },
                                                "id": 18615,
                                                "isConstant": false,
                                                "isLValue": false,
                                                "isPure": false,
                                                "kind": "functionCall",
                                                "lValueRequested": false,
                                                "names": [],
                                                "nodeType": "FunctionCall",
                                                "src": "44514:72:62",
                                                "tryCall": false,
                                                "typeDescriptions": {
                                                    "typeIdentifier": "t_bytes_memory_ptr",
                                                    "typeString": "bytes memory"
                                                }
                                            }
                                        ],
                                        "expression": {
                                            "argumentTypes": [
                                                {
                                                    "typeIdentifier": "t_bytes_memory_ptr",
                                                    "typeString": "bytes memory"
                                                }
                                            ],
                                            "id": 18607,
                                            "name": "_sendLogPayload",
                                            "nodeType": "Identifier",
                                            "overloadedDeclarations": [],
                                            "referencedDeclaration": 12880,
                                            "src": "44498:15:62",
                                            "typeDescriptions": {
                                                "typeIdentifier": "t_function_internal_view$_t_bytes_memory_ptr_$returns$__$",
                                                "typeString": "function (bytes memory) view"
                                            }
                                        },
                                        "id": 18616,
                                        "isConstant": false,
                                        "isLValue": false,
                                        "isPure": false,
                                        "kind": "functionCall",
                                        "lValueRequested": false,
                                        "names": [],
                                        "nodeType": "FunctionCall",
                                        "src": "44498:89:62",
                                        "tryCall": false,
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_tuple$__$",
                                            "typeString": "tuple()"
                                        }
                                    },
                                    "id": 18617,
                                    "nodeType": "ExpressionStatement",
                                    "src": "44498:89:62"
                                }
                            ]
                        },
                        "id": 18619,
                        "implemented": true,
                        "kind": "function",
                        "modifiers": [],
                        "name": "log",
                        "nameLocation": "44428:3:62",
                        "nodeType": "FunctionDefinition",
                        "parameters": {
                            "id": 18605,
                            "nodeType": "ParameterList",
                            "parameters": [
                                {
                                    "constant": false,
                                    "id": 18598,
                                    "mutability": "mutable",
                                    "name": "p0",
                                    "nameLocation": "44437:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 18619,
                                    "src": "44432:7:62",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_bool",
                                        "typeString": "bool"
                                    },
                                    "typeName": {
                                        "id": 18597,
                                        "name": "bool",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "44432:4:62",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_bool",
                                            "typeString": "bool"
                                        }
                                    },
                                    "visibility": "internal"
                                },
                                {
                                    "constant": false,
                                    "id": 18600,
                                    "mutability": "mutable",
                                    "name": "p1",
                                    "nameLocation": "44455:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 18619,
                                    "src": "44441:16:62",
                                    "stateVariable": false,
                                    "storageLocation": "memory",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_string_memory_ptr",
                                        "typeString": "string"
                                    },
                                    "typeName": {
                                        "id": 18599,
                                        "name": "string",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "44441:6:62",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_string_storage_ptr",
                                            "typeString": "string"
                                        }
                                    },
                                    "visibility": "internal"
                                },
                                {
                                    "constant": false,
                                    "id": 18602,
                                    "mutability": "mutable",
                                    "name": "p2",
                                    "nameLocation": "44464:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 18619,
                                    "src": "44459:7:62",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_bool",
                                        "typeString": "bool"
                                    },
                                    "typeName": {
                                        "id": 18601,
                                        "name": "bool",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "44459:4:62",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_bool",
                                            "typeString": "bool"
                                        }
                                    },
                                    "visibility": "internal"
                                },
                                {
                                    "constant": false,
                                    "id": 18604,
                                    "mutability": "mutable",
                                    "name": "p3",
                                    "nameLocation": "44476:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 18619,
                                    "src": "44468:10:62",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_address",
                                        "typeString": "address"
                                    },
                                    "typeName": {
                                        "id": 18603,
                                        "name": "address",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "44468:7:62",
                                        "stateMutability": "nonpayable",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_address",
                                            "typeString": "address"
                                        }
                                    },
                                    "visibility": "internal"
                                }
                            ],
                            "src": "44431:48:62"
                        },
                        "returnParameters": {
                            "id": 18606,
                            "nodeType": "ParameterList",
                            "parameters": [],
                            "src": "44494:0:62"
                        },
                        "scope": 20920,
                        "src": "44419:172:62",
                        "stateMutability": "view",
                        "virtual": false,
                        "visibility": "internal"
                    },
                    {
                        "body": {
                            "id": 18641,
                            "nodeType": "Block",
                            "src": "44669:97:62",
                            "statements": [
                                {
                                    "expression": {
                                        "arguments": [
                                            {
                                                "arguments": [
                                                    {
                                                        "hexValue": "6c6f6728626f6f6c2c737472696e672c616464726573732c75696e7429",
                                                        "id": 18633,
                                                        "isConstant": false,
                                                        "isLValue": false,
                                                        "isPure": true,
                                                        "kind": "string",
                                                        "lValueRequested": false,
                                                        "nodeType": "Literal",
                                                        "src": "44713:31:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_stringliteral_1b0b955b558cd224468bb20ba92b23519cb59fe363a105b00d7a815c1673c4ca",
                                                            "typeString": "literal_string \"log(bool,string,address,uint)\""
                                                        },
                                                        "value": "log(bool,string,address,uint)"
                                                    },
                                                    {
                                                        "id": 18634,
                                                        "name": "p0",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 18621,
                                                        "src": "44746:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_bool",
                                                            "typeString": "bool"
                                                        }
                                                    },
                                                    {
                                                        "id": 18635,
                                                        "name": "p1",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 18623,
                                                        "src": "44750:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_string_memory_ptr",
                                                            "typeString": "string memory"
                                                        }
                                                    },
                                                    {
                                                        "id": 18636,
                                                        "name": "p2",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 18625,
                                                        "src": "44754:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_address",
                                                            "typeString": "address"
                                                        }
                                                    },
                                                    {
                                                        "id": 18637,
                                                        "name": "p3",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 18627,
                                                        "src": "44758:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_uint256",
                                                            "typeString": "uint256"
                                                        }
                                                    }
                                                ],
                                                "expression": {
                                                    "argumentTypes": [
                                                        {
                                                            "typeIdentifier": "t_stringliteral_1b0b955b558cd224468bb20ba92b23519cb59fe363a105b00d7a815c1673c4ca",
                                                            "typeString": "literal_string \"log(bool,string,address,uint)\""
                                                        },
                                                        {
                                                            "typeIdentifier": "t_bool",
                                                            "typeString": "bool"
                                                        },
                                                        {
                                                            "typeIdentifier": "t_string_memory_ptr",
                                                            "typeString": "string memory"
                                                        },
                                                        {
                                                            "typeIdentifier": "t_address",
                                                            "typeString": "address"
                                                        },
                                                        {
                                                            "typeIdentifier": "t_uint256",
                                                            "typeString": "uint256"
                                                        }
                                                    ],
                                                    "expression": {
                                                        "id": 18631,
                                                        "name": "abi",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 4294967295,
                                                        "src": "44689:3:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_magic_abi",
                                                            "typeString": "abi"
                                                        }
                                                    },
                                                    "id": 18632,
                                                    "isConstant": false,
                                                    "isLValue": false,
                                                    "isPure": true,
                                                    "lValueRequested": false,
                                                    "memberName": "encodeWithSignature",
                                                    "nodeType": "MemberAccess",
                                                    "src": "44689:23:62",
                                                    "typeDescriptions": {
                                                        "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$",
                                                        "typeString": "function (string memory) pure returns (bytes memory)"
                                                    }
                                                },
                                                "id": 18638,
                                                "isConstant": false,
                                                "isLValue": false,
                                                "isPure": false,
                                                "kind": "functionCall",
                                                "lValueRequested": false,
                                                "names": [],
                                                "nodeType": "FunctionCall",
                                                "src": "44689:72:62",
                                                "tryCall": false,
                                                "typeDescriptions": {
                                                    "typeIdentifier": "t_bytes_memory_ptr",
                                                    "typeString": "bytes memory"
                                                }
                                            }
                                        ],
                                        "expression": {
                                            "argumentTypes": [
                                                {
                                                    "typeIdentifier": "t_bytes_memory_ptr",
                                                    "typeString": "bytes memory"
                                                }
                                            ],
                                            "id": 18630,
                                            "name": "_sendLogPayload",
                                            "nodeType": "Identifier",
                                            "overloadedDeclarations": [],
                                            "referencedDeclaration": 12880,
                                            "src": "44673:15:62",
                                            "typeDescriptions": {
                                                "typeIdentifier": "t_function_internal_view$_t_bytes_memory_ptr_$returns$__$",
                                                "typeString": "function (bytes memory) view"
                                            }
                                        },
                                        "id": 18639,
                                        "isConstant": false,
                                        "isLValue": false,
                                        "isPure": false,
                                        "kind": "functionCall",
                                        "lValueRequested": false,
                                        "names": [],
                                        "nodeType": "FunctionCall",
                                        "src": "44673:89:62",
                                        "tryCall": false,
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_tuple$__$",
                                            "typeString": "tuple()"
                                        }
                                    },
                                    "id": 18640,
                                    "nodeType": "ExpressionStatement",
                                    "src": "44673:89:62"
                                }
                            ]
                        },
                        "id": 18642,
                        "implemented": true,
                        "kind": "function",
                        "modifiers": [],
                        "name": "log",
                        "nameLocation": "44603:3:62",
                        "nodeType": "FunctionDefinition",
                        "parameters": {
                            "id": 18628,
                            "nodeType": "ParameterList",
                            "parameters": [
                                {
                                    "constant": false,
                                    "id": 18621,
                                    "mutability": "mutable",
                                    "name": "p0",
                                    "nameLocation": "44612:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 18642,
                                    "src": "44607:7:62",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_bool",
                                        "typeString": "bool"
                                    },
                                    "typeName": {
                                        "id": 18620,
                                        "name": "bool",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "44607:4:62",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_bool",
                                            "typeString": "bool"
                                        }
                                    },
                                    "visibility": "internal"
                                },
                                {
                                    "constant": false,
                                    "id": 18623,
                                    "mutability": "mutable",
                                    "name": "p1",
                                    "nameLocation": "44630:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 18642,
                                    "src": "44616:16:62",
                                    "stateVariable": false,
                                    "storageLocation": "memory",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_string_memory_ptr",
                                        "typeString": "string"
                                    },
                                    "typeName": {
                                        "id": 18622,
                                        "name": "string",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "44616:6:62",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_string_storage_ptr",
                                            "typeString": "string"
                                        }
                                    },
                                    "visibility": "internal"
                                },
                                {
                                    "constant": false,
                                    "id": 18625,
                                    "mutability": "mutable",
                                    "name": "p2",
                                    "nameLocation": "44642:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 18642,
                                    "src": "44634:10:62",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_address",
                                        "typeString": "address"
                                    },
                                    "typeName": {
                                        "id": 18624,
                                        "name": "address",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "44634:7:62",
                                        "stateMutability": "nonpayable",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_address",
                                            "typeString": "address"
                                        }
                                    },
                                    "visibility": "internal"
                                },
                                {
                                    "constant": false,
                                    "id": 18627,
                                    "mutability": "mutable",
                                    "name": "p3",
                                    "nameLocation": "44651:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 18642,
                                    "src": "44646:7:62",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_uint256",
                                        "typeString": "uint256"
                                    },
                                    "typeName": {
                                        "id": 18626,
                                        "name": "uint",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "44646:4:62",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_uint256",
                                            "typeString": "uint256"
                                        }
                                    },
                                    "visibility": "internal"
                                }
                            ],
                            "src": "44606:48:62"
                        },
                        "returnParameters": {
                            "id": 18629,
                            "nodeType": "ParameterList",
                            "parameters": [],
                            "src": "44669:0:62"
                        },
                        "scope": 20920,
                        "src": "44594:172:62",
                        "stateMutability": "view",
                        "virtual": false,
                        "visibility": "internal"
                    },
                    {
                        "body": {
                            "id": 18664,
                            "nodeType": "Block",
                            "src": "44853:99:62",
                            "statements": [
                                {
                                    "expression": {
                                        "arguments": [
                                            {
                                                "arguments": [
                                                    {
                                                        "hexValue": "6c6f6728626f6f6c2c737472696e672c616464726573732c737472696e6729",
                                                        "id": 18656,
                                                        "isConstant": false,
                                                        "isLValue": false,
                                                        "isPure": true,
                                                        "kind": "string",
                                                        "lValueRequested": false,
                                                        "nodeType": "Literal",
                                                        "src": "44897:33:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_stringliteral_12d6c788fea4d6144f2607e1e8821bec55a5c2dfdc4cece41a536f7b7831e7a7",
                                                            "typeString": "literal_string \"log(bool,string,address,string)\""
                                                        },
                                                        "value": "log(bool,string,address,string)"
                                                    },
                                                    {
                                                        "id": 18657,
                                                        "name": "p0",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 18644,
                                                        "src": "44932:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_bool",
                                                            "typeString": "bool"
                                                        }
                                                    },
                                                    {
                                                        "id": 18658,
                                                        "name": "p1",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 18646,
                                                        "src": "44936:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_string_memory_ptr",
                                                            "typeString": "string memory"
                                                        }
                                                    },
                                                    {
                                                        "id": 18659,
                                                        "name": "p2",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 18648,
                                                        "src": "44940:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_address",
                                                            "typeString": "address"
                                                        }
                                                    },
                                                    {
                                                        "id": 18660,
                                                        "name": "p3",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 18650,
                                                        "src": "44944:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_string_memory_ptr",
                                                            "typeString": "string memory"
                                                        }
                                                    }
                                                ],
                                                "expression": {
                                                    "argumentTypes": [
                                                        {
                                                            "typeIdentifier": "t_stringliteral_12d6c788fea4d6144f2607e1e8821bec55a5c2dfdc4cece41a536f7b7831e7a7",
                                                            "typeString": "literal_string \"log(bool,string,address,string)\""
                                                        },
                                                        {
                                                            "typeIdentifier": "t_bool",
                                                            "typeString": "bool"
                                                        },
                                                        {
                                                            "typeIdentifier": "t_string_memory_ptr",
                                                            "typeString": "string memory"
                                                        },
                                                        {
                                                            "typeIdentifier": "t_address",
                                                            "typeString": "address"
                                                        },
                                                        {
                                                            "typeIdentifier": "t_string_memory_ptr",
                                                            "typeString": "string memory"
                                                        }
                                                    ],
                                                    "expression": {
                                                        "id": 18654,
                                                        "name": "abi",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 4294967295,
                                                        "src": "44873:3:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_magic_abi",
                                                            "typeString": "abi"
                                                        }
                                                    },
                                                    "id": 18655,
                                                    "isConstant": false,
                                                    "isLValue": false,
                                                    "isPure": true,
                                                    "lValueRequested": false,
                                                    "memberName": "encodeWithSignature",
                                                    "nodeType": "MemberAccess",
                                                    "src": "44873:23:62",
                                                    "typeDescriptions": {
                                                        "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$",
                                                        "typeString": "function (string memory) pure returns (bytes memory)"
                                                    }
                                                },
                                                "id": 18661,
                                                "isConstant": false,
                                                "isLValue": false,
                                                "isPure": false,
                                                "kind": "functionCall",
                                                "lValueRequested": false,
                                                "names": [],
                                                "nodeType": "FunctionCall",
                                                "src": "44873:74:62",
                                                "tryCall": false,
                                                "typeDescriptions": {
                                                    "typeIdentifier": "t_bytes_memory_ptr",
                                                    "typeString": "bytes memory"
                                                }
                                            }
                                        ],
                                        "expression": {
                                            "argumentTypes": [
                                                {
                                                    "typeIdentifier": "t_bytes_memory_ptr",
                                                    "typeString": "bytes memory"
                                                }
                                            ],
                                            "id": 18653,
                                            "name": "_sendLogPayload",
                                            "nodeType": "Identifier",
                                            "overloadedDeclarations": [],
                                            "referencedDeclaration": 12880,
                                            "src": "44857:15:62",
                                            "typeDescriptions": {
                                                "typeIdentifier": "t_function_internal_view$_t_bytes_memory_ptr_$returns$__$",
                                                "typeString": "function (bytes memory) view"
                                            }
                                        },
                                        "id": 18662,
                                        "isConstant": false,
                                        "isLValue": false,
                                        "isPure": false,
                                        "kind": "functionCall",
                                        "lValueRequested": false,
                                        "names": [],
                                        "nodeType": "FunctionCall",
                                        "src": "44857:91:62",
                                        "tryCall": false,
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_tuple$__$",
                                            "typeString": "tuple()"
                                        }
                                    },
                                    "id": 18663,
                                    "nodeType": "ExpressionStatement",
                                    "src": "44857:91:62"
                                }
                            ]
                        },
                        "id": 18665,
                        "implemented": true,
                        "kind": "function",
                        "modifiers": [],
                        "name": "log",
                        "nameLocation": "44778:3:62",
                        "nodeType": "FunctionDefinition",
                        "parameters": {
                            "id": 18651,
                            "nodeType": "ParameterList",
                            "parameters": [
                                {
                                    "constant": false,
                                    "id": 18644,
                                    "mutability": "mutable",
                                    "name": "p0",
                                    "nameLocation": "44787:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 18665,
                                    "src": "44782:7:62",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_bool",
                                        "typeString": "bool"
                                    },
                                    "typeName": {
                                        "id": 18643,
                                        "name": "bool",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "44782:4:62",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_bool",
                                            "typeString": "bool"
                                        }
                                    },
                                    "visibility": "internal"
                                },
                                {
                                    "constant": false,
                                    "id": 18646,
                                    "mutability": "mutable",
                                    "name": "p1",
                                    "nameLocation": "44805:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 18665,
                                    "src": "44791:16:62",
                                    "stateVariable": false,
                                    "storageLocation": "memory",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_string_memory_ptr",
                                        "typeString": "string"
                                    },
                                    "typeName": {
                                        "id": 18645,
                                        "name": "string",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "44791:6:62",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_string_storage_ptr",
                                            "typeString": "string"
                                        }
                                    },
                                    "visibility": "internal"
                                },
                                {
                                    "constant": false,
                                    "id": 18648,
                                    "mutability": "mutable",
                                    "name": "p2",
                                    "nameLocation": "44817:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 18665,
                                    "src": "44809:10:62",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_address",
                                        "typeString": "address"
                                    },
                                    "typeName": {
                                        "id": 18647,
                                        "name": "address",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "44809:7:62",
                                        "stateMutability": "nonpayable",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_address",
                                            "typeString": "address"
                                        }
                                    },
                                    "visibility": "internal"
                                },
                                {
                                    "constant": false,
                                    "id": 18650,
                                    "mutability": "mutable",
                                    "name": "p3",
                                    "nameLocation": "44835:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 18665,
                                    "src": "44821:16:62",
                                    "stateVariable": false,
                                    "storageLocation": "memory",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_string_memory_ptr",
                                        "typeString": "string"
                                    },
                                    "typeName": {
                                        "id": 18649,
                                        "name": "string",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "44821:6:62",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_string_storage_ptr",
                                            "typeString": "string"
                                        }
                                    },
                                    "visibility": "internal"
                                }
                            ],
                            "src": "44781:57:62"
                        },
                        "returnParameters": {
                            "id": 18652,
                            "nodeType": "ParameterList",
                            "parameters": [],
                            "src": "44853:0:62"
                        },
                        "scope": 20920,
                        "src": "44769:183:62",
                        "stateMutability": "view",
                        "virtual": false,
                        "visibility": "internal"
                    },
                    {
                        "body": {
                            "id": 18687,
                            "nodeType": "Block",
                            "src": "45030:97:62",
                            "statements": [
                                {
                                    "expression": {
                                        "arguments": [
                                            {
                                                "arguments": [
                                                    {
                                                        "hexValue": "6c6f6728626f6f6c2c737472696e672c616464726573732c626f6f6c29",
                                                        "id": 18679,
                                                        "isConstant": false,
                                                        "isLValue": false,
                                                        "isPure": true,
                                                        "kind": "string",
                                                        "lValueRequested": false,
                                                        "nodeType": "Literal",
                                                        "src": "45074:31:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_stringliteral_6dd434ca1fa26d491bcd72b7fe69eb72d41cae8eadbda5a7f985734e1b80c67d",
                                                            "typeString": "literal_string \"log(bool,string,address,bool)\""
                                                        },
                                                        "value": "log(bool,string,address,bool)"
                                                    },
                                                    {
                                                        "id": 18680,
                                                        "name": "p0",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 18667,
                                                        "src": "45107:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_bool",
                                                            "typeString": "bool"
                                                        }
                                                    },
                                                    {
                                                        "id": 18681,
                                                        "name": "p1",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 18669,
                                                        "src": "45111:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_string_memory_ptr",
                                                            "typeString": "string memory"
                                                        }
                                                    },
                                                    {
                                                        "id": 18682,
                                                        "name": "p2",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 18671,
                                                        "src": "45115:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_address",
                                                            "typeString": "address"
                                                        }
                                                    },
                                                    {
                                                        "id": 18683,
                                                        "name": "p3",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 18673,
                                                        "src": "45119:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_bool",
                                                            "typeString": "bool"
                                                        }
                                                    }
                                                ],
                                                "expression": {
                                                    "argumentTypes": [
                                                        {
                                                            "typeIdentifier": "t_stringliteral_6dd434ca1fa26d491bcd72b7fe69eb72d41cae8eadbda5a7f985734e1b80c67d",
                                                            "typeString": "literal_string \"log(bool,string,address,bool)\""
                                                        },
                                                        {
                                                            "typeIdentifier": "t_bool",
                                                            "typeString": "bool"
                                                        },
                                                        {
                                                            "typeIdentifier": "t_string_memory_ptr",
                                                            "typeString": "string memory"
                                                        },
                                                        {
                                                            "typeIdentifier": "t_address",
                                                            "typeString": "address"
                                                        },
                                                        {
                                                            "typeIdentifier": "t_bool",
                                                            "typeString": "bool"
                                                        }
                                                    ],
                                                    "expression": {
                                                        "id": 18677,
                                                        "name": "abi",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 4294967295,
                                                        "src": "45050:3:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_magic_abi",
                                                            "typeString": "abi"
                                                        }
                                                    },
                                                    "id": 18678,
                                                    "isConstant": false,
                                                    "isLValue": false,
                                                    "isPure": true,
                                                    "lValueRequested": false,
                                                    "memberName": "encodeWithSignature",
                                                    "nodeType": "MemberAccess",
                                                    "src": "45050:23:62",
                                                    "typeDescriptions": {
                                                        "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$",
                                                        "typeString": "function (string memory) pure returns (bytes memory)"
                                                    }
                                                },
                                                "id": 18684,
                                                "isConstant": false,
                                                "isLValue": false,
                                                "isPure": false,
                                                "kind": "functionCall",
                                                "lValueRequested": false,
                                                "names": [],
                                                "nodeType": "FunctionCall",
                                                "src": "45050:72:62",
                                                "tryCall": false,
                                                "typeDescriptions": {
                                                    "typeIdentifier": "t_bytes_memory_ptr",
                                                    "typeString": "bytes memory"
                                                }
                                            }
                                        ],
                                        "expression": {
                                            "argumentTypes": [
                                                {
                                                    "typeIdentifier": "t_bytes_memory_ptr",
                                                    "typeString": "bytes memory"
                                                }
                                            ],
                                            "id": 18676,
                                            "name": "_sendLogPayload",
                                            "nodeType": "Identifier",
                                            "overloadedDeclarations": [],
                                            "referencedDeclaration": 12880,
                                            "src": "45034:15:62",
                                            "typeDescriptions": {
                                                "typeIdentifier": "t_function_internal_view$_t_bytes_memory_ptr_$returns$__$",
                                                "typeString": "function (bytes memory) view"
                                            }
                                        },
                                        "id": 18685,
                                        "isConstant": false,
                                        "isLValue": false,
                                        "isPure": false,
                                        "kind": "functionCall",
                                        "lValueRequested": false,
                                        "names": [],
                                        "nodeType": "FunctionCall",
                                        "src": "45034:89:62",
                                        "tryCall": false,
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_tuple$__$",
                                            "typeString": "tuple()"
                                        }
                                    },
                                    "id": 18686,
                                    "nodeType": "ExpressionStatement",
                                    "src": "45034:89:62"
                                }
                            ]
                        },
                        "id": 18688,
                        "implemented": true,
                        "kind": "function",
                        "modifiers": [],
                        "name": "log",
                        "nameLocation": "44964:3:62",
                        "nodeType": "FunctionDefinition",
                        "parameters": {
                            "id": 18674,
                            "nodeType": "ParameterList",
                            "parameters": [
                                {
                                    "constant": false,
                                    "id": 18667,
                                    "mutability": "mutable",
                                    "name": "p0",
                                    "nameLocation": "44973:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 18688,
                                    "src": "44968:7:62",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_bool",
                                        "typeString": "bool"
                                    },
                                    "typeName": {
                                        "id": 18666,
                                        "name": "bool",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "44968:4:62",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_bool",
                                            "typeString": "bool"
                                        }
                                    },
                                    "visibility": "internal"
                                },
                                {
                                    "constant": false,
                                    "id": 18669,
                                    "mutability": "mutable",
                                    "name": "p1",
                                    "nameLocation": "44991:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 18688,
                                    "src": "44977:16:62",
                                    "stateVariable": false,
                                    "storageLocation": "memory",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_string_memory_ptr",
                                        "typeString": "string"
                                    },
                                    "typeName": {
                                        "id": 18668,
                                        "name": "string",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "44977:6:62",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_string_storage_ptr",
                                            "typeString": "string"
                                        }
                                    },
                                    "visibility": "internal"
                                },
                                {
                                    "constant": false,
                                    "id": 18671,
                                    "mutability": "mutable",
                                    "name": "p2",
                                    "nameLocation": "45003:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 18688,
                                    "src": "44995:10:62",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_address",
                                        "typeString": "address"
                                    },
                                    "typeName": {
                                        "id": 18670,
                                        "name": "address",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "44995:7:62",
                                        "stateMutability": "nonpayable",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_address",
                                            "typeString": "address"
                                        }
                                    },
                                    "visibility": "internal"
                                },
                                {
                                    "constant": false,
                                    "id": 18673,
                                    "mutability": "mutable",
                                    "name": "p3",
                                    "nameLocation": "45012:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 18688,
                                    "src": "45007:7:62",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_bool",
                                        "typeString": "bool"
                                    },
                                    "typeName": {
                                        "id": 18672,
                                        "name": "bool",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "45007:4:62",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_bool",
                                            "typeString": "bool"
                                        }
                                    },
                                    "visibility": "internal"
                                }
                            ],
                            "src": "44967:48:62"
                        },
                        "returnParameters": {
                            "id": 18675,
                            "nodeType": "ParameterList",
                            "parameters": [],
                            "src": "45030:0:62"
                        },
                        "scope": 20920,
                        "src": "44955:172:62",
                        "stateMutability": "view",
                        "virtual": false,
                        "visibility": "internal"
                    },
                    {
                        "body": {
                            "id": 18710,
                            "nodeType": "Block",
                            "src": "45208:100:62",
                            "statements": [
                                {
                                    "expression": {
                                        "arguments": [
                                            {
                                                "arguments": [
                                                    {
                                                        "hexValue": "6c6f6728626f6f6c2c737472696e672c616464726573732c6164647265737329",
                                                        "id": 18702,
                                                        "isConstant": false,
                                                        "isLValue": false,
                                                        "isPure": true,
                                                        "kind": "string",
                                                        "lValueRequested": false,
                                                        "nodeType": "Literal",
                                                        "src": "45252:34:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_stringliteral_2b2b18dc50ecc75180f201de41eca533fbda0c7bf525c06b5b8e87bc1d010822",
                                                            "typeString": "literal_string \"log(bool,string,address,address)\""
                                                        },
                                                        "value": "log(bool,string,address,address)"
                                                    },
                                                    {
                                                        "id": 18703,
                                                        "name": "p0",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 18690,
                                                        "src": "45288:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_bool",
                                                            "typeString": "bool"
                                                        }
                                                    },
                                                    {
                                                        "id": 18704,
                                                        "name": "p1",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 18692,
                                                        "src": "45292:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_string_memory_ptr",
                                                            "typeString": "string memory"
                                                        }
                                                    },
                                                    {
                                                        "id": 18705,
                                                        "name": "p2",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 18694,
                                                        "src": "45296:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_address",
                                                            "typeString": "address"
                                                        }
                                                    },
                                                    {
                                                        "id": 18706,
                                                        "name": "p3",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 18696,
                                                        "src": "45300:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_address",
                                                            "typeString": "address"
                                                        }
                                                    }
                                                ],
                                                "expression": {
                                                    "argumentTypes": [
                                                        {
                                                            "typeIdentifier": "t_stringliteral_2b2b18dc50ecc75180f201de41eca533fbda0c7bf525c06b5b8e87bc1d010822",
                                                            "typeString": "literal_string \"log(bool,string,address,address)\""
                                                        },
                                                        {
                                                            "typeIdentifier": "t_bool",
                                                            "typeString": "bool"
                                                        },
                                                        {
                                                            "typeIdentifier": "t_string_memory_ptr",
                                                            "typeString": "string memory"
                                                        },
                                                        {
                                                            "typeIdentifier": "t_address",
                                                            "typeString": "address"
                                                        },
                                                        {
                                                            "typeIdentifier": "t_address",
                                                            "typeString": "address"
                                                        }
                                                    ],
                                                    "expression": {
                                                        "id": 18700,
                                                        "name": "abi",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 4294967295,
                                                        "src": "45228:3:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_magic_abi",
                                                            "typeString": "abi"
                                                        }
                                                    },
                                                    "id": 18701,
                                                    "isConstant": false,
                                                    "isLValue": false,
                                                    "isPure": true,
                                                    "lValueRequested": false,
                                                    "memberName": "encodeWithSignature",
                                                    "nodeType": "MemberAccess",
                                                    "src": "45228:23:62",
                                                    "typeDescriptions": {
                                                        "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$",
                                                        "typeString": "function (string memory) pure returns (bytes memory)"
                                                    }
                                                },
                                                "id": 18707,
                                                "isConstant": false,
                                                "isLValue": false,
                                                "isPure": false,
                                                "kind": "functionCall",
                                                "lValueRequested": false,
                                                "names": [],
                                                "nodeType": "FunctionCall",
                                                "src": "45228:75:62",
                                                "tryCall": false,
                                                "typeDescriptions": {
                                                    "typeIdentifier": "t_bytes_memory_ptr",
                                                    "typeString": "bytes memory"
                                                }
                                            }
                                        ],
                                        "expression": {
                                            "argumentTypes": [
                                                {
                                                    "typeIdentifier": "t_bytes_memory_ptr",
                                                    "typeString": "bytes memory"
                                                }
                                            ],
                                            "id": 18699,
                                            "name": "_sendLogPayload",
                                            "nodeType": "Identifier",
                                            "overloadedDeclarations": [],
                                            "referencedDeclaration": 12880,
                                            "src": "45212:15:62",
                                            "typeDescriptions": {
                                                "typeIdentifier": "t_function_internal_view$_t_bytes_memory_ptr_$returns$__$",
                                                "typeString": "function (bytes memory) view"
                                            }
                                        },
                                        "id": 18708,
                                        "isConstant": false,
                                        "isLValue": false,
                                        "isPure": false,
                                        "kind": "functionCall",
                                        "lValueRequested": false,
                                        "names": [],
                                        "nodeType": "FunctionCall",
                                        "src": "45212:92:62",
                                        "tryCall": false,
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_tuple$__$",
                                            "typeString": "tuple()"
                                        }
                                    },
                                    "id": 18709,
                                    "nodeType": "ExpressionStatement",
                                    "src": "45212:92:62"
                                }
                            ]
                        },
                        "id": 18711,
                        "implemented": true,
                        "kind": "function",
                        "modifiers": [],
                        "name": "log",
                        "nameLocation": "45139:3:62",
                        "nodeType": "FunctionDefinition",
                        "parameters": {
                            "id": 18697,
                            "nodeType": "ParameterList",
                            "parameters": [
                                {
                                    "constant": false,
                                    "id": 18690,
                                    "mutability": "mutable",
                                    "name": "p0",
                                    "nameLocation": "45148:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 18711,
                                    "src": "45143:7:62",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_bool",
                                        "typeString": "bool"
                                    },
                                    "typeName": {
                                        "id": 18689,
                                        "name": "bool",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "45143:4:62",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_bool",
                                            "typeString": "bool"
                                        }
                                    },
                                    "visibility": "internal"
                                },
                                {
                                    "constant": false,
                                    "id": 18692,
                                    "mutability": "mutable",
                                    "name": "p1",
                                    "nameLocation": "45166:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 18711,
                                    "src": "45152:16:62",
                                    "stateVariable": false,
                                    "storageLocation": "memory",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_string_memory_ptr",
                                        "typeString": "string"
                                    },
                                    "typeName": {
                                        "id": 18691,
                                        "name": "string",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "45152:6:62",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_string_storage_ptr",
                                            "typeString": "string"
                                        }
                                    },
                                    "visibility": "internal"
                                },
                                {
                                    "constant": false,
                                    "id": 18694,
                                    "mutability": "mutable",
                                    "name": "p2",
                                    "nameLocation": "45178:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 18711,
                                    "src": "45170:10:62",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_address",
                                        "typeString": "address"
                                    },
                                    "typeName": {
                                        "id": 18693,
                                        "name": "address",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "45170:7:62",
                                        "stateMutability": "nonpayable",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_address",
                                            "typeString": "address"
                                        }
                                    },
                                    "visibility": "internal"
                                },
                                {
                                    "constant": false,
                                    "id": 18696,
                                    "mutability": "mutable",
                                    "name": "p3",
                                    "nameLocation": "45190:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 18711,
                                    "src": "45182:10:62",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_address",
                                        "typeString": "address"
                                    },
                                    "typeName": {
                                        "id": 18695,
                                        "name": "address",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "45182:7:62",
                                        "stateMutability": "nonpayable",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_address",
                                            "typeString": "address"
                                        }
                                    },
                                    "visibility": "internal"
                                }
                            ],
                            "src": "45142:51:62"
                        },
                        "returnParameters": {
                            "id": 18698,
                            "nodeType": "ParameterList",
                            "parameters": [],
                            "src": "45208:0:62"
                        },
                        "scope": 20920,
                        "src": "45130:178:62",
                        "stateMutability": "view",
                        "virtual": false,
                        "visibility": "internal"
                    },
                    {
                        "body": {
                            "id": 18733,
                            "nodeType": "Block",
                            "src": "45374:92:62",
                            "statements": [
                                {
                                    "expression": {
                                        "arguments": [
                                            {
                                                "arguments": [
                                                    {
                                                        "hexValue": "6c6f6728626f6f6c2c626f6f6c2c75696e742c75696e7429",
                                                        "id": 18725,
                                                        "isConstant": false,
                                                        "isLValue": false,
                                                        "isPure": true,
                                                        "kind": "string",
                                                        "lValueRequested": false,
                                                        "nodeType": "Literal",
                                                        "src": "45418:26:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_stringliteral_4667de8ece32e91ade336fb6d8a14a500512d40e1162a34636a5bca908b16e6a",
                                                            "typeString": "literal_string \"log(bool,bool,uint,uint)\""
                                                        },
                                                        "value": "log(bool,bool,uint,uint)"
                                                    },
                                                    {
                                                        "id": 18726,
                                                        "name": "p0",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 18713,
                                                        "src": "45446:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_bool",
                                                            "typeString": "bool"
                                                        }
                                                    },
                                                    {
                                                        "id": 18727,
                                                        "name": "p1",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 18715,
                                                        "src": "45450:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_bool",
                                                            "typeString": "bool"
                                                        }
                                                    },
                                                    {
                                                        "id": 18728,
                                                        "name": "p2",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 18717,
                                                        "src": "45454:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_uint256",
                                                            "typeString": "uint256"
                                                        }
                                                    },
                                                    {
                                                        "id": 18729,
                                                        "name": "p3",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 18719,
                                                        "src": "45458:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_uint256",
                                                            "typeString": "uint256"
                                                        }
                                                    }
                                                ],
                                                "expression": {
                                                    "argumentTypes": [
                                                        {
                                                            "typeIdentifier": "t_stringliteral_4667de8ece32e91ade336fb6d8a14a500512d40e1162a34636a5bca908b16e6a",
                                                            "typeString": "literal_string \"log(bool,bool,uint,uint)\""
                                                        },
                                                        {
                                                            "typeIdentifier": "t_bool",
                                                            "typeString": "bool"
                                                        },
                                                        {
                                                            "typeIdentifier": "t_bool",
                                                            "typeString": "bool"
                                                        },
                                                        {
                                                            "typeIdentifier": "t_uint256",
                                                            "typeString": "uint256"
                                                        },
                                                        {
                                                            "typeIdentifier": "t_uint256",
                                                            "typeString": "uint256"
                                                        }
                                                    ],
                                                    "expression": {
                                                        "id": 18723,
                                                        "name": "abi",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 4294967295,
                                                        "src": "45394:3:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_magic_abi",
                                                            "typeString": "abi"
                                                        }
                                                    },
                                                    "id": 18724,
                                                    "isConstant": false,
                                                    "isLValue": false,
                                                    "isPure": true,
                                                    "lValueRequested": false,
                                                    "memberName": "encodeWithSignature",
                                                    "nodeType": "MemberAccess",
                                                    "src": "45394:23:62",
                                                    "typeDescriptions": {
                                                        "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$",
                                                        "typeString": "function (string memory) pure returns (bytes memory)"
                                                    }
                                                },
                                                "id": 18730,
                                                "isConstant": false,
                                                "isLValue": false,
                                                "isPure": false,
                                                "kind": "functionCall",
                                                "lValueRequested": false,
                                                "names": [],
                                                "nodeType": "FunctionCall",
                                                "src": "45394:67:62",
                                                "tryCall": false,
                                                "typeDescriptions": {
                                                    "typeIdentifier": "t_bytes_memory_ptr",
                                                    "typeString": "bytes memory"
                                                }
                                            }
                                        ],
                                        "expression": {
                                            "argumentTypes": [
                                                {
                                                    "typeIdentifier": "t_bytes_memory_ptr",
                                                    "typeString": "bytes memory"
                                                }
                                            ],
                                            "id": 18722,
                                            "name": "_sendLogPayload",
                                            "nodeType": "Identifier",
                                            "overloadedDeclarations": [],
                                            "referencedDeclaration": 12880,
                                            "src": "45378:15:62",
                                            "typeDescriptions": {
                                                "typeIdentifier": "t_function_internal_view$_t_bytes_memory_ptr_$returns$__$",
                                                "typeString": "function (bytes memory) view"
                                            }
                                        },
                                        "id": 18731,
                                        "isConstant": false,
                                        "isLValue": false,
                                        "isPure": false,
                                        "kind": "functionCall",
                                        "lValueRequested": false,
                                        "names": [],
                                        "nodeType": "FunctionCall",
                                        "src": "45378:84:62",
                                        "tryCall": false,
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_tuple$__$",
                                            "typeString": "tuple()"
                                        }
                                    },
                                    "id": 18732,
                                    "nodeType": "ExpressionStatement",
                                    "src": "45378:84:62"
                                }
                            ]
                        },
                        "id": 18734,
                        "implemented": true,
                        "kind": "function",
                        "modifiers": [],
                        "name": "log",
                        "nameLocation": "45320:3:62",
                        "nodeType": "FunctionDefinition",
                        "parameters": {
                            "id": 18720,
                            "nodeType": "ParameterList",
                            "parameters": [
                                {
                                    "constant": false,
                                    "id": 18713,
                                    "mutability": "mutable",
                                    "name": "p0",
                                    "nameLocation": "45329:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 18734,
                                    "src": "45324:7:62",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_bool",
                                        "typeString": "bool"
                                    },
                                    "typeName": {
                                        "id": 18712,
                                        "name": "bool",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "45324:4:62",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_bool",
                                            "typeString": "bool"
                                        }
                                    },
                                    "visibility": "internal"
                                },
                                {
                                    "constant": false,
                                    "id": 18715,
                                    "mutability": "mutable",
                                    "name": "p1",
                                    "nameLocation": "45338:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 18734,
                                    "src": "45333:7:62",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_bool",
                                        "typeString": "bool"
                                    },
                                    "typeName": {
                                        "id": 18714,
                                        "name": "bool",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "45333:4:62",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_bool",
                                            "typeString": "bool"
                                        }
                                    },
                                    "visibility": "internal"
                                },
                                {
                                    "constant": false,
                                    "id": 18717,
                                    "mutability": "mutable",
                                    "name": "p2",
                                    "nameLocation": "45347:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 18734,
                                    "src": "45342:7:62",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_uint256",
                                        "typeString": "uint256"
                                    },
                                    "typeName": {
                                        "id": 18716,
                                        "name": "uint",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "45342:4:62",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_uint256",
                                            "typeString": "uint256"
                                        }
                                    },
                                    "visibility": "internal"
                                },
                                {
                                    "constant": false,
                                    "id": 18719,
                                    "mutability": "mutable",
                                    "name": "p3",
                                    "nameLocation": "45356:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 18734,
                                    "src": "45351:7:62",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_uint256",
                                        "typeString": "uint256"
                                    },
                                    "typeName": {
                                        "id": 18718,
                                        "name": "uint",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "45351:4:62",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_uint256",
                                            "typeString": "uint256"
                                        }
                                    },
                                    "visibility": "internal"
                                }
                            ],
                            "src": "45323:36:62"
                        },
                        "returnParameters": {
                            "id": 18721,
                            "nodeType": "ParameterList",
                            "parameters": [],
                            "src": "45374:0:62"
                        },
                        "scope": 20920,
                        "src": "45311:155:62",
                        "stateMutability": "view",
                        "virtual": false,
                        "visibility": "internal"
                    },
                    {
                        "body": {
                            "id": 18756,
                            "nodeType": "Block",
                            "src": "45541:94:62",
                            "statements": [
                                {
                                    "expression": {
                                        "arguments": [
                                            {
                                                "arguments": [
                                                    {
                                                        "hexValue": "6c6f6728626f6f6c2c626f6f6c2c75696e742c737472696e6729",
                                                        "id": 18748,
                                                        "isConstant": false,
                                                        "isLValue": false,
                                                        "isPure": true,
                                                        "kind": "string",
                                                        "lValueRequested": false,
                                                        "nodeType": "Literal",
                                                        "src": "45585:28:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_stringliteral_50618937639b3b1cb3bbe247efb1fae4eb9a85d1e66ac66dfc77c62561966adc",
                                                            "typeString": "literal_string \"log(bool,bool,uint,string)\""
                                                        },
                                                        "value": "log(bool,bool,uint,string)"
                                                    },
                                                    {
                                                        "id": 18749,
                                                        "name": "p0",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 18736,
                                                        "src": "45615:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_bool",
                                                            "typeString": "bool"
                                                        }
                                                    },
                                                    {
                                                        "id": 18750,
                                                        "name": "p1",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 18738,
                                                        "src": "45619:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_bool",
                                                            "typeString": "bool"
                                                        }
                                                    },
                                                    {
                                                        "id": 18751,
                                                        "name": "p2",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 18740,
                                                        "src": "45623:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_uint256",
                                                            "typeString": "uint256"
                                                        }
                                                    },
                                                    {
                                                        "id": 18752,
                                                        "name": "p3",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 18742,
                                                        "src": "45627:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_string_memory_ptr",
                                                            "typeString": "string memory"
                                                        }
                                                    }
                                                ],
                                                "expression": {
                                                    "argumentTypes": [
                                                        {
                                                            "typeIdentifier": "t_stringliteral_50618937639b3b1cb3bbe247efb1fae4eb9a85d1e66ac66dfc77c62561966adc",
                                                            "typeString": "literal_string \"log(bool,bool,uint,string)\""
                                                        },
                                                        {
                                                            "typeIdentifier": "t_bool",
                                                            "typeString": "bool"
                                                        },
                                                        {
                                                            "typeIdentifier": "t_bool",
                                                            "typeString": "bool"
                                                        },
                                                        {
                                                            "typeIdentifier": "t_uint256",
                                                            "typeString": "uint256"
                                                        },
                                                        {
                                                            "typeIdentifier": "t_string_memory_ptr",
                                                            "typeString": "string memory"
                                                        }
                                                    ],
                                                    "expression": {
                                                        "id": 18746,
                                                        "name": "abi",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 4294967295,
                                                        "src": "45561:3:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_magic_abi",
                                                            "typeString": "abi"
                                                        }
                                                    },
                                                    "id": 18747,
                                                    "isConstant": false,
                                                    "isLValue": false,
                                                    "isPure": true,
                                                    "lValueRequested": false,
                                                    "memberName": "encodeWithSignature",
                                                    "nodeType": "MemberAccess",
                                                    "src": "45561:23:62",
                                                    "typeDescriptions": {
                                                        "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$",
                                                        "typeString": "function (string memory) pure returns (bytes memory)"
                                                    }
                                                },
                                                "id": 18753,
                                                "isConstant": false,
                                                "isLValue": false,
                                                "isPure": false,
                                                "kind": "functionCall",
                                                "lValueRequested": false,
                                                "names": [],
                                                "nodeType": "FunctionCall",
                                                "src": "45561:69:62",
                                                "tryCall": false,
                                                "typeDescriptions": {
                                                    "typeIdentifier": "t_bytes_memory_ptr",
                                                    "typeString": "bytes memory"
                                                }
                                            }
                                        ],
                                        "expression": {
                                            "argumentTypes": [
                                                {
                                                    "typeIdentifier": "t_bytes_memory_ptr",
                                                    "typeString": "bytes memory"
                                                }
                                            ],
                                            "id": 18745,
                                            "name": "_sendLogPayload",
                                            "nodeType": "Identifier",
                                            "overloadedDeclarations": [],
                                            "referencedDeclaration": 12880,
                                            "src": "45545:15:62",
                                            "typeDescriptions": {
                                                "typeIdentifier": "t_function_internal_view$_t_bytes_memory_ptr_$returns$__$",
                                                "typeString": "function (bytes memory) view"
                                            }
                                        },
                                        "id": 18754,
                                        "isConstant": false,
                                        "isLValue": false,
                                        "isPure": false,
                                        "kind": "functionCall",
                                        "lValueRequested": false,
                                        "names": [],
                                        "nodeType": "FunctionCall",
                                        "src": "45545:86:62",
                                        "tryCall": false,
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_tuple$__$",
                                            "typeString": "tuple()"
                                        }
                                    },
                                    "id": 18755,
                                    "nodeType": "ExpressionStatement",
                                    "src": "45545:86:62"
                                }
                            ]
                        },
                        "id": 18757,
                        "implemented": true,
                        "kind": "function",
                        "modifiers": [],
                        "name": "log",
                        "nameLocation": "45478:3:62",
                        "nodeType": "FunctionDefinition",
                        "parameters": {
                            "id": 18743,
                            "nodeType": "ParameterList",
                            "parameters": [
                                {
                                    "constant": false,
                                    "id": 18736,
                                    "mutability": "mutable",
                                    "name": "p0",
                                    "nameLocation": "45487:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 18757,
                                    "src": "45482:7:62",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_bool",
                                        "typeString": "bool"
                                    },
                                    "typeName": {
                                        "id": 18735,
                                        "name": "bool",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "45482:4:62",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_bool",
                                            "typeString": "bool"
                                        }
                                    },
                                    "visibility": "internal"
                                },
                                {
                                    "constant": false,
                                    "id": 18738,
                                    "mutability": "mutable",
                                    "name": "p1",
                                    "nameLocation": "45496:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 18757,
                                    "src": "45491:7:62",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_bool",
                                        "typeString": "bool"
                                    },
                                    "typeName": {
                                        "id": 18737,
                                        "name": "bool",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "45491:4:62",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_bool",
                                            "typeString": "bool"
                                        }
                                    },
                                    "visibility": "internal"
                                },
                                {
                                    "constant": false,
                                    "id": 18740,
                                    "mutability": "mutable",
                                    "name": "p2",
                                    "nameLocation": "45505:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 18757,
                                    "src": "45500:7:62",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_uint256",
                                        "typeString": "uint256"
                                    },
                                    "typeName": {
                                        "id": 18739,
                                        "name": "uint",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "45500:4:62",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_uint256",
                                            "typeString": "uint256"
                                        }
                                    },
                                    "visibility": "internal"
                                },
                                {
                                    "constant": false,
                                    "id": 18742,
                                    "mutability": "mutable",
                                    "name": "p3",
                                    "nameLocation": "45523:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 18757,
                                    "src": "45509:16:62",
                                    "stateVariable": false,
                                    "storageLocation": "memory",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_string_memory_ptr",
                                        "typeString": "string"
                                    },
                                    "typeName": {
                                        "id": 18741,
                                        "name": "string",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "45509:6:62",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_string_storage_ptr",
                                            "typeString": "string"
                                        }
                                    },
                                    "visibility": "internal"
                                }
                            ],
                            "src": "45481:45:62"
                        },
                        "returnParameters": {
                            "id": 18744,
                            "nodeType": "ParameterList",
                            "parameters": [],
                            "src": "45541:0:62"
                        },
                        "scope": 20920,
                        "src": "45469:166:62",
                        "stateMutability": "view",
                        "virtual": false,
                        "visibility": "internal"
                    },
                    {
                        "body": {
                            "id": 18779,
                            "nodeType": "Block",
                            "src": "45701:92:62",
                            "statements": [
                                {
                                    "expression": {
                                        "arguments": [
                                            {
                                                "arguments": [
                                                    {
                                                        "hexValue": "6c6f6728626f6f6c2c626f6f6c2c75696e742c626f6f6c29",
                                                        "id": 18771,
                                                        "isConstant": false,
                                                        "isLValue": false,
                                                        "isPure": true,
                                                        "kind": "string",
                                                        "lValueRequested": false,
                                                        "nodeType": "Literal",
                                                        "src": "45745:26:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_stringliteral_ab5cc1c47d926d79461c86216768f32b6ec0ac12d51c1eb543ea3bd1cfec0110",
                                                            "typeString": "literal_string \"log(bool,bool,uint,bool)\""
                                                        },
                                                        "value": "log(bool,bool,uint,bool)"
                                                    },
                                                    {
                                                        "id": 18772,
                                                        "name": "p0",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 18759,
                                                        "src": "45773:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_bool",
                                                            "typeString": "bool"
                                                        }
                                                    },
                                                    {
                                                        "id": 18773,
                                                        "name": "p1",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 18761,
                                                        "src": "45777:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_bool",
                                                            "typeString": "bool"
                                                        }
                                                    },
                                                    {
                                                        "id": 18774,
                                                        "name": "p2",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 18763,
                                                        "src": "45781:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_uint256",
                                                            "typeString": "uint256"
                                                        }
                                                    },
                                                    {
                                                        "id": 18775,
                                                        "name": "p3",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 18765,
                                                        "src": "45785:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_bool",
                                                            "typeString": "bool"
                                                        }
                                                    }
                                                ],
                                                "expression": {
                                                    "argumentTypes": [
                                                        {
                                                            "typeIdentifier": "t_stringliteral_ab5cc1c47d926d79461c86216768f32b6ec0ac12d51c1eb543ea3bd1cfec0110",
                                                            "typeString": "literal_string \"log(bool,bool,uint,bool)\""
                                                        },
                                                        {
                                                            "typeIdentifier": "t_bool",
                                                            "typeString": "bool"
                                                        },
                                                        {
                                                            "typeIdentifier": "t_bool",
                                                            "typeString": "bool"
                                                        },
                                                        {
                                                            "typeIdentifier": "t_uint256",
                                                            "typeString": "uint256"
                                                        },
                                                        {
                                                            "typeIdentifier": "t_bool",
                                                            "typeString": "bool"
                                                        }
                                                    ],
                                                    "expression": {
                                                        "id": 18769,
                                                        "name": "abi",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 4294967295,
                                                        "src": "45721:3:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_magic_abi",
                                                            "typeString": "abi"
                                                        }
                                                    },
                                                    "id": 18770,
                                                    "isConstant": false,
                                                    "isLValue": false,
                                                    "isPure": true,
                                                    "lValueRequested": false,
                                                    "memberName": "encodeWithSignature",
                                                    "nodeType": "MemberAccess",
                                                    "src": "45721:23:62",
                                                    "typeDescriptions": {
                                                        "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$",
                                                        "typeString": "function (string memory) pure returns (bytes memory)"
                                                    }
                                                },
                                                "id": 18776,
                                                "isConstant": false,
                                                "isLValue": false,
                                                "isPure": false,
                                                "kind": "functionCall",
                                                "lValueRequested": false,
                                                "names": [],
                                                "nodeType": "FunctionCall",
                                                "src": "45721:67:62",
                                                "tryCall": false,
                                                "typeDescriptions": {
                                                    "typeIdentifier": "t_bytes_memory_ptr",
                                                    "typeString": "bytes memory"
                                                }
                                            }
                                        ],
                                        "expression": {
                                            "argumentTypes": [
                                                {
                                                    "typeIdentifier": "t_bytes_memory_ptr",
                                                    "typeString": "bytes memory"
                                                }
                                            ],
                                            "id": 18768,
                                            "name": "_sendLogPayload",
                                            "nodeType": "Identifier",
                                            "overloadedDeclarations": [],
                                            "referencedDeclaration": 12880,
                                            "src": "45705:15:62",
                                            "typeDescriptions": {
                                                "typeIdentifier": "t_function_internal_view$_t_bytes_memory_ptr_$returns$__$",
                                                "typeString": "function (bytes memory) view"
                                            }
                                        },
                                        "id": 18777,
                                        "isConstant": false,
                                        "isLValue": false,
                                        "isPure": false,
                                        "kind": "functionCall",
                                        "lValueRequested": false,
                                        "names": [],
                                        "nodeType": "FunctionCall",
                                        "src": "45705:84:62",
                                        "tryCall": false,
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_tuple$__$",
                                            "typeString": "tuple()"
                                        }
                                    },
                                    "id": 18778,
                                    "nodeType": "ExpressionStatement",
                                    "src": "45705:84:62"
                                }
                            ]
                        },
                        "id": 18780,
                        "implemented": true,
                        "kind": "function",
                        "modifiers": [],
                        "name": "log",
                        "nameLocation": "45647:3:62",
                        "nodeType": "FunctionDefinition",
                        "parameters": {
                            "id": 18766,
                            "nodeType": "ParameterList",
                            "parameters": [
                                {
                                    "constant": false,
                                    "id": 18759,
                                    "mutability": "mutable",
                                    "name": "p0",
                                    "nameLocation": "45656:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 18780,
                                    "src": "45651:7:62",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_bool",
                                        "typeString": "bool"
                                    },
                                    "typeName": {
                                        "id": 18758,
                                        "name": "bool",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "45651:4:62",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_bool",
                                            "typeString": "bool"
                                        }
                                    },
                                    "visibility": "internal"
                                },
                                {
                                    "constant": false,
                                    "id": 18761,
                                    "mutability": "mutable",
                                    "name": "p1",
                                    "nameLocation": "45665:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 18780,
                                    "src": "45660:7:62",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_bool",
                                        "typeString": "bool"
                                    },
                                    "typeName": {
                                        "id": 18760,
                                        "name": "bool",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "45660:4:62",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_bool",
                                            "typeString": "bool"
                                        }
                                    },
                                    "visibility": "internal"
                                },
                                {
                                    "constant": false,
                                    "id": 18763,
                                    "mutability": "mutable",
                                    "name": "p2",
                                    "nameLocation": "45674:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 18780,
                                    "src": "45669:7:62",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_uint256",
                                        "typeString": "uint256"
                                    },
                                    "typeName": {
                                        "id": 18762,
                                        "name": "uint",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "45669:4:62",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_uint256",
                                            "typeString": "uint256"
                                        }
                                    },
                                    "visibility": "internal"
                                },
                                {
                                    "constant": false,
                                    "id": 18765,
                                    "mutability": "mutable",
                                    "name": "p3",
                                    "nameLocation": "45683:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 18780,
                                    "src": "45678:7:62",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_bool",
                                        "typeString": "bool"
                                    },
                                    "typeName": {
                                        "id": 18764,
                                        "name": "bool",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "45678:4:62",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_bool",
                                            "typeString": "bool"
                                        }
                                    },
                                    "visibility": "internal"
                                }
                            ],
                            "src": "45650:36:62"
                        },
                        "returnParameters": {
                            "id": 18767,
                            "nodeType": "ParameterList",
                            "parameters": [],
                            "src": "45701:0:62"
                        },
                        "scope": 20920,
                        "src": "45638:155:62",
                        "stateMutability": "view",
                        "virtual": false,
                        "visibility": "internal"
                    },
                    {
                        "body": {
                            "id": 18802,
                            "nodeType": "Block",
                            "src": "45862:95:62",
                            "statements": [
                                {
                                    "expression": {
                                        "arguments": [
                                            {
                                                "arguments": [
                                                    {
                                                        "hexValue": "6c6f6728626f6f6c2c626f6f6c2c75696e742c6164647265737329",
                                                        "id": 18794,
                                                        "isConstant": false,
                                                        "isLValue": false,
                                                        "isPure": true,
                                                        "kind": "string",
                                                        "lValueRequested": false,
                                                        "nodeType": "Literal",
                                                        "src": "45906:29:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_stringliteral_0bff950dc175e3e278946e4adb75fffc4ee67cda33555121dd293b95b27a39a7",
                                                            "typeString": "literal_string \"log(bool,bool,uint,address)\""
                                                        },
                                                        "value": "log(bool,bool,uint,address)"
                                                    },
                                                    {
                                                        "id": 18795,
                                                        "name": "p0",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 18782,
                                                        "src": "45937:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_bool",
                                                            "typeString": "bool"
                                                        }
                                                    },
                                                    {
                                                        "id": 18796,
                                                        "name": "p1",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 18784,
                                                        "src": "45941:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_bool",
                                                            "typeString": "bool"
                                                        }
                                                    },
                                                    {
                                                        "id": 18797,
                                                        "name": "p2",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 18786,
                                                        "src": "45945:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_uint256",
                                                            "typeString": "uint256"
                                                        }
                                                    },
                                                    {
                                                        "id": 18798,
                                                        "name": "p3",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 18788,
                                                        "src": "45949:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_address",
                                                            "typeString": "address"
                                                        }
                                                    }
                                                ],
                                                "expression": {
                                                    "argumentTypes": [
                                                        {
                                                            "typeIdentifier": "t_stringliteral_0bff950dc175e3e278946e4adb75fffc4ee67cda33555121dd293b95b27a39a7",
                                                            "typeString": "literal_string \"log(bool,bool,uint,address)\""
                                                        },
                                                        {
                                                            "typeIdentifier": "t_bool",
                                                            "typeString": "bool"
                                                        },
                                                        {
                                                            "typeIdentifier": "t_bool",
                                                            "typeString": "bool"
                                                        },
                                                        {
                                                            "typeIdentifier": "t_uint256",
                                                            "typeString": "uint256"
                                                        },
                                                        {
                                                            "typeIdentifier": "t_address",
                                                            "typeString": "address"
                                                        }
                                                    ],
                                                    "expression": {
                                                        "id": 18792,
                                                        "name": "abi",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 4294967295,
                                                        "src": "45882:3:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_magic_abi",
                                                            "typeString": "abi"
                                                        }
                                                    },
                                                    "id": 18793,
                                                    "isConstant": false,
                                                    "isLValue": false,
                                                    "isPure": true,
                                                    "lValueRequested": false,
                                                    "memberName": "encodeWithSignature",
                                                    "nodeType": "MemberAccess",
                                                    "src": "45882:23:62",
                                                    "typeDescriptions": {
                                                        "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$",
                                                        "typeString": "function (string memory) pure returns (bytes memory)"
                                                    }
                                                },
                                                "id": 18799,
                                                "isConstant": false,
                                                "isLValue": false,
                                                "isPure": false,
                                                "kind": "functionCall",
                                                "lValueRequested": false,
                                                "names": [],
                                                "nodeType": "FunctionCall",
                                                "src": "45882:70:62",
                                                "tryCall": false,
                                                "typeDescriptions": {
                                                    "typeIdentifier": "t_bytes_memory_ptr",
                                                    "typeString": "bytes memory"
                                                }
                                            }
                                        ],
                                        "expression": {
                                            "argumentTypes": [
                                                {
                                                    "typeIdentifier": "t_bytes_memory_ptr",
                                                    "typeString": "bytes memory"
                                                }
                                            ],
                                            "id": 18791,
                                            "name": "_sendLogPayload",
                                            "nodeType": "Identifier",
                                            "overloadedDeclarations": [],
                                            "referencedDeclaration": 12880,
                                            "src": "45866:15:62",
                                            "typeDescriptions": {
                                                "typeIdentifier": "t_function_internal_view$_t_bytes_memory_ptr_$returns$__$",
                                                "typeString": "function (bytes memory) view"
                                            }
                                        },
                                        "id": 18800,
                                        "isConstant": false,
                                        "isLValue": false,
                                        "isPure": false,
                                        "kind": "functionCall",
                                        "lValueRequested": false,
                                        "names": [],
                                        "nodeType": "FunctionCall",
                                        "src": "45866:87:62",
                                        "tryCall": false,
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_tuple$__$",
                                            "typeString": "tuple()"
                                        }
                                    },
                                    "id": 18801,
                                    "nodeType": "ExpressionStatement",
                                    "src": "45866:87:62"
                                }
                            ]
                        },
                        "id": 18803,
                        "implemented": true,
                        "kind": "function",
                        "modifiers": [],
                        "name": "log",
                        "nameLocation": "45805:3:62",
                        "nodeType": "FunctionDefinition",
                        "parameters": {
                            "id": 18789,
                            "nodeType": "ParameterList",
                            "parameters": [
                                {
                                    "constant": false,
                                    "id": 18782,
                                    "mutability": "mutable",
                                    "name": "p0",
                                    "nameLocation": "45814:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 18803,
                                    "src": "45809:7:62",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_bool",
                                        "typeString": "bool"
                                    },
                                    "typeName": {
                                        "id": 18781,
                                        "name": "bool",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "45809:4:62",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_bool",
                                            "typeString": "bool"
                                        }
                                    },
                                    "visibility": "internal"
                                },
                                {
                                    "constant": false,
                                    "id": 18784,
                                    "mutability": "mutable",
                                    "name": "p1",
                                    "nameLocation": "45823:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 18803,
                                    "src": "45818:7:62",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_bool",
                                        "typeString": "bool"
                                    },
                                    "typeName": {
                                        "id": 18783,
                                        "name": "bool",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "45818:4:62",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_bool",
                                            "typeString": "bool"
                                        }
                                    },
                                    "visibility": "internal"
                                },
                                {
                                    "constant": false,
                                    "id": 18786,
                                    "mutability": "mutable",
                                    "name": "p2",
                                    "nameLocation": "45832:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 18803,
                                    "src": "45827:7:62",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_uint256",
                                        "typeString": "uint256"
                                    },
                                    "typeName": {
                                        "id": 18785,
                                        "name": "uint",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "45827:4:62",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_uint256",
                                            "typeString": "uint256"
                                        }
                                    },
                                    "visibility": "internal"
                                },
                                {
                                    "constant": false,
                                    "id": 18788,
                                    "mutability": "mutable",
                                    "name": "p3",
                                    "nameLocation": "45844:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 18803,
                                    "src": "45836:10:62",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_address",
                                        "typeString": "address"
                                    },
                                    "typeName": {
                                        "id": 18787,
                                        "name": "address",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "45836:7:62",
                                        "stateMutability": "nonpayable",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_address",
                                            "typeString": "address"
                                        }
                                    },
                                    "visibility": "internal"
                                }
                            ],
                            "src": "45808:39:62"
                        },
                        "returnParameters": {
                            "id": 18790,
                            "nodeType": "ParameterList",
                            "parameters": [],
                            "src": "45862:0:62"
                        },
                        "scope": 20920,
                        "src": "45796:161:62",
                        "stateMutability": "view",
                        "virtual": false,
                        "visibility": "internal"
                    },
                    {
                        "body": {
                            "id": 18825,
                            "nodeType": "Block",
                            "src": "46032:94:62",
                            "statements": [
                                {
                                    "expression": {
                                        "arguments": [
                                            {
                                                "arguments": [
                                                    {
                                                        "hexValue": "6c6f6728626f6f6c2c626f6f6c2c737472696e672c75696e7429",
                                                        "id": 18817,
                                                        "isConstant": false,
                                                        "isLValue": false,
                                                        "isPure": true,
                                                        "kind": "string",
                                                        "lValueRequested": false,
                                                        "nodeType": "Literal",
                                                        "src": "46076:28:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_stringliteral_178b4685db1dff62c4ee472c2e6bf50abba0dc230768235e43c6259152d1244e",
                                                            "typeString": "literal_string \"log(bool,bool,string,uint)\""
                                                        },
                                                        "value": "log(bool,bool,string,uint)"
                                                    },
                                                    {
                                                        "id": 18818,
                                                        "name": "p0",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 18805,
                                                        "src": "46106:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_bool",
                                                            "typeString": "bool"
                                                        }
                                                    },
                                                    {
                                                        "id": 18819,
                                                        "name": "p1",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 18807,
                                                        "src": "46110:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_bool",
                                                            "typeString": "bool"
                                                        }
                                                    },
                                                    {
                                                        "id": 18820,
                                                        "name": "p2",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 18809,
                                                        "src": "46114:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_string_memory_ptr",
                                                            "typeString": "string memory"
                                                        }
                                                    },
                                                    {
                                                        "id": 18821,
                                                        "name": "p3",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 18811,
                                                        "src": "46118:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_uint256",
                                                            "typeString": "uint256"
                                                        }
                                                    }
                                                ],
                                                "expression": {
                                                    "argumentTypes": [
                                                        {
                                                            "typeIdentifier": "t_stringliteral_178b4685db1dff62c4ee472c2e6bf50abba0dc230768235e43c6259152d1244e",
                                                            "typeString": "literal_string \"log(bool,bool,string,uint)\""
                                                        },
                                                        {
                                                            "typeIdentifier": "t_bool",
                                                            "typeString": "bool"
                                                        },
                                                        {
                                                            "typeIdentifier": "t_bool",
                                                            "typeString": "bool"
                                                        },
                                                        {
                                                            "typeIdentifier": "t_string_memory_ptr",
                                                            "typeString": "string memory"
                                                        },
                                                        {
                                                            "typeIdentifier": "t_uint256",
                                                            "typeString": "uint256"
                                                        }
                                                    ],
                                                    "expression": {
                                                        "id": 18815,
                                                        "name": "abi",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 4294967295,
                                                        "src": "46052:3:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_magic_abi",
                                                            "typeString": "abi"
                                                        }
                                                    },
                                                    "id": 18816,
                                                    "isConstant": false,
                                                    "isLValue": false,
                                                    "isPure": true,
                                                    "lValueRequested": false,
                                                    "memberName": "encodeWithSignature",
                                                    "nodeType": "MemberAccess",
                                                    "src": "46052:23:62",
                                                    "typeDescriptions": {
                                                        "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$",
                                                        "typeString": "function (string memory) pure returns (bytes memory)"
                                                    }
                                                },
                                                "id": 18822,
                                                "isConstant": false,
                                                "isLValue": false,
                                                "isPure": false,
                                                "kind": "functionCall",
                                                "lValueRequested": false,
                                                "names": [],
                                                "nodeType": "FunctionCall",
                                                "src": "46052:69:62",
                                                "tryCall": false,
                                                "typeDescriptions": {
                                                    "typeIdentifier": "t_bytes_memory_ptr",
                                                    "typeString": "bytes memory"
                                                }
                                            }
                                        ],
                                        "expression": {
                                            "argumentTypes": [
                                                {
                                                    "typeIdentifier": "t_bytes_memory_ptr",
                                                    "typeString": "bytes memory"
                                                }
                                            ],
                                            "id": 18814,
                                            "name": "_sendLogPayload",
                                            "nodeType": "Identifier",
                                            "overloadedDeclarations": [],
                                            "referencedDeclaration": 12880,
                                            "src": "46036:15:62",
                                            "typeDescriptions": {
                                                "typeIdentifier": "t_function_internal_view$_t_bytes_memory_ptr_$returns$__$",
                                                "typeString": "function (bytes memory) view"
                                            }
                                        },
                                        "id": 18823,
                                        "isConstant": false,
                                        "isLValue": false,
                                        "isPure": false,
                                        "kind": "functionCall",
                                        "lValueRequested": false,
                                        "names": [],
                                        "nodeType": "FunctionCall",
                                        "src": "46036:86:62",
                                        "tryCall": false,
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_tuple$__$",
                                            "typeString": "tuple()"
                                        }
                                    },
                                    "id": 18824,
                                    "nodeType": "ExpressionStatement",
                                    "src": "46036:86:62"
                                }
                            ]
                        },
                        "id": 18826,
                        "implemented": true,
                        "kind": "function",
                        "modifiers": [],
                        "name": "log",
                        "nameLocation": "45969:3:62",
                        "nodeType": "FunctionDefinition",
                        "parameters": {
                            "id": 18812,
                            "nodeType": "ParameterList",
                            "parameters": [
                                {
                                    "constant": false,
                                    "id": 18805,
                                    "mutability": "mutable",
                                    "name": "p0",
                                    "nameLocation": "45978:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 18826,
                                    "src": "45973:7:62",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_bool",
                                        "typeString": "bool"
                                    },
                                    "typeName": {
                                        "id": 18804,
                                        "name": "bool",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "45973:4:62",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_bool",
                                            "typeString": "bool"
                                        }
                                    },
                                    "visibility": "internal"
                                },
                                {
                                    "constant": false,
                                    "id": 18807,
                                    "mutability": "mutable",
                                    "name": "p1",
                                    "nameLocation": "45987:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 18826,
                                    "src": "45982:7:62",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_bool",
                                        "typeString": "bool"
                                    },
                                    "typeName": {
                                        "id": 18806,
                                        "name": "bool",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "45982:4:62",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_bool",
                                            "typeString": "bool"
                                        }
                                    },
                                    "visibility": "internal"
                                },
                                {
                                    "constant": false,
                                    "id": 18809,
                                    "mutability": "mutable",
                                    "name": "p2",
                                    "nameLocation": "46005:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 18826,
                                    "src": "45991:16:62",
                                    "stateVariable": false,
                                    "storageLocation": "memory",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_string_memory_ptr",
                                        "typeString": "string"
                                    },
                                    "typeName": {
                                        "id": 18808,
                                        "name": "string",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "45991:6:62",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_string_storage_ptr",
                                            "typeString": "string"
                                        }
                                    },
                                    "visibility": "internal"
                                },
                                {
                                    "constant": false,
                                    "id": 18811,
                                    "mutability": "mutable",
                                    "name": "p3",
                                    "nameLocation": "46014:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 18826,
                                    "src": "46009:7:62",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_uint256",
                                        "typeString": "uint256"
                                    },
                                    "typeName": {
                                        "id": 18810,
                                        "name": "uint",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "46009:4:62",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_uint256",
                                            "typeString": "uint256"
                                        }
                                    },
                                    "visibility": "internal"
                                }
                            ],
                            "src": "45972:45:62"
                        },
                        "returnParameters": {
                            "id": 18813,
                            "nodeType": "ParameterList",
                            "parameters": [],
                            "src": "46032:0:62"
                        },
                        "scope": 20920,
                        "src": "45960:166:62",
                        "stateMutability": "view",
                        "virtual": false,
                        "visibility": "internal"
                    },
                    {
                        "body": {
                            "id": 18848,
                            "nodeType": "Block",
                            "src": "46210:96:62",
                            "statements": [
                                {
                                    "expression": {
                                        "arguments": [
                                            {
                                                "arguments": [
                                                    {
                                                        "hexValue": "6c6f6728626f6f6c2c626f6f6c2c737472696e672c737472696e6729",
                                                        "id": 18840,
                                                        "isConstant": false,
                                                        "isLValue": false,
                                                        "isPure": true,
                                                        "kind": "string",
                                                        "lValueRequested": false,
                                                        "nodeType": "Literal",
                                                        "src": "46254:30:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_stringliteral_6d1e87518c98344bc3efd52648f61de340bda51607aec409d641f3467caafaaf",
                                                            "typeString": "literal_string \"log(bool,bool,string,string)\""
                                                        },
                                                        "value": "log(bool,bool,string,string)"
                                                    },
                                                    {
                                                        "id": 18841,
                                                        "name": "p0",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 18828,
                                                        "src": "46286:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_bool",
                                                            "typeString": "bool"
                                                        }
                                                    },
                                                    {
                                                        "id": 18842,
                                                        "name": "p1",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 18830,
                                                        "src": "46290:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_bool",
                                                            "typeString": "bool"
                                                        }
                                                    },
                                                    {
                                                        "id": 18843,
                                                        "name": "p2",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 18832,
                                                        "src": "46294:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_string_memory_ptr",
                                                            "typeString": "string memory"
                                                        }
                                                    },
                                                    {
                                                        "id": 18844,
                                                        "name": "p3",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 18834,
                                                        "src": "46298:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_string_memory_ptr",
                                                            "typeString": "string memory"
                                                        }
                                                    }
                                                ],
                                                "expression": {
                                                    "argumentTypes": [
                                                        {
                                                            "typeIdentifier": "t_stringliteral_6d1e87518c98344bc3efd52648f61de340bda51607aec409d641f3467caafaaf",
                                                            "typeString": "literal_string \"log(bool,bool,string,string)\""
                                                        },
                                                        {
                                                            "typeIdentifier": "t_bool",
                                                            "typeString": "bool"
                                                        },
                                                        {
                                                            "typeIdentifier": "t_bool",
                                                            "typeString": "bool"
                                                        },
                                                        {
                                                            "typeIdentifier": "t_string_memory_ptr",
                                                            "typeString": "string memory"
                                                        },
                                                        {
                                                            "typeIdentifier": "t_string_memory_ptr",
                                                            "typeString": "string memory"
                                                        }
                                                    ],
                                                    "expression": {
                                                        "id": 18838,
                                                        "name": "abi",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 4294967295,
                                                        "src": "46230:3:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_magic_abi",
                                                            "typeString": "abi"
                                                        }
                                                    },
                                                    "id": 18839,
                                                    "isConstant": false,
                                                    "isLValue": false,
                                                    "isPure": true,
                                                    "lValueRequested": false,
                                                    "memberName": "encodeWithSignature",
                                                    "nodeType": "MemberAccess",
                                                    "src": "46230:23:62",
                                                    "typeDescriptions": {
                                                        "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$",
                                                        "typeString": "function (string memory) pure returns (bytes memory)"
                                                    }
                                                },
                                                "id": 18845,
                                                "isConstant": false,
                                                "isLValue": false,
                                                "isPure": false,
                                                "kind": "functionCall",
                                                "lValueRequested": false,
                                                "names": [],
                                                "nodeType": "FunctionCall",
                                                "src": "46230:71:62",
                                                "tryCall": false,
                                                "typeDescriptions": {
                                                    "typeIdentifier": "t_bytes_memory_ptr",
                                                    "typeString": "bytes memory"
                                                }
                                            }
                                        ],
                                        "expression": {
                                            "argumentTypes": [
                                                {
                                                    "typeIdentifier": "t_bytes_memory_ptr",
                                                    "typeString": "bytes memory"
                                                }
                                            ],
                                            "id": 18837,
                                            "name": "_sendLogPayload",
                                            "nodeType": "Identifier",
                                            "overloadedDeclarations": [],
                                            "referencedDeclaration": 12880,
                                            "src": "46214:15:62",
                                            "typeDescriptions": {
                                                "typeIdentifier": "t_function_internal_view$_t_bytes_memory_ptr_$returns$__$",
                                                "typeString": "function (bytes memory) view"
                                            }
                                        },
                                        "id": 18846,
                                        "isConstant": false,
                                        "isLValue": false,
                                        "isPure": false,
                                        "kind": "functionCall",
                                        "lValueRequested": false,
                                        "names": [],
                                        "nodeType": "FunctionCall",
                                        "src": "46214:88:62",
                                        "tryCall": false,
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_tuple$__$",
                                            "typeString": "tuple()"
                                        }
                                    },
                                    "id": 18847,
                                    "nodeType": "ExpressionStatement",
                                    "src": "46214:88:62"
                                }
                            ]
                        },
                        "id": 18849,
                        "implemented": true,
                        "kind": "function",
                        "modifiers": [],
                        "name": "log",
                        "nameLocation": "46138:3:62",
                        "nodeType": "FunctionDefinition",
                        "parameters": {
                            "id": 18835,
                            "nodeType": "ParameterList",
                            "parameters": [
                                {
                                    "constant": false,
                                    "id": 18828,
                                    "mutability": "mutable",
                                    "name": "p0",
                                    "nameLocation": "46147:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 18849,
                                    "src": "46142:7:62",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_bool",
                                        "typeString": "bool"
                                    },
                                    "typeName": {
                                        "id": 18827,
                                        "name": "bool",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "46142:4:62",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_bool",
                                            "typeString": "bool"
                                        }
                                    },
                                    "visibility": "internal"
                                },
                                {
                                    "constant": false,
                                    "id": 18830,
                                    "mutability": "mutable",
                                    "name": "p1",
                                    "nameLocation": "46156:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 18849,
                                    "src": "46151:7:62",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_bool",
                                        "typeString": "bool"
                                    },
                                    "typeName": {
                                        "id": 18829,
                                        "name": "bool",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "46151:4:62",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_bool",
                                            "typeString": "bool"
                                        }
                                    },
                                    "visibility": "internal"
                                },
                                {
                                    "constant": false,
                                    "id": 18832,
                                    "mutability": "mutable",
                                    "name": "p2",
                                    "nameLocation": "46174:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 18849,
                                    "src": "46160:16:62",
                                    "stateVariable": false,
                                    "storageLocation": "memory",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_string_memory_ptr",
                                        "typeString": "string"
                                    },
                                    "typeName": {
                                        "id": 18831,
                                        "name": "string",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "46160:6:62",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_string_storage_ptr",
                                            "typeString": "string"
                                        }
                                    },
                                    "visibility": "internal"
                                },
                                {
                                    "constant": false,
                                    "id": 18834,
                                    "mutability": "mutable",
                                    "name": "p3",
                                    "nameLocation": "46192:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 18849,
                                    "src": "46178:16:62",
                                    "stateVariable": false,
                                    "storageLocation": "memory",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_string_memory_ptr",
                                        "typeString": "string"
                                    },
                                    "typeName": {
                                        "id": 18833,
                                        "name": "string",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "46178:6:62",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_string_storage_ptr",
                                            "typeString": "string"
                                        }
                                    },
                                    "visibility": "internal"
                                }
                            ],
                            "src": "46141:54:62"
                        },
                        "returnParameters": {
                            "id": 18836,
                            "nodeType": "ParameterList",
                            "parameters": [],
                            "src": "46210:0:62"
                        },
                        "scope": 20920,
                        "src": "46129:177:62",
                        "stateMutability": "view",
                        "virtual": false,
                        "visibility": "internal"
                    },
                    {
                        "body": {
                            "id": 18871,
                            "nodeType": "Block",
                            "src": "46381:94:62",
                            "statements": [
                                {
                                    "expression": {
                                        "arguments": [
                                            {
                                                "arguments": [
                                                    {
                                                        "hexValue": "6c6f6728626f6f6c2c626f6f6c2c737472696e672c626f6f6c29",
                                                        "id": 18863,
                                                        "isConstant": false,
                                                        "isLValue": false,
                                                        "isPure": true,
                                                        "kind": "string",
                                                        "lValueRequested": false,
                                                        "nodeType": "Literal",
                                                        "src": "46425:28:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_stringliteral_b857163a2b7b8273ed53cefa410aa148f1833bdfc22da11e1e2fb89c6e625d02",
                                                            "typeString": "literal_string \"log(bool,bool,string,bool)\""
                                                        },
                                                        "value": "log(bool,bool,string,bool)"
                                                    },
                                                    {
                                                        "id": 18864,
                                                        "name": "p0",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 18851,
                                                        "src": "46455:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_bool",
                                                            "typeString": "bool"
                                                        }
                                                    },
                                                    {
                                                        "id": 18865,
                                                        "name": "p1",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 18853,
                                                        "src": "46459:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_bool",
                                                            "typeString": "bool"
                                                        }
                                                    },
                                                    {
                                                        "id": 18866,
                                                        "name": "p2",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 18855,
                                                        "src": "46463:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_string_memory_ptr",
                                                            "typeString": "string memory"
                                                        }
                                                    },
                                                    {
                                                        "id": 18867,
                                                        "name": "p3",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 18857,
                                                        "src": "46467:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_bool",
                                                            "typeString": "bool"
                                                        }
                                                    }
                                                ],
                                                "expression": {
                                                    "argumentTypes": [
                                                        {
                                                            "typeIdentifier": "t_stringliteral_b857163a2b7b8273ed53cefa410aa148f1833bdfc22da11e1e2fb89c6e625d02",
                                                            "typeString": "literal_string \"log(bool,bool,string,bool)\""
                                                        },
                                                        {
                                                            "typeIdentifier": "t_bool",
                                                            "typeString": "bool"
                                                        },
                                                        {
                                                            "typeIdentifier": "t_bool",
                                                            "typeString": "bool"
                                                        },
                                                        {
                                                            "typeIdentifier": "t_string_memory_ptr",
                                                            "typeString": "string memory"
                                                        },
                                                        {
                                                            "typeIdentifier": "t_bool",
                                                            "typeString": "bool"
                                                        }
                                                    ],
                                                    "expression": {
                                                        "id": 18861,
                                                        "name": "abi",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 4294967295,
                                                        "src": "46401:3:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_magic_abi",
                                                            "typeString": "abi"
                                                        }
                                                    },
                                                    "id": 18862,
                                                    "isConstant": false,
                                                    "isLValue": false,
                                                    "isPure": true,
                                                    "lValueRequested": false,
                                                    "memberName": "encodeWithSignature",
                                                    "nodeType": "MemberAccess",
                                                    "src": "46401:23:62",
                                                    "typeDescriptions": {
                                                        "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$",
                                                        "typeString": "function (string memory) pure returns (bytes memory)"
                                                    }
                                                },
                                                "id": 18868,
                                                "isConstant": false,
                                                "isLValue": false,
                                                "isPure": false,
                                                "kind": "functionCall",
                                                "lValueRequested": false,
                                                "names": [],
                                                "nodeType": "FunctionCall",
                                                "src": "46401:69:62",
                                                "tryCall": false,
                                                "typeDescriptions": {
                                                    "typeIdentifier": "t_bytes_memory_ptr",
                                                    "typeString": "bytes memory"
                                                }
                                            }
                                        ],
                                        "expression": {
                                            "argumentTypes": [
                                                {
                                                    "typeIdentifier": "t_bytes_memory_ptr",
                                                    "typeString": "bytes memory"
                                                }
                                            ],
                                            "id": 18860,
                                            "name": "_sendLogPayload",
                                            "nodeType": "Identifier",
                                            "overloadedDeclarations": [],
                                            "referencedDeclaration": 12880,
                                            "src": "46385:15:62",
                                            "typeDescriptions": {
                                                "typeIdentifier": "t_function_internal_view$_t_bytes_memory_ptr_$returns$__$",
                                                "typeString": "function (bytes memory) view"
                                            }
                                        },
                                        "id": 18869,
                                        "isConstant": false,
                                        "isLValue": false,
                                        "isPure": false,
                                        "kind": "functionCall",
                                        "lValueRequested": false,
                                        "names": [],
                                        "nodeType": "FunctionCall",
                                        "src": "46385:86:62",
                                        "tryCall": false,
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_tuple$__$",
                                            "typeString": "tuple()"
                                        }
                                    },
                                    "id": 18870,
                                    "nodeType": "ExpressionStatement",
                                    "src": "46385:86:62"
                                }
                            ]
                        },
                        "id": 18872,
                        "implemented": true,
                        "kind": "function",
                        "modifiers": [],
                        "name": "log",
                        "nameLocation": "46318:3:62",
                        "nodeType": "FunctionDefinition",
                        "parameters": {
                            "id": 18858,
                            "nodeType": "ParameterList",
                            "parameters": [
                                {
                                    "constant": false,
                                    "id": 18851,
                                    "mutability": "mutable",
                                    "name": "p0",
                                    "nameLocation": "46327:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 18872,
                                    "src": "46322:7:62",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_bool",
                                        "typeString": "bool"
                                    },
                                    "typeName": {
                                        "id": 18850,
                                        "name": "bool",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "46322:4:62",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_bool",
                                            "typeString": "bool"
                                        }
                                    },
                                    "visibility": "internal"
                                },
                                {
                                    "constant": false,
                                    "id": 18853,
                                    "mutability": "mutable",
                                    "name": "p1",
                                    "nameLocation": "46336:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 18872,
                                    "src": "46331:7:62",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_bool",
                                        "typeString": "bool"
                                    },
                                    "typeName": {
                                        "id": 18852,
                                        "name": "bool",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "46331:4:62",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_bool",
                                            "typeString": "bool"
                                        }
                                    },
                                    "visibility": "internal"
                                },
                                {
                                    "constant": false,
                                    "id": 18855,
                                    "mutability": "mutable",
                                    "name": "p2",
                                    "nameLocation": "46354:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 18872,
                                    "src": "46340:16:62",
                                    "stateVariable": false,
                                    "storageLocation": "memory",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_string_memory_ptr",
                                        "typeString": "string"
                                    },
                                    "typeName": {
                                        "id": 18854,
                                        "name": "string",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "46340:6:62",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_string_storage_ptr",
                                            "typeString": "string"
                                        }
                                    },
                                    "visibility": "internal"
                                },
                                {
                                    "constant": false,
                                    "id": 18857,
                                    "mutability": "mutable",
                                    "name": "p3",
                                    "nameLocation": "46363:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 18872,
                                    "src": "46358:7:62",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_bool",
                                        "typeString": "bool"
                                    },
                                    "typeName": {
                                        "id": 18856,
                                        "name": "bool",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "46358:4:62",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_bool",
                                            "typeString": "bool"
                                        }
                                    },
                                    "visibility": "internal"
                                }
                            ],
                            "src": "46321:45:62"
                        },
                        "returnParameters": {
                            "id": 18859,
                            "nodeType": "ParameterList",
                            "parameters": [],
                            "src": "46381:0:62"
                        },
                        "scope": 20920,
                        "src": "46309:166:62",
                        "stateMutability": "view",
                        "virtual": false,
                        "visibility": "internal"
                    },
                    {
                        "body": {
                            "id": 18894,
                            "nodeType": "Block",
                            "src": "46553:97:62",
                            "statements": [
                                {
                                    "expression": {
                                        "arguments": [
                                            {
                                                "arguments": [
                                                    {
                                                        "hexValue": "6c6f6728626f6f6c2c626f6f6c2c737472696e672c6164647265737329",
                                                        "id": 18886,
                                                        "isConstant": false,
                                                        "isLValue": false,
                                                        "isPure": true,
                                                        "kind": "string",
                                                        "lValueRequested": false,
                                                        "nodeType": "Literal",
                                                        "src": "46597:31:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_stringliteral_f9ad2b893873fa31c02b102aa30743b2e44c102daa588ea9d1eb1f2baf23d202",
                                                            "typeString": "literal_string \"log(bool,bool,string,address)\""
                                                        },
                                                        "value": "log(bool,bool,string,address)"
                                                    },
                                                    {
                                                        "id": 18887,
                                                        "name": "p0",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 18874,
                                                        "src": "46630:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_bool",
                                                            "typeString": "bool"
                                                        }
                                                    },
                                                    {
                                                        "id": 18888,
                                                        "name": "p1",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 18876,
                                                        "src": "46634:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_bool",
                                                            "typeString": "bool"
                                                        }
                                                    },
                                                    {
                                                        "id": 18889,
                                                        "name": "p2",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 18878,
                                                        "src": "46638:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_string_memory_ptr",
                                                            "typeString": "string memory"
                                                        }
                                                    },
                                                    {
                                                        "id": 18890,
                                                        "name": "p3",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 18880,
                                                        "src": "46642:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_address",
                                                            "typeString": "address"
                                                        }
                                                    }
                                                ],
                                                "expression": {
                                                    "argumentTypes": [
                                                        {
                                                            "typeIdentifier": "t_stringliteral_f9ad2b893873fa31c02b102aa30743b2e44c102daa588ea9d1eb1f2baf23d202",
                                                            "typeString": "literal_string \"log(bool,bool,string,address)\""
                                                        },
                                                        {
                                                            "typeIdentifier": "t_bool",
                                                            "typeString": "bool"
                                                        },
                                                        {
                                                            "typeIdentifier": "t_bool",
                                                            "typeString": "bool"
                                                        },
                                                        {
                                                            "typeIdentifier": "t_string_memory_ptr",
                                                            "typeString": "string memory"
                                                        },
                                                        {
                                                            "typeIdentifier": "t_address",
                                                            "typeString": "address"
                                                        }
                                                    ],
                                                    "expression": {
                                                        "id": 18884,
                                                        "name": "abi",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 4294967295,
                                                        "src": "46573:3:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_magic_abi",
                                                            "typeString": "abi"
                                                        }
                                                    },
                                                    "id": 18885,
                                                    "isConstant": false,
                                                    "isLValue": false,
                                                    "isPure": true,
                                                    "lValueRequested": false,
                                                    "memberName": "encodeWithSignature",
                                                    "nodeType": "MemberAccess",
                                                    "src": "46573:23:62",
                                                    "typeDescriptions": {
                                                        "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$",
                                                        "typeString": "function (string memory) pure returns (bytes memory)"
                                                    }
                                                },
                                                "id": 18891,
                                                "isConstant": false,
                                                "isLValue": false,
                                                "isPure": false,
                                                "kind": "functionCall",
                                                "lValueRequested": false,
                                                "names": [],
                                                "nodeType": "FunctionCall",
                                                "src": "46573:72:62",
                                                "tryCall": false,
                                                "typeDescriptions": {
                                                    "typeIdentifier": "t_bytes_memory_ptr",
                                                    "typeString": "bytes memory"
                                                }
                                            }
                                        ],
                                        "expression": {
                                            "argumentTypes": [
                                                {
                                                    "typeIdentifier": "t_bytes_memory_ptr",
                                                    "typeString": "bytes memory"
                                                }
                                            ],
                                            "id": 18883,
                                            "name": "_sendLogPayload",
                                            "nodeType": "Identifier",
                                            "overloadedDeclarations": [],
                                            "referencedDeclaration": 12880,
                                            "src": "46557:15:62",
                                            "typeDescriptions": {
                                                "typeIdentifier": "t_function_internal_view$_t_bytes_memory_ptr_$returns$__$",
                                                "typeString": "function (bytes memory) view"
                                            }
                                        },
                                        "id": 18892,
                                        "isConstant": false,
                                        "isLValue": false,
                                        "isPure": false,
                                        "kind": "functionCall",
                                        "lValueRequested": false,
                                        "names": [],
                                        "nodeType": "FunctionCall",
                                        "src": "46557:89:62",
                                        "tryCall": false,
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_tuple$__$",
                                            "typeString": "tuple()"
                                        }
                                    },
                                    "id": 18893,
                                    "nodeType": "ExpressionStatement",
                                    "src": "46557:89:62"
                                }
                            ]
                        },
                        "id": 18895,
                        "implemented": true,
                        "kind": "function",
                        "modifiers": [],
                        "name": "log",
                        "nameLocation": "46487:3:62",
                        "nodeType": "FunctionDefinition",
                        "parameters": {
                            "id": 18881,
                            "nodeType": "ParameterList",
                            "parameters": [
                                {
                                    "constant": false,
                                    "id": 18874,
                                    "mutability": "mutable",
                                    "name": "p0",
                                    "nameLocation": "46496:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 18895,
                                    "src": "46491:7:62",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_bool",
                                        "typeString": "bool"
                                    },
                                    "typeName": {
                                        "id": 18873,
                                        "name": "bool",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "46491:4:62",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_bool",
                                            "typeString": "bool"
                                        }
                                    },
                                    "visibility": "internal"
                                },
                                {
                                    "constant": false,
                                    "id": 18876,
                                    "mutability": "mutable",
                                    "name": "p1",
                                    "nameLocation": "46505:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 18895,
                                    "src": "46500:7:62",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_bool",
                                        "typeString": "bool"
                                    },
                                    "typeName": {
                                        "id": 18875,
                                        "name": "bool",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "46500:4:62",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_bool",
                                            "typeString": "bool"
                                        }
                                    },
                                    "visibility": "internal"
                                },
                                {
                                    "constant": false,
                                    "id": 18878,
                                    "mutability": "mutable",
                                    "name": "p2",
                                    "nameLocation": "46523:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 18895,
                                    "src": "46509:16:62",
                                    "stateVariable": false,
                                    "storageLocation": "memory",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_string_memory_ptr",
                                        "typeString": "string"
                                    },
                                    "typeName": {
                                        "id": 18877,
                                        "name": "string",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "46509:6:62",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_string_storage_ptr",
                                            "typeString": "string"
                                        }
                                    },
                                    "visibility": "internal"
                                },
                                {
                                    "constant": false,
                                    "id": 18880,
                                    "mutability": "mutable",
                                    "name": "p3",
                                    "nameLocation": "46535:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 18895,
                                    "src": "46527:10:62",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_address",
                                        "typeString": "address"
                                    },
                                    "typeName": {
                                        "id": 18879,
                                        "name": "address",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "46527:7:62",
                                        "stateMutability": "nonpayable",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_address",
                                            "typeString": "address"
                                        }
                                    },
                                    "visibility": "internal"
                                }
                            ],
                            "src": "46490:48:62"
                        },
                        "returnParameters": {
                            "id": 18882,
                            "nodeType": "ParameterList",
                            "parameters": [],
                            "src": "46553:0:62"
                        },
                        "scope": 20920,
                        "src": "46478:172:62",
                        "stateMutability": "view",
                        "virtual": false,
                        "visibility": "internal"
                    },
                    {
                        "body": {
                            "id": 18917,
                            "nodeType": "Block",
                            "src": "46716:92:62",
                            "statements": [
                                {
                                    "expression": {
                                        "arguments": [
                                            {
                                                "arguments": [
                                                    {
                                                        "hexValue": "6c6f6728626f6f6c2c626f6f6c2c626f6f6c2c75696e7429",
                                                        "id": 18909,
                                                        "isConstant": false,
                                                        "isLValue": false,
                                                        "isPure": true,
                                                        "kind": "string",
                                                        "lValueRequested": false,
                                                        "nodeType": "Literal",
                                                        "src": "46760:26:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_stringliteral_c248834dff84ca4bcbda9cf249a0d5da3bd0a58b4562085082654d4d9851b501",
                                                            "typeString": "literal_string \"log(bool,bool,bool,uint)\""
                                                        },
                                                        "value": "log(bool,bool,bool,uint)"
                                                    },
                                                    {
                                                        "id": 18910,
                                                        "name": "p0",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 18897,
                                                        "src": "46788:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_bool",
                                                            "typeString": "bool"
                                                        }
                                                    },
                                                    {
                                                        "id": 18911,
                                                        "name": "p1",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 18899,
                                                        "src": "46792:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_bool",
                                                            "typeString": "bool"
                                                        }
                                                    },
                                                    {
                                                        "id": 18912,
                                                        "name": "p2",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 18901,
                                                        "src": "46796:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_bool",
                                                            "typeString": "bool"
                                                        }
                                                    },
                                                    {
                                                        "id": 18913,
                                                        "name": "p3",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 18903,
                                                        "src": "46800:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_uint256",
                                                            "typeString": "uint256"
                                                        }
                                                    }
                                                ],
                                                "expression": {
                                                    "argumentTypes": [
                                                        {
                                                            "typeIdentifier": "t_stringliteral_c248834dff84ca4bcbda9cf249a0d5da3bd0a58b4562085082654d4d9851b501",
                                                            "typeString": "literal_string \"log(bool,bool,bool,uint)\""
                                                        },
                                                        {
                                                            "typeIdentifier": "t_bool",
                                                            "typeString": "bool"
                                                        },
                                                        {
                                                            "typeIdentifier": "t_bool",
                                                            "typeString": "bool"
                                                        },
                                                        {
                                                            "typeIdentifier": "t_bool",
                                                            "typeString": "bool"
                                                        },
                                                        {
                                                            "typeIdentifier": "t_uint256",
                                                            "typeString": "uint256"
                                                        }
                                                    ],
                                                    "expression": {
                                                        "id": 18907,
                                                        "name": "abi",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 4294967295,
                                                        "src": "46736:3:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_magic_abi",
                                                            "typeString": "abi"
                                                        }
                                                    },
                                                    "id": 18908,
                                                    "isConstant": false,
                                                    "isLValue": false,
                                                    "isPure": true,
                                                    "lValueRequested": false,
                                                    "memberName": "encodeWithSignature",
                                                    "nodeType": "MemberAccess",
                                                    "src": "46736:23:62",
                                                    "typeDescriptions": {
                                                        "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$",
                                                        "typeString": "function (string memory) pure returns (bytes memory)"
                                                    }
                                                },
                                                "id": 18914,
                                                "isConstant": false,
                                                "isLValue": false,
                                                "isPure": false,
                                                "kind": "functionCall",
                                                "lValueRequested": false,
                                                "names": [],
                                                "nodeType": "FunctionCall",
                                                "src": "46736:67:62",
                                                "tryCall": false,
                                                "typeDescriptions": {
                                                    "typeIdentifier": "t_bytes_memory_ptr",
                                                    "typeString": "bytes memory"
                                                }
                                            }
                                        ],
                                        "expression": {
                                            "argumentTypes": [
                                                {
                                                    "typeIdentifier": "t_bytes_memory_ptr",
                                                    "typeString": "bytes memory"
                                                }
                                            ],
                                            "id": 18906,
                                            "name": "_sendLogPayload",
                                            "nodeType": "Identifier",
                                            "overloadedDeclarations": [],
                                            "referencedDeclaration": 12880,
                                            "src": "46720:15:62",
                                            "typeDescriptions": {
                                                "typeIdentifier": "t_function_internal_view$_t_bytes_memory_ptr_$returns$__$",
                                                "typeString": "function (bytes memory) view"
                                            }
                                        },
                                        "id": 18915,
                                        "isConstant": false,
                                        "isLValue": false,
                                        "isPure": false,
                                        "kind": "functionCall",
                                        "lValueRequested": false,
                                        "names": [],
                                        "nodeType": "FunctionCall",
                                        "src": "46720:84:62",
                                        "tryCall": false,
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_tuple$__$",
                                            "typeString": "tuple()"
                                        }
                                    },
                                    "id": 18916,
                                    "nodeType": "ExpressionStatement",
                                    "src": "46720:84:62"
                                }
                            ]
                        },
                        "id": 18918,
                        "implemented": true,
                        "kind": "function",
                        "modifiers": [],
                        "name": "log",
                        "nameLocation": "46662:3:62",
                        "nodeType": "FunctionDefinition",
                        "parameters": {
                            "id": 18904,
                            "nodeType": "ParameterList",
                            "parameters": [
                                {
                                    "constant": false,
                                    "id": 18897,
                                    "mutability": "mutable",
                                    "name": "p0",
                                    "nameLocation": "46671:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 18918,
                                    "src": "46666:7:62",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_bool",
                                        "typeString": "bool"
                                    },
                                    "typeName": {
                                        "id": 18896,
                                        "name": "bool",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "46666:4:62",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_bool",
                                            "typeString": "bool"
                                        }
                                    },
                                    "visibility": "internal"
                                },
                                {
                                    "constant": false,
                                    "id": 18899,
                                    "mutability": "mutable",
                                    "name": "p1",
                                    "nameLocation": "46680:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 18918,
                                    "src": "46675:7:62",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_bool",
                                        "typeString": "bool"
                                    },
                                    "typeName": {
                                        "id": 18898,
                                        "name": "bool",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "46675:4:62",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_bool",
                                            "typeString": "bool"
                                        }
                                    },
                                    "visibility": "internal"
                                },
                                {
                                    "constant": false,
                                    "id": 18901,
                                    "mutability": "mutable",
                                    "name": "p2",
                                    "nameLocation": "46689:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 18918,
                                    "src": "46684:7:62",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_bool",
                                        "typeString": "bool"
                                    },
                                    "typeName": {
                                        "id": 18900,
                                        "name": "bool",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "46684:4:62",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_bool",
                                            "typeString": "bool"
                                        }
                                    },
                                    "visibility": "internal"
                                },
                                {
                                    "constant": false,
                                    "id": 18903,
                                    "mutability": "mutable",
                                    "name": "p3",
                                    "nameLocation": "46698:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 18918,
                                    "src": "46693:7:62",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_uint256",
                                        "typeString": "uint256"
                                    },
                                    "typeName": {
                                        "id": 18902,
                                        "name": "uint",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "46693:4:62",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_uint256",
                                            "typeString": "uint256"
                                        }
                                    },
                                    "visibility": "internal"
                                }
                            ],
                            "src": "46665:36:62"
                        },
                        "returnParameters": {
                            "id": 18905,
                            "nodeType": "ParameterList",
                            "parameters": [],
                            "src": "46716:0:62"
                        },
                        "scope": 20920,
                        "src": "46653:155:62",
                        "stateMutability": "view",
                        "virtual": false,
                        "visibility": "internal"
                    },
                    {
                        "body": {
                            "id": 18940,
                            "nodeType": "Block",
                            "src": "46883:94:62",
                            "statements": [
                                {
                                    "expression": {
                                        "arguments": [
                                            {
                                                "arguments": [
                                                    {
                                                        "hexValue": "6c6f6728626f6f6c2c626f6f6c2c626f6f6c2c737472696e6729",
                                                        "id": 18932,
                                                        "isConstant": false,
                                                        "isLValue": false,
                                                        "isPure": true,
                                                        "kind": "string",
                                                        "lValueRequested": false,
                                                        "nodeType": "Literal",
                                                        "src": "46927:28:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_stringliteral_2ae408d4d030305a0361ad07c397f2b9653613b220d82459c7aeb9a6bab96c15",
                                                            "typeString": "literal_string \"log(bool,bool,bool,string)\""
                                                        },
                                                        "value": "log(bool,bool,bool,string)"
                                                    },
                                                    {
                                                        "id": 18933,
                                                        "name": "p0",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 18920,
                                                        "src": "46957:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_bool",
                                                            "typeString": "bool"
                                                        }
                                                    },
                                                    {
                                                        "id": 18934,
                                                        "name": "p1",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 18922,
                                                        "src": "46961:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_bool",
                                                            "typeString": "bool"
                                                        }
                                                    },
                                                    {
                                                        "id": 18935,
                                                        "name": "p2",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 18924,
                                                        "src": "46965:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_bool",
                                                            "typeString": "bool"
                                                        }
                                                    },
                                                    {
                                                        "id": 18936,
                                                        "name": "p3",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 18926,
                                                        "src": "46969:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_string_memory_ptr",
                                                            "typeString": "string memory"
                                                        }
                                                    }
                                                ],
                                                "expression": {
                                                    "argumentTypes": [
                                                        {
                                                            "typeIdentifier": "t_stringliteral_2ae408d4d030305a0361ad07c397f2b9653613b220d82459c7aeb9a6bab96c15",
                                                            "typeString": "literal_string \"log(bool,bool,bool,string)\""
                                                        },
                                                        {
                                                            "typeIdentifier": "t_bool",
                                                            "typeString": "bool"
                                                        },
                                                        {
                                                            "typeIdentifier": "t_bool",
                                                            "typeString": "bool"
                                                        },
                                                        {
                                                            "typeIdentifier": "t_bool",
                                                            "typeString": "bool"
                                                        },
                                                        {
                                                            "typeIdentifier": "t_string_memory_ptr",
                                                            "typeString": "string memory"
                                                        }
                                                    ],
                                                    "expression": {
                                                        "id": 18930,
                                                        "name": "abi",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 4294967295,
                                                        "src": "46903:3:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_magic_abi",
                                                            "typeString": "abi"
                                                        }
                                                    },
                                                    "id": 18931,
                                                    "isConstant": false,
                                                    "isLValue": false,
                                                    "isPure": true,
                                                    "lValueRequested": false,
                                                    "memberName": "encodeWithSignature",
                                                    "nodeType": "MemberAccess",
                                                    "src": "46903:23:62",
                                                    "typeDescriptions": {
                                                        "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$",
                                                        "typeString": "function (string memory) pure returns (bytes memory)"
                                                    }
                                                },
                                                "id": 18937,
                                                "isConstant": false,
                                                "isLValue": false,
                                                "isPure": false,
                                                "kind": "functionCall",
                                                "lValueRequested": false,
                                                "names": [],
                                                "nodeType": "FunctionCall",
                                                "src": "46903:69:62",
                                                "tryCall": false,
                                                "typeDescriptions": {
                                                    "typeIdentifier": "t_bytes_memory_ptr",
                                                    "typeString": "bytes memory"
                                                }
                                            }
                                        ],
                                        "expression": {
                                            "argumentTypes": [
                                                {
                                                    "typeIdentifier": "t_bytes_memory_ptr",
                                                    "typeString": "bytes memory"
                                                }
                                            ],
                                            "id": 18929,
                                            "name": "_sendLogPayload",
                                            "nodeType": "Identifier",
                                            "overloadedDeclarations": [],
                                            "referencedDeclaration": 12880,
                                            "src": "46887:15:62",
                                            "typeDescriptions": {
                                                "typeIdentifier": "t_function_internal_view$_t_bytes_memory_ptr_$returns$__$",
                                                "typeString": "function (bytes memory) view"
                                            }
                                        },
                                        "id": 18938,
                                        "isConstant": false,
                                        "isLValue": false,
                                        "isPure": false,
                                        "kind": "functionCall",
                                        "lValueRequested": false,
                                        "names": [],
                                        "nodeType": "FunctionCall",
                                        "src": "46887:86:62",
                                        "tryCall": false,
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_tuple$__$",
                                            "typeString": "tuple()"
                                        }
                                    },
                                    "id": 18939,
                                    "nodeType": "ExpressionStatement",
                                    "src": "46887:86:62"
                                }
                            ]
                        },
                        "id": 18941,
                        "implemented": true,
                        "kind": "function",
                        "modifiers": [],
                        "name": "log",
                        "nameLocation": "46820:3:62",
                        "nodeType": "FunctionDefinition",
                        "parameters": {
                            "id": 18927,
                            "nodeType": "ParameterList",
                            "parameters": [
                                {
                                    "constant": false,
                                    "id": 18920,
                                    "mutability": "mutable",
                                    "name": "p0",
                                    "nameLocation": "46829:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 18941,
                                    "src": "46824:7:62",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_bool",
                                        "typeString": "bool"
                                    },
                                    "typeName": {
                                        "id": 18919,
                                        "name": "bool",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "46824:4:62",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_bool",
                                            "typeString": "bool"
                                        }
                                    },
                                    "visibility": "internal"
                                },
                                {
                                    "constant": false,
                                    "id": 18922,
                                    "mutability": "mutable",
                                    "name": "p1",
                                    "nameLocation": "46838:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 18941,
                                    "src": "46833:7:62",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_bool",
                                        "typeString": "bool"
                                    },
                                    "typeName": {
                                        "id": 18921,
                                        "name": "bool",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "46833:4:62",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_bool",
                                            "typeString": "bool"
                                        }
                                    },
                                    "visibility": "internal"
                                },
                                {
                                    "constant": false,
                                    "id": 18924,
                                    "mutability": "mutable",
                                    "name": "p2",
                                    "nameLocation": "46847:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 18941,
                                    "src": "46842:7:62",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_bool",
                                        "typeString": "bool"
                                    },
                                    "typeName": {
                                        "id": 18923,
                                        "name": "bool",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "46842:4:62",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_bool",
                                            "typeString": "bool"
                                        }
                                    },
                                    "visibility": "internal"
                                },
                                {
                                    "constant": false,
                                    "id": 18926,
                                    "mutability": "mutable",
                                    "name": "p3",
                                    "nameLocation": "46865:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 18941,
                                    "src": "46851:16:62",
                                    "stateVariable": false,
                                    "storageLocation": "memory",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_string_memory_ptr",
                                        "typeString": "string"
                                    },
                                    "typeName": {
                                        "id": 18925,
                                        "name": "string",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "46851:6:62",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_string_storage_ptr",
                                            "typeString": "string"
                                        }
                                    },
                                    "visibility": "internal"
                                }
                            ],
                            "src": "46823:45:62"
                        },
                        "returnParameters": {
                            "id": 18928,
                            "nodeType": "ParameterList",
                            "parameters": [],
                            "src": "46883:0:62"
                        },
                        "scope": 20920,
                        "src": "46811:166:62",
                        "stateMutability": "view",
                        "virtual": false,
                        "visibility": "internal"
                    },
                    {
                        "body": {
                            "id": 18963,
                            "nodeType": "Block",
                            "src": "47043:92:62",
                            "statements": [
                                {
                                    "expression": {
                                        "arguments": [
                                            {
                                                "arguments": [
                                                    {
                                                        "hexValue": "6c6f6728626f6f6c2c626f6f6c2c626f6f6c2c626f6f6c29",
                                                        "id": 18955,
                                                        "isConstant": false,
                                                        "isLValue": false,
                                                        "isPure": true,
                                                        "kind": "string",
                                                        "lValueRequested": false,
                                                        "nodeType": "Literal",
                                                        "src": "47087:26:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_stringliteral_3b2a5ce0ddf7b166153a4354c81efba12a817983a38c6bc3b58fd91ce816d99f",
                                                            "typeString": "literal_string \"log(bool,bool,bool,bool)\""
                                                        },
                                                        "value": "log(bool,bool,bool,bool)"
                                                    },
                                                    {
                                                        "id": 18956,
                                                        "name": "p0",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 18943,
                                                        "src": "47115:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_bool",
                                                            "typeString": "bool"
                                                        }
                                                    },
                                                    {
                                                        "id": 18957,
                                                        "name": "p1",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 18945,
                                                        "src": "47119:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_bool",
                                                            "typeString": "bool"
                                                        }
                                                    },
                                                    {
                                                        "id": 18958,
                                                        "name": "p2",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 18947,
                                                        "src": "47123:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_bool",
                                                            "typeString": "bool"
                                                        }
                                                    },
                                                    {
                                                        "id": 18959,
                                                        "name": "p3",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 18949,
                                                        "src": "47127:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_bool",
                                                            "typeString": "bool"
                                                        }
                                                    }
                                                ],
                                                "expression": {
                                                    "argumentTypes": [
                                                        {
                                                            "typeIdentifier": "t_stringliteral_3b2a5ce0ddf7b166153a4354c81efba12a817983a38c6bc3b58fd91ce816d99f",
                                                            "typeString": "literal_string \"log(bool,bool,bool,bool)\""
                                                        },
                                                        {
                                                            "typeIdentifier": "t_bool",
                                                            "typeString": "bool"
                                                        },
                                                        {
                                                            "typeIdentifier": "t_bool",
                                                            "typeString": "bool"
                                                        },
                                                        {
                                                            "typeIdentifier": "t_bool",
                                                            "typeString": "bool"
                                                        },
                                                        {
                                                            "typeIdentifier": "t_bool",
                                                            "typeString": "bool"
                                                        }
                                                    ],
                                                    "expression": {
                                                        "id": 18953,
                                                        "name": "abi",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 4294967295,
                                                        "src": "47063:3:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_magic_abi",
                                                            "typeString": "abi"
                                                        }
                                                    },
                                                    "id": 18954,
                                                    "isConstant": false,
                                                    "isLValue": false,
                                                    "isPure": true,
                                                    "lValueRequested": false,
                                                    "memberName": "encodeWithSignature",
                                                    "nodeType": "MemberAccess",
                                                    "src": "47063:23:62",
                                                    "typeDescriptions": {
                                                        "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$",
                                                        "typeString": "function (string memory) pure returns (bytes memory)"
                                                    }
                                                },
                                                "id": 18960,
                                                "isConstant": false,
                                                "isLValue": false,
                                                "isPure": false,
                                                "kind": "functionCall",
                                                "lValueRequested": false,
                                                "names": [],
                                                "nodeType": "FunctionCall",
                                                "src": "47063:67:62",
                                                "tryCall": false,
                                                "typeDescriptions": {
                                                    "typeIdentifier": "t_bytes_memory_ptr",
                                                    "typeString": "bytes memory"
                                                }
                                            }
                                        ],
                                        "expression": {
                                            "argumentTypes": [
                                                {
                                                    "typeIdentifier": "t_bytes_memory_ptr",
                                                    "typeString": "bytes memory"
                                                }
                                            ],
                                            "id": 18952,
                                            "name": "_sendLogPayload",
                                            "nodeType": "Identifier",
                                            "overloadedDeclarations": [],
                                            "referencedDeclaration": 12880,
                                            "src": "47047:15:62",
                                            "typeDescriptions": {
                                                "typeIdentifier": "t_function_internal_view$_t_bytes_memory_ptr_$returns$__$",
                                                "typeString": "function (bytes memory) view"
                                            }
                                        },
                                        "id": 18961,
                                        "isConstant": false,
                                        "isLValue": false,
                                        "isPure": false,
                                        "kind": "functionCall",
                                        "lValueRequested": false,
                                        "names": [],
                                        "nodeType": "FunctionCall",
                                        "src": "47047:84:62",
                                        "tryCall": false,
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_tuple$__$",
                                            "typeString": "tuple()"
                                        }
                                    },
                                    "id": 18962,
                                    "nodeType": "ExpressionStatement",
                                    "src": "47047:84:62"
                                }
                            ]
                        },
                        "id": 18964,
                        "implemented": true,
                        "kind": "function",
                        "modifiers": [],
                        "name": "log",
                        "nameLocation": "46989:3:62",
                        "nodeType": "FunctionDefinition",
                        "parameters": {
                            "id": 18950,
                            "nodeType": "ParameterList",
                            "parameters": [
                                {
                                    "constant": false,
                                    "id": 18943,
                                    "mutability": "mutable",
                                    "name": "p0",
                                    "nameLocation": "46998:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 18964,
                                    "src": "46993:7:62",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_bool",
                                        "typeString": "bool"
                                    },
                                    "typeName": {
                                        "id": 18942,
                                        "name": "bool",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "46993:4:62",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_bool",
                                            "typeString": "bool"
                                        }
                                    },
                                    "visibility": "internal"
                                },
                                {
                                    "constant": false,
                                    "id": 18945,
                                    "mutability": "mutable",
                                    "name": "p1",
                                    "nameLocation": "47007:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 18964,
                                    "src": "47002:7:62",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_bool",
                                        "typeString": "bool"
                                    },
                                    "typeName": {
                                        "id": 18944,
                                        "name": "bool",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "47002:4:62",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_bool",
                                            "typeString": "bool"
                                        }
                                    },
                                    "visibility": "internal"
                                },
                                {
                                    "constant": false,
                                    "id": 18947,
                                    "mutability": "mutable",
                                    "name": "p2",
                                    "nameLocation": "47016:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 18964,
                                    "src": "47011:7:62",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_bool",
                                        "typeString": "bool"
                                    },
                                    "typeName": {
                                        "id": 18946,
                                        "name": "bool",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "47011:4:62",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_bool",
                                            "typeString": "bool"
                                        }
                                    },
                                    "visibility": "internal"
                                },
                                {
                                    "constant": false,
                                    "id": 18949,
                                    "mutability": "mutable",
                                    "name": "p3",
                                    "nameLocation": "47025:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 18964,
                                    "src": "47020:7:62",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_bool",
                                        "typeString": "bool"
                                    },
                                    "typeName": {
                                        "id": 18948,
                                        "name": "bool",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "47020:4:62",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_bool",
                                            "typeString": "bool"
                                        }
                                    },
                                    "visibility": "internal"
                                }
                            ],
                            "src": "46992:36:62"
                        },
                        "returnParameters": {
                            "id": 18951,
                            "nodeType": "ParameterList",
                            "parameters": [],
                            "src": "47043:0:62"
                        },
                        "scope": 20920,
                        "src": "46980:155:62",
                        "stateMutability": "view",
                        "virtual": false,
                        "visibility": "internal"
                    },
                    {
                        "body": {
                            "id": 18986,
                            "nodeType": "Block",
                            "src": "47204:95:62",
                            "statements": [
                                {
                                    "expression": {
                                        "arguments": [
                                            {
                                                "arguments": [
                                                    {
                                                        "hexValue": "6c6f6728626f6f6c2c626f6f6c2c626f6f6c2c6164647265737329",
                                                        "id": 18978,
                                                        "isConstant": false,
                                                        "isLValue": false,
                                                        "isPure": true,
                                                        "kind": "string",
                                                        "lValueRequested": false,
                                                        "nodeType": "Literal",
                                                        "src": "47248:29:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_stringliteral_8c329b1a1752dedfc6b781d23096b49b7f905d62405e6e3f0ab0344786ff69f4",
                                                            "typeString": "literal_string \"log(bool,bool,bool,address)\""
                                                        },
                                                        "value": "log(bool,bool,bool,address)"
                                                    },
                                                    {
                                                        "id": 18979,
                                                        "name": "p0",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 18966,
                                                        "src": "47279:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_bool",
                                                            "typeString": "bool"
                                                        }
                                                    },
                                                    {
                                                        "id": 18980,
                                                        "name": "p1",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 18968,
                                                        "src": "47283:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_bool",
                                                            "typeString": "bool"
                                                        }
                                                    },
                                                    {
                                                        "id": 18981,
                                                        "name": "p2",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 18970,
                                                        "src": "47287:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_bool",
                                                            "typeString": "bool"
                                                        }
                                                    },
                                                    {
                                                        "id": 18982,
                                                        "name": "p3",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 18972,
                                                        "src": "47291:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_address",
                                                            "typeString": "address"
                                                        }
                                                    }
                                                ],
                                                "expression": {
                                                    "argumentTypes": [
                                                        {
                                                            "typeIdentifier": "t_stringliteral_8c329b1a1752dedfc6b781d23096b49b7f905d62405e6e3f0ab0344786ff69f4",
                                                            "typeString": "literal_string \"log(bool,bool,bool,address)\""
                                                        },
                                                        {
                                                            "typeIdentifier": "t_bool",
                                                            "typeString": "bool"
                                                        },
                                                        {
                                                            "typeIdentifier": "t_bool",
                                                            "typeString": "bool"
                                                        },
                                                        {
                                                            "typeIdentifier": "t_bool",
                                                            "typeString": "bool"
                                                        },
                                                        {
                                                            "typeIdentifier": "t_address",
                                                            "typeString": "address"
                                                        }
                                                    ],
                                                    "expression": {
                                                        "id": 18976,
                                                        "name": "abi",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 4294967295,
                                                        "src": "47224:3:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_magic_abi",
                                                            "typeString": "abi"
                                                        }
                                                    },
                                                    "id": 18977,
                                                    "isConstant": false,
                                                    "isLValue": false,
                                                    "isPure": true,
                                                    "lValueRequested": false,
                                                    "memberName": "encodeWithSignature",
                                                    "nodeType": "MemberAccess",
                                                    "src": "47224:23:62",
                                                    "typeDescriptions": {
                                                        "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$",
                                                        "typeString": "function (string memory) pure returns (bytes memory)"
                                                    }
                                                },
                                                "id": 18983,
                                                "isConstant": false,
                                                "isLValue": false,
                                                "isPure": false,
                                                "kind": "functionCall",
                                                "lValueRequested": false,
                                                "names": [],
                                                "nodeType": "FunctionCall",
                                                "src": "47224:70:62",
                                                "tryCall": false,
                                                "typeDescriptions": {
                                                    "typeIdentifier": "t_bytes_memory_ptr",
                                                    "typeString": "bytes memory"
                                                }
                                            }
                                        ],
                                        "expression": {
                                            "argumentTypes": [
                                                {
                                                    "typeIdentifier": "t_bytes_memory_ptr",
                                                    "typeString": "bytes memory"
                                                }
                                            ],
                                            "id": 18975,
                                            "name": "_sendLogPayload",
                                            "nodeType": "Identifier",
                                            "overloadedDeclarations": [],
                                            "referencedDeclaration": 12880,
                                            "src": "47208:15:62",
                                            "typeDescriptions": {
                                                "typeIdentifier": "t_function_internal_view$_t_bytes_memory_ptr_$returns$__$",
                                                "typeString": "function (bytes memory) view"
                                            }
                                        },
                                        "id": 18984,
                                        "isConstant": false,
                                        "isLValue": false,
                                        "isPure": false,
                                        "kind": "functionCall",
                                        "lValueRequested": false,
                                        "names": [],
                                        "nodeType": "FunctionCall",
                                        "src": "47208:87:62",
                                        "tryCall": false,
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_tuple$__$",
                                            "typeString": "tuple()"
                                        }
                                    },
                                    "id": 18985,
                                    "nodeType": "ExpressionStatement",
                                    "src": "47208:87:62"
                                }
                            ]
                        },
                        "id": 18987,
                        "implemented": true,
                        "kind": "function",
                        "modifiers": [],
                        "name": "log",
                        "nameLocation": "47147:3:62",
                        "nodeType": "FunctionDefinition",
                        "parameters": {
                            "id": 18973,
                            "nodeType": "ParameterList",
                            "parameters": [
                                {
                                    "constant": false,
                                    "id": 18966,
                                    "mutability": "mutable",
                                    "name": "p0",
                                    "nameLocation": "47156:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 18987,
                                    "src": "47151:7:62",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_bool",
                                        "typeString": "bool"
                                    },
                                    "typeName": {
                                        "id": 18965,
                                        "name": "bool",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "47151:4:62",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_bool",
                                            "typeString": "bool"
                                        }
                                    },
                                    "visibility": "internal"
                                },
                                {
                                    "constant": false,
                                    "id": 18968,
                                    "mutability": "mutable",
                                    "name": "p1",
                                    "nameLocation": "47165:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 18987,
                                    "src": "47160:7:62",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_bool",
                                        "typeString": "bool"
                                    },
                                    "typeName": {
                                        "id": 18967,
                                        "name": "bool",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "47160:4:62",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_bool",
                                            "typeString": "bool"
                                        }
                                    },
                                    "visibility": "internal"
                                },
                                {
                                    "constant": false,
                                    "id": 18970,
                                    "mutability": "mutable",
                                    "name": "p2",
                                    "nameLocation": "47174:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 18987,
                                    "src": "47169:7:62",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_bool",
                                        "typeString": "bool"
                                    },
                                    "typeName": {
                                        "id": 18969,
                                        "name": "bool",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "47169:4:62",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_bool",
                                            "typeString": "bool"
                                        }
                                    },
                                    "visibility": "internal"
                                },
                                {
                                    "constant": false,
                                    "id": 18972,
                                    "mutability": "mutable",
                                    "name": "p3",
                                    "nameLocation": "47186:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 18987,
                                    "src": "47178:10:62",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_address",
                                        "typeString": "address"
                                    },
                                    "typeName": {
                                        "id": 18971,
                                        "name": "address",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "47178:7:62",
                                        "stateMutability": "nonpayable",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_address",
                                            "typeString": "address"
                                        }
                                    },
                                    "visibility": "internal"
                                }
                            ],
                            "src": "47150:39:62"
                        },
                        "returnParameters": {
                            "id": 18974,
                            "nodeType": "ParameterList",
                            "parameters": [],
                            "src": "47204:0:62"
                        },
                        "scope": 20920,
                        "src": "47138:161:62",
                        "stateMutability": "view",
                        "virtual": false,
                        "visibility": "internal"
                    },
                    {
                        "body": {
                            "id": 19009,
                            "nodeType": "Block",
                            "src": "47368:95:62",
                            "statements": [
                                {
                                    "expression": {
                                        "arguments": [
                                            {
                                                "arguments": [
                                                    {
                                                        "hexValue": "6c6f6728626f6f6c2c626f6f6c2c616464726573732c75696e7429",
                                                        "id": 19001,
                                                        "isConstant": false,
                                                        "isLValue": false,
                                                        "isPure": true,
                                                        "kind": "string",
                                                        "lValueRequested": false,
                                                        "nodeType": "Literal",
                                                        "src": "47412:29:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_stringliteral_609386e78fd5b0eaf4b919077203f18b1606ddf72247d9e5eef9238918f7cf5e",
                                                            "typeString": "literal_string \"log(bool,bool,address,uint)\""
                                                        },
                                                        "value": "log(bool,bool,address,uint)"
                                                    },
                                                    {
                                                        "id": 19002,
                                                        "name": "p0",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 18989,
                                                        "src": "47443:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_bool",
                                                            "typeString": "bool"
                                                        }
                                                    },
                                                    {
                                                        "id": 19003,
                                                        "name": "p1",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 18991,
                                                        "src": "47447:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_bool",
                                                            "typeString": "bool"
                                                        }
                                                    },
                                                    {
                                                        "id": 19004,
                                                        "name": "p2",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 18993,
                                                        "src": "47451:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_address",
                                                            "typeString": "address"
                                                        }
                                                    },
                                                    {
                                                        "id": 19005,
                                                        "name": "p3",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 18995,
                                                        "src": "47455:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_uint256",
                                                            "typeString": "uint256"
                                                        }
                                                    }
                                                ],
                                                "expression": {
                                                    "argumentTypes": [
                                                        {
                                                            "typeIdentifier": "t_stringliteral_609386e78fd5b0eaf4b919077203f18b1606ddf72247d9e5eef9238918f7cf5e",
                                                            "typeString": "literal_string \"log(bool,bool,address,uint)\""
                                                        },
                                                        {
                                                            "typeIdentifier": "t_bool",
                                                            "typeString": "bool"
                                                        },
                                                        {
                                                            "typeIdentifier": "t_bool",
                                                            "typeString": "bool"
                                                        },
                                                        {
                                                            "typeIdentifier": "t_address",
                                                            "typeString": "address"
                                                        },
                                                        {
                                                            "typeIdentifier": "t_uint256",
                                                            "typeString": "uint256"
                                                        }
                                                    ],
                                                    "expression": {
                                                        "id": 18999,
                                                        "name": "abi",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 4294967295,
                                                        "src": "47388:3:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_magic_abi",
                                                            "typeString": "abi"
                                                        }
                                                    },
                                                    "id": 19000,
                                                    "isConstant": false,
                                                    "isLValue": false,
                                                    "isPure": true,
                                                    "lValueRequested": false,
                                                    "memberName": "encodeWithSignature",
                                                    "nodeType": "MemberAccess",
                                                    "src": "47388:23:62",
                                                    "typeDescriptions": {
                                                        "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$",
                                                        "typeString": "function (string memory) pure returns (bytes memory)"
                                                    }
                                                },
                                                "id": 19006,
                                                "isConstant": false,
                                                "isLValue": false,
                                                "isPure": false,
                                                "kind": "functionCall",
                                                "lValueRequested": false,
                                                "names": [],
                                                "nodeType": "FunctionCall",
                                                "src": "47388:70:62",
                                                "tryCall": false,
                                                "typeDescriptions": {
                                                    "typeIdentifier": "t_bytes_memory_ptr",
                                                    "typeString": "bytes memory"
                                                }
                                            }
                                        ],
                                        "expression": {
                                            "argumentTypes": [
                                                {
                                                    "typeIdentifier": "t_bytes_memory_ptr",
                                                    "typeString": "bytes memory"
                                                }
                                            ],
                                            "id": 18998,
                                            "name": "_sendLogPayload",
                                            "nodeType": "Identifier",
                                            "overloadedDeclarations": [],
                                            "referencedDeclaration": 12880,
                                            "src": "47372:15:62",
                                            "typeDescriptions": {
                                                "typeIdentifier": "t_function_internal_view$_t_bytes_memory_ptr_$returns$__$",
                                                "typeString": "function (bytes memory) view"
                                            }
                                        },
                                        "id": 19007,
                                        "isConstant": false,
                                        "isLValue": false,
                                        "isPure": false,
                                        "kind": "functionCall",
                                        "lValueRequested": false,
                                        "names": [],
                                        "nodeType": "FunctionCall",
                                        "src": "47372:87:62",
                                        "tryCall": false,
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_tuple$__$",
                                            "typeString": "tuple()"
                                        }
                                    },
                                    "id": 19008,
                                    "nodeType": "ExpressionStatement",
                                    "src": "47372:87:62"
                                }
                            ]
                        },
                        "id": 19010,
                        "implemented": true,
                        "kind": "function",
                        "modifiers": [],
                        "name": "log",
                        "nameLocation": "47311:3:62",
                        "nodeType": "FunctionDefinition",
                        "parameters": {
                            "id": 18996,
                            "nodeType": "ParameterList",
                            "parameters": [
                                {
                                    "constant": false,
                                    "id": 18989,
                                    "mutability": "mutable",
                                    "name": "p0",
                                    "nameLocation": "47320:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 19010,
                                    "src": "47315:7:62",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_bool",
                                        "typeString": "bool"
                                    },
                                    "typeName": {
                                        "id": 18988,
                                        "name": "bool",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "47315:4:62",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_bool",
                                            "typeString": "bool"
                                        }
                                    },
                                    "visibility": "internal"
                                },
                                {
                                    "constant": false,
                                    "id": 18991,
                                    "mutability": "mutable",
                                    "name": "p1",
                                    "nameLocation": "47329:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 19010,
                                    "src": "47324:7:62",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_bool",
                                        "typeString": "bool"
                                    },
                                    "typeName": {
                                        "id": 18990,
                                        "name": "bool",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "47324:4:62",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_bool",
                                            "typeString": "bool"
                                        }
                                    },
                                    "visibility": "internal"
                                },
                                {
                                    "constant": false,
                                    "id": 18993,
                                    "mutability": "mutable",
                                    "name": "p2",
                                    "nameLocation": "47341:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 19010,
                                    "src": "47333:10:62",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_address",
                                        "typeString": "address"
                                    },
                                    "typeName": {
                                        "id": 18992,
                                        "name": "address",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "47333:7:62",
                                        "stateMutability": "nonpayable",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_address",
                                            "typeString": "address"
                                        }
                                    },
                                    "visibility": "internal"
                                },
                                {
                                    "constant": false,
                                    "id": 18995,
                                    "mutability": "mutable",
                                    "name": "p3",
                                    "nameLocation": "47350:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 19010,
                                    "src": "47345:7:62",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_uint256",
                                        "typeString": "uint256"
                                    },
                                    "typeName": {
                                        "id": 18994,
                                        "name": "uint",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "47345:4:62",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_uint256",
                                            "typeString": "uint256"
                                        }
                                    },
                                    "visibility": "internal"
                                }
                            ],
                            "src": "47314:39:62"
                        },
                        "returnParameters": {
                            "id": 18997,
                            "nodeType": "ParameterList",
                            "parameters": [],
                            "src": "47368:0:62"
                        },
                        "scope": 20920,
                        "src": "47302:161:62",
                        "stateMutability": "view",
                        "virtual": false,
                        "visibility": "internal"
                    },
                    {
                        "body": {
                            "id": 19032,
                            "nodeType": "Block",
                            "src": "47541:97:62",
                            "statements": [
                                {
                                    "expression": {
                                        "arguments": [
                                            {
                                                "arguments": [
                                                    {
                                                        "hexValue": "6c6f6728626f6f6c2c626f6f6c2c616464726573732c737472696e6729",
                                                        "id": 19024,
                                                        "isConstant": false,
                                                        "isLValue": false,
                                                        "isPure": true,
                                                        "kind": "string",
                                                        "lValueRequested": false,
                                                        "nodeType": "Literal",
                                                        "src": "47585:31:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_stringliteral_a0a479635c05dee438b610769de0f667f2e93ee267e4cd4badf3dd44eb6271d2",
                                                            "typeString": "literal_string \"log(bool,bool,address,string)\""
                                                        },
                                                        "value": "log(bool,bool,address,string)"
                                                    },
                                                    {
                                                        "id": 19025,
                                                        "name": "p0",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 19012,
                                                        "src": "47618:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_bool",
                                                            "typeString": "bool"
                                                        }
                                                    },
                                                    {
                                                        "id": 19026,
                                                        "name": "p1",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 19014,
                                                        "src": "47622:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_bool",
                                                            "typeString": "bool"
                                                        }
                                                    },
                                                    {
                                                        "id": 19027,
                                                        "name": "p2",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 19016,
                                                        "src": "47626:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_address",
                                                            "typeString": "address"
                                                        }
                                                    },
                                                    {
                                                        "id": 19028,
                                                        "name": "p3",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 19018,
                                                        "src": "47630:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_string_memory_ptr",
                                                            "typeString": "string memory"
                                                        }
                                                    }
                                                ],
                                                "expression": {
                                                    "argumentTypes": [
                                                        {
                                                            "typeIdentifier": "t_stringliteral_a0a479635c05dee438b610769de0f667f2e93ee267e4cd4badf3dd44eb6271d2",
                                                            "typeString": "literal_string \"log(bool,bool,address,string)\""
                                                        },
                                                        {
                                                            "typeIdentifier": "t_bool",
                                                            "typeString": "bool"
                                                        },
                                                        {
                                                            "typeIdentifier": "t_bool",
                                                            "typeString": "bool"
                                                        },
                                                        {
                                                            "typeIdentifier": "t_address",
                                                            "typeString": "address"
                                                        },
                                                        {
                                                            "typeIdentifier": "t_string_memory_ptr",
                                                            "typeString": "string memory"
                                                        }
                                                    ],
                                                    "expression": {
                                                        "id": 19022,
                                                        "name": "abi",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 4294967295,
                                                        "src": "47561:3:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_magic_abi",
                                                            "typeString": "abi"
                                                        }
                                                    },
                                                    "id": 19023,
                                                    "isConstant": false,
                                                    "isLValue": false,
                                                    "isPure": true,
                                                    "lValueRequested": false,
                                                    "memberName": "encodeWithSignature",
                                                    "nodeType": "MemberAccess",
                                                    "src": "47561:23:62",
                                                    "typeDescriptions": {
                                                        "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$",
                                                        "typeString": "function (string memory) pure returns (bytes memory)"
                                                    }
                                                },
                                                "id": 19029,
                                                "isConstant": false,
                                                "isLValue": false,
                                                "isPure": false,
                                                "kind": "functionCall",
                                                "lValueRequested": false,
                                                "names": [],
                                                "nodeType": "FunctionCall",
                                                "src": "47561:72:62",
                                                "tryCall": false,
                                                "typeDescriptions": {
                                                    "typeIdentifier": "t_bytes_memory_ptr",
                                                    "typeString": "bytes memory"
                                                }
                                            }
                                        ],
                                        "expression": {
                                            "argumentTypes": [
                                                {
                                                    "typeIdentifier": "t_bytes_memory_ptr",
                                                    "typeString": "bytes memory"
                                                }
                                            ],
                                            "id": 19021,
                                            "name": "_sendLogPayload",
                                            "nodeType": "Identifier",
                                            "overloadedDeclarations": [],
                                            "referencedDeclaration": 12880,
                                            "src": "47545:15:62",
                                            "typeDescriptions": {
                                                "typeIdentifier": "t_function_internal_view$_t_bytes_memory_ptr_$returns$__$",
                                                "typeString": "function (bytes memory) view"
                                            }
                                        },
                                        "id": 19030,
                                        "isConstant": false,
                                        "isLValue": false,
                                        "isPure": false,
                                        "kind": "functionCall",
                                        "lValueRequested": false,
                                        "names": [],
                                        "nodeType": "FunctionCall",
                                        "src": "47545:89:62",
                                        "tryCall": false,
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_tuple$__$",
                                            "typeString": "tuple()"
                                        }
                                    },
                                    "id": 19031,
                                    "nodeType": "ExpressionStatement",
                                    "src": "47545:89:62"
                                }
                            ]
                        },
                        "id": 19033,
                        "implemented": true,
                        "kind": "function",
                        "modifiers": [],
                        "name": "log",
                        "nameLocation": "47475:3:62",
                        "nodeType": "FunctionDefinition",
                        "parameters": {
                            "id": 19019,
                            "nodeType": "ParameterList",
                            "parameters": [
                                {
                                    "constant": false,
                                    "id": 19012,
                                    "mutability": "mutable",
                                    "name": "p0",
                                    "nameLocation": "47484:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 19033,
                                    "src": "47479:7:62",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_bool",
                                        "typeString": "bool"
                                    },
                                    "typeName": {
                                        "id": 19011,
                                        "name": "bool",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "47479:4:62",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_bool",
                                            "typeString": "bool"
                                        }
                                    },
                                    "visibility": "internal"
                                },
                                {
                                    "constant": false,
                                    "id": 19014,
                                    "mutability": "mutable",
                                    "name": "p1",
                                    "nameLocation": "47493:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 19033,
                                    "src": "47488:7:62",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_bool",
                                        "typeString": "bool"
                                    },
                                    "typeName": {
                                        "id": 19013,
                                        "name": "bool",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "47488:4:62",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_bool",
                                            "typeString": "bool"
                                        }
                                    },
                                    "visibility": "internal"
                                },
                                {
                                    "constant": false,
                                    "id": 19016,
                                    "mutability": "mutable",
                                    "name": "p2",
                                    "nameLocation": "47505:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 19033,
                                    "src": "47497:10:62",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_address",
                                        "typeString": "address"
                                    },
                                    "typeName": {
                                        "id": 19015,
                                        "name": "address",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "47497:7:62",
                                        "stateMutability": "nonpayable",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_address",
                                            "typeString": "address"
                                        }
                                    },
                                    "visibility": "internal"
                                },
                                {
                                    "constant": false,
                                    "id": 19018,
                                    "mutability": "mutable",
                                    "name": "p3",
                                    "nameLocation": "47523:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 19033,
                                    "src": "47509:16:62",
                                    "stateVariable": false,
                                    "storageLocation": "memory",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_string_memory_ptr",
                                        "typeString": "string"
                                    },
                                    "typeName": {
                                        "id": 19017,
                                        "name": "string",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "47509:6:62",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_string_storage_ptr",
                                            "typeString": "string"
                                        }
                                    },
                                    "visibility": "internal"
                                }
                            ],
                            "src": "47478:48:62"
                        },
                        "returnParameters": {
                            "id": 19020,
                            "nodeType": "ParameterList",
                            "parameters": [],
                            "src": "47541:0:62"
                        },
                        "scope": 20920,
                        "src": "47466:172:62",
                        "stateMutability": "view",
                        "virtual": false,
                        "visibility": "internal"
                    },
                    {
                        "body": {
                            "id": 19055,
                            "nodeType": "Block",
                            "src": "47707:95:62",
                            "statements": [
                                {
                                    "expression": {
                                        "arguments": [
                                            {
                                                "arguments": [
                                                    {
                                                        "hexValue": "6c6f6728626f6f6c2c626f6f6c2c616464726573732c626f6f6c29",
                                                        "id": 19047,
                                                        "isConstant": false,
                                                        "isLValue": false,
                                                        "isPure": true,
                                                        "kind": "string",
                                                        "lValueRequested": false,
                                                        "nodeType": "Literal",
                                                        "src": "47751:29:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_stringliteral_c0a302d8f11e8919127c20f396068f7014b94967efb042778db9b27b68ee1eaf",
                                                            "typeString": "literal_string \"log(bool,bool,address,bool)\""
                                                        },
                                                        "value": "log(bool,bool,address,bool)"
                                                    },
                                                    {
                                                        "id": 19048,
                                                        "name": "p0",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 19035,
                                                        "src": "47782:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_bool",
                                                            "typeString": "bool"
                                                        }
                                                    },
                                                    {
                                                        "id": 19049,
                                                        "name": "p1",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 19037,
                                                        "src": "47786:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_bool",
                                                            "typeString": "bool"
                                                        }
                                                    },
                                                    {
                                                        "id": 19050,
                                                        "name": "p2",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 19039,
                                                        "src": "47790:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_address",
                                                            "typeString": "address"
                                                        }
                                                    },
                                                    {
                                                        "id": 19051,
                                                        "name": "p3",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 19041,
                                                        "src": "47794:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_bool",
                                                            "typeString": "bool"
                                                        }
                                                    }
                                                ],
                                                "expression": {
                                                    "argumentTypes": [
                                                        {
                                                            "typeIdentifier": "t_stringliteral_c0a302d8f11e8919127c20f396068f7014b94967efb042778db9b27b68ee1eaf",
                                                            "typeString": "literal_string \"log(bool,bool,address,bool)\""
                                                        },
                                                        {
                                                            "typeIdentifier": "t_bool",
                                                            "typeString": "bool"
                                                        },
                                                        {
                                                            "typeIdentifier": "t_bool",
                                                            "typeString": "bool"
                                                        },
                                                        {
                                                            "typeIdentifier": "t_address",
                                                            "typeString": "address"
                                                        },
                                                        {
                                                            "typeIdentifier": "t_bool",
                                                            "typeString": "bool"
                                                        }
                                                    ],
                                                    "expression": {
                                                        "id": 19045,
                                                        "name": "abi",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 4294967295,
                                                        "src": "47727:3:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_magic_abi",
                                                            "typeString": "abi"
                                                        }
                                                    },
                                                    "id": 19046,
                                                    "isConstant": false,
                                                    "isLValue": false,
                                                    "isPure": true,
                                                    "lValueRequested": false,
                                                    "memberName": "encodeWithSignature",
                                                    "nodeType": "MemberAccess",
                                                    "src": "47727:23:62",
                                                    "typeDescriptions": {
                                                        "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$",
                                                        "typeString": "function (string memory) pure returns (bytes memory)"
                                                    }
                                                },
                                                "id": 19052,
                                                "isConstant": false,
                                                "isLValue": false,
                                                "isPure": false,
                                                "kind": "functionCall",
                                                "lValueRequested": false,
                                                "names": [],
                                                "nodeType": "FunctionCall",
                                                "src": "47727:70:62",
                                                "tryCall": false,
                                                "typeDescriptions": {
                                                    "typeIdentifier": "t_bytes_memory_ptr",
                                                    "typeString": "bytes memory"
                                                }
                                            }
                                        ],
                                        "expression": {
                                            "argumentTypes": [
                                                {
                                                    "typeIdentifier": "t_bytes_memory_ptr",
                                                    "typeString": "bytes memory"
                                                }
                                            ],
                                            "id": 19044,
                                            "name": "_sendLogPayload",
                                            "nodeType": "Identifier",
                                            "overloadedDeclarations": [],
                                            "referencedDeclaration": 12880,
                                            "src": "47711:15:62",
                                            "typeDescriptions": {
                                                "typeIdentifier": "t_function_internal_view$_t_bytes_memory_ptr_$returns$__$",
                                                "typeString": "function (bytes memory) view"
                                            }
                                        },
                                        "id": 19053,
                                        "isConstant": false,
                                        "isLValue": false,
                                        "isPure": false,
                                        "kind": "functionCall",
                                        "lValueRequested": false,
                                        "names": [],
                                        "nodeType": "FunctionCall",
                                        "src": "47711:87:62",
                                        "tryCall": false,
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_tuple$__$",
                                            "typeString": "tuple()"
                                        }
                                    },
                                    "id": 19054,
                                    "nodeType": "ExpressionStatement",
                                    "src": "47711:87:62"
                                }
                            ]
                        },
                        "id": 19056,
                        "implemented": true,
                        "kind": "function",
                        "modifiers": [],
                        "name": "log",
                        "nameLocation": "47650:3:62",
                        "nodeType": "FunctionDefinition",
                        "parameters": {
                            "id": 19042,
                            "nodeType": "ParameterList",
                            "parameters": [
                                {
                                    "constant": false,
                                    "id": 19035,
                                    "mutability": "mutable",
                                    "name": "p0",
                                    "nameLocation": "47659:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 19056,
                                    "src": "47654:7:62",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_bool",
                                        "typeString": "bool"
                                    },
                                    "typeName": {
                                        "id": 19034,
                                        "name": "bool",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "47654:4:62",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_bool",
                                            "typeString": "bool"
                                        }
                                    },
                                    "visibility": "internal"
                                },
                                {
                                    "constant": false,
                                    "id": 19037,
                                    "mutability": "mutable",
                                    "name": "p1",
                                    "nameLocation": "47668:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 19056,
                                    "src": "47663:7:62",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_bool",
                                        "typeString": "bool"
                                    },
                                    "typeName": {
                                        "id": 19036,
                                        "name": "bool",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "47663:4:62",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_bool",
                                            "typeString": "bool"
                                        }
                                    },
                                    "visibility": "internal"
                                },
                                {
                                    "constant": false,
                                    "id": 19039,
                                    "mutability": "mutable",
                                    "name": "p2",
                                    "nameLocation": "47680:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 19056,
                                    "src": "47672:10:62",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_address",
                                        "typeString": "address"
                                    },
                                    "typeName": {
                                        "id": 19038,
                                        "name": "address",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "47672:7:62",
                                        "stateMutability": "nonpayable",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_address",
                                            "typeString": "address"
                                        }
                                    },
                                    "visibility": "internal"
                                },
                                {
                                    "constant": false,
                                    "id": 19041,
                                    "mutability": "mutable",
                                    "name": "p3",
                                    "nameLocation": "47689:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 19056,
                                    "src": "47684:7:62",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_bool",
                                        "typeString": "bool"
                                    },
                                    "typeName": {
                                        "id": 19040,
                                        "name": "bool",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "47684:4:62",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_bool",
                                            "typeString": "bool"
                                        }
                                    },
                                    "visibility": "internal"
                                }
                            ],
                            "src": "47653:39:62"
                        },
                        "returnParameters": {
                            "id": 19043,
                            "nodeType": "ParameterList",
                            "parameters": [],
                            "src": "47707:0:62"
                        },
                        "scope": 20920,
                        "src": "47641:161:62",
                        "stateMutability": "view",
                        "virtual": false,
                        "visibility": "internal"
                    },
                    {
                        "body": {
                            "id": 19078,
                            "nodeType": "Block",
                            "src": "47874:98:62",
                            "statements": [
                                {
                                    "expression": {
                                        "arguments": [
                                            {
                                                "arguments": [
                                                    {
                                                        "hexValue": "6c6f6728626f6f6c2c626f6f6c2c616464726573732c6164647265737329",
                                                        "id": 19070,
                                                        "isConstant": false,
                                                        "isLValue": false,
                                                        "isPure": true,
                                                        "kind": "string",
                                                        "lValueRequested": false,
                                                        "nodeType": "Literal",
                                                        "src": "47918:32:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_stringliteral_f4880ea4063b4f7e3c68468bb4a7a3f1502aa7497bce4fb0ba02ec0450f047f4",
                                                            "typeString": "literal_string \"log(bool,bool,address,address)\""
                                                        },
                                                        "value": "log(bool,bool,address,address)"
                                                    },
                                                    {
                                                        "id": 19071,
                                                        "name": "p0",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 19058,
                                                        "src": "47952:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_bool",
                                                            "typeString": "bool"
                                                        }
                                                    },
                                                    {
                                                        "id": 19072,
                                                        "name": "p1",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 19060,
                                                        "src": "47956:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_bool",
                                                            "typeString": "bool"
                                                        }
                                                    },
                                                    {
                                                        "id": 19073,
                                                        "name": "p2",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 19062,
                                                        "src": "47960:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_address",
                                                            "typeString": "address"
                                                        }
                                                    },
                                                    {
                                                        "id": 19074,
                                                        "name": "p3",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 19064,
                                                        "src": "47964:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_address",
                                                            "typeString": "address"
                                                        }
                                                    }
                                                ],
                                                "expression": {
                                                    "argumentTypes": [
                                                        {
                                                            "typeIdentifier": "t_stringliteral_f4880ea4063b4f7e3c68468bb4a7a3f1502aa7497bce4fb0ba02ec0450f047f4",
                                                            "typeString": "literal_string \"log(bool,bool,address,address)\""
                                                        },
                                                        {
                                                            "typeIdentifier": "t_bool",
                                                            "typeString": "bool"
                                                        },
                                                        {
                                                            "typeIdentifier": "t_bool",
                                                            "typeString": "bool"
                                                        },
                                                        {
                                                            "typeIdentifier": "t_address",
                                                            "typeString": "address"
                                                        },
                                                        {
                                                            "typeIdentifier": "t_address",
                                                            "typeString": "address"
                                                        }
                                                    ],
                                                    "expression": {
                                                        "id": 19068,
                                                        "name": "abi",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 4294967295,
                                                        "src": "47894:3:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_magic_abi",
                                                            "typeString": "abi"
                                                        }
                                                    },
                                                    "id": 19069,
                                                    "isConstant": false,
                                                    "isLValue": false,
                                                    "isPure": true,
                                                    "lValueRequested": false,
                                                    "memberName": "encodeWithSignature",
                                                    "nodeType": "MemberAccess",
                                                    "src": "47894:23:62",
                                                    "typeDescriptions": {
                                                        "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$",
                                                        "typeString": "function (string memory) pure returns (bytes memory)"
                                                    }
                                                },
                                                "id": 19075,
                                                "isConstant": false,
                                                "isLValue": false,
                                                "isPure": false,
                                                "kind": "functionCall",
                                                "lValueRequested": false,
                                                "names": [],
                                                "nodeType": "FunctionCall",
                                                "src": "47894:73:62",
                                                "tryCall": false,
                                                "typeDescriptions": {
                                                    "typeIdentifier": "t_bytes_memory_ptr",
                                                    "typeString": "bytes memory"
                                                }
                                            }
                                        ],
                                        "expression": {
                                            "argumentTypes": [
                                                {
                                                    "typeIdentifier": "t_bytes_memory_ptr",
                                                    "typeString": "bytes memory"
                                                }
                                            ],
                                            "id": 19067,
                                            "name": "_sendLogPayload",
                                            "nodeType": "Identifier",
                                            "overloadedDeclarations": [],
                                            "referencedDeclaration": 12880,
                                            "src": "47878:15:62",
                                            "typeDescriptions": {
                                                "typeIdentifier": "t_function_internal_view$_t_bytes_memory_ptr_$returns$__$",
                                                "typeString": "function (bytes memory) view"
                                            }
                                        },
                                        "id": 19076,
                                        "isConstant": false,
                                        "isLValue": false,
                                        "isPure": false,
                                        "kind": "functionCall",
                                        "lValueRequested": false,
                                        "names": [],
                                        "nodeType": "FunctionCall",
                                        "src": "47878:90:62",
                                        "tryCall": false,
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_tuple$__$",
                                            "typeString": "tuple()"
                                        }
                                    },
                                    "id": 19077,
                                    "nodeType": "ExpressionStatement",
                                    "src": "47878:90:62"
                                }
                            ]
                        },
                        "id": 19079,
                        "implemented": true,
                        "kind": "function",
                        "modifiers": [],
                        "name": "log",
                        "nameLocation": "47814:3:62",
                        "nodeType": "FunctionDefinition",
                        "parameters": {
                            "id": 19065,
                            "nodeType": "ParameterList",
                            "parameters": [
                                {
                                    "constant": false,
                                    "id": 19058,
                                    "mutability": "mutable",
                                    "name": "p0",
                                    "nameLocation": "47823:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 19079,
                                    "src": "47818:7:62",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_bool",
                                        "typeString": "bool"
                                    },
                                    "typeName": {
                                        "id": 19057,
                                        "name": "bool",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "47818:4:62",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_bool",
                                            "typeString": "bool"
                                        }
                                    },
                                    "visibility": "internal"
                                },
                                {
                                    "constant": false,
                                    "id": 19060,
                                    "mutability": "mutable",
                                    "name": "p1",
                                    "nameLocation": "47832:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 19079,
                                    "src": "47827:7:62",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_bool",
                                        "typeString": "bool"
                                    },
                                    "typeName": {
                                        "id": 19059,
                                        "name": "bool",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "47827:4:62",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_bool",
                                            "typeString": "bool"
                                        }
                                    },
                                    "visibility": "internal"
                                },
                                {
                                    "constant": false,
                                    "id": 19062,
                                    "mutability": "mutable",
                                    "name": "p2",
                                    "nameLocation": "47844:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 19079,
                                    "src": "47836:10:62",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_address",
                                        "typeString": "address"
                                    },
                                    "typeName": {
                                        "id": 19061,
                                        "name": "address",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "47836:7:62",
                                        "stateMutability": "nonpayable",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_address",
                                            "typeString": "address"
                                        }
                                    },
                                    "visibility": "internal"
                                },
                                {
                                    "constant": false,
                                    "id": 19064,
                                    "mutability": "mutable",
                                    "name": "p3",
                                    "nameLocation": "47856:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 19079,
                                    "src": "47848:10:62",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_address",
                                        "typeString": "address"
                                    },
                                    "typeName": {
                                        "id": 19063,
                                        "name": "address",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "47848:7:62",
                                        "stateMutability": "nonpayable",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_address",
                                            "typeString": "address"
                                        }
                                    },
                                    "visibility": "internal"
                                }
                            ],
                            "src": "47817:42:62"
                        },
                        "returnParameters": {
                            "id": 19066,
                            "nodeType": "ParameterList",
                            "parameters": [],
                            "src": "47874:0:62"
                        },
                        "scope": 20920,
                        "src": "47805:167:62",
                        "stateMutability": "view",
                        "virtual": false,
                        "visibility": "internal"
                    },
                    {
                        "body": {
                            "id": 19101,
                            "nodeType": "Block",
                            "src": "48041:95:62",
                            "statements": [
                                {
                                    "expression": {
                                        "arguments": [
                                            {
                                                "arguments": [
                                                    {
                                                        "hexValue": "6c6f6728626f6f6c2c616464726573732c75696e742c75696e7429",
                                                        "id": 19093,
                                                        "isConstant": false,
                                                        "isLValue": false,
                                                        "isPure": true,
                                                        "kind": "string",
                                                        "lValueRequested": false,
                                                        "nodeType": "Literal",
                                                        "src": "48085:29:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_stringliteral_9bfe72bcae17311bf78638487cb2635e8b5b6f81761042494681e890b65ae4df",
                                                            "typeString": "literal_string \"log(bool,address,uint,uint)\""
                                                        },
                                                        "value": "log(bool,address,uint,uint)"
                                                    },
                                                    {
                                                        "id": 19094,
                                                        "name": "p0",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 19081,
                                                        "src": "48116:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_bool",
                                                            "typeString": "bool"
                                                        }
                                                    },
                                                    {
                                                        "id": 19095,
                                                        "name": "p1",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 19083,
                                                        "src": "48120:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_address",
                                                            "typeString": "address"
                                                        }
                                                    },
                                                    {
                                                        "id": 19096,
                                                        "name": "p2",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 19085,
                                                        "src": "48124:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_uint256",
                                                            "typeString": "uint256"
                                                        }
                                                    },
                                                    {
                                                        "id": 19097,
                                                        "name": "p3",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 19087,
                                                        "src": "48128:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_uint256",
                                                            "typeString": "uint256"
                                                        }
                                                    }
                                                ],
                                                "expression": {
                                                    "argumentTypes": [
                                                        {
                                                            "typeIdentifier": "t_stringliteral_9bfe72bcae17311bf78638487cb2635e8b5b6f81761042494681e890b65ae4df",
                                                            "typeString": "literal_string \"log(bool,address,uint,uint)\""
                                                        },
                                                        {
                                                            "typeIdentifier": "t_bool",
                                                            "typeString": "bool"
                                                        },
                                                        {
                                                            "typeIdentifier": "t_address",
                                                            "typeString": "address"
                                                        },
                                                        {
                                                            "typeIdentifier": "t_uint256",
                                                            "typeString": "uint256"
                                                        },
                                                        {
                                                            "typeIdentifier": "t_uint256",
                                                            "typeString": "uint256"
                                                        }
                                                    ],
                                                    "expression": {
                                                        "id": 19091,
                                                        "name": "abi",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 4294967295,
                                                        "src": "48061:3:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_magic_abi",
                                                            "typeString": "abi"
                                                        }
                                                    },
                                                    "id": 19092,
                                                    "isConstant": false,
                                                    "isLValue": false,
                                                    "isPure": true,
                                                    "lValueRequested": false,
                                                    "memberName": "encodeWithSignature",
                                                    "nodeType": "MemberAccess",
                                                    "src": "48061:23:62",
                                                    "typeDescriptions": {
                                                        "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$",
                                                        "typeString": "function (string memory) pure returns (bytes memory)"
                                                    }
                                                },
                                                "id": 19098,
                                                "isConstant": false,
                                                "isLValue": false,
                                                "isPure": false,
                                                "kind": "functionCall",
                                                "lValueRequested": false,
                                                "names": [],
                                                "nodeType": "FunctionCall",
                                                "src": "48061:70:62",
                                                "tryCall": false,
                                                "typeDescriptions": {
                                                    "typeIdentifier": "t_bytes_memory_ptr",
                                                    "typeString": "bytes memory"
                                                }
                                            }
                                        ],
                                        "expression": {
                                            "argumentTypes": [
                                                {
                                                    "typeIdentifier": "t_bytes_memory_ptr",
                                                    "typeString": "bytes memory"
                                                }
                                            ],
                                            "id": 19090,
                                            "name": "_sendLogPayload",
                                            "nodeType": "Identifier",
                                            "overloadedDeclarations": [],
                                            "referencedDeclaration": 12880,
                                            "src": "48045:15:62",
                                            "typeDescriptions": {
                                                "typeIdentifier": "t_function_internal_view$_t_bytes_memory_ptr_$returns$__$",
                                                "typeString": "function (bytes memory) view"
                                            }
                                        },
                                        "id": 19099,
                                        "isConstant": false,
                                        "isLValue": false,
                                        "isPure": false,
                                        "kind": "functionCall",
                                        "lValueRequested": false,
                                        "names": [],
                                        "nodeType": "FunctionCall",
                                        "src": "48045:87:62",
                                        "tryCall": false,
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_tuple$__$",
                                            "typeString": "tuple()"
                                        }
                                    },
                                    "id": 19100,
                                    "nodeType": "ExpressionStatement",
                                    "src": "48045:87:62"
                                }
                            ]
                        },
                        "id": 19102,
                        "implemented": true,
                        "kind": "function",
                        "modifiers": [],
                        "name": "log",
                        "nameLocation": "47984:3:62",
                        "nodeType": "FunctionDefinition",
                        "parameters": {
                            "id": 19088,
                            "nodeType": "ParameterList",
                            "parameters": [
                                {
                                    "constant": false,
                                    "id": 19081,
                                    "mutability": "mutable",
                                    "name": "p0",
                                    "nameLocation": "47993:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 19102,
                                    "src": "47988:7:62",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_bool",
                                        "typeString": "bool"
                                    },
                                    "typeName": {
                                        "id": 19080,
                                        "name": "bool",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "47988:4:62",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_bool",
                                            "typeString": "bool"
                                        }
                                    },
                                    "visibility": "internal"
                                },
                                {
                                    "constant": false,
                                    "id": 19083,
                                    "mutability": "mutable",
                                    "name": "p1",
                                    "nameLocation": "48005:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 19102,
                                    "src": "47997:10:62",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_address",
                                        "typeString": "address"
                                    },
                                    "typeName": {
                                        "id": 19082,
                                        "name": "address",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "47997:7:62",
                                        "stateMutability": "nonpayable",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_address",
                                            "typeString": "address"
                                        }
                                    },
                                    "visibility": "internal"
                                },
                                {
                                    "constant": false,
                                    "id": 19085,
                                    "mutability": "mutable",
                                    "name": "p2",
                                    "nameLocation": "48014:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 19102,
                                    "src": "48009:7:62",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_uint256",
                                        "typeString": "uint256"
                                    },
                                    "typeName": {
                                        "id": 19084,
                                        "name": "uint",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "48009:4:62",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_uint256",
                                            "typeString": "uint256"
                                        }
                                    },
                                    "visibility": "internal"
                                },
                                {
                                    "constant": false,
                                    "id": 19087,
                                    "mutability": "mutable",
                                    "name": "p3",
                                    "nameLocation": "48023:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 19102,
                                    "src": "48018:7:62",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_uint256",
                                        "typeString": "uint256"
                                    },
                                    "typeName": {
                                        "id": 19086,
                                        "name": "uint",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "48018:4:62",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_uint256",
                                            "typeString": "uint256"
                                        }
                                    },
                                    "visibility": "internal"
                                }
                            ],
                            "src": "47987:39:62"
                        },
                        "returnParameters": {
                            "id": 19089,
                            "nodeType": "ParameterList",
                            "parameters": [],
                            "src": "48041:0:62"
                        },
                        "scope": 20920,
                        "src": "47975:161:62",
                        "stateMutability": "view",
                        "virtual": false,
                        "visibility": "internal"
                    },
                    {
                        "body": {
                            "id": 19124,
                            "nodeType": "Block",
                            "src": "48214:97:62",
                            "statements": [
                                {
                                    "expression": {
                                        "arguments": [
                                            {
                                                "arguments": [
                                                    {
                                                        "hexValue": "6c6f6728626f6f6c2c616464726573732c75696e742c737472696e6729",
                                                        "id": 19116,
                                                        "isConstant": false,
                                                        "isLValue": false,
                                                        "isPure": true,
                                                        "kind": "string",
                                                        "lValueRequested": false,
                                                        "nodeType": "Literal",
                                                        "src": "48258:31:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_stringliteral_a0685833a55270d98fa68e8c0a0f64fe3e03f6cdaeaebd8f87342de905392f45",
                                                            "typeString": "literal_string \"log(bool,address,uint,string)\""
                                                        },
                                                        "value": "log(bool,address,uint,string)"
                                                    },
                                                    {
                                                        "id": 19117,
                                                        "name": "p0",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 19104,
                                                        "src": "48291:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_bool",
                                                            "typeString": "bool"
                                                        }
                                                    },
                                                    {
                                                        "id": 19118,
                                                        "name": "p1",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 19106,
                                                        "src": "48295:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_address",
                                                            "typeString": "address"
                                                        }
                                                    },
                                                    {
                                                        "id": 19119,
                                                        "name": "p2",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 19108,
                                                        "src": "48299:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_uint256",
                                                            "typeString": "uint256"
                                                        }
                                                    },
                                                    {
                                                        "id": 19120,
                                                        "name": "p3",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 19110,
                                                        "src": "48303:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_string_memory_ptr",
                                                            "typeString": "string memory"
                                                        }
                                                    }
                                                ],
                                                "expression": {
                                                    "argumentTypes": [
                                                        {
                                                            "typeIdentifier": "t_stringliteral_a0685833a55270d98fa68e8c0a0f64fe3e03f6cdaeaebd8f87342de905392f45",
                                                            "typeString": "literal_string \"log(bool,address,uint,string)\""
                                                        },
                                                        {
                                                            "typeIdentifier": "t_bool",
                                                            "typeString": "bool"
                                                        },
                                                        {
                                                            "typeIdentifier": "t_address",
                                                            "typeString": "address"
                                                        },
                                                        {
                                                            "typeIdentifier": "t_uint256",
                                                            "typeString": "uint256"
                                                        },
                                                        {
                                                            "typeIdentifier": "t_string_memory_ptr",
                                                            "typeString": "string memory"
                                                        }
                                                    ],
                                                    "expression": {
                                                        "id": 19114,
                                                        "name": "abi",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 4294967295,
                                                        "src": "48234:3:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_magic_abi",
                                                            "typeString": "abi"
                                                        }
                                                    },
                                                    "id": 19115,
                                                    "isConstant": false,
                                                    "isLValue": false,
                                                    "isPure": true,
                                                    "lValueRequested": false,
                                                    "memberName": "encodeWithSignature",
                                                    "nodeType": "MemberAccess",
                                                    "src": "48234:23:62",
                                                    "typeDescriptions": {
                                                        "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$",
                                                        "typeString": "function (string memory) pure returns (bytes memory)"
                                                    }
                                                },
                                                "id": 19121,
                                                "isConstant": false,
                                                "isLValue": false,
                                                "isPure": false,
                                                "kind": "functionCall",
                                                "lValueRequested": false,
                                                "names": [],
                                                "nodeType": "FunctionCall",
                                                "src": "48234:72:62",
                                                "tryCall": false,
                                                "typeDescriptions": {
                                                    "typeIdentifier": "t_bytes_memory_ptr",
                                                    "typeString": "bytes memory"
                                                }
                                            }
                                        ],
                                        "expression": {
                                            "argumentTypes": [
                                                {
                                                    "typeIdentifier": "t_bytes_memory_ptr",
                                                    "typeString": "bytes memory"
                                                }
                                            ],
                                            "id": 19113,
                                            "name": "_sendLogPayload",
                                            "nodeType": "Identifier",
                                            "overloadedDeclarations": [],
                                            "referencedDeclaration": 12880,
                                            "src": "48218:15:62",
                                            "typeDescriptions": {
                                                "typeIdentifier": "t_function_internal_view$_t_bytes_memory_ptr_$returns$__$",
                                                "typeString": "function (bytes memory) view"
                                            }
                                        },
                                        "id": 19122,
                                        "isConstant": false,
                                        "isLValue": false,
                                        "isPure": false,
                                        "kind": "functionCall",
                                        "lValueRequested": false,
                                        "names": [],
                                        "nodeType": "FunctionCall",
                                        "src": "48218:89:62",
                                        "tryCall": false,
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_tuple$__$",
                                            "typeString": "tuple()"
                                        }
                                    },
                                    "id": 19123,
                                    "nodeType": "ExpressionStatement",
                                    "src": "48218:89:62"
                                }
                            ]
                        },
                        "id": 19125,
                        "implemented": true,
                        "kind": "function",
                        "modifiers": [],
                        "name": "log",
                        "nameLocation": "48148:3:62",
                        "nodeType": "FunctionDefinition",
                        "parameters": {
                            "id": 19111,
                            "nodeType": "ParameterList",
                            "parameters": [
                                {
                                    "constant": false,
                                    "id": 19104,
                                    "mutability": "mutable",
                                    "name": "p0",
                                    "nameLocation": "48157:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 19125,
                                    "src": "48152:7:62",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_bool",
                                        "typeString": "bool"
                                    },
                                    "typeName": {
                                        "id": 19103,
                                        "name": "bool",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "48152:4:62",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_bool",
                                            "typeString": "bool"
                                        }
                                    },
                                    "visibility": "internal"
                                },
                                {
                                    "constant": false,
                                    "id": 19106,
                                    "mutability": "mutable",
                                    "name": "p1",
                                    "nameLocation": "48169:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 19125,
                                    "src": "48161:10:62",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_address",
                                        "typeString": "address"
                                    },
                                    "typeName": {
                                        "id": 19105,
                                        "name": "address",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "48161:7:62",
                                        "stateMutability": "nonpayable",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_address",
                                            "typeString": "address"
                                        }
                                    },
                                    "visibility": "internal"
                                },
                                {
                                    "constant": false,
                                    "id": 19108,
                                    "mutability": "mutable",
                                    "name": "p2",
                                    "nameLocation": "48178:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 19125,
                                    "src": "48173:7:62",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_uint256",
                                        "typeString": "uint256"
                                    },
                                    "typeName": {
                                        "id": 19107,
                                        "name": "uint",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "48173:4:62",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_uint256",
                                            "typeString": "uint256"
                                        }
                                    },
                                    "visibility": "internal"
                                },
                                {
                                    "constant": false,
                                    "id": 19110,
                                    "mutability": "mutable",
                                    "name": "p3",
                                    "nameLocation": "48196:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 19125,
                                    "src": "48182:16:62",
                                    "stateVariable": false,
                                    "storageLocation": "memory",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_string_memory_ptr",
                                        "typeString": "string"
                                    },
                                    "typeName": {
                                        "id": 19109,
                                        "name": "string",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "48182:6:62",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_string_storage_ptr",
                                            "typeString": "string"
                                        }
                                    },
                                    "visibility": "internal"
                                }
                            ],
                            "src": "48151:48:62"
                        },
                        "returnParameters": {
                            "id": 19112,
                            "nodeType": "ParameterList",
                            "parameters": [],
                            "src": "48214:0:62"
                        },
                        "scope": 20920,
                        "src": "48139:172:62",
                        "stateMutability": "view",
                        "virtual": false,
                        "visibility": "internal"
                    },
                    {
                        "body": {
                            "id": 19147,
                            "nodeType": "Block",
                            "src": "48380:95:62",
                            "statements": [
                                {
                                    "expression": {
                                        "arguments": [
                                            {
                                                "arguments": [
                                                    {
                                                        "hexValue": "6c6f6728626f6f6c2c616464726573732c75696e742c626f6f6c29",
                                                        "id": 19139,
                                                        "isConstant": false,
                                                        "isLValue": false,
                                                        "isPure": true,
                                                        "kind": "string",
                                                        "lValueRequested": false,
                                                        "nodeType": "Literal",
                                                        "src": "48424:29:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_stringliteral_ee8d8672273fdba9089296874ea62335af7f94273edab558dd69c0c81ad5275f",
                                                            "typeString": "literal_string \"log(bool,address,uint,bool)\""
                                                        },
                                                        "value": "log(bool,address,uint,bool)"
                                                    },
                                                    {
                                                        "id": 19140,
                                                        "name": "p0",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 19127,
                                                        "src": "48455:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_bool",
                                                            "typeString": "bool"
                                                        }
                                                    },
                                                    {
                                                        "id": 19141,
                                                        "name": "p1",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 19129,
                                                        "src": "48459:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_address",
                                                            "typeString": "address"
                                                        }
                                                    },
                                                    {
                                                        "id": 19142,
                                                        "name": "p2",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 19131,
                                                        "src": "48463:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_uint256",
                                                            "typeString": "uint256"
                                                        }
                                                    },
                                                    {
                                                        "id": 19143,
                                                        "name": "p3",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 19133,
                                                        "src": "48467:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_bool",
                                                            "typeString": "bool"
                                                        }
                                                    }
                                                ],
                                                "expression": {
                                                    "argumentTypes": [
                                                        {
                                                            "typeIdentifier": "t_stringliteral_ee8d8672273fdba9089296874ea62335af7f94273edab558dd69c0c81ad5275f",
                                                            "typeString": "literal_string \"log(bool,address,uint,bool)\""
                                                        },
                                                        {
                                                            "typeIdentifier": "t_bool",
                                                            "typeString": "bool"
                                                        },
                                                        {
                                                            "typeIdentifier": "t_address",
                                                            "typeString": "address"
                                                        },
                                                        {
                                                            "typeIdentifier": "t_uint256",
                                                            "typeString": "uint256"
                                                        },
                                                        {
                                                            "typeIdentifier": "t_bool",
                                                            "typeString": "bool"
                                                        }
                                                    ],
                                                    "expression": {
                                                        "id": 19137,
                                                        "name": "abi",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 4294967295,
                                                        "src": "48400:3:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_magic_abi",
                                                            "typeString": "abi"
                                                        }
                                                    },
                                                    "id": 19138,
                                                    "isConstant": false,
                                                    "isLValue": false,
                                                    "isPure": true,
                                                    "lValueRequested": false,
                                                    "memberName": "encodeWithSignature",
                                                    "nodeType": "MemberAccess",
                                                    "src": "48400:23:62",
                                                    "typeDescriptions": {
                                                        "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$",
                                                        "typeString": "function (string memory) pure returns (bytes memory)"
                                                    }
                                                },
                                                "id": 19144,
                                                "isConstant": false,
                                                "isLValue": false,
                                                "isPure": false,
                                                "kind": "functionCall",
                                                "lValueRequested": false,
                                                "names": [],
                                                "nodeType": "FunctionCall",
                                                "src": "48400:70:62",
                                                "tryCall": false,
                                                "typeDescriptions": {
                                                    "typeIdentifier": "t_bytes_memory_ptr",
                                                    "typeString": "bytes memory"
                                                }
                                            }
                                        ],
                                        "expression": {
                                            "argumentTypes": [
                                                {
                                                    "typeIdentifier": "t_bytes_memory_ptr",
                                                    "typeString": "bytes memory"
                                                }
                                            ],
                                            "id": 19136,
                                            "name": "_sendLogPayload",
                                            "nodeType": "Identifier",
                                            "overloadedDeclarations": [],
                                            "referencedDeclaration": 12880,
                                            "src": "48384:15:62",
                                            "typeDescriptions": {
                                                "typeIdentifier": "t_function_internal_view$_t_bytes_memory_ptr_$returns$__$",
                                                "typeString": "function (bytes memory) view"
                                            }
                                        },
                                        "id": 19145,
                                        "isConstant": false,
                                        "isLValue": false,
                                        "isPure": false,
                                        "kind": "functionCall",
                                        "lValueRequested": false,
                                        "names": [],
                                        "nodeType": "FunctionCall",
                                        "src": "48384:87:62",
                                        "tryCall": false,
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_tuple$__$",
                                            "typeString": "tuple()"
                                        }
                                    },
                                    "id": 19146,
                                    "nodeType": "ExpressionStatement",
                                    "src": "48384:87:62"
                                }
                            ]
                        },
                        "id": 19148,
                        "implemented": true,
                        "kind": "function",
                        "modifiers": [],
                        "name": "log",
                        "nameLocation": "48323:3:62",
                        "nodeType": "FunctionDefinition",
                        "parameters": {
                            "id": 19134,
                            "nodeType": "ParameterList",
                            "parameters": [
                                {
                                    "constant": false,
                                    "id": 19127,
                                    "mutability": "mutable",
                                    "name": "p0",
                                    "nameLocation": "48332:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 19148,
                                    "src": "48327:7:62",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_bool",
                                        "typeString": "bool"
                                    },
                                    "typeName": {
                                        "id": 19126,
                                        "name": "bool",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "48327:4:62",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_bool",
                                            "typeString": "bool"
                                        }
                                    },
                                    "visibility": "internal"
                                },
                                {
                                    "constant": false,
                                    "id": 19129,
                                    "mutability": "mutable",
                                    "name": "p1",
                                    "nameLocation": "48344:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 19148,
                                    "src": "48336:10:62",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_address",
                                        "typeString": "address"
                                    },
                                    "typeName": {
                                        "id": 19128,
                                        "name": "address",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "48336:7:62",
                                        "stateMutability": "nonpayable",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_address",
                                            "typeString": "address"
                                        }
                                    },
                                    "visibility": "internal"
                                },
                                {
                                    "constant": false,
                                    "id": 19131,
                                    "mutability": "mutable",
                                    "name": "p2",
                                    "nameLocation": "48353:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 19148,
                                    "src": "48348:7:62",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_uint256",
                                        "typeString": "uint256"
                                    },
                                    "typeName": {
                                        "id": 19130,
                                        "name": "uint",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "48348:4:62",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_uint256",
                                            "typeString": "uint256"
                                        }
                                    },
                                    "visibility": "internal"
                                },
                                {
                                    "constant": false,
                                    "id": 19133,
                                    "mutability": "mutable",
                                    "name": "p3",
                                    "nameLocation": "48362:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 19148,
                                    "src": "48357:7:62",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_bool",
                                        "typeString": "bool"
                                    },
                                    "typeName": {
                                        "id": 19132,
                                        "name": "bool",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "48357:4:62",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_bool",
                                            "typeString": "bool"
                                        }
                                    },
                                    "visibility": "internal"
                                }
                            ],
                            "src": "48326:39:62"
                        },
                        "returnParameters": {
                            "id": 19135,
                            "nodeType": "ParameterList",
                            "parameters": [],
                            "src": "48380:0:62"
                        },
                        "scope": 20920,
                        "src": "48314:161:62",
                        "stateMutability": "view",
                        "virtual": false,
                        "visibility": "internal"
                    },
                    {
                        "body": {
                            "id": 19170,
                            "nodeType": "Block",
                            "src": "48547:98:62",
                            "statements": [
                                {
                                    "expression": {
                                        "arguments": [
                                            {
                                                "arguments": [
                                                    {
                                                        "hexValue": "6c6f6728626f6f6c2c616464726573732c75696e742c6164647265737329",
                                                        "id": 19162,
                                                        "isConstant": false,
                                                        "isLValue": false,
                                                        "isPure": true,
                                                        "kind": "string",
                                                        "lValueRequested": false,
                                                        "nodeType": "Literal",
                                                        "src": "48591:32:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_stringliteral_68f158b5f9bd826807d19c20c2d71bd298a10503195154a299bf8d64baa18687",
                                                            "typeString": "literal_string \"log(bool,address,uint,address)\""
                                                        },
                                                        "value": "log(bool,address,uint,address)"
                                                    },
                                                    {
                                                        "id": 19163,
                                                        "name": "p0",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 19150,
                                                        "src": "48625:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_bool",
                                                            "typeString": "bool"
                                                        }
                                                    },
                                                    {
                                                        "id": 19164,
                                                        "name": "p1",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 19152,
                                                        "src": "48629:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_address",
                                                            "typeString": "address"
                                                        }
                                                    },
                                                    {
                                                        "id": 19165,
                                                        "name": "p2",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 19154,
                                                        "src": "48633:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_uint256",
                                                            "typeString": "uint256"
                                                        }
                                                    },
                                                    {
                                                        "id": 19166,
                                                        "name": "p3",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 19156,
                                                        "src": "48637:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_address",
                                                            "typeString": "address"
                                                        }
                                                    }
                                                ],
                                                "expression": {
                                                    "argumentTypes": [
                                                        {
                                                            "typeIdentifier": "t_stringliteral_68f158b5f9bd826807d19c20c2d71bd298a10503195154a299bf8d64baa18687",
                                                            "typeString": "literal_string \"log(bool,address,uint,address)\""
                                                        },
                                                        {
                                                            "typeIdentifier": "t_bool",
                                                            "typeString": "bool"
                                                        },
                                                        {
                                                            "typeIdentifier": "t_address",
                                                            "typeString": "address"
                                                        },
                                                        {
                                                            "typeIdentifier": "t_uint256",
                                                            "typeString": "uint256"
                                                        },
                                                        {
                                                            "typeIdentifier": "t_address",
                                                            "typeString": "address"
                                                        }
                                                    ],
                                                    "expression": {
                                                        "id": 19160,
                                                        "name": "abi",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 4294967295,
                                                        "src": "48567:3:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_magic_abi",
                                                            "typeString": "abi"
                                                        }
                                                    },
                                                    "id": 19161,
                                                    "isConstant": false,
                                                    "isLValue": false,
                                                    "isPure": true,
                                                    "lValueRequested": false,
                                                    "memberName": "encodeWithSignature",
                                                    "nodeType": "MemberAccess",
                                                    "src": "48567:23:62",
                                                    "typeDescriptions": {
                                                        "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$",
                                                        "typeString": "function (string memory) pure returns (bytes memory)"
                                                    }
                                                },
                                                "id": 19167,
                                                "isConstant": false,
                                                "isLValue": false,
                                                "isPure": false,
                                                "kind": "functionCall",
                                                "lValueRequested": false,
                                                "names": [],
                                                "nodeType": "FunctionCall",
                                                "src": "48567:73:62",
                                                "tryCall": false,
                                                "typeDescriptions": {
                                                    "typeIdentifier": "t_bytes_memory_ptr",
                                                    "typeString": "bytes memory"
                                                }
                                            }
                                        ],
                                        "expression": {
                                            "argumentTypes": [
                                                {
                                                    "typeIdentifier": "t_bytes_memory_ptr",
                                                    "typeString": "bytes memory"
                                                }
                                            ],
                                            "id": 19159,
                                            "name": "_sendLogPayload",
                                            "nodeType": "Identifier",
                                            "overloadedDeclarations": [],
                                            "referencedDeclaration": 12880,
                                            "src": "48551:15:62",
                                            "typeDescriptions": {
                                                "typeIdentifier": "t_function_internal_view$_t_bytes_memory_ptr_$returns$__$",
                                                "typeString": "function (bytes memory) view"
                                            }
                                        },
                                        "id": 19168,
                                        "isConstant": false,
                                        "isLValue": false,
                                        "isPure": false,
                                        "kind": "functionCall",
                                        "lValueRequested": false,
                                        "names": [],
                                        "nodeType": "FunctionCall",
                                        "src": "48551:90:62",
                                        "tryCall": false,
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_tuple$__$",
                                            "typeString": "tuple()"
                                        }
                                    },
                                    "id": 19169,
                                    "nodeType": "ExpressionStatement",
                                    "src": "48551:90:62"
                                }
                            ]
                        },
                        "id": 19171,
                        "implemented": true,
                        "kind": "function",
                        "modifiers": [],
                        "name": "log",
                        "nameLocation": "48487:3:62",
                        "nodeType": "FunctionDefinition",
                        "parameters": {
                            "id": 19157,
                            "nodeType": "ParameterList",
                            "parameters": [
                                {
                                    "constant": false,
                                    "id": 19150,
                                    "mutability": "mutable",
                                    "name": "p0",
                                    "nameLocation": "48496:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 19171,
                                    "src": "48491:7:62",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_bool",
                                        "typeString": "bool"
                                    },
                                    "typeName": {
                                        "id": 19149,
                                        "name": "bool",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "48491:4:62",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_bool",
                                            "typeString": "bool"
                                        }
                                    },
                                    "visibility": "internal"
                                },
                                {
                                    "constant": false,
                                    "id": 19152,
                                    "mutability": "mutable",
                                    "name": "p1",
                                    "nameLocation": "48508:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 19171,
                                    "src": "48500:10:62",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_address",
                                        "typeString": "address"
                                    },
                                    "typeName": {
                                        "id": 19151,
                                        "name": "address",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "48500:7:62",
                                        "stateMutability": "nonpayable",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_address",
                                            "typeString": "address"
                                        }
                                    },
                                    "visibility": "internal"
                                },
                                {
                                    "constant": false,
                                    "id": 19154,
                                    "mutability": "mutable",
                                    "name": "p2",
                                    "nameLocation": "48517:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 19171,
                                    "src": "48512:7:62",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_uint256",
                                        "typeString": "uint256"
                                    },
                                    "typeName": {
                                        "id": 19153,
                                        "name": "uint",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "48512:4:62",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_uint256",
                                            "typeString": "uint256"
                                        }
                                    },
                                    "visibility": "internal"
                                },
                                {
                                    "constant": false,
                                    "id": 19156,
                                    "mutability": "mutable",
                                    "name": "p3",
                                    "nameLocation": "48529:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 19171,
                                    "src": "48521:10:62",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_address",
                                        "typeString": "address"
                                    },
                                    "typeName": {
                                        "id": 19155,
                                        "name": "address",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "48521:7:62",
                                        "stateMutability": "nonpayable",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_address",
                                            "typeString": "address"
                                        }
                                    },
                                    "visibility": "internal"
                                }
                            ],
                            "src": "48490:42:62"
                        },
                        "returnParameters": {
                            "id": 19158,
                            "nodeType": "ParameterList",
                            "parameters": [],
                            "src": "48547:0:62"
                        },
                        "scope": 20920,
                        "src": "48478:167:62",
                        "stateMutability": "view",
                        "virtual": false,
                        "visibility": "internal"
                    },
                    {
                        "body": {
                            "id": 19193,
                            "nodeType": "Block",
                            "src": "48723:97:62",
                            "statements": [
                                {
                                    "expression": {
                                        "arguments": [
                                            {
                                                "arguments": [
                                                    {
                                                        "hexValue": "6c6f6728626f6f6c2c616464726573732c737472696e672c75696e7429",
                                                        "id": 19185,
                                                        "isConstant": false,
                                                        "isLValue": false,
                                                        "isPure": true,
                                                        "kind": "string",
                                                        "lValueRequested": false,
                                                        "nodeType": "Literal",
                                                        "src": "48767:31:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_stringliteral_0b99fc2207222410afd35c7faf7feba54ff2367ba89f893584c27ce75693de6e",
                                                            "typeString": "literal_string \"log(bool,address,string,uint)\""
                                                        },
                                                        "value": "log(bool,address,string,uint)"
                                                    },
                                                    {
                                                        "id": 19186,
                                                        "name": "p0",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 19173,
                                                        "src": "48800:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_bool",
                                                            "typeString": "bool"
                                                        }
                                                    },
                                                    {
                                                        "id": 19187,
                                                        "name": "p1",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 19175,
                                                        "src": "48804:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_address",
                                                            "typeString": "address"
                                                        }
                                                    },
                                                    {
                                                        "id": 19188,
                                                        "name": "p2",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 19177,
                                                        "src": "48808:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_string_memory_ptr",
                                                            "typeString": "string memory"
                                                        }
                                                    },
                                                    {
                                                        "id": 19189,
                                                        "name": "p3",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 19179,
                                                        "src": "48812:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_uint256",
                                                            "typeString": "uint256"
                                                        }
                                                    }
                                                ],
                                                "expression": {
                                                    "argumentTypes": [
                                                        {
                                                            "typeIdentifier": "t_stringliteral_0b99fc2207222410afd35c7faf7feba54ff2367ba89f893584c27ce75693de6e",
                                                            "typeString": "literal_string \"log(bool,address,string,uint)\""
                                                        },
                                                        {
                                                            "typeIdentifier": "t_bool",
                                                            "typeString": "bool"
                                                        },
                                                        {
                                                            "typeIdentifier": "t_address",
                                                            "typeString": "address"
                                                        },
                                                        {
                                                            "typeIdentifier": "t_string_memory_ptr",
                                                            "typeString": "string memory"
                                                        },
                                                        {
                                                            "typeIdentifier": "t_uint256",
                                                            "typeString": "uint256"
                                                        }
                                                    ],
                                                    "expression": {
                                                        "id": 19183,
                                                        "name": "abi",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 4294967295,
                                                        "src": "48743:3:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_magic_abi",
                                                            "typeString": "abi"
                                                        }
                                                    },
                                                    "id": 19184,
                                                    "isConstant": false,
                                                    "isLValue": false,
                                                    "isPure": true,
                                                    "lValueRequested": false,
                                                    "memberName": "encodeWithSignature",
                                                    "nodeType": "MemberAccess",
                                                    "src": "48743:23:62",
                                                    "typeDescriptions": {
                                                        "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$",
                                                        "typeString": "function (string memory) pure returns (bytes memory)"
                                                    }
                                                },
                                                "id": 19190,
                                                "isConstant": false,
                                                "isLValue": false,
                                                "isPure": false,
                                                "kind": "functionCall",
                                                "lValueRequested": false,
                                                "names": [],
                                                "nodeType": "FunctionCall",
                                                "src": "48743:72:62",
                                                "tryCall": false,
                                                "typeDescriptions": {
                                                    "typeIdentifier": "t_bytes_memory_ptr",
                                                    "typeString": "bytes memory"
                                                }
                                            }
                                        ],
                                        "expression": {
                                            "argumentTypes": [
                                                {
                                                    "typeIdentifier": "t_bytes_memory_ptr",
                                                    "typeString": "bytes memory"
                                                }
                                            ],
                                            "id": 19182,
                                            "name": "_sendLogPayload",
                                            "nodeType": "Identifier",
                                            "overloadedDeclarations": [],
                                            "referencedDeclaration": 12880,
                                            "src": "48727:15:62",
                                            "typeDescriptions": {
                                                "typeIdentifier": "t_function_internal_view$_t_bytes_memory_ptr_$returns$__$",
                                                "typeString": "function (bytes memory) view"
                                            }
                                        },
                                        "id": 19191,
                                        "isConstant": false,
                                        "isLValue": false,
                                        "isPure": false,
                                        "kind": "functionCall",
                                        "lValueRequested": false,
                                        "names": [],
                                        "nodeType": "FunctionCall",
                                        "src": "48727:89:62",
                                        "tryCall": false,
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_tuple$__$",
                                            "typeString": "tuple()"
                                        }
                                    },
                                    "id": 19192,
                                    "nodeType": "ExpressionStatement",
                                    "src": "48727:89:62"
                                }
                            ]
                        },
                        "id": 19194,
                        "implemented": true,
                        "kind": "function",
                        "modifiers": [],
                        "name": "log",
                        "nameLocation": "48657:3:62",
                        "nodeType": "FunctionDefinition",
                        "parameters": {
                            "id": 19180,
                            "nodeType": "ParameterList",
                            "parameters": [
                                {
                                    "constant": false,
                                    "id": 19173,
                                    "mutability": "mutable",
                                    "name": "p0",
                                    "nameLocation": "48666:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 19194,
                                    "src": "48661:7:62",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_bool",
                                        "typeString": "bool"
                                    },
                                    "typeName": {
                                        "id": 19172,
                                        "name": "bool",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "48661:4:62",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_bool",
                                            "typeString": "bool"
                                        }
                                    },
                                    "visibility": "internal"
                                },
                                {
                                    "constant": false,
                                    "id": 19175,
                                    "mutability": "mutable",
                                    "name": "p1",
                                    "nameLocation": "48678:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 19194,
                                    "src": "48670:10:62",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_address",
                                        "typeString": "address"
                                    },
                                    "typeName": {
                                        "id": 19174,
                                        "name": "address",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "48670:7:62",
                                        "stateMutability": "nonpayable",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_address",
                                            "typeString": "address"
                                        }
                                    },
                                    "visibility": "internal"
                                },
                                {
                                    "constant": false,
                                    "id": 19177,
                                    "mutability": "mutable",
                                    "name": "p2",
                                    "nameLocation": "48696:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 19194,
                                    "src": "48682:16:62",
                                    "stateVariable": false,
                                    "storageLocation": "memory",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_string_memory_ptr",
                                        "typeString": "string"
                                    },
                                    "typeName": {
                                        "id": 19176,
                                        "name": "string",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "48682:6:62",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_string_storage_ptr",
                                            "typeString": "string"
                                        }
                                    },
                                    "visibility": "internal"
                                },
                                {
                                    "constant": false,
                                    "id": 19179,
                                    "mutability": "mutable",
                                    "name": "p3",
                                    "nameLocation": "48705:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 19194,
                                    "src": "48700:7:62",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_uint256",
                                        "typeString": "uint256"
                                    },
                                    "typeName": {
                                        "id": 19178,
                                        "name": "uint",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "48700:4:62",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_uint256",
                                            "typeString": "uint256"
                                        }
                                    },
                                    "visibility": "internal"
                                }
                            ],
                            "src": "48660:48:62"
                        },
                        "returnParameters": {
                            "id": 19181,
                            "nodeType": "ParameterList",
                            "parameters": [],
                            "src": "48723:0:62"
                        },
                        "scope": 20920,
                        "src": "48648:172:62",
                        "stateMutability": "view",
                        "virtual": false,
                        "visibility": "internal"
                    },
                    {
                        "body": {
                            "id": 19216,
                            "nodeType": "Block",
                            "src": "48907:99:62",
                            "statements": [
                                {
                                    "expression": {
                                        "arguments": [
                                            {
                                                "arguments": [
                                                    {
                                                        "hexValue": "6c6f6728626f6f6c2c616464726573732c737472696e672c737472696e6729",
                                                        "id": 19208,
                                                        "isConstant": false,
                                                        "isLValue": false,
                                                        "isPure": true,
                                                        "kind": "string",
                                                        "lValueRequested": false,
                                                        "nodeType": "Literal",
                                                        "src": "48951:33:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_stringliteral_a73c1db639dbf1382c9113eacdf5b14a7ccd81fc001ac60393623936011bf49d",
                                                            "typeString": "literal_string \"log(bool,address,string,string)\""
                                                        },
                                                        "value": "log(bool,address,string,string)"
                                                    },
                                                    {
                                                        "id": 19209,
                                                        "name": "p0",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 19196,
                                                        "src": "48986:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_bool",
                                                            "typeString": "bool"
                                                        }
                                                    },
                                                    {
                                                        "id": 19210,
                                                        "name": "p1",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 19198,
                                                        "src": "48990:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_address",
                                                            "typeString": "address"
                                                        }
                                                    },
                                                    {
                                                        "id": 19211,
                                                        "name": "p2",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 19200,
                                                        "src": "48994:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_string_memory_ptr",
                                                            "typeString": "string memory"
                                                        }
                                                    },
                                                    {
                                                        "id": 19212,
                                                        "name": "p3",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 19202,
                                                        "src": "48998:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_string_memory_ptr",
                                                            "typeString": "string memory"
                                                        }
                                                    }
                                                ],
                                                "expression": {
                                                    "argumentTypes": [
                                                        {
                                                            "typeIdentifier": "t_stringliteral_a73c1db639dbf1382c9113eacdf5b14a7ccd81fc001ac60393623936011bf49d",
                                                            "typeString": "literal_string \"log(bool,address,string,string)\""
                                                        },
                                                        {
                                                            "typeIdentifier": "t_bool",
                                                            "typeString": "bool"
                                                        },
                                                        {
                                                            "typeIdentifier": "t_address",
                                                            "typeString": "address"
                                                        },
                                                        {
                                                            "typeIdentifier": "t_string_memory_ptr",
                                                            "typeString": "string memory"
                                                        },
                                                        {
                                                            "typeIdentifier": "t_string_memory_ptr",
                                                            "typeString": "string memory"
                                                        }
                                                    ],
                                                    "expression": {
                                                        "id": 19206,
                                                        "name": "abi",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 4294967295,
                                                        "src": "48927:3:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_magic_abi",
                                                            "typeString": "abi"
                                                        }
                                                    },
                                                    "id": 19207,
                                                    "isConstant": false,
                                                    "isLValue": false,
                                                    "isPure": true,
                                                    "lValueRequested": false,
                                                    "memberName": "encodeWithSignature",
                                                    "nodeType": "MemberAccess",
                                                    "src": "48927:23:62",
                                                    "typeDescriptions": {
                                                        "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$",
                                                        "typeString": "function (string memory) pure returns (bytes memory)"
                                                    }
                                                },
                                                "id": 19213,
                                                "isConstant": false,
                                                "isLValue": false,
                                                "isPure": false,
                                                "kind": "functionCall",
                                                "lValueRequested": false,
                                                "names": [],
                                                "nodeType": "FunctionCall",
                                                "src": "48927:74:62",
                                                "tryCall": false,
                                                "typeDescriptions": {
                                                    "typeIdentifier": "t_bytes_memory_ptr",
                                                    "typeString": "bytes memory"
                                                }
                                            }
                                        ],
                                        "expression": {
                                            "argumentTypes": [
                                                {
                                                    "typeIdentifier": "t_bytes_memory_ptr",
                                                    "typeString": "bytes memory"
                                                }
                                            ],
                                            "id": 19205,
                                            "name": "_sendLogPayload",
                                            "nodeType": "Identifier",
                                            "overloadedDeclarations": [],
                                            "referencedDeclaration": 12880,
                                            "src": "48911:15:62",
                                            "typeDescriptions": {
                                                "typeIdentifier": "t_function_internal_view$_t_bytes_memory_ptr_$returns$__$",
                                                "typeString": "function (bytes memory) view"
                                            }
                                        },
                                        "id": 19214,
                                        "isConstant": false,
                                        "isLValue": false,
                                        "isPure": false,
                                        "kind": "functionCall",
                                        "lValueRequested": false,
                                        "names": [],
                                        "nodeType": "FunctionCall",
                                        "src": "48911:91:62",
                                        "tryCall": false,
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_tuple$__$",
                                            "typeString": "tuple()"
                                        }
                                    },
                                    "id": 19215,
                                    "nodeType": "ExpressionStatement",
                                    "src": "48911:91:62"
                                }
                            ]
                        },
                        "id": 19217,
                        "implemented": true,
                        "kind": "function",
                        "modifiers": [],
                        "name": "log",
                        "nameLocation": "48832:3:62",
                        "nodeType": "FunctionDefinition",
                        "parameters": {
                            "id": 19203,
                            "nodeType": "ParameterList",
                            "parameters": [
                                {
                                    "constant": false,
                                    "id": 19196,
                                    "mutability": "mutable",
                                    "name": "p0",
                                    "nameLocation": "48841:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 19217,
                                    "src": "48836:7:62",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_bool",
                                        "typeString": "bool"
                                    },
                                    "typeName": {
                                        "id": 19195,
                                        "name": "bool",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "48836:4:62",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_bool",
                                            "typeString": "bool"
                                        }
                                    },
                                    "visibility": "internal"
                                },
                                {
                                    "constant": false,
                                    "id": 19198,
                                    "mutability": "mutable",
                                    "name": "p1",
                                    "nameLocation": "48853:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 19217,
                                    "src": "48845:10:62",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_address",
                                        "typeString": "address"
                                    },
                                    "typeName": {
                                        "id": 19197,
                                        "name": "address",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "48845:7:62",
                                        "stateMutability": "nonpayable",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_address",
                                            "typeString": "address"
                                        }
                                    },
                                    "visibility": "internal"
                                },
                                {
                                    "constant": false,
                                    "id": 19200,
                                    "mutability": "mutable",
                                    "name": "p2",
                                    "nameLocation": "48871:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 19217,
                                    "src": "48857:16:62",
                                    "stateVariable": false,
                                    "storageLocation": "memory",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_string_memory_ptr",
                                        "typeString": "string"
                                    },
                                    "typeName": {
                                        "id": 19199,
                                        "name": "string",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "48857:6:62",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_string_storage_ptr",
                                            "typeString": "string"
                                        }
                                    },
                                    "visibility": "internal"
                                },
                                {
                                    "constant": false,
                                    "id": 19202,
                                    "mutability": "mutable",
                                    "name": "p3",
                                    "nameLocation": "48889:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 19217,
                                    "src": "48875:16:62",
                                    "stateVariable": false,
                                    "storageLocation": "memory",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_string_memory_ptr",
                                        "typeString": "string"
                                    },
                                    "typeName": {
                                        "id": 19201,
                                        "name": "string",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "48875:6:62",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_string_storage_ptr",
                                            "typeString": "string"
                                        }
                                    },
                                    "visibility": "internal"
                                }
                            ],
                            "src": "48835:57:62"
                        },
                        "returnParameters": {
                            "id": 19204,
                            "nodeType": "ParameterList",
                            "parameters": [],
                            "src": "48907:0:62"
                        },
                        "scope": 20920,
                        "src": "48823:183:62",
                        "stateMutability": "view",
                        "virtual": false,
                        "visibility": "internal"
                    },
                    {
                        "body": {
                            "id": 19239,
                            "nodeType": "Block",
                            "src": "49084:97:62",
                            "statements": [
                                {
                                    "expression": {
                                        "arguments": [
                                            {
                                                "arguments": [
                                                    {
                                                        "hexValue": "6c6f6728626f6f6c2c616464726573732c737472696e672c626f6f6c29",
                                                        "id": 19231,
                                                        "isConstant": false,
                                                        "isLValue": false,
                                                        "isPure": true,
                                                        "kind": "string",
                                                        "lValueRequested": false,
                                                        "nodeType": "Literal",
                                                        "src": "49128:31:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_stringliteral_e2bfd60b4f6acdab0603dda631b69bf37ab7cbf71bc5953f9ed72c1f2a76f7dc",
                                                            "typeString": "literal_string \"log(bool,address,string,bool)\""
                                                        },
                                                        "value": "log(bool,address,string,bool)"
                                                    },
                                                    {
                                                        "id": 19232,
                                                        "name": "p0",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 19219,
                                                        "src": "49161:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_bool",
                                                            "typeString": "bool"
                                                        }
                                                    },
                                                    {
                                                        "id": 19233,
                                                        "name": "p1",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 19221,
                                                        "src": "49165:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_address",
                                                            "typeString": "address"
                                                        }
                                                    },
                                                    {
                                                        "id": 19234,
                                                        "name": "p2",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 19223,
                                                        "src": "49169:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_string_memory_ptr",
                                                            "typeString": "string memory"
                                                        }
                                                    },
                                                    {
                                                        "id": 19235,
                                                        "name": "p3",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 19225,
                                                        "src": "49173:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_bool",
                                                            "typeString": "bool"
                                                        }
                                                    }
                                                ],
                                                "expression": {
                                                    "argumentTypes": [
                                                        {
                                                            "typeIdentifier": "t_stringliteral_e2bfd60b4f6acdab0603dda631b69bf37ab7cbf71bc5953f9ed72c1f2a76f7dc",
                                                            "typeString": "literal_string \"log(bool,address,string,bool)\""
                                                        },
                                                        {
                                                            "typeIdentifier": "t_bool",
                                                            "typeString": "bool"
                                                        },
                                                        {
                                                            "typeIdentifier": "t_address",
                                                            "typeString": "address"
                                                        },
                                                        {
                                                            "typeIdentifier": "t_string_memory_ptr",
                                                            "typeString": "string memory"
                                                        },
                                                        {
                                                            "typeIdentifier": "t_bool",
                                                            "typeString": "bool"
                                                        }
                                                    ],
                                                    "expression": {
                                                        "id": 19229,
                                                        "name": "abi",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 4294967295,
                                                        "src": "49104:3:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_magic_abi",
                                                            "typeString": "abi"
                                                        }
                                                    },
                                                    "id": 19230,
                                                    "isConstant": false,
                                                    "isLValue": false,
                                                    "isPure": true,
                                                    "lValueRequested": false,
                                                    "memberName": "encodeWithSignature",
                                                    "nodeType": "MemberAccess",
                                                    "src": "49104:23:62",
                                                    "typeDescriptions": {
                                                        "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$",
                                                        "typeString": "function (string memory) pure returns (bytes memory)"
                                                    }
                                                },
                                                "id": 19236,
                                                "isConstant": false,
                                                "isLValue": false,
                                                "isPure": false,
                                                "kind": "functionCall",
                                                "lValueRequested": false,
                                                "names": [],
                                                "nodeType": "FunctionCall",
                                                "src": "49104:72:62",
                                                "tryCall": false,
                                                "typeDescriptions": {
                                                    "typeIdentifier": "t_bytes_memory_ptr",
                                                    "typeString": "bytes memory"
                                                }
                                            }
                                        ],
                                        "expression": {
                                            "argumentTypes": [
                                                {
                                                    "typeIdentifier": "t_bytes_memory_ptr",
                                                    "typeString": "bytes memory"
                                                }
                                            ],
                                            "id": 19228,
                                            "name": "_sendLogPayload",
                                            "nodeType": "Identifier",
                                            "overloadedDeclarations": [],
                                            "referencedDeclaration": 12880,
                                            "src": "49088:15:62",
                                            "typeDescriptions": {
                                                "typeIdentifier": "t_function_internal_view$_t_bytes_memory_ptr_$returns$__$",
                                                "typeString": "function (bytes memory) view"
                                            }
                                        },
                                        "id": 19237,
                                        "isConstant": false,
                                        "isLValue": false,
                                        "isPure": false,
                                        "kind": "functionCall",
                                        "lValueRequested": false,
                                        "names": [],
                                        "nodeType": "FunctionCall",
                                        "src": "49088:89:62",
                                        "tryCall": false,
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_tuple$__$",
                                            "typeString": "tuple()"
                                        }
                                    },
                                    "id": 19238,
                                    "nodeType": "ExpressionStatement",
                                    "src": "49088:89:62"
                                }
                            ]
                        },
                        "id": 19240,
                        "implemented": true,
                        "kind": "function",
                        "modifiers": [],
                        "name": "log",
                        "nameLocation": "49018:3:62",
                        "nodeType": "FunctionDefinition",
                        "parameters": {
                            "id": 19226,
                            "nodeType": "ParameterList",
                            "parameters": [
                                {
                                    "constant": false,
                                    "id": 19219,
                                    "mutability": "mutable",
                                    "name": "p0",
                                    "nameLocation": "49027:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 19240,
                                    "src": "49022:7:62",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_bool",
                                        "typeString": "bool"
                                    },
                                    "typeName": {
                                        "id": 19218,
                                        "name": "bool",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "49022:4:62",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_bool",
                                            "typeString": "bool"
                                        }
                                    },
                                    "visibility": "internal"
                                },
                                {
                                    "constant": false,
                                    "id": 19221,
                                    "mutability": "mutable",
                                    "name": "p1",
                                    "nameLocation": "49039:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 19240,
                                    "src": "49031:10:62",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_address",
                                        "typeString": "address"
                                    },
                                    "typeName": {
                                        "id": 19220,
                                        "name": "address",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "49031:7:62",
                                        "stateMutability": "nonpayable",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_address",
                                            "typeString": "address"
                                        }
                                    },
                                    "visibility": "internal"
                                },
                                {
                                    "constant": false,
                                    "id": 19223,
                                    "mutability": "mutable",
                                    "name": "p2",
                                    "nameLocation": "49057:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 19240,
                                    "src": "49043:16:62",
                                    "stateVariable": false,
                                    "storageLocation": "memory",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_string_memory_ptr",
                                        "typeString": "string"
                                    },
                                    "typeName": {
                                        "id": 19222,
                                        "name": "string",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "49043:6:62",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_string_storage_ptr",
                                            "typeString": "string"
                                        }
                                    },
                                    "visibility": "internal"
                                },
                                {
                                    "constant": false,
                                    "id": 19225,
                                    "mutability": "mutable",
                                    "name": "p3",
                                    "nameLocation": "49066:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 19240,
                                    "src": "49061:7:62",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_bool",
                                        "typeString": "bool"
                                    },
                                    "typeName": {
                                        "id": 19224,
                                        "name": "bool",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "49061:4:62",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_bool",
                                            "typeString": "bool"
                                        }
                                    },
                                    "visibility": "internal"
                                }
                            ],
                            "src": "49021:48:62"
                        },
                        "returnParameters": {
                            "id": 19227,
                            "nodeType": "ParameterList",
                            "parameters": [],
                            "src": "49084:0:62"
                        },
                        "scope": 20920,
                        "src": "49009:172:62",
                        "stateMutability": "view",
                        "virtual": false,
                        "visibility": "internal"
                    },
                    {
                        "body": {
                            "id": 19262,
                            "nodeType": "Block",
                            "src": "49262:100:62",
                            "statements": [
                                {
                                    "expression": {
                                        "arguments": [
                                            {
                                                "arguments": [
                                                    {
                                                        "hexValue": "6c6f6728626f6f6c2c616464726573732c737472696e672c6164647265737329",
                                                        "id": 19254,
                                                        "isConstant": false,
                                                        "isLValue": false,
                                                        "isPure": true,
                                                        "kind": "string",
                                                        "lValueRequested": false,
                                                        "nodeType": "Literal",
                                                        "src": "49306:34:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_stringliteral_6f7c603e9035cbc7959bb3d44ec862ddc6711eecebd67d54ceb0010f42f85654",
                                                            "typeString": "literal_string \"log(bool,address,string,address)\""
                                                        },
                                                        "value": "log(bool,address,string,address)"
                                                    },
                                                    {
                                                        "id": 19255,
                                                        "name": "p0",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 19242,
                                                        "src": "49342:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_bool",
                                                            "typeString": "bool"
                                                        }
                                                    },
                                                    {
                                                        "id": 19256,
                                                        "name": "p1",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 19244,
                                                        "src": "49346:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_address",
                                                            "typeString": "address"
                                                        }
                                                    },
                                                    {
                                                        "id": 19257,
                                                        "name": "p2",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 19246,
                                                        "src": "49350:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_string_memory_ptr",
                                                            "typeString": "string memory"
                                                        }
                                                    },
                                                    {
                                                        "id": 19258,
                                                        "name": "p3",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 19248,
                                                        "src": "49354:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_address",
                                                            "typeString": "address"
                                                        }
                                                    }
                                                ],
                                                "expression": {
                                                    "argumentTypes": [
                                                        {
                                                            "typeIdentifier": "t_stringliteral_6f7c603e9035cbc7959bb3d44ec862ddc6711eecebd67d54ceb0010f42f85654",
                                                            "typeString": "literal_string \"log(bool,address,string,address)\""
                                                        },
                                                        {
                                                            "typeIdentifier": "t_bool",
                                                            "typeString": "bool"
                                                        },
                                                        {
                                                            "typeIdentifier": "t_address",
                                                            "typeString": "address"
                                                        },
                                                        {
                                                            "typeIdentifier": "t_string_memory_ptr",
                                                            "typeString": "string memory"
                                                        },
                                                        {
                                                            "typeIdentifier": "t_address",
                                                            "typeString": "address"
                                                        }
                                                    ],
                                                    "expression": {
                                                        "id": 19252,
                                                        "name": "abi",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 4294967295,
                                                        "src": "49282:3:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_magic_abi",
                                                            "typeString": "abi"
                                                        }
                                                    },
                                                    "id": 19253,
                                                    "isConstant": false,
                                                    "isLValue": false,
                                                    "isPure": true,
                                                    "lValueRequested": false,
                                                    "memberName": "encodeWithSignature",
                                                    "nodeType": "MemberAccess",
                                                    "src": "49282:23:62",
                                                    "typeDescriptions": {
                                                        "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$",
                                                        "typeString": "function (string memory) pure returns (bytes memory)"
                                                    }
                                                },
                                                "id": 19259,
                                                "isConstant": false,
                                                "isLValue": false,
                                                "isPure": false,
                                                "kind": "functionCall",
                                                "lValueRequested": false,
                                                "names": [],
                                                "nodeType": "FunctionCall",
                                                "src": "49282:75:62",
                                                "tryCall": false,
                                                "typeDescriptions": {
                                                    "typeIdentifier": "t_bytes_memory_ptr",
                                                    "typeString": "bytes memory"
                                                }
                                            }
                                        ],
                                        "expression": {
                                            "argumentTypes": [
                                                {
                                                    "typeIdentifier": "t_bytes_memory_ptr",
                                                    "typeString": "bytes memory"
                                                }
                                            ],
                                            "id": 19251,
                                            "name": "_sendLogPayload",
                                            "nodeType": "Identifier",
                                            "overloadedDeclarations": [],
                                            "referencedDeclaration": 12880,
                                            "src": "49266:15:62",
                                            "typeDescriptions": {
                                                "typeIdentifier": "t_function_internal_view$_t_bytes_memory_ptr_$returns$__$",
                                                "typeString": "function (bytes memory) view"
                                            }
                                        },
                                        "id": 19260,
                                        "isConstant": false,
                                        "isLValue": false,
                                        "isPure": false,
                                        "kind": "functionCall",
                                        "lValueRequested": false,
                                        "names": [],
                                        "nodeType": "FunctionCall",
                                        "src": "49266:92:62",
                                        "tryCall": false,
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_tuple$__$",
                                            "typeString": "tuple()"
                                        }
                                    },
                                    "id": 19261,
                                    "nodeType": "ExpressionStatement",
                                    "src": "49266:92:62"
                                }
                            ]
                        },
                        "id": 19263,
                        "implemented": true,
                        "kind": "function",
                        "modifiers": [],
                        "name": "log",
                        "nameLocation": "49193:3:62",
                        "nodeType": "FunctionDefinition",
                        "parameters": {
                            "id": 19249,
                            "nodeType": "ParameterList",
                            "parameters": [
                                {
                                    "constant": false,
                                    "id": 19242,
                                    "mutability": "mutable",
                                    "name": "p0",
                                    "nameLocation": "49202:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 19263,
                                    "src": "49197:7:62",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_bool",
                                        "typeString": "bool"
                                    },
                                    "typeName": {
                                        "id": 19241,
                                        "name": "bool",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "49197:4:62",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_bool",
                                            "typeString": "bool"
                                        }
                                    },
                                    "visibility": "internal"
                                },
                                {
                                    "constant": false,
                                    "id": 19244,
                                    "mutability": "mutable",
                                    "name": "p1",
                                    "nameLocation": "49214:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 19263,
                                    "src": "49206:10:62",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_address",
                                        "typeString": "address"
                                    },
                                    "typeName": {
                                        "id": 19243,
                                        "name": "address",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "49206:7:62",
                                        "stateMutability": "nonpayable",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_address",
                                            "typeString": "address"
                                        }
                                    },
                                    "visibility": "internal"
                                },
                                {
                                    "constant": false,
                                    "id": 19246,
                                    "mutability": "mutable",
                                    "name": "p2",
                                    "nameLocation": "49232:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 19263,
                                    "src": "49218:16:62",
                                    "stateVariable": false,
                                    "storageLocation": "memory",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_string_memory_ptr",
                                        "typeString": "string"
                                    },
                                    "typeName": {
                                        "id": 19245,
                                        "name": "string",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "49218:6:62",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_string_storage_ptr",
                                            "typeString": "string"
                                        }
                                    },
                                    "visibility": "internal"
                                },
                                {
                                    "constant": false,
                                    "id": 19248,
                                    "mutability": "mutable",
                                    "name": "p3",
                                    "nameLocation": "49244:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 19263,
                                    "src": "49236:10:62",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_address",
                                        "typeString": "address"
                                    },
                                    "typeName": {
                                        "id": 19247,
                                        "name": "address",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "49236:7:62",
                                        "stateMutability": "nonpayable",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_address",
                                            "typeString": "address"
                                        }
                                    },
                                    "visibility": "internal"
                                }
                            ],
                            "src": "49196:51:62"
                        },
                        "returnParameters": {
                            "id": 19250,
                            "nodeType": "ParameterList",
                            "parameters": [],
                            "src": "49262:0:62"
                        },
                        "scope": 20920,
                        "src": "49184:178:62",
                        "stateMutability": "view",
                        "virtual": false,
                        "visibility": "internal"
                    },
                    {
                        "body": {
                            "id": 19285,
                            "nodeType": "Block",
                            "src": "49431:95:62",
                            "statements": [
                                {
                                    "expression": {
                                        "arguments": [
                                            {
                                                "arguments": [
                                                    {
                                                        "hexValue": "6c6f6728626f6f6c2c616464726573732c626f6f6c2c75696e7429",
                                                        "id": 19277,
                                                        "isConstant": false,
                                                        "isLValue": false,
                                                        "isPure": true,
                                                        "kind": "string",
                                                        "lValueRequested": false,
                                                        "nodeType": "Literal",
                                                        "src": "49475:29:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_stringliteral_4cb60fd1171fb665e1565124463601e5c451a362c8efbc6e1fcfbffbbb9850d9",
                                                            "typeString": "literal_string \"log(bool,address,bool,uint)\""
                                                        },
                                                        "value": "log(bool,address,bool,uint)"
                                                    },
                                                    {
                                                        "id": 19278,
                                                        "name": "p0",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 19265,
                                                        "src": "49506:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_bool",
                                                            "typeString": "bool"
                                                        }
                                                    },
                                                    {
                                                        "id": 19279,
                                                        "name": "p1",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 19267,
                                                        "src": "49510:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_address",
                                                            "typeString": "address"
                                                        }
                                                    },
                                                    {
                                                        "id": 19280,
                                                        "name": "p2",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 19269,
                                                        "src": "49514:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_bool",
                                                            "typeString": "bool"
                                                        }
                                                    },
                                                    {
                                                        "id": 19281,
                                                        "name": "p3",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 19271,
                                                        "src": "49518:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_uint256",
                                                            "typeString": "uint256"
                                                        }
                                                    }
                                                ],
                                                "expression": {
                                                    "argumentTypes": [
                                                        {
                                                            "typeIdentifier": "t_stringliteral_4cb60fd1171fb665e1565124463601e5c451a362c8efbc6e1fcfbffbbb9850d9",
                                                            "typeString": "literal_string \"log(bool,address,bool,uint)\""
                                                        },
                                                        {
                                                            "typeIdentifier": "t_bool",
                                                            "typeString": "bool"
                                                        },
                                                        {
                                                            "typeIdentifier": "t_address",
                                                            "typeString": "address"
                                                        },
                                                        {
                                                            "typeIdentifier": "t_bool",
                                                            "typeString": "bool"
                                                        },
                                                        {
                                                            "typeIdentifier": "t_uint256",
                                                            "typeString": "uint256"
                                                        }
                                                    ],
                                                    "expression": {
                                                        "id": 19275,
                                                        "name": "abi",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 4294967295,
                                                        "src": "49451:3:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_magic_abi",
                                                            "typeString": "abi"
                                                        }
                                                    },
                                                    "id": 19276,
                                                    "isConstant": false,
                                                    "isLValue": false,
                                                    "isPure": true,
                                                    "lValueRequested": false,
                                                    "memberName": "encodeWithSignature",
                                                    "nodeType": "MemberAccess",
                                                    "src": "49451:23:62",
                                                    "typeDescriptions": {
                                                        "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$",
                                                        "typeString": "function (string memory) pure returns (bytes memory)"
                                                    }
                                                },
                                                "id": 19282,
                                                "isConstant": false,
                                                "isLValue": false,
                                                "isPure": false,
                                                "kind": "functionCall",
                                                "lValueRequested": false,
                                                "names": [],
                                                "nodeType": "FunctionCall",
                                                "src": "49451:70:62",
                                                "tryCall": false,
                                                "typeDescriptions": {
                                                    "typeIdentifier": "t_bytes_memory_ptr",
                                                    "typeString": "bytes memory"
                                                }
                                            }
                                        ],
                                        "expression": {
                                            "argumentTypes": [
                                                {
                                                    "typeIdentifier": "t_bytes_memory_ptr",
                                                    "typeString": "bytes memory"
                                                }
                                            ],
                                            "id": 19274,
                                            "name": "_sendLogPayload",
                                            "nodeType": "Identifier",
                                            "overloadedDeclarations": [],
                                            "referencedDeclaration": 12880,
                                            "src": "49435:15:62",
                                            "typeDescriptions": {
                                                "typeIdentifier": "t_function_internal_view$_t_bytes_memory_ptr_$returns$__$",
                                                "typeString": "function (bytes memory) view"
                                            }
                                        },
                                        "id": 19283,
                                        "isConstant": false,
                                        "isLValue": false,
                                        "isPure": false,
                                        "kind": "functionCall",
                                        "lValueRequested": false,
                                        "names": [],
                                        "nodeType": "FunctionCall",
                                        "src": "49435:87:62",
                                        "tryCall": false,
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_tuple$__$",
                                            "typeString": "tuple()"
                                        }
                                    },
                                    "id": 19284,
                                    "nodeType": "ExpressionStatement",
                                    "src": "49435:87:62"
                                }
                            ]
                        },
                        "id": 19286,
                        "implemented": true,
                        "kind": "function",
                        "modifiers": [],
                        "name": "log",
                        "nameLocation": "49374:3:62",
                        "nodeType": "FunctionDefinition",
                        "parameters": {
                            "id": 19272,
                            "nodeType": "ParameterList",
                            "parameters": [
                                {
                                    "constant": false,
                                    "id": 19265,
                                    "mutability": "mutable",
                                    "name": "p0",
                                    "nameLocation": "49383:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 19286,
                                    "src": "49378:7:62",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_bool",
                                        "typeString": "bool"
                                    },
                                    "typeName": {
                                        "id": 19264,
                                        "name": "bool",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "49378:4:62",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_bool",
                                            "typeString": "bool"
                                        }
                                    },
                                    "visibility": "internal"
                                },
                                {
                                    "constant": false,
                                    "id": 19267,
                                    "mutability": "mutable",
                                    "name": "p1",
                                    "nameLocation": "49395:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 19286,
                                    "src": "49387:10:62",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_address",
                                        "typeString": "address"
                                    },
                                    "typeName": {
                                        "id": 19266,
                                        "name": "address",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "49387:7:62",
                                        "stateMutability": "nonpayable",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_address",
                                            "typeString": "address"
                                        }
                                    },
                                    "visibility": "internal"
                                },
                                {
                                    "constant": false,
                                    "id": 19269,
                                    "mutability": "mutable",
                                    "name": "p2",
                                    "nameLocation": "49404:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 19286,
                                    "src": "49399:7:62",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_bool",
                                        "typeString": "bool"
                                    },
                                    "typeName": {
                                        "id": 19268,
                                        "name": "bool",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "49399:4:62",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_bool",
                                            "typeString": "bool"
                                        }
                                    },
                                    "visibility": "internal"
                                },
                                {
                                    "constant": false,
                                    "id": 19271,
                                    "mutability": "mutable",
                                    "name": "p3",
                                    "nameLocation": "49413:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 19286,
                                    "src": "49408:7:62",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_uint256",
                                        "typeString": "uint256"
                                    },
                                    "typeName": {
                                        "id": 19270,
                                        "name": "uint",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "49408:4:62",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_uint256",
                                            "typeString": "uint256"
                                        }
                                    },
                                    "visibility": "internal"
                                }
                            ],
                            "src": "49377:39:62"
                        },
                        "returnParameters": {
                            "id": 19273,
                            "nodeType": "ParameterList",
                            "parameters": [],
                            "src": "49431:0:62"
                        },
                        "scope": 20920,
                        "src": "49365:161:62",
                        "stateMutability": "view",
                        "virtual": false,
                        "visibility": "internal"
                    },
                    {
                        "body": {
                            "id": 19308,
                            "nodeType": "Block",
                            "src": "49604:97:62",
                            "statements": [
                                {
                                    "expression": {
                                        "arguments": [
                                            {
                                                "arguments": [
                                                    {
                                                        "hexValue": "6c6f6728626f6f6c2c616464726573732c626f6f6c2c737472696e6729",
                                                        "id": 19300,
                                                        "isConstant": false,
                                                        "isLValue": false,
                                                        "isPure": true,
                                                        "kind": "string",
                                                        "lValueRequested": false,
                                                        "nodeType": "Literal",
                                                        "src": "49648:31:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_stringliteral_4a66cb34796065525d301a5b87b440b55f1936e34dd66e2f2039307bc4e3ea59",
                                                            "typeString": "literal_string \"log(bool,address,bool,string)\""
                                                        },
                                                        "value": "log(bool,address,bool,string)"
                                                    },
                                                    {
                                                        "id": 19301,
                                                        "name": "p0",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 19288,
                                                        "src": "49681:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_bool",
                                                            "typeString": "bool"
                                                        }
                                                    },
                                                    {
                                                        "id": 19302,
                                                        "name": "p1",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 19290,
                                                        "src": "49685:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_address",
                                                            "typeString": "address"
                                                        }
                                                    },
                                                    {
                                                        "id": 19303,
                                                        "name": "p2",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 19292,
                                                        "src": "49689:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_bool",
                                                            "typeString": "bool"
                                                        }
                                                    },
                                                    {
                                                        "id": 19304,
                                                        "name": "p3",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 19294,
                                                        "src": "49693:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_string_memory_ptr",
                                                            "typeString": "string memory"
                                                        }
                                                    }
                                                ],
                                                "expression": {
                                                    "argumentTypes": [
                                                        {
                                                            "typeIdentifier": "t_stringliteral_4a66cb34796065525d301a5b87b440b55f1936e34dd66e2f2039307bc4e3ea59",
                                                            "typeString": "literal_string \"log(bool,address,bool,string)\""
                                                        },
                                                        {
                                                            "typeIdentifier": "t_bool",
                                                            "typeString": "bool"
                                                        },
                                                        {
                                                            "typeIdentifier": "t_address",
                                                            "typeString": "address"
                                                        },
                                                        {
                                                            "typeIdentifier": "t_bool",
                                                            "typeString": "bool"
                                                        },
                                                        {
                                                            "typeIdentifier": "t_string_memory_ptr",
                                                            "typeString": "string memory"
                                                        }
                                                    ],
                                                    "expression": {
                                                        "id": 19298,
                                                        "name": "abi",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 4294967295,
                                                        "src": "49624:3:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_magic_abi",
                                                            "typeString": "abi"
                                                        }
                                                    },
                                                    "id": 19299,
                                                    "isConstant": false,
                                                    "isLValue": false,
                                                    "isPure": true,
                                                    "lValueRequested": false,
                                                    "memberName": "encodeWithSignature",
                                                    "nodeType": "MemberAccess",
                                                    "src": "49624:23:62",
                                                    "typeDescriptions": {
                                                        "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$",
                                                        "typeString": "function (string memory) pure returns (bytes memory)"
                                                    }
                                                },
                                                "id": 19305,
                                                "isConstant": false,
                                                "isLValue": false,
                                                "isPure": false,
                                                "kind": "functionCall",
                                                "lValueRequested": false,
                                                "names": [],
                                                "nodeType": "FunctionCall",
                                                "src": "49624:72:62",
                                                "tryCall": false,
                                                "typeDescriptions": {
                                                    "typeIdentifier": "t_bytes_memory_ptr",
                                                    "typeString": "bytes memory"
                                                }
                                            }
                                        ],
                                        "expression": {
                                            "argumentTypes": [
                                                {
                                                    "typeIdentifier": "t_bytes_memory_ptr",
                                                    "typeString": "bytes memory"
                                                }
                                            ],
                                            "id": 19297,
                                            "name": "_sendLogPayload",
                                            "nodeType": "Identifier",
                                            "overloadedDeclarations": [],
                                            "referencedDeclaration": 12880,
                                            "src": "49608:15:62",
                                            "typeDescriptions": {
                                                "typeIdentifier": "t_function_internal_view$_t_bytes_memory_ptr_$returns$__$",
                                                "typeString": "function (bytes memory) view"
                                            }
                                        },
                                        "id": 19306,
                                        "isConstant": false,
                                        "isLValue": false,
                                        "isPure": false,
                                        "kind": "functionCall",
                                        "lValueRequested": false,
                                        "names": [],
                                        "nodeType": "FunctionCall",
                                        "src": "49608:89:62",
                                        "tryCall": false,
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_tuple$__$",
                                            "typeString": "tuple()"
                                        }
                                    },
                                    "id": 19307,
                                    "nodeType": "ExpressionStatement",
                                    "src": "49608:89:62"
                                }
                            ]
                        },
                        "id": 19309,
                        "implemented": true,
                        "kind": "function",
                        "modifiers": [],
                        "name": "log",
                        "nameLocation": "49538:3:62",
                        "nodeType": "FunctionDefinition",
                        "parameters": {
                            "id": 19295,
                            "nodeType": "ParameterList",
                            "parameters": [
                                {
                                    "constant": false,
                                    "id": 19288,
                                    "mutability": "mutable",
                                    "name": "p0",
                                    "nameLocation": "49547:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 19309,
                                    "src": "49542:7:62",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_bool",
                                        "typeString": "bool"
                                    },
                                    "typeName": {
                                        "id": 19287,
                                        "name": "bool",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "49542:4:62",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_bool",
                                            "typeString": "bool"
                                        }
                                    },
                                    "visibility": "internal"
                                },
                                {
                                    "constant": false,
                                    "id": 19290,
                                    "mutability": "mutable",
                                    "name": "p1",
                                    "nameLocation": "49559:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 19309,
                                    "src": "49551:10:62",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_address",
                                        "typeString": "address"
                                    },
                                    "typeName": {
                                        "id": 19289,
                                        "name": "address",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "49551:7:62",
                                        "stateMutability": "nonpayable",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_address",
                                            "typeString": "address"
                                        }
                                    },
                                    "visibility": "internal"
                                },
                                {
                                    "constant": false,
                                    "id": 19292,
                                    "mutability": "mutable",
                                    "name": "p2",
                                    "nameLocation": "49568:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 19309,
                                    "src": "49563:7:62",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_bool",
                                        "typeString": "bool"
                                    },
                                    "typeName": {
                                        "id": 19291,
                                        "name": "bool",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "49563:4:62",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_bool",
                                            "typeString": "bool"
                                        }
                                    },
                                    "visibility": "internal"
                                },
                                {
                                    "constant": false,
                                    "id": 19294,
                                    "mutability": "mutable",
                                    "name": "p3",
                                    "nameLocation": "49586:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 19309,
                                    "src": "49572:16:62",
                                    "stateVariable": false,
                                    "storageLocation": "memory",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_string_memory_ptr",
                                        "typeString": "string"
                                    },
                                    "typeName": {
                                        "id": 19293,
                                        "name": "string",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "49572:6:62",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_string_storage_ptr",
                                            "typeString": "string"
                                        }
                                    },
                                    "visibility": "internal"
                                }
                            ],
                            "src": "49541:48:62"
                        },
                        "returnParameters": {
                            "id": 19296,
                            "nodeType": "ParameterList",
                            "parameters": [],
                            "src": "49604:0:62"
                        },
                        "scope": 20920,
                        "src": "49529:172:62",
                        "stateMutability": "view",
                        "virtual": false,
                        "visibility": "internal"
                    },
                    {
                        "body": {
                            "id": 19331,
                            "nodeType": "Block",
                            "src": "49770:95:62",
                            "statements": [
                                {
                                    "expression": {
                                        "arguments": [
                                            {
                                                "arguments": [
                                                    {
                                                        "hexValue": "6c6f6728626f6f6c2c616464726573732c626f6f6c2c626f6f6c29",
                                                        "id": 19323,
                                                        "isConstant": false,
                                                        "isLValue": false,
                                                        "isPure": true,
                                                        "kind": "string",
                                                        "lValueRequested": false,
                                                        "nodeType": "Literal",
                                                        "src": "49814:29:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_stringliteral_6a9c478bc98300d44308882e2e0b5864f2536a2939cb77105f503738b5832577",
                                                            "typeString": "literal_string \"log(bool,address,bool,bool)\""
                                                        },
                                                        "value": "log(bool,address,bool,bool)"
                                                    },
                                                    {
                                                        "id": 19324,
                                                        "name": "p0",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 19311,
                                                        "src": "49845:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_bool",
                                                            "typeString": "bool"
                                                        }
                                                    },
                                                    {
                                                        "id": 19325,
                                                        "name": "p1",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 19313,
                                                        "src": "49849:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_address",
                                                            "typeString": "address"
                                                        }
                                                    },
                                                    {
                                                        "id": 19326,
                                                        "name": "p2",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 19315,
                                                        "src": "49853:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_bool",
                                                            "typeString": "bool"
                                                        }
                                                    },
                                                    {
                                                        "id": 19327,
                                                        "name": "p3",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 19317,
                                                        "src": "49857:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_bool",
                                                            "typeString": "bool"
                                                        }
                                                    }
                                                ],
                                                "expression": {
                                                    "argumentTypes": [
                                                        {
                                                            "typeIdentifier": "t_stringliteral_6a9c478bc98300d44308882e2e0b5864f2536a2939cb77105f503738b5832577",
                                                            "typeString": "literal_string \"log(bool,address,bool,bool)\""
                                                        },
                                                        {
                                                            "typeIdentifier": "t_bool",
                                                            "typeString": "bool"
                                                        },
                                                        {
                                                            "typeIdentifier": "t_address",
                                                            "typeString": "address"
                                                        },
                                                        {
                                                            "typeIdentifier": "t_bool",
                                                            "typeString": "bool"
                                                        },
                                                        {
                                                            "typeIdentifier": "t_bool",
                                                            "typeString": "bool"
                                                        }
                                                    ],
                                                    "expression": {
                                                        "id": 19321,
                                                        "name": "abi",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 4294967295,
                                                        "src": "49790:3:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_magic_abi",
                                                            "typeString": "abi"
                                                        }
                                                    },
                                                    "id": 19322,
                                                    "isConstant": false,
                                                    "isLValue": false,
                                                    "isPure": true,
                                                    "lValueRequested": false,
                                                    "memberName": "encodeWithSignature",
                                                    "nodeType": "MemberAccess",
                                                    "src": "49790:23:62",
                                                    "typeDescriptions": {
                                                        "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$",
                                                        "typeString": "function (string memory) pure returns (bytes memory)"
                                                    }
                                                },
                                                "id": 19328,
                                                "isConstant": false,
                                                "isLValue": false,
                                                "isPure": false,
                                                "kind": "functionCall",
                                                "lValueRequested": false,
                                                "names": [],
                                                "nodeType": "FunctionCall",
                                                "src": "49790:70:62",
                                                "tryCall": false,
                                                "typeDescriptions": {
                                                    "typeIdentifier": "t_bytes_memory_ptr",
                                                    "typeString": "bytes memory"
                                                }
                                            }
                                        ],
                                        "expression": {
                                            "argumentTypes": [
                                                {
                                                    "typeIdentifier": "t_bytes_memory_ptr",
                                                    "typeString": "bytes memory"
                                                }
                                            ],
                                            "id": 19320,
                                            "name": "_sendLogPayload",
                                            "nodeType": "Identifier",
                                            "overloadedDeclarations": [],
                                            "referencedDeclaration": 12880,
                                            "src": "49774:15:62",
                                            "typeDescriptions": {
                                                "typeIdentifier": "t_function_internal_view$_t_bytes_memory_ptr_$returns$__$",
                                                "typeString": "function (bytes memory) view"
                                            }
                                        },
                                        "id": 19329,
                                        "isConstant": false,
                                        "isLValue": false,
                                        "isPure": false,
                                        "kind": "functionCall",
                                        "lValueRequested": false,
                                        "names": [],
                                        "nodeType": "FunctionCall",
                                        "src": "49774:87:62",
                                        "tryCall": false,
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_tuple$__$",
                                            "typeString": "tuple()"
                                        }
                                    },
                                    "id": 19330,
                                    "nodeType": "ExpressionStatement",
                                    "src": "49774:87:62"
                                }
                            ]
                        },
                        "id": 19332,
                        "implemented": true,
                        "kind": "function",
                        "modifiers": [],
                        "name": "log",
                        "nameLocation": "49713:3:62",
                        "nodeType": "FunctionDefinition",
                        "parameters": {
                            "id": 19318,
                            "nodeType": "ParameterList",
                            "parameters": [
                                {
                                    "constant": false,
                                    "id": 19311,
                                    "mutability": "mutable",
                                    "name": "p0",
                                    "nameLocation": "49722:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 19332,
                                    "src": "49717:7:62",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_bool",
                                        "typeString": "bool"
                                    },
                                    "typeName": {
                                        "id": 19310,
                                        "name": "bool",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "49717:4:62",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_bool",
                                            "typeString": "bool"
                                        }
                                    },
                                    "visibility": "internal"
                                },
                                {
                                    "constant": false,
                                    "id": 19313,
                                    "mutability": "mutable",
                                    "name": "p1",
                                    "nameLocation": "49734:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 19332,
                                    "src": "49726:10:62",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_address",
                                        "typeString": "address"
                                    },
                                    "typeName": {
                                        "id": 19312,
                                        "name": "address",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "49726:7:62",
                                        "stateMutability": "nonpayable",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_address",
                                            "typeString": "address"
                                        }
                                    },
                                    "visibility": "internal"
                                },
                                {
                                    "constant": false,
                                    "id": 19315,
                                    "mutability": "mutable",
                                    "name": "p2",
                                    "nameLocation": "49743:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 19332,
                                    "src": "49738:7:62",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_bool",
                                        "typeString": "bool"
                                    },
                                    "typeName": {
                                        "id": 19314,
                                        "name": "bool",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "49738:4:62",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_bool",
                                            "typeString": "bool"
                                        }
                                    },
                                    "visibility": "internal"
                                },
                                {
                                    "constant": false,
                                    "id": 19317,
                                    "mutability": "mutable",
                                    "name": "p3",
                                    "nameLocation": "49752:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 19332,
                                    "src": "49747:7:62",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_bool",
                                        "typeString": "bool"
                                    },
                                    "typeName": {
                                        "id": 19316,
                                        "name": "bool",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "49747:4:62",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_bool",
                                            "typeString": "bool"
                                        }
                                    },
                                    "visibility": "internal"
                                }
                            ],
                            "src": "49716:39:62"
                        },
                        "returnParameters": {
                            "id": 19319,
                            "nodeType": "ParameterList",
                            "parameters": [],
                            "src": "49770:0:62"
                        },
                        "scope": 20920,
                        "src": "49704:161:62",
                        "stateMutability": "view",
                        "virtual": false,
                        "visibility": "internal"
                    },
                    {
                        "body": {
                            "id": 19354,
                            "nodeType": "Block",
                            "src": "49937:98:62",
                            "statements": [
                                {
                                    "expression": {
                                        "arguments": [
                                            {
                                                "arguments": [
                                                    {
                                                        "hexValue": "6c6f6728626f6f6c2c616464726573732c626f6f6c2c6164647265737329",
                                                        "id": 19346,
                                                        "isConstant": false,
                                                        "isLValue": false,
                                                        "isPure": true,
                                                        "kind": "string",
                                                        "lValueRequested": false,
                                                        "nodeType": "Literal",
                                                        "src": "49981:32:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_stringliteral_1c41a336759f1c2fe1d8b137296b2dfbdcfe7114fc53f203852c2835c09f8870",
                                                            "typeString": "literal_string \"log(bool,address,bool,address)\""
                                                        },
                                                        "value": "log(bool,address,bool,address)"
                                                    },
                                                    {
                                                        "id": 19347,
                                                        "name": "p0",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 19334,
                                                        "src": "50015:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_bool",
                                                            "typeString": "bool"
                                                        }
                                                    },
                                                    {
                                                        "id": 19348,
                                                        "name": "p1",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 19336,
                                                        "src": "50019:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_address",
                                                            "typeString": "address"
                                                        }
                                                    },
                                                    {
                                                        "id": 19349,
                                                        "name": "p2",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 19338,
                                                        "src": "50023:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_bool",
                                                            "typeString": "bool"
                                                        }
                                                    },
                                                    {
                                                        "id": 19350,
                                                        "name": "p3",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 19340,
                                                        "src": "50027:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_address",
                                                            "typeString": "address"
                                                        }
                                                    }
                                                ],
                                                "expression": {
                                                    "argumentTypes": [
                                                        {
                                                            "typeIdentifier": "t_stringliteral_1c41a336759f1c2fe1d8b137296b2dfbdcfe7114fc53f203852c2835c09f8870",
                                                            "typeString": "literal_string \"log(bool,address,bool,address)\""
                                                        },
                                                        {
                                                            "typeIdentifier": "t_bool",
                                                            "typeString": "bool"
                                                        },
                                                        {
                                                            "typeIdentifier": "t_address",
                                                            "typeString": "address"
                                                        },
                                                        {
                                                            "typeIdentifier": "t_bool",
                                                            "typeString": "bool"
                                                        },
                                                        {
                                                            "typeIdentifier": "t_address",
                                                            "typeString": "address"
                                                        }
                                                    ],
                                                    "expression": {
                                                        "id": 19344,
                                                        "name": "abi",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 4294967295,
                                                        "src": "49957:3:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_magic_abi",
                                                            "typeString": "abi"
                                                        }
                                                    },
                                                    "id": 19345,
                                                    "isConstant": false,
                                                    "isLValue": false,
                                                    "isPure": true,
                                                    "lValueRequested": false,
                                                    "memberName": "encodeWithSignature",
                                                    "nodeType": "MemberAccess",
                                                    "src": "49957:23:62",
                                                    "typeDescriptions": {
                                                        "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$",
                                                        "typeString": "function (string memory) pure returns (bytes memory)"
                                                    }
                                                },
                                                "id": 19351,
                                                "isConstant": false,
                                                "isLValue": false,
                                                "isPure": false,
                                                "kind": "functionCall",
                                                "lValueRequested": false,
                                                "names": [],
                                                "nodeType": "FunctionCall",
                                                "src": "49957:73:62",
                                                "tryCall": false,
                                                "typeDescriptions": {
                                                    "typeIdentifier": "t_bytes_memory_ptr",
                                                    "typeString": "bytes memory"
                                                }
                                            }
                                        ],
                                        "expression": {
                                            "argumentTypes": [
                                                {
                                                    "typeIdentifier": "t_bytes_memory_ptr",
                                                    "typeString": "bytes memory"
                                                }
                                            ],
                                            "id": 19343,
                                            "name": "_sendLogPayload",
                                            "nodeType": "Identifier",
                                            "overloadedDeclarations": [],
                                            "referencedDeclaration": 12880,
                                            "src": "49941:15:62",
                                            "typeDescriptions": {
                                                "typeIdentifier": "t_function_internal_view$_t_bytes_memory_ptr_$returns$__$",
                                                "typeString": "function (bytes memory) view"
                                            }
                                        },
                                        "id": 19352,
                                        "isConstant": false,
                                        "isLValue": false,
                                        "isPure": false,
                                        "kind": "functionCall",
                                        "lValueRequested": false,
                                        "names": [],
                                        "nodeType": "FunctionCall",
                                        "src": "49941:90:62",
                                        "tryCall": false,
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_tuple$__$",
                                            "typeString": "tuple()"
                                        }
                                    },
                                    "id": 19353,
                                    "nodeType": "ExpressionStatement",
                                    "src": "49941:90:62"
                                }
                            ]
                        },
                        "id": 19355,
                        "implemented": true,
                        "kind": "function",
                        "modifiers": [],
                        "name": "log",
                        "nameLocation": "49877:3:62",
                        "nodeType": "FunctionDefinition",
                        "parameters": {
                            "id": 19341,
                            "nodeType": "ParameterList",
                            "parameters": [
                                {
                                    "constant": false,
                                    "id": 19334,
                                    "mutability": "mutable",
                                    "name": "p0",
                                    "nameLocation": "49886:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 19355,
                                    "src": "49881:7:62",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_bool",
                                        "typeString": "bool"
                                    },
                                    "typeName": {
                                        "id": 19333,
                                        "name": "bool",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "49881:4:62",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_bool",
                                            "typeString": "bool"
                                        }
                                    },
                                    "visibility": "internal"
                                },
                                {
                                    "constant": false,
                                    "id": 19336,
                                    "mutability": "mutable",
                                    "name": "p1",
                                    "nameLocation": "49898:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 19355,
                                    "src": "49890:10:62",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_address",
                                        "typeString": "address"
                                    },
                                    "typeName": {
                                        "id": 19335,
                                        "name": "address",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "49890:7:62",
                                        "stateMutability": "nonpayable",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_address",
                                            "typeString": "address"
                                        }
                                    },
                                    "visibility": "internal"
                                },
                                {
                                    "constant": false,
                                    "id": 19338,
                                    "mutability": "mutable",
                                    "name": "p2",
                                    "nameLocation": "49907:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 19355,
                                    "src": "49902:7:62",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_bool",
                                        "typeString": "bool"
                                    },
                                    "typeName": {
                                        "id": 19337,
                                        "name": "bool",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "49902:4:62",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_bool",
                                            "typeString": "bool"
                                        }
                                    },
                                    "visibility": "internal"
                                },
                                {
                                    "constant": false,
                                    "id": 19340,
                                    "mutability": "mutable",
                                    "name": "p3",
                                    "nameLocation": "49919:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 19355,
                                    "src": "49911:10:62",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_address",
                                        "typeString": "address"
                                    },
                                    "typeName": {
                                        "id": 19339,
                                        "name": "address",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "49911:7:62",
                                        "stateMutability": "nonpayable",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_address",
                                            "typeString": "address"
                                        }
                                    },
                                    "visibility": "internal"
                                }
                            ],
                            "src": "49880:42:62"
                        },
                        "returnParameters": {
                            "id": 19342,
                            "nodeType": "ParameterList",
                            "parameters": [],
                            "src": "49937:0:62"
                        },
                        "scope": 20920,
                        "src": "49868:167:62",
                        "stateMutability": "view",
                        "virtual": false,
                        "visibility": "internal"
                    },
                    {
                        "body": {
                            "id": 19377,
                            "nodeType": "Block",
                            "src": "50107:98:62",
                            "statements": [
                                {
                                    "expression": {
                                        "arguments": [
                                            {
                                                "arguments": [
                                                    {
                                                        "hexValue": "6c6f6728626f6f6c2c616464726573732c616464726573732c75696e7429",
                                                        "id": 19369,
                                                        "isConstant": false,
                                                        "isLValue": false,
                                                        "isPure": true,
                                                        "kind": "string",
                                                        "lValueRequested": false,
                                                        "nodeType": "Literal",
                                                        "src": "50151:32:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_stringliteral_5284bd6c2d02d32d79d43dcd0793be5ced63bf4e51bea38208974f6d8ca5def7",
                                                            "typeString": "literal_string \"log(bool,address,address,uint)\""
                                                        },
                                                        "value": "log(bool,address,address,uint)"
                                                    },
                                                    {
                                                        "id": 19370,
                                                        "name": "p0",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 19357,
                                                        "src": "50185:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_bool",
                                                            "typeString": "bool"
                                                        }
                                                    },
                                                    {
                                                        "id": 19371,
                                                        "name": "p1",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 19359,
                                                        "src": "50189:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_address",
                                                            "typeString": "address"
                                                        }
                                                    },
                                                    {
                                                        "id": 19372,
                                                        "name": "p2",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 19361,
                                                        "src": "50193:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_address",
                                                            "typeString": "address"
                                                        }
                                                    },
                                                    {
                                                        "id": 19373,
                                                        "name": "p3",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 19363,
                                                        "src": "50197:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_uint256",
                                                            "typeString": "uint256"
                                                        }
                                                    }
                                                ],
                                                "expression": {
                                                    "argumentTypes": [
                                                        {
                                                            "typeIdentifier": "t_stringliteral_5284bd6c2d02d32d79d43dcd0793be5ced63bf4e51bea38208974f6d8ca5def7",
                                                            "typeString": "literal_string \"log(bool,address,address,uint)\""
                                                        },
                                                        {
                                                            "typeIdentifier": "t_bool",
                                                            "typeString": "bool"
                                                        },
                                                        {
                                                            "typeIdentifier": "t_address",
                                                            "typeString": "address"
                                                        },
                                                        {
                                                            "typeIdentifier": "t_address",
                                                            "typeString": "address"
                                                        },
                                                        {
                                                            "typeIdentifier": "t_uint256",
                                                            "typeString": "uint256"
                                                        }
                                                    ],
                                                    "expression": {
                                                        "id": 19367,
                                                        "name": "abi",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 4294967295,
                                                        "src": "50127:3:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_magic_abi",
                                                            "typeString": "abi"
                                                        }
                                                    },
                                                    "id": 19368,
                                                    "isConstant": false,
                                                    "isLValue": false,
                                                    "isPure": true,
                                                    "lValueRequested": false,
                                                    "memberName": "encodeWithSignature",
                                                    "nodeType": "MemberAccess",
                                                    "src": "50127:23:62",
                                                    "typeDescriptions": {
                                                        "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$",
                                                        "typeString": "function (string memory) pure returns (bytes memory)"
                                                    }
                                                },
                                                "id": 19374,
                                                "isConstant": false,
                                                "isLValue": false,
                                                "isPure": false,
                                                "kind": "functionCall",
                                                "lValueRequested": false,
                                                "names": [],
                                                "nodeType": "FunctionCall",
                                                "src": "50127:73:62",
                                                "tryCall": false,
                                                "typeDescriptions": {
                                                    "typeIdentifier": "t_bytes_memory_ptr",
                                                    "typeString": "bytes memory"
                                                }
                                            }
                                        ],
                                        "expression": {
                                            "argumentTypes": [
                                                {
                                                    "typeIdentifier": "t_bytes_memory_ptr",
                                                    "typeString": "bytes memory"
                                                }
                                            ],
                                            "id": 19366,
                                            "name": "_sendLogPayload",
                                            "nodeType": "Identifier",
                                            "overloadedDeclarations": [],
                                            "referencedDeclaration": 12880,
                                            "src": "50111:15:62",
                                            "typeDescriptions": {
                                                "typeIdentifier": "t_function_internal_view$_t_bytes_memory_ptr_$returns$__$",
                                                "typeString": "function (bytes memory) view"
                                            }
                                        },
                                        "id": 19375,
                                        "isConstant": false,
                                        "isLValue": false,
                                        "isPure": false,
                                        "kind": "functionCall",
                                        "lValueRequested": false,
                                        "names": [],
                                        "nodeType": "FunctionCall",
                                        "src": "50111:90:62",
                                        "tryCall": false,
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_tuple$__$",
                                            "typeString": "tuple()"
                                        }
                                    },
                                    "id": 19376,
                                    "nodeType": "ExpressionStatement",
                                    "src": "50111:90:62"
                                }
                            ]
                        },
                        "id": 19378,
                        "implemented": true,
                        "kind": "function",
                        "modifiers": [],
                        "name": "log",
                        "nameLocation": "50047:3:62",
                        "nodeType": "FunctionDefinition",
                        "parameters": {
                            "id": 19364,
                            "nodeType": "ParameterList",
                            "parameters": [
                                {
                                    "constant": false,
                                    "id": 19357,
                                    "mutability": "mutable",
                                    "name": "p0",
                                    "nameLocation": "50056:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 19378,
                                    "src": "50051:7:62",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_bool",
                                        "typeString": "bool"
                                    },
                                    "typeName": {
                                        "id": 19356,
                                        "name": "bool",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "50051:4:62",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_bool",
                                            "typeString": "bool"
                                        }
                                    },
                                    "visibility": "internal"
                                },
                                {
                                    "constant": false,
                                    "id": 19359,
                                    "mutability": "mutable",
                                    "name": "p1",
                                    "nameLocation": "50068:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 19378,
                                    "src": "50060:10:62",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_address",
                                        "typeString": "address"
                                    },
                                    "typeName": {
                                        "id": 19358,
                                        "name": "address",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "50060:7:62",
                                        "stateMutability": "nonpayable",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_address",
                                            "typeString": "address"
                                        }
                                    },
                                    "visibility": "internal"
                                },
                                {
                                    "constant": false,
                                    "id": 19361,
                                    "mutability": "mutable",
                                    "name": "p2",
                                    "nameLocation": "50080:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 19378,
                                    "src": "50072:10:62",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_address",
                                        "typeString": "address"
                                    },
                                    "typeName": {
                                        "id": 19360,
                                        "name": "address",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "50072:7:62",
                                        "stateMutability": "nonpayable",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_address",
                                            "typeString": "address"
                                        }
                                    },
                                    "visibility": "internal"
                                },
                                {
                                    "constant": false,
                                    "id": 19363,
                                    "mutability": "mutable",
                                    "name": "p3",
                                    "nameLocation": "50089:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 19378,
                                    "src": "50084:7:62",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_uint256",
                                        "typeString": "uint256"
                                    },
                                    "typeName": {
                                        "id": 19362,
                                        "name": "uint",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "50084:4:62",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_uint256",
                                            "typeString": "uint256"
                                        }
                                    },
                                    "visibility": "internal"
                                }
                            ],
                            "src": "50050:42:62"
                        },
                        "returnParameters": {
                            "id": 19365,
                            "nodeType": "ParameterList",
                            "parameters": [],
                            "src": "50107:0:62"
                        },
                        "scope": 20920,
                        "src": "50038:167:62",
                        "stateMutability": "view",
                        "virtual": false,
                        "visibility": "internal"
                    },
                    {
                        "body": {
                            "id": 19400,
                            "nodeType": "Block",
                            "src": "50286:100:62",
                            "statements": [
                                {
                                    "expression": {
                                        "arguments": [
                                            {
                                                "arguments": [
                                                    {
                                                        "hexValue": "6c6f6728626f6f6c2c616464726573732c616464726573732c737472696e6729",
                                                        "id": 19392,
                                                        "isConstant": false,
                                                        "isLValue": false,
                                                        "isPure": true,
                                                        "kind": "string",
                                                        "lValueRequested": false,
                                                        "nodeType": "Literal",
                                                        "src": "50330:34:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_stringliteral_d812a167fb7ec8cf55a11f06ff411238f0a431de331592d8a735c8c8481f7432",
                                                            "typeString": "literal_string \"log(bool,address,address,string)\""
                                                        },
                                                        "value": "log(bool,address,address,string)"
                                                    },
                                                    {
                                                        "id": 19393,
                                                        "name": "p0",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 19380,
                                                        "src": "50366:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_bool",
                                                            "typeString": "bool"
                                                        }
                                                    },
                                                    {
                                                        "id": 19394,
                                                        "name": "p1",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 19382,
                                                        "src": "50370:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_address",
                                                            "typeString": "address"
                                                        }
                                                    },
                                                    {
                                                        "id": 19395,
                                                        "name": "p2",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 19384,
                                                        "src": "50374:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_address",
                                                            "typeString": "address"
                                                        }
                                                    },
                                                    {
                                                        "id": 19396,
                                                        "name": "p3",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 19386,
                                                        "src": "50378:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_string_memory_ptr",
                                                            "typeString": "string memory"
                                                        }
                                                    }
                                                ],
                                                "expression": {
                                                    "argumentTypes": [
                                                        {
                                                            "typeIdentifier": "t_stringliteral_d812a167fb7ec8cf55a11f06ff411238f0a431de331592d8a735c8c8481f7432",
                                                            "typeString": "literal_string \"log(bool,address,address,string)\""
                                                        },
                                                        {
                                                            "typeIdentifier": "t_bool",
                                                            "typeString": "bool"
                                                        },
                                                        {
                                                            "typeIdentifier": "t_address",
                                                            "typeString": "address"
                                                        },
                                                        {
                                                            "typeIdentifier": "t_address",
                                                            "typeString": "address"
                                                        },
                                                        {
                                                            "typeIdentifier": "t_string_memory_ptr",
                                                            "typeString": "string memory"
                                                        }
                                                    ],
                                                    "expression": {
                                                        "id": 19390,
                                                        "name": "abi",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 4294967295,
                                                        "src": "50306:3:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_magic_abi",
                                                            "typeString": "abi"
                                                        }
                                                    },
                                                    "id": 19391,
                                                    "isConstant": false,
                                                    "isLValue": false,
                                                    "isPure": true,
                                                    "lValueRequested": false,
                                                    "memberName": "encodeWithSignature",
                                                    "nodeType": "MemberAccess",
                                                    "src": "50306:23:62",
                                                    "typeDescriptions": {
                                                        "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$",
                                                        "typeString": "function (string memory) pure returns (bytes memory)"
                                                    }
                                                },
                                                "id": 19397,
                                                "isConstant": false,
                                                "isLValue": false,
                                                "isPure": false,
                                                "kind": "functionCall",
                                                "lValueRequested": false,
                                                "names": [],
                                                "nodeType": "FunctionCall",
                                                "src": "50306:75:62",
                                                "tryCall": false,
                                                "typeDescriptions": {
                                                    "typeIdentifier": "t_bytes_memory_ptr",
                                                    "typeString": "bytes memory"
                                                }
                                            }
                                        ],
                                        "expression": {
                                            "argumentTypes": [
                                                {
                                                    "typeIdentifier": "t_bytes_memory_ptr",
                                                    "typeString": "bytes memory"
                                                }
                                            ],
                                            "id": 19389,
                                            "name": "_sendLogPayload",
                                            "nodeType": "Identifier",
                                            "overloadedDeclarations": [],
                                            "referencedDeclaration": 12880,
                                            "src": "50290:15:62",
                                            "typeDescriptions": {
                                                "typeIdentifier": "t_function_internal_view$_t_bytes_memory_ptr_$returns$__$",
                                                "typeString": "function (bytes memory) view"
                                            }
                                        },
                                        "id": 19398,
                                        "isConstant": false,
                                        "isLValue": false,
                                        "isPure": false,
                                        "kind": "functionCall",
                                        "lValueRequested": false,
                                        "names": [],
                                        "nodeType": "FunctionCall",
                                        "src": "50290:92:62",
                                        "tryCall": false,
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_tuple$__$",
                                            "typeString": "tuple()"
                                        }
                                    },
                                    "id": 19399,
                                    "nodeType": "ExpressionStatement",
                                    "src": "50290:92:62"
                                }
                            ]
                        },
                        "id": 19401,
                        "implemented": true,
                        "kind": "function",
                        "modifiers": [],
                        "name": "log",
                        "nameLocation": "50217:3:62",
                        "nodeType": "FunctionDefinition",
                        "parameters": {
                            "id": 19387,
                            "nodeType": "ParameterList",
                            "parameters": [
                                {
                                    "constant": false,
                                    "id": 19380,
                                    "mutability": "mutable",
                                    "name": "p0",
                                    "nameLocation": "50226:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 19401,
                                    "src": "50221:7:62",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_bool",
                                        "typeString": "bool"
                                    },
                                    "typeName": {
                                        "id": 19379,
                                        "name": "bool",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "50221:4:62",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_bool",
                                            "typeString": "bool"
                                        }
                                    },
                                    "visibility": "internal"
                                },
                                {
                                    "constant": false,
                                    "id": 19382,
                                    "mutability": "mutable",
                                    "name": "p1",
                                    "nameLocation": "50238:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 19401,
                                    "src": "50230:10:62",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_address",
                                        "typeString": "address"
                                    },
                                    "typeName": {
                                        "id": 19381,
                                        "name": "address",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "50230:7:62",
                                        "stateMutability": "nonpayable",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_address",
                                            "typeString": "address"
                                        }
                                    },
                                    "visibility": "internal"
                                },
                                {
                                    "constant": false,
                                    "id": 19384,
                                    "mutability": "mutable",
                                    "name": "p2",
                                    "nameLocation": "50250:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 19401,
                                    "src": "50242:10:62",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_address",
                                        "typeString": "address"
                                    },
                                    "typeName": {
                                        "id": 19383,
                                        "name": "address",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "50242:7:62",
                                        "stateMutability": "nonpayable",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_address",
                                            "typeString": "address"
                                        }
                                    },
                                    "visibility": "internal"
                                },
                                {
                                    "constant": false,
                                    "id": 19386,
                                    "mutability": "mutable",
                                    "name": "p3",
                                    "nameLocation": "50268:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 19401,
                                    "src": "50254:16:62",
                                    "stateVariable": false,
                                    "storageLocation": "memory",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_string_memory_ptr",
                                        "typeString": "string"
                                    },
                                    "typeName": {
                                        "id": 19385,
                                        "name": "string",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "50254:6:62",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_string_storage_ptr",
                                            "typeString": "string"
                                        }
                                    },
                                    "visibility": "internal"
                                }
                            ],
                            "src": "50220:51:62"
                        },
                        "returnParameters": {
                            "id": 19388,
                            "nodeType": "ParameterList",
                            "parameters": [],
                            "src": "50286:0:62"
                        },
                        "scope": 20920,
                        "src": "50208:178:62",
                        "stateMutability": "view",
                        "virtual": false,
                        "visibility": "internal"
                    },
                    {
                        "body": {
                            "id": 19423,
                            "nodeType": "Block",
                            "src": "50458:98:62",
                            "statements": [
                                {
                                    "expression": {
                                        "arguments": [
                                            {
                                                "arguments": [
                                                    {
                                                        "hexValue": "6c6f6728626f6f6c2c616464726573732c616464726573732c626f6f6c29",
                                                        "id": 19415,
                                                        "isConstant": false,
                                                        "isLValue": false,
                                                        "isPure": true,
                                                        "kind": "string",
                                                        "lValueRequested": false,
                                                        "nodeType": "Literal",
                                                        "src": "50502:32:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_stringliteral_46600be071bbf2a7e3a3cb4fd0e6efe39e86453e4c4a27c400470867be7afd9e",
                                                            "typeString": "literal_string \"log(bool,address,address,bool)\""
                                                        },
                                                        "value": "log(bool,address,address,bool)"
                                                    },
                                                    {
                                                        "id": 19416,
                                                        "name": "p0",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 19403,
                                                        "src": "50536:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_bool",
                                                            "typeString": "bool"
                                                        }
                                                    },
                                                    {
                                                        "id": 19417,
                                                        "name": "p1",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 19405,
                                                        "src": "50540:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_address",
                                                            "typeString": "address"
                                                        }
                                                    },
                                                    {
                                                        "id": 19418,
                                                        "name": "p2",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 19407,
                                                        "src": "50544:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_address",
                                                            "typeString": "address"
                                                        }
                                                    },
                                                    {
                                                        "id": 19419,
                                                        "name": "p3",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 19409,
                                                        "src": "50548:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_bool",
                                                            "typeString": "bool"
                                                        }
                                                    }
                                                ],
                                                "expression": {
                                                    "argumentTypes": [
                                                        {
                                                            "typeIdentifier": "t_stringliteral_46600be071bbf2a7e3a3cb4fd0e6efe39e86453e4c4a27c400470867be7afd9e",
                                                            "typeString": "literal_string \"log(bool,address,address,bool)\""
                                                        },
                                                        {
                                                            "typeIdentifier": "t_bool",
                                                            "typeString": "bool"
                                                        },
                                                        {
                                                            "typeIdentifier": "t_address",
                                                            "typeString": "address"
                                                        },
                                                        {
                                                            "typeIdentifier": "t_address",
                                                            "typeString": "address"
                                                        },
                                                        {
                                                            "typeIdentifier": "t_bool",
                                                            "typeString": "bool"
                                                        }
                                                    ],
                                                    "expression": {
                                                        "id": 19413,
                                                        "name": "abi",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 4294967295,
                                                        "src": "50478:3:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_magic_abi",
                                                            "typeString": "abi"
                                                        }
                                                    },
                                                    "id": 19414,
                                                    "isConstant": false,
                                                    "isLValue": false,
                                                    "isPure": true,
                                                    "lValueRequested": false,
                                                    "memberName": "encodeWithSignature",
                                                    "nodeType": "MemberAccess",
                                                    "src": "50478:23:62",
                                                    "typeDescriptions": {
                                                        "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$",
                                                        "typeString": "function (string memory) pure returns (bytes memory)"
                                                    }
                                                },
                                                "id": 19420,
                                                "isConstant": false,
                                                "isLValue": false,
                                                "isPure": false,
                                                "kind": "functionCall",
                                                "lValueRequested": false,
                                                "names": [],
                                                "nodeType": "FunctionCall",
                                                "src": "50478:73:62",
                                                "tryCall": false,
                                                "typeDescriptions": {
                                                    "typeIdentifier": "t_bytes_memory_ptr",
                                                    "typeString": "bytes memory"
                                                }
                                            }
                                        ],
                                        "expression": {
                                            "argumentTypes": [
                                                {
                                                    "typeIdentifier": "t_bytes_memory_ptr",
                                                    "typeString": "bytes memory"
                                                }
                                            ],
                                            "id": 19412,
                                            "name": "_sendLogPayload",
                                            "nodeType": "Identifier",
                                            "overloadedDeclarations": [],
                                            "referencedDeclaration": 12880,
                                            "src": "50462:15:62",
                                            "typeDescriptions": {
                                                "typeIdentifier": "t_function_internal_view$_t_bytes_memory_ptr_$returns$__$",
                                                "typeString": "function (bytes memory) view"
                                            }
                                        },
                                        "id": 19421,
                                        "isConstant": false,
                                        "isLValue": false,
                                        "isPure": false,
                                        "kind": "functionCall",
                                        "lValueRequested": false,
                                        "names": [],
                                        "nodeType": "FunctionCall",
                                        "src": "50462:90:62",
                                        "tryCall": false,
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_tuple$__$",
                                            "typeString": "tuple()"
                                        }
                                    },
                                    "id": 19422,
                                    "nodeType": "ExpressionStatement",
                                    "src": "50462:90:62"
                                }
                            ]
                        },
                        "id": 19424,
                        "implemented": true,
                        "kind": "function",
                        "modifiers": [],
                        "name": "log",
                        "nameLocation": "50398:3:62",
                        "nodeType": "FunctionDefinition",
                        "parameters": {
                            "id": 19410,
                            "nodeType": "ParameterList",
                            "parameters": [
                                {
                                    "constant": false,
                                    "id": 19403,
                                    "mutability": "mutable",
                                    "name": "p0",
                                    "nameLocation": "50407:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 19424,
                                    "src": "50402:7:62",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_bool",
                                        "typeString": "bool"
                                    },
                                    "typeName": {
                                        "id": 19402,
                                        "name": "bool",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "50402:4:62",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_bool",
                                            "typeString": "bool"
                                        }
                                    },
                                    "visibility": "internal"
                                },
                                {
                                    "constant": false,
                                    "id": 19405,
                                    "mutability": "mutable",
                                    "name": "p1",
                                    "nameLocation": "50419:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 19424,
                                    "src": "50411:10:62",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_address",
                                        "typeString": "address"
                                    },
                                    "typeName": {
                                        "id": 19404,
                                        "name": "address",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "50411:7:62",
                                        "stateMutability": "nonpayable",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_address",
                                            "typeString": "address"
                                        }
                                    },
                                    "visibility": "internal"
                                },
                                {
                                    "constant": false,
                                    "id": 19407,
                                    "mutability": "mutable",
                                    "name": "p2",
                                    "nameLocation": "50431:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 19424,
                                    "src": "50423:10:62",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_address",
                                        "typeString": "address"
                                    },
                                    "typeName": {
                                        "id": 19406,
                                        "name": "address",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "50423:7:62",
                                        "stateMutability": "nonpayable",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_address",
                                            "typeString": "address"
                                        }
                                    },
                                    "visibility": "internal"
                                },
                                {
                                    "constant": false,
                                    "id": 19409,
                                    "mutability": "mutable",
                                    "name": "p3",
                                    "nameLocation": "50440:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 19424,
                                    "src": "50435:7:62",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_bool",
                                        "typeString": "bool"
                                    },
                                    "typeName": {
                                        "id": 19408,
                                        "name": "bool",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "50435:4:62",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_bool",
                                            "typeString": "bool"
                                        }
                                    },
                                    "visibility": "internal"
                                }
                            ],
                            "src": "50401:42:62"
                        },
                        "returnParameters": {
                            "id": 19411,
                            "nodeType": "ParameterList",
                            "parameters": [],
                            "src": "50458:0:62"
                        },
                        "scope": 20920,
                        "src": "50389:167:62",
                        "stateMutability": "view",
                        "virtual": false,
                        "visibility": "internal"
                    },
                    {
                        "body": {
                            "id": 19446,
                            "nodeType": "Block",
                            "src": "50631:101:62",
                            "statements": [
                                {
                                    "expression": {
                                        "arguments": [
                                            {
                                                "arguments": [
                                                    {
                                                        "hexValue": "6c6f6728626f6f6c2c616464726573732c616464726573732c6164647265737329",
                                                        "id": 19438,
                                                        "isConstant": false,
                                                        "isLValue": false,
                                                        "isPure": true,
                                                        "kind": "string",
                                                        "lValueRequested": false,
                                                        "nodeType": "Literal",
                                                        "src": "50675:35:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_stringliteral_1d14d00189540d88098b9fe614aa8c0efbe231c1a0fee05e7d705c0342377123",
                                                            "typeString": "literal_string \"log(bool,address,address,address)\""
                                                        },
                                                        "value": "log(bool,address,address,address)"
                                                    },
                                                    {
                                                        "id": 19439,
                                                        "name": "p0",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 19426,
                                                        "src": "50712:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_bool",
                                                            "typeString": "bool"
                                                        }
                                                    },
                                                    {
                                                        "id": 19440,
                                                        "name": "p1",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 19428,
                                                        "src": "50716:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_address",
                                                            "typeString": "address"
                                                        }
                                                    },
                                                    {
                                                        "id": 19441,
                                                        "name": "p2",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 19430,
                                                        "src": "50720:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_address",
                                                            "typeString": "address"
                                                        }
                                                    },
                                                    {
                                                        "id": 19442,
                                                        "name": "p3",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 19432,
                                                        "src": "50724:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_address",
                                                            "typeString": "address"
                                                        }
                                                    }
                                                ],
                                                "expression": {
                                                    "argumentTypes": [
                                                        {
                                                            "typeIdentifier": "t_stringliteral_1d14d00189540d88098b9fe614aa8c0efbe231c1a0fee05e7d705c0342377123",
                                                            "typeString": "literal_string \"log(bool,address,address,address)\""
                                                        },
                                                        {
                                                            "typeIdentifier": "t_bool",
                                                            "typeString": "bool"
                                                        },
                                                        {
                                                            "typeIdentifier": "t_address",
                                                            "typeString": "address"
                                                        },
                                                        {
                                                            "typeIdentifier": "t_address",
                                                            "typeString": "address"
                                                        },
                                                        {
                                                            "typeIdentifier": "t_address",
                                                            "typeString": "address"
                                                        }
                                                    ],
                                                    "expression": {
                                                        "id": 19436,
                                                        "name": "abi",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 4294967295,
                                                        "src": "50651:3:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_magic_abi",
                                                            "typeString": "abi"
                                                        }
                                                    },
                                                    "id": 19437,
                                                    "isConstant": false,
                                                    "isLValue": false,
                                                    "isPure": true,
                                                    "lValueRequested": false,
                                                    "memberName": "encodeWithSignature",
                                                    "nodeType": "MemberAccess",
                                                    "src": "50651:23:62",
                                                    "typeDescriptions": {
                                                        "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$",
                                                        "typeString": "function (string memory) pure returns (bytes memory)"
                                                    }
                                                },
                                                "id": 19443,
                                                "isConstant": false,
                                                "isLValue": false,
                                                "isPure": false,
                                                "kind": "functionCall",
                                                "lValueRequested": false,
                                                "names": [],
                                                "nodeType": "FunctionCall",
                                                "src": "50651:76:62",
                                                "tryCall": false,
                                                "typeDescriptions": {
                                                    "typeIdentifier": "t_bytes_memory_ptr",
                                                    "typeString": "bytes memory"
                                                }
                                            }
                                        ],
                                        "expression": {
                                            "argumentTypes": [
                                                {
                                                    "typeIdentifier": "t_bytes_memory_ptr",
                                                    "typeString": "bytes memory"
                                                }
                                            ],
                                            "id": 19435,
                                            "name": "_sendLogPayload",
                                            "nodeType": "Identifier",
                                            "overloadedDeclarations": [],
                                            "referencedDeclaration": 12880,
                                            "src": "50635:15:62",
                                            "typeDescriptions": {
                                                "typeIdentifier": "t_function_internal_view$_t_bytes_memory_ptr_$returns$__$",
                                                "typeString": "function (bytes memory) view"
                                            }
                                        },
                                        "id": 19444,
                                        "isConstant": false,
                                        "isLValue": false,
                                        "isPure": false,
                                        "kind": "functionCall",
                                        "lValueRequested": false,
                                        "names": [],
                                        "nodeType": "FunctionCall",
                                        "src": "50635:93:62",
                                        "tryCall": false,
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_tuple$__$",
                                            "typeString": "tuple()"
                                        }
                                    },
                                    "id": 19445,
                                    "nodeType": "ExpressionStatement",
                                    "src": "50635:93:62"
                                }
                            ]
                        },
                        "id": 19447,
                        "implemented": true,
                        "kind": "function",
                        "modifiers": [],
                        "name": "log",
                        "nameLocation": "50568:3:62",
                        "nodeType": "FunctionDefinition",
                        "parameters": {
                            "id": 19433,
                            "nodeType": "ParameterList",
                            "parameters": [
                                {
                                    "constant": false,
                                    "id": 19426,
                                    "mutability": "mutable",
                                    "name": "p0",
                                    "nameLocation": "50577:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 19447,
                                    "src": "50572:7:62",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_bool",
                                        "typeString": "bool"
                                    },
                                    "typeName": {
                                        "id": 19425,
                                        "name": "bool",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "50572:4:62",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_bool",
                                            "typeString": "bool"
                                        }
                                    },
                                    "visibility": "internal"
                                },
                                {
                                    "constant": false,
                                    "id": 19428,
                                    "mutability": "mutable",
                                    "name": "p1",
                                    "nameLocation": "50589:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 19447,
                                    "src": "50581:10:62",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_address",
                                        "typeString": "address"
                                    },
                                    "typeName": {
                                        "id": 19427,
                                        "name": "address",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "50581:7:62",
                                        "stateMutability": "nonpayable",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_address",
                                            "typeString": "address"
                                        }
                                    },
                                    "visibility": "internal"
                                },
                                {
                                    "constant": false,
                                    "id": 19430,
                                    "mutability": "mutable",
                                    "name": "p2",
                                    "nameLocation": "50601:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 19447,
                                    "src": "50593:10:62",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_address",
                                        "typeString": "address"
                                    },
                                    "typeName": {
                                        "id": 19429,
                                        "name": "address",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "50593:7:62",
                                        "stateMutability": "nonpayable",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_address",
                                            "typeString": "address"
                                        }
                                    },
                                    "visibility": "internal"
                                },
                                {
                                    "constant": false,
                                    "id": 19432,
                                    "mutability": "mutable",
                                    "name": "p3",
                                    "nameLocation": "50613:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 19447,
                                    "src": "50605:10:62",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_address",
                                        "typeString": "address"
                                    },
                                    "typeName": {
                                        "id": 19431,
                                        "name": "address",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "50605:7:62",
                                        "stateMutability": "nonpayable",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_address",
                                            "typeString": "address"
                                        }
                                    },
                                    "visibility": "internal"
                                }
                            ],
                            "src": "50571:45:62"
                        },
                        "returnParameters": {
                            "id": 19434,
                            "nodeType": "ParameterList",
                            "parameters": [],
                            "src": "50631:0:62"
                        },
                        "scope": 20920,
                        "src": "50559:173:62",
                        "stateMutability": "view",
                        "virtual": false,
                        "visibility": "internal"
                    },
                    {
                        "body": {
                            "id": 19469,
                            "nodeType": "Block",
                            "src": "50801:95:62",
                            "statements": [
                                {
                                    "expression": {
                                        "arguments": [
                                            {
                                                "arguments": [
                                                    {
                                                        "hexValue": "6c6f6728616464726573732c75696e742c75696e742c75696e7429",
                                                        "id": 19461,
                                                        "isConstant": false,
                                                        "isLValue": false,
                                                        "isPure": true,
                                                        "kind": "string",
                                                        "lValueRequested": false,
                                                        "nodeType": "Literal",
                                                        "src": "50845:29:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_stringliteral_3d0e9de46a80fe11d0044e9599dfddd0e8b842cabe189638f7090f19867918c1",
                                                            "typeString": "literal_string \"log(address,uint,uint,uint)\""
                                                        },
                                                        "value": "log(address,uint,uint,uint)"
                                                    },
                                                    {
                                                        "id": 19462,
                                                        "name": "p0",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 19449,
                                                        "src": "50876:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_address",
                                                            "typeString": "address"
                                                        }
                                                    },
                                                    {
                                                        "id": 19463,
                                                        "name": "p1",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 19451,
                                                        "src": "50880:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_uint256",
                                                            "typeString": "uint256"
                                                        }
                                                    },
                                                    {
                                                        "id": 19464,
                                                        "name": "p2",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 19453,
                                                        "src": "50884:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_uint256",
                                                            "typeString": "uint256"
                                                        }
                                                    },
                                                    {
                                                        "id": 19465,
                                                        "name": "p3",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 19455,
                                                        "src": "50888:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_uint256",
                                                            "typeString": "uint256"
                                                        }
                                                    }
                                                ],
                                                "expression": {
                                                    "argumentTypes": [
                                                        {
                                                            "typeIdentifier": "t_stringliteral_3d0e9de46a80fe11d0044e9599dfddd0e8b842cabe189638f7090f19867918c1",
                                                            "typeString": "literal_string \"log(address,uint,uint,uint)\""
                                                        },
                                                        {
                                                            "typeIdentifier": "t_address",
                                                            "typeString": "address"
                                                        },
                                                        {
                                                            "typeIdentifier": "t_uint256",
                                                            "typeString": "uint256"
                                                        },
                                                        {
                                                            "typeIdentifier": "t_uint256",
                                                            "typeString": "uint256"
                                                        },
                                                        {
                                                            "typeIdentifier": "t_uint256",
                                                            "typeString": "uint256"
                                                        }
                                                    ],
                                                    "expression": {
                                                        "id": 19459,
                                                        "name": "abi",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 4294967295,
                                                        "src": "50821:3:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_magic_abi",
                                                            "typeString": "abi"
                                                        }
                                                    },
                                                    "id": 19460,
                                                    "isConstant": false,
                                                    "isLValue": false,
                                                    "isPure": true,
                                                    "lValueRequested": false,
                                                    "memberName": "encodeWithSignature",
                                                    "nodeType": "MemberAccess",
                                                    "src": "50821:23:62",
                                                    "typeDescriptions": {
                                                        "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$",
                                                        "typeString": "function (string memory) pure returns (bytes memory)"
                                                    }
                                                },
                                                "id": 19466,
                                                "isConstant": false,
                                                "isLValue": false,
                                                "isPure": false,
                                                "kind": "functionCall",
                                                "lValueRequested": false,
                                                "names": [],
                                                "nodeType": "FunctionCall",
                                                "src": "50821:70:62",
                                                "tryCall": false,
                                                "typeDescriptions": {
                                                    "typeIdentifier": "t_bytes_memory_ptr",
                                                    "typeString": "bytes memory"
                                                }
                                            }
                                        ],
                                        "expression": {
                                            "argumentTypes": [
                                                {
                                                    "typeIdentifier": "t_bytes_memory_ptr",
                                                    "typeString": "bytes memory"
                                                }
                                            ],
                                            "id": 19458,
                                            "name": "_sendLogPayload",
                                            "nodeType": "Identifier",
                                            "overloadedDeclarations": [],
                                            "referencedDeclaration": 12880,
                                            "src": "50805:15:62",
                                            "typeDescriptions": {
                                                "typeIdentifier": "t_function_internal_view$_t_bytes_memory_ptr_$returns$__$",
                                                "typeString": "function (bytes memory) view"
                                            }
                                        },
                                        "id": 19467,
                                        "isConstant": false,
                                        "isLValue": false,
                                        "isPure": false,
                                        "kind": "functionCall",
                                        "lValueRequested": false,
                                        "names": [],
                                        "nodeType": "FunctionCall",
                                        "src": "50805:87:62",
                                        "tryCall": false,
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_tuple$__$",
                                            "typeString": "tuple()"
                                        }
                                    },
                                    "id": 19468,
                                    "nodeType": "ExpressionStatement",
                                    "src": "50805:87:62"
                                }
                            ]
                        },
                        "id": 19470,
                        "implemented": true,
                        "kind": "function",
                        "modifiers": [],
                        "name": "log",
                        "nameLocation": "50744:3:62",
                        "nodeType": "FunctionDefinition",
                        "parameters": {
                            "id": 19456,
                            "nodeType": "ParameterList",
                            "parameters": [
                                {
                                    "constant": false,
                                    "id": 19449,
                                    "mutability": "mutable",
                                    "name": "p0",
                                    "nameLocation": "50756:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 19470,
                                    "src": "50748:10:62",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_address",
                                        "typeString": "address"
                                    },
                                    "typeName": {
                                        "id": 19448,
                                        "name": "address",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "50748:7:62",
                                        "stateMutability": "nonpayable",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_address",
                                            "typeString": "address"
                                        }
                                    },
                                    "visibility": "internal"
                                },
                                {
                                    "constant": false,
                                    "id": 19451,
                                    "mutability": "mutable",
                                    "name": "p1",
                                    "nameLocation": "50765:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 19470,
                                    "src": "50760:7:62",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_uint256",
                                        "typeString": "uint256"
                                    },
                                    "typeName": {
                                        "id": 19450,
                                        "name": "uint",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "50760:4:62",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_uint256",
                                            "typeString": "uint256"
                                        }
                                    },
                                    "visibility": "internal"
                                },
                                {
                                    "constant": false,
                                    "id": 19453,
                                    "mutability": "mutable",
                                    "name": "p2",
                                    "nameLocation": "50774:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 19470,
                                    "src": "50769:7:62",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_uint256",
                                        "typeString": "uint256"
                                    },
                                    "typeName": {
                                        "id": 19452,
                                        "name": "uint",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "50769:4:62",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_uint256",
                                            "typeString": "uint256"
                                        }
                                    },
                                    "visibility": "internal"
                                },
                                {
                                    "constant": false,
                                    "id": 19455,
                                    "mutability": "mutable",
                                    "name": "p3",
                                    "nameLocation": "50783:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 19470,
                                    "src": "50778:7:62",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_uint256",
                                        "typeString": "uint256"
                                    },
                                    "typeName": {
                                        "id": 19454,
                                        "name": "uint",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "50778:4:62",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_uint256",
                                            "typeString": "uint256"
                                        }
                                    },
                                    "visibility": "internal"
                                }
                            ],
                            "src": "50747:39:62"
                        },
                        "returnParameters": {
                            "id": 19457,
                            "nodeType": "ParameterList",
                            "parameters": [],
                            "src": "50801:0:62"
                        },
                        "scope": 20920,
                        "src": "50735:161:62",
                        "stateMutability": "view",
                        "virtual": false,
                        "visibility": "internal"
                    },
                    {
                        "body": {
                            "id": 19492,
                            "nodeType": "Block",
                            "src": "50974:97:62",
                            "statements": [
                                {
                                    "expression": {
                                        "arguments": [
                                            {
                                                "arguments": [
                                                    {
                                                        "hexValue": "6c6f6728616464726573732c75696e742c75696e742c737472696e6729",
                                                        "id": 19484,
                                                        "isConstant": false,
                                                        "isLValue": false,
                                                        "isPure": true,
                                                        "kind": "string",
                                                        "lValueRequested": false,
                                                        "nodeType": "Literal",
                                                        "src": "51018:31:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_stringliteral_89340dab4d23e956541beb32775ccfee8376ba263886dd811a646420a3a403a3",
                                                            "typeString": "literal_string \"log(address,uint,uint,string)\""
                                                        },
                                                        "value": "log(address,uint,uint,string)"
                                                    },
                                                    {
                                                        "id": 19485,
                                                        "name": "p0",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 19472,
                                                        "src": "51051:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_address",
                                                            "typeString": "address"
                                                        }
                                                    },
                                                    {
                                                        "id": 19486,
                                                        "name": "p1",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 19474,
                                                        "src": "51055:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_uint256",
                                                            "typeString": "uint256"
                                                        }
                                                    },
                                                    {
                                                        "id": 19487,
                                                        "name": "p2",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 19476,
                                                        "src": "51059:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_uint256",
                                                            "typeString": "uint256"
                                                        }
                                                    },
                                                    {
                                                        "id": 19488,
                                                        "name": "p3",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 19478,
                                                        "src": "51063:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_string_memory_ptr",
                                                            "typeString": "string memory"
                                                        }
                                                    }
                                                ],
                                                "expression": {
                                                    "argumentTypes": [
                                                        {
                                                            "typeIdentifier": "t_stringliteral_89340dab4d23e956541beb32775ccfee8376ba263886dd811a646420a3a403a3",
                                                            "typeString": "literal_string \"log(address,uint,uint,string)\""
                                                        },
                                                        {
                                                            "typeIdentifier": "t_address",
                                                            "typeString": "address"
                                                        },
                                                        {
                                                            "typeIdentifier": "t_uint256",
                                                            "typeString": "uint256"
                                                        },
                                                        {
                                                            "typeIdentifier": "t_uint256",
                                                            "typeString": "uint256"
                                                        },
                                                        {
                                                            "typeIdentifier": "t_string_memory_ptr",
                                                            "typeString": "string memory"
                                                        }
                                                    ],
                                                    "expression": {
                                                        "id": 19482,
                                                        "name": "abi",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 4294967295,
                                                        "src": "50994:3:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_magic_abi",
                                                            "typeString": "abi"
                                                        }
                                                    },
                                                    "id": 19483,
                                                    "isConstant": false,
                                                    "isLValue": false,
                                                    "isPure": true,
                                                    "lValueRequested": false,
                                                    "memberName": "encodeWithSignature",
                                                    "nodeType": "MemberAccess",
                                                    "src": "50994:23:62",
                                                    "typeDescriptions": {
                                                        "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$",
                                                        "typeString": "function (string memory) pure returns (bytes memory)"
                                                    }
                                                },
                                                "id": 19489,
                                                "isConstant": false,
                                                "isLValue": false,
                                                "isPure": false,
                                                "kind": "functionCall",
                                                "lValueRequested": false,
                                                "names": [],
                                                "nodeType": "FunctionCall",
                                                "src": "50994:72:62",
                                                "tryCall": false,
                                                "typeDescriptions": {
                                                    "typeIdentifier": "t_bytes_memory_ptr",
                                                    "typeString": "bytes memory"
                                                }
                                            }
                                        ],
                                        "expression": {
                                            "argumentTypes": [
                                                {
                                                    "typeIdentifier": "t_bytes_memory_ptr",
                                                    "typeString": "bytes memory"
                                                }
                                            ],
                                            "id": 19481,
                                            "name": "_sendLogPayload",
                                            "nodeType": "Identifier",
                                            "overloadedDeclarations": [],
                                            "referencedDeclaration": 12880,
                                            "src": "50978:15:62",
                                            "typeDescriptions": {
                                                "typeIdentifier": "t_function_internal_view$_t_bytes_memory_ptr_$returns$__$",
                                                "typeString": "function (bytes memory) view"
                                            }
                                        },
                                        "id": 19490,
                                        "isConstant": false,
                                        "isLValue": false,
                                        "isPure": false,
                                        "kind": "functionCall",
                                        "lValueRequested": false,
                                        "names": [],
                                        "nodeType": "FunctionCall",
                                        "src": "50978:89:62",
                                        "tryCall": false,
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_tuple$__$",
                                            "typeString": "tuple()"
                                        }
                                    },
                                    "id": 19491,
                                    "nodeType": "ExpressionStatement",
                                    "src": "50978:89:62"
                                }
                            ]
                        },
                        "id": 19493,
                        "implemented": true,
                        "kind": "function",
                        "modifiers": [],
                        "name": "log",
                        "nameLocation": "50908:3:62",
                        "nodeType": "FunctionDefinition",
                        "parameters": {
                            "id": 19479,
                            "nodeType": "ParameterList",
                            "parameters": [
                                {
                                    "constant": false,
                                    "id": 19472,
                                    "mutability": "mutable",
                                    "name": "p0",
                                    "nameLocation": "50920:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 19493,
                                    "src": "50912:10:62",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_address",
                                        "typeString": "address"
                                    },
                                    "typeName": {
                                        "id": 19471,
                                        "name": "address",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "50912:7:62",
                                        "stateMutability": "nonpayable",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_address",
                                            "typeString": "address"
                                        }
                                    },
                                    "visibility": "internal"
                                },
                                {
                                    "constant": false,
                                    "id": 19474,
                                    "mutability": "mutable",
                                    "name": "p1",
                                    "nameLocation": "50929:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 19493,
                                    "src": "50924:7:62",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_uint256",
                                        "typeString": "uint256"
                                    },
                                    "typeName": {
                                        "id": 19473,
                                        "name": "uint",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "50924:4:62",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_uint256",
                                            "typeString": "uint256"
                                        }
                                    },
                                    "visibility": "internal"
                                },
                                {
                                    "constant": false,
                                    "id": 19476,
                                    "mutability": "mutable",
                                    "name": "p2",
                                    "nameLocation": "50938:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 19493,
                                    "src": "50933:7:62",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_uint256",
                                        "typeString": "uint256"
                                    },
                                    "typeName": {
                                        "id": 19475,
                                        "name": "uint",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "50933:4:62",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_uint256",
                                            "typeString": "uint256"
                                        }
                                    },
                                    "visibility": "internal"
                                },
                                {
                                    "constant": false,
                                    "id": 19478,
                                    "mutability": "mutable",
                                    "name": "p3",
                                    "nameLocation": "50956:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 19493,
                                    "src": "50942:16:62",
                                    "stateVariable": false,
                                    "storageLocation": "memory",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_string_memory_ptr",
                                        "typeString": "string"
                                    },
                                    "typeName": {
                                        "id": 19477,
                                        "name": "string",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "50942:6:62",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_string_storage_ptr",
                                            "typeString": "string"
                                        }
                                    },
                                    "visibility": "internal"
                                }
                            ],
                            "src": "50911:48:62"
                        },
                        "returnParameters": {
                            "id": 19480,
                            "nodeType": "ParameterList",
                            "parameters": [],
                            "src": "50974:0:62"
                        },
                        "scope": 20920,
                        "src": "50899:172:62",
                        "stateMutability": "view",
                        "virtual": false,
                        "visibility": "internal"
                    },
                    {
                        "body": {
                            "id": 19515,
                            "nodeType": "Block",
                            "src": "51140:95:62",
                            "statements": [
                                {
                                    "expression": {
                                        "arguments": [
                                            {
                                                "arguments": [
                                                    {
                                                        "hexValue": "6c6f6728616464726573732c75696e742c75696e742c626f6f6c29",
                                                        "id": 19507,
                                                        "isConstant": false,
                                                        "isLValue": false,
                                                        "isPure": true,
                                                        "kind": "string",
                                                        "lValueRequested": false,
                                                        "nodeType": "Literal",
                                                        "src": "51184:29:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_stringliteral_ec4ba8a24543362f628480c68bc2d6749e97ab33d46530db336a528c77e48393",
                                                            "typeString": "literal_string \"log(address,uint,uint,bool)\""
                                                        },
                                                        "value": "log(address,uint,uint,bool)"
                                                    },
                                                    {
                                                        "id": 19508,
                                                        "name": "p0",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 19495,
                                                        "src": "51215:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_address",
                                                            "typeString": "address"
                                                        }
                                                    },
                                                    {
                                                        "id": 19509,
                                                        "name": "p1",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 19497,
                                                        "src": "51219:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_uint256",
                                                            "typeString": "uint256"
                                                        }
                                                    },
                                                    {
                                                        "id": 19510,
                                                        "name": "p2",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 19499,
                                                        "src": "51223:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_uint256",
                                                            "typeString": "uint256"
                                                        }
                                                    },
                                                    {
                                                        "id": 19511,
                                                        "name": "p3",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 19501,
                                                        "src": "51227:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_bool",
                                                            "typeString": "bool"
                                                        }
                                                    }
                                                ],
                                                "expression": {
                                                    "argumentTypes": [
                                                        {
                                                            "typeIdentifier": "t_stringliteral_ec4ba8a24543362f628480c68bc2d6749e97ab33d46530db336a528c77e48393",
                                                            "typeString": "literal_string \"log(address,uint,uint,bool)\""
                                                        },
                                                        {
                                                            "typeIdentifier": "t_address",
                                                            "typeString": "address"
                                                        },
                                                        {
                                                            "typeIdentifier": "t_uint256",
                                                            "typeString": "uint256"
                                                        },
                                                        {
                                                            "typeIdentifier": "t_uint256",
                                                            "typeString": "uint256"
                                                        },
                                                        {
                                                            "typeIdentifier": "t_bool",
                                                            "typeString": "bool"
                                                        }
                                                    ],
                                                    "expression": {
                                                        "id": 19505,
                                                        "name": "abi",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 4294967295,
                                                        "src": "51160:3:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_magic_abi",
                                                            "typeString": "abi"
                                                        }
                                                    },
                                                    "id": 19506,
                                                    "isConstant": false,
                                                    "isLValue": false,
                                                    "isPure": true,
                                                    "lValueRequested": false,
                                                    "memberName": "encodeWithSignature",
                                                    "nodeType": "MemberAccess",
                                                    "src": "51160:23:62",
                                                    "typeDescriptions": {
                                                        "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$",
                                                        "typeString": "function (string memory) pure returns (bytes memory)"
                                                    }
                                                },
                                                "id": 19512,
                                                "isConstant": false,
                                                "isLValue": false,
                                                "isPure": false,
                                                "kind": "functionCall",
                                                "lValueRequested": false,
                                                "names": [],
                                                "nodeType": "FunctionCall",
                                                "src": "51160:70:62",
                                                "tryCall": false,
                                                "typeDescriptions": {
                                                    "typeIdentifier": "t_bytes_memory_ptr",
                                                    "typeString": "bytes memory"
                                                }
                                            }
                                        ],
                                        "expression": {
                                            "argumentTypes": [
                                                {
                                                    "typeIdentifier": "t_bytes_memory_ptr",
                                                    "typeString": "bytes memory"
                                                }
                                            ],
                                            "id": 19504,
                                            "name": "_sendLogPayload",
                                            "nodeType": "Identifier",
                                            "overloadedDeclarations": [],
                                            "referencedDeclaration": 12880,
                                            "src": "51144:15:62",
                                            "typeDescriptions": {
                                                "typeIdentifier": "t_function_internal_view$_t_bytes_memory_ptr_$returns$__$",
                                                "typeString": "function (bytes memory) view"
                                            }
                                        },
                                        "id": 19513,
                                        "isConstant": false,
                                        "isLValue": false,
                                        "isPure": false,
                                        "kind": "functionCall",
                                        "lValueRequested": false,
                                        "names": [],
                                        "nodeType": "FunctionCall",
                                        "src": "51144:87:62",
                                        "tryCall": false,
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_tuple$__$",
                                            "typeString": "tuple()"
                                        }
                                    },
                                    "id": 19514,
                                    "nodeType": "ExpressionStatement",
                                    "src": "51144:87:62"
                                }
                            ]
                        },
                        "id": 19516,
                        "implemented": true,
                        "kind": "function",
                        "modifiers": [],
                        "name": "log",
                        "nameLocation": "51083:3:62",
                        "nodeType": "FunctionDefinition",
                        "parameters": {
                            "id": 19502,
                            "nodeType": "ParameterList",
                            "parameters": [
                                {
                                    "constant": false,
                                    "id": 19495,
                                    "mutability": "mutable",
                                    "name": "p0",
                                    "nameLocation": "51095:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 19516,
                                    "src": "51087:10:62",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_address",
                                        "typeString": "address"
                                    },
                                    "typeName": {
                                        "id": 19494,
                                        "name": "address",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "51087:7:62",
                                        "stateMutability": "nonpayable",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_address",
                                            "typeString": "address"
                                        }
                                    },
                                    "visibility": "internal"
                                },
                                {
                                    "constant": false,
                                    "id": 19497,
                                    "mutability": "mutable",
                                    "name": "p1",
                                    "nameLocation": "51104:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 19516,
                                    "src": "51099:7:62",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_uint256",
                                        "typeString": "uint256"
                                    },
                                    "typeName": {
                                        "id": 19496,
                                        "name": "uint",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "51099:4:62",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_uint256",
                                            "typeString": "uint256"
                                        }
                                    },
                                    "visibility": "internal"
                                },
                                {
                                    "constant": false,
                                    "id": 19499,
                                    "mutability": "mutable",
                                    "name": "p2",
                                    "nameLocation": "51113:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 19516,
                                    "src": "51108:7:62",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_uint256",
                                        "typeString": "uint256"
                                    },
                                    "typeName": {
                                        "id": 19498,
                                        "name": "uint",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "51108:4:62",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_uint256",
                                            "typeString": "uint256"
                                        }
                                    },
                                    "visibility": "internal"
                                },
                                {
                                    "constant": false,
                                    "id": 19501,
                                    "mutability": "mutable",
                                    "name": "p3",
                                    "nameLocation": "51122:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 19516,
                                    "src": "51117:7:62",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_bool",
                                        "typeString": "bool"
                                    },
                                    "typeName": {
                                        "id": 19500,
                                        "name": "bool",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "51117:4:62",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_bool",
                                            "typeString": "bool"
                                        }
                                    },
                                    "visibility": "internal"
                                }
                            ],
                            "src": "51086:39:62"
                        },
                        "returnParameters": {
                            "id": 19503,
                            "nodeType": "ParameterList",
                            "parameters": [],
                            "src": "51140:0:62"
                        },
                        "scope": 20920,
                        "src": "51074:161:62",
                        "stateMutability": "view",
                        "virtual": false,
                        "visibility": "internal"
                    },
                    {
                        "body": {
                            "id": 19538,
                            "nodeType": "Block",
                            "src": "51307:98:62",
                            "statements": [
                                {
                                    "expression": {
                                        "arguments": [
                                            {
                                                "arguments": [
                                                    {
                                                        "hexValue": "6c6f6728616464726573732c75696e742c75696e742c6164647265737329",
                                                        "id": 19530,
                                                        "isConstant": false,
                                                        "isLValue": false,
                                                        "isPure": true,
                                                        "kind": "string",
                                                        "lValueRequested": false,
                                                        "nodeType": "Literal",
                                                        "src": "51351:32:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_stringliteral_1ef634347c2e4a2aa1a4e4e13d33bf0169f02bc4d10ff6168ca604cf3134d957",
                                                            "typeString": "literal_string \"log(address,uint,uint,address)\""
                                                        },
                                                        "value": "log(address,uint,uint,address)"
                                                    },
                                                    {
                                                        "id": 19531,
                                                        "name": "p0",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 19518,
                                                        "src": "51385:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_address",
                                                            "typeString": "address"
                                                        }
                                                    },
                                                    {
                                                        "id": 19532,
                                                        "name": "p1",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 19520,
                                                        "src": "51389:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_uint256",
                                                            "typeString": "uint256"
                                                        }
                                                    },
                                                    {
                                                        "id": 19533,
                                                        "name": "p2",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 19522,
                                                        "src": "51393:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_uint256",
                                                            "typeString": "uint256"
                                                        }
                                                    },
                                                    {
                                                        "id": 19534,
                                                        "name": "p3",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 19524,
                                                        "src": "51397:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_address",
                                                            "typeString": "address"
                                                        }
                                                    }
                                                ],
                                                "expression": {
                                                    "argumentTypes": [
                                                        {
                                                            "typeIdentifier": "t_stringliteral_1ef634347c2e4a2aa1a4e4e13d33bf0169f02bc4d10ff6168ca604cf3134d957",
                                                            "typeString": "literal_string \"log(address,uint,uint,address)\""
                                                        },
                                                        {
                                                            "typeIdentifier": "t_address",
                                                            "typeString": "address"
                                                        },
                                                        {
                                                            "typeIdentifier": "t_uint256",
                                                            "typeString": "uint256"
                                                        },
                                                        {
                                                            "typeIdentifier": "t_uint256",
                                                            "typeString": "uint256"
                                                        },
                                                        {
                                                            "typeIdentifier": "t_address",
                                                            "typeString": "address"
                                                        }
                                                    ],
                                                    "expression": {
                                                        "id": 19528,
                                                        "name": "abi",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 4294967295,
                                                        "src": "51327:3:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_magic_abi",
                                                            "typeString": "abi"
                                                        }
                                                    },
                                                    "id": 19529,
                                                    "isConstant": false,
                                                    "isLValue": false,
                                                    "isPure": true,
                                                    "lValueRequested": false,
                                                    "memberName": "encodeWithSignature",
                                                    "nodeType": "MemberAccess",
                                                    "src": "51327:23:62",
                                                    "typeDescriptions": {
                                                        "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$",
                                                        "typeString": "function (string memory) pure returns (bytes memory)"
                                                    }
                                                },
                                                "id": 19535,
                                                "isConstant": false,
                                                "isLValue": false,
                                                "isPure": false,
                                                "kind": "functionCall",
                                                "lValueRequested": false,
                                                "names": [],
                                                "nodeType": "FunctionCall",
                                                "src": "51327:73:62",
                                                "tryCall": false,
                                                "typeDescriptions": {
                                                    "typeIdentifier": "t_bytes_memory_ptr",
                                                    "typeString": "bytes memory"
                                                }
                                            }
                                        ],
                                        "expression": {
                                            "argumentTypes": [
                                                {
                                                    "typeIdentifier": "t_bytes_memory_ptr",
                                                    "typeString": "bytes memory"
                                                }
                                            ],
                                            "id": 19527,
                                            "name": "_sendLogPayload",
                                            "nodeType": "Identifier",
                                            "overloadedDeclarations": [],
                                            "referencedDeclaration": 12880,
                                            "src": "51311:15:62",
                                            "typeDescriptions": {
                                                "typeIdentifier": "t_function_internal_view$_t_bytes_memory_ptr_$returns$__$",
                                                "typeString": "function (bytes memory) view"
                                            }
                                        },
                                        "id": 19536,
                                        "isConstant": false,
                                        "isLValue": false,
                                        "isPure": false,
                                        "kind": "functionCall",
                                        "lValueRequested": false,
                                        "names": [],
                                        "nodeType": "FunctionCall",
                                        "src": "51311:90:62",
                                        "tryCall": false,
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_tuple$__$",
                                            "typeString": "tuple()"
                                        }
                                    },
                                    "id": 19537,
                                    "nodeType": "ExpressionStatement",
                                    "src": "51311:90:62"
                                }
                            ]
                        },
                        "id": 19539,
                        "implemented": true,
                        "kind": "function",
                        "modifiers": [],
                        "name": "log",
                        "nameLocation": "51247:3:62",
                        "nodeType": "FunctionDefinition",
                        "parameters": {
                            "id": 19525,
                            "nodeType": "ParameterList",
                            "parameters": [
                                {
                                    "constant": false,
                                    "id": 19518,
                                    "mutability": "mutable",
                                    "name": "p0",
                                    "nameLocation": "51259:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 19539,
                                    "src": "51251:10:62",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_address",
                                        "typeString": "address"
                                    },
                                    "typeName": {
                                        "id": 19517,
                                        "name": "address",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "51251:7:62",
                                        "stateMutability": "nonpayable",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_address",
                                            "typeString": "address"
                                        }
                                    },
                                    "visibility": "internal"
                                },
                                {
                                    "constant": false,
                                    "id": 19520,
                                    "mutability": "mutable",
                                    "name": "p1",
                                    "nameLocation": "51268:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 19539,
                                    "src": "51263:7:62",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_uint256",
                                        "typeString": "uint256"
                                    },
                                    "typeName": {
                                        "id": 19519,
                                        "name": "uint",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "51263:4:62",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_uint256",
                                            "typeString": "uint256"
                                        }
                                    },
                                    "visibility": "internal"
                                },
                                {
                                    "constant": false,
                                    "id": 19522,
                                    "mutability": "mutable",
                                    "name": "p2",
                                    "nameLocation": "51277:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 19539,
                                    "src": "51272:7:62",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_uint256",
                                        "typeString": "uint256"
                                    },
                                    "typeName": {
                                        "id": 19521,
                                        "name": "uint",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "51272:4:62",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_uint256",
                                            "typeString": "uint256"
                                        }
                                    },
                                    "visibility": "internal"
                                },
                                {
                                    "constant": false,
                                    "id": 19524,
                                    "mutability": "mutable",
                                    "name": "p3",
                                    "nameLocation": "51289:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 19539,
                                    "src": "51281:10:62",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_address",
                                        "typeString": "address"
                                    },
                                    "typeName": {
                                        "id": 19523,
                                        "name": "address",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "51281:7:62",
                                        "stateMutability": "nonpayable",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_address",
                                            "typeString": "address"
                                        }
                                    },
                                    "visibility": "internal"
                                }
                            ],
                            "src": "51250:42:62"
                        },
                        "returnParameters": {
                            "id": 19526,
                            "nodeType": "ParameterList",
                            "parameters": [],
                            "src": "51307:0:62"
                        },
                        "scope": 20920,
                        "src": "51238:167:62",
                        "stateMutability": "view",
                        "virtual": false,
                        "visibility": "internal"
                    },
                    {
                        "body": {
                            "id": 19561,
                            "nodeType": "Block",
                            "src": "51483:97:62",
                            "statements": [
                                {
                                    "expression": {
                                        "arguments": [
                                            {
                                                "arguments": [
                                                    {
                                                        "hexValue": "6c6f6728616464726573732c75696e742c737472696e672c75696e7429",
                                                        "id": 19553,
                                                        "isConstant": false,
                                                        "isLValue": false,
                                                        "isPure": true,
                                                        "kind": "string",
                                                        "lValueRequested": false,
                                                        "nodeType": "Literal",
                                                        "src": "51527:31:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_stringliteral_f512cf9b6f6b16313e82164dab4a017b25c36dde729112fd1b69de438557701b",
                                                            "typeString": "literal_string \"log(address,uint,string,uint)\""
                                                        },
                                                        "value": "log(address,uint,string,uint)"
                                                    },
                                                    {
                                                        "id": 19554,
                                                        "name": "p0",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 19541,
                                                        "src": "51560:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_address",
                                                            "typeString": "address"
                                                        }
                                                    },
                                                    {
                                                        "id": 19555,
                                                        "name": "p1",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 19543,
                                                        "src": "51564:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_uint256",
                                                            "typeString": "uint256"
                                                        }
                                                    },
                                                    {
                                                        "id": 19556,
                                                        "name": "p2",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 19545,
                                                        "src": "51568:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_string_memory_ptr",
                                                            "typeString": "string memory"
                                                        }
                                                    },
                                                    {
                                                        "id": 19557,
                                                        "name": "p3",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 19547,
                                                        "src": "51572:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_uint256",
                                                            "typeString": "uint256"
                                                        }
                                                    }
                                                ],
                                                "expression": {
                                                    "argumentTypes": [
                                                        {
                                                            "typeIdentifier": "t_stringliteral_f512cf9b6f6b16313e82164dab4a017b25c36dde729112fd1b69de438557701b",
                                                            "typeString": "literal_string \"log(address,uint,string,uint)\""
                                                        },
                                                        {
                                                            "typeIdentifier": "t_address",
                                                            "typeString": "address"
                                                        },
                                                        {
                                                            "typeIdentifier": "t_uint256",
                                                            "typeString": "uint256"
                                                        },
                                                        {
                                                            "typeIdentifier": "t_string_memory_ptr",
                                                            "typeString": "string memory"
                                                        },
                                                        {
                                                            "typeIdentifier": "t_uint256",
                                                            "typeString": "uint256"
                                                        }
                                                    ],
                                                    "expression": {
                                                        "id": 19551,
                                                        "name": "abi",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 4294967295,
                                                        "src": "51503:3:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_magic_abi",
                                                            "typeString": "abi"
                                                        }
                                                    },
                                                    "id": 19552,
                                                    "isConstant": false,
                                                    "isLValue": false,
                                                    "isPure": true,
                                                    "lValueRequested": false,
                                                    "memberName": "encodeWithSignature",
                                                    "nodeType": "MemberAccess",
                                                    "src": "51503:23:62",
                                                    "typeDescriptions": {
                                                        "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$",
                                                        "typeString": "function (string memory) pure returns (bytes memory)"
                                                    }
                                                },
                                                "id": 19558,
                                                "isConstant": false,
                                                "isLValue": false,
                                                "isPure": false,
                                                "kind": "functionCall",
                                                "lValueRequested": false,
                                                "names": [],
                                                "nodeType": "FunctionCall",
                                                "src": "51503:72:62",
                                                "tryCall": false,
                                                "typeDescriptions": {
                                                    "typeIdentifier": "t_bytes_memory_ptr",
                                                    "typeString": "bytes memory"
                                                }
                                            }
                                        ],
                                        "expression": {
                                            "argumentTypes": [
                                                {
                                                    "typeIdentifier": "t_bytes_memory_ptr",
                                                    "typeString": "bytes memory"
                                                }
                                            ],
                                            "id": 19550,
                                            "name": "_sendLogPayload",
                                            "nodeType": "Identifier",
                                            "overloadedDeclarations": [],
                                            "referencedDeclaration": 12880,
                                            "src": "51487:15:62",
                                            "typeDescriptions": {
                                                "typeIdentifier": "t_function_internal_view$_t_bytes_memory_ptr_$returns$__$",
                                                "typeString": "function (bytes memory) view"
                                            }
                                        },
                                        "id": 19559,
                                        "isConstant": false,
                                        "isLValue": false,
                                        "isPure": false,
                                        "kind": "functionCall",
                                        "lValueRequested": false,
                                        "names": [],
                                        "nodeType": "FunctionCall",
                                        "src": "51487:89:62",
                                        "tryCall": false,
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_tuple$__$",
                                            "typeString": "tuple()"
                                        }
                                    },
                                    "id": 19560,
                                    "nodeType": "ExpressionStatement",
                                    "src": "51487:89:62"
                                }
                            ]
                        },
                        "id": 19562,
                        "implemented": true,
                        "kind": "function",
                        "modifiers": [],
                        "name": "log",
                        "nameLocation": "51417:3:62",
                        "nodeType": "FunctionDefinition",
                        "parameters": {
                            "id": 19548,
                            "nodeType": "ParameterList",
                            "parameters": [
                                {
                                    "constant": false,
                                    "id": 19541,
                                    "mutability": "mutable",
                                    "name": "p0",
                                    "nameLocation": "51429:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 19562,
                                    "src": "51421:10:62",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_address",
                                        "typeString": "address"
                                    },
                                    "typeName": {
                                        "id": 19540,
                                        "name": "address",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "51421:7:62",
                                        "stateMutability": "nonpayable",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_address",
                                            "typeString": "address"
                                        }
                                    },
                                    "visibility": "internal"
                                },
                                {
                                    "constant": false,
                                    "id": 19543,
                                    "mutability": "mutable",
                                    "name": "p1",
                                    "nameLocation": "51438:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 19562,
                                    "src": "51433:7:62",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_uint256",
                                        "typeString": "uint256"
                                    },
                                    "typeName": {
                                        "id": 19542,
                                        "name": "uint",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "51433:4:62",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_uint256",
                                            "typeString": "uint256"
                                        }
                                    },
                                    "visibility": "internal"
                                },
                                {
                                    "constant": false,
                                    "id": 19545,
                                    "mutability": "mutable",
                                    "name": "p2",
                                    "nameLocation": "51456:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 19562,
                                    "src": "51442:16:62",
                                    "stateVariable": false,
                                    "storageLocation": "memory",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_string_memory_ptr",
                                        "typeString": "string"
                                    },
                                    "typeName": {
                                        "id": 19544,
                                        "name": "string",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "51442:6:62",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_string_storage_ptr",
                                            "typeString": "string"
                                        }
                                    },
                                    "visibility": "internal"
                                },
                                {
                                    "constant": false,
                                    "id": 19547,
                                    "mutability": "mutable",
                                    "name": "p3",
                                    "nameLocation": "51465:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 19562,
                                    "src": "51460:7:62",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_uint256",
                                        "typeString": "uint256"
                                    },
                                    "typeName": {
                                        "id": 19546,
                                        "name": "uint",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "51460:4:62",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_uint256",
                                            "typeString": "uint256"
                                        }
                                    },
                                    "visibility": "internal"
                                }
                            ],
                            "src": "51420:48:62"
                        },
                        "returnParameters": {
                            "id": 19549,
                            "nodeType": "ParameterList",
                            "parameters": [],
                            "src": "51483:0:62"
                        },
                        "scope": 20920,
                        "src": "51408:172:62",
                        "stateMutability": "view",
                        "virtual": false,
                        "visibility": "internal"
                    },
                    {
                        "body": {
                            "id": 19584,
                            "nodeType": "Block",
                            "src": "51667:99:62",
                            "statements": [
                                {
                                    "expression": {
                                        "arguments": [
                                            {
                                                "arguments": [
                                                    {
                                                        "hexValue": "6c6f6728616464726573732c75696e742c737472696e672c737472696e6729",
                                                        "id": 19576,
                                                        "isConstant": false,
                                                        "isLValue": false,
                                                        "isPure": true,
                                                        "kind": "string",
                                                        "lValueRequested": false,
                                                        "nodeType": "Literal",
                                                        "src": "51711:33:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_stringliteral_7e56c693294848e354fd0e0f30db9c459984681d518306ec606cfd6f328a5ba0",
                                                            "typeString": "literal_string \"log(address,uint,string,string)\""
                                                        },
                                                        "value": "log(address,uint,string,string)"
                                                    },
                                                    {
                                                        "id": 19577,
                                                        "name": "p0",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 19564,
                                                        "src": "51746:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_address",
                                                            "typeString": "address"
                                                        }
                                                    },
                                                    {
                                                        "id": 19578,
                                                        "name": "p1",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 19566,
                                                        "src": "51750:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_uint256",
                                                            "typeString": "uint256"
                                                        }
                                                    },
                                                    {
                                                        "id": 19579,
                                                        "name": "p2",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 19568,
                                                        "src": "51754:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_string_memory_ptr",
                                                            "typeString": "string memory"
                                                        }
                                                    },
                                                    {
                                                        "id": 19580,
                                                        "name": "p3",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 19570,
                                                        "src": "51758:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_string_memory_ptr",
                                                            "typeString": "string memory"
                                                        }
                                                    }
                                                ],
                                                "expression": {
                                                    "argumentTypes": [
                                                        {
                                                            "typeIdentifier": "t_stringliteral_7e56c693294848e354fd0e0f30db9c459984681d518306ec606cfd6f328a5ba0",
                                                            "typeString": "literal_string \"log(address,uint,string,string)\""
                                                        },
                                                        {
                                                            "typeIdentifier": "t_address",
                                                            "typeString": "address"
                                                        },
                                                        {
                                                            "typeIdentifier": "t_uint256",
                                                            "typeString": "uint256"
                                                        },
                                                        {
                                                            "typeIdentifier": "t_string_memory_ptr",
                                                            "typeString": "string memory"
                                                        },
                                                        {
                                                            "typeIdentifier": "t_string_memory_ptr",
                                                            "typeString": "string memory"
                                                        }
                                                    ],
                                                    "expression": {
                                                        "id": 19574,
                                                        "name": "abi",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 4294967295,
                                                        "src": "51687:3:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_magic_abi",
                                                            "typeString": "abi"
                                                        }
                                                    },
                                                    "id": 19575,
                                                    "isConstant": false,
                                                    "isLValue": false,
                                                    "isPure": true,
                                                    "lValueRequested": false,
                                                    "memberName": "encodeWithSignature",
                                                    "nodeType": "MemberAccess",
                                                    "src": "51687:23:62",
                                                    "typeDescriptions": {
                                                        "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$",
                                                        "typeString": "function (string memory) pure returns (bytes memory)"
                                                    }
                                                },
                                                "id": 19581,
                                                "isConstant": false,
                                                "isLValue": false,
                                                "isPure": false,
                                                "kind": "functionCall",
                                                "lValueRequested": false,
                                                "names": [],
                                                "nodeType": "FunctionCall",
                                                "src": "51687:74:62",
                                                "tryCall": false,
                                                "typeDescriptions": {
                                                    "typeIdentifier": "t_bytes_memory_ptr",
                                                    "typeString": "bytes memory"
                                                }
                                            }
                                        ],
                                        "expression": {
                                            "argumentTypes": [
                                                {
                                                    "typeIdentifier": "t_bytes_memory_ptr",
                                                    "typeString": "bytes memory"
                                                }
                                            ],
                                            "id": 19573,
                                            "name": "_sendLogPayload",
                                            "nodeType": "Identifier",
                                            "overloadedDeclarations": [],
                                            "referencedDeclaration": 12880,
                                            "src": "51671:15:62",
                                            "typeDescriptions": {
                                                "typeIdentifier": "t_function_internal_view$_t_bytes_memory_ptr_$returns$__$",
                                                "typeString": "function (bytes memory) view"
                                            }
                                        },
                                        "id": 19582,
                                        "isConstant": false,
                                        "isLValue": false,
                                        "isPure": false,
                                        "kind": "functionCall",
                                        "lValueRequested": false,
                                        "names": [],
                                        "nodeType": "FunctionCall",
                                        "src": "51671:91:62",
                                        "tryCall": false,
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_tuple$__$",
                                            "typeString": "tuple()"
                                        }
                                    },
                                    "id": 19583,
                                    "nodeType": "ExpressionStatement",
                                    "src": "51671:91:62"
                                }
                            ]
                        },
                        "id": 19585,
                        "implemented": true,
                        "kind": "function",
                        "modifiers": [],
                        "name": "log",
                        "nameLocation": "51592:3:62",
                        "nodeType": "FunctionDefinition",
                        "parameters": {
                            "id": 19571,
                            "nodeType": "ParameterList",
                            "parameters": [
                                {
                                    "constant": false,
                                    "id": 19564,
                                    "mutability": "mutable",
                                    "name": "p0",
                                    "nameLocation": "51604:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 19585,
                                    "src": "51596:10:62",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_address",
                                        "typeString": "address"
                                    },
                                    "typeName": {
                                        "id": 19563,
                                        "name": "address",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "51596:7:62",
                                        "stateMutability": "nonpayable",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_address",
                                            "typeString": "address"
                                        }
                                    },
                                    "visibility": "internal"
                                },
                                {
                                    "constant": false,
                                    "id": 19566,
                                    "mutability": "mutable",
                                    "name": "p1",
                                    "nameLocation": "51613:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 19585,
                                    "src": "51608:7:62",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_uint256",
                                        "typeString": "uint256"
                                    },
                                    "typeName": {
                                        "id": 19565,
                                        "name": "uint",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "51608:4:62",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_uint256",
                                            "typeString": "uint256"
                                        }
                                    },
                                    "visibility": "internal"
                                },
                                {
                                    "constant": false,
                                    "id": 19568,
                                    "mutability": "mutable",
                                    "name": "p2",
                                    "nameLocation": "51631:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 19585,
                                    "src": "51617:16:62",
                                    "stateVariable": false,
                                    "storageLocation": "memory",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_string_memory_ptr",
                                        "typeString": "string"
                                    },
                                    "typeName": {
                                        "id": 19567,
                                        "name": "string",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "51617:6:62",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_string_storage_ptr",
                                            "typeString": "string"
                                        }
                                    },
                                    "visibility": "internal"
                                },
                                {
                                    "constant": false,
                                    "id": 19570,
                                    "mutability": "mutable",
                                    "name": "p3",
                                    "nameLocation": "51649:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 19585,
                                    "src": "51635:16:62",
                                    "stateVariable": false,
                                    "storageLocation": "memory",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_string_memory_ptr",
                                        "typeString": "string"
                                    },
                                    "typeName": {
                                        "id": 19569,
                                        "name": "string",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "51635:6:62",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_string_storage_ptr",
                                            "typeString": "string"
                                        }
                                    },
                                    "visibility": "internal"
                                }
                            ],
                            "src": "51595:57:62"
                        },
                        "returnParameters": {
                            "id": 19572,
                            "nodeType": "ParameterList",
                            "parameters": [],
                            "src": "51667:0:62"
                        },
                        "scope": 20920,
                        "src": "51583:183:62",
                        "stateMutability": "view",
                        "virtual": false,
                        "visibility": "internal"
                    },
                    {
                        "body": {
                            "id": 19607,
                            "nodeType": "Block",
                            "src": "51844:97:62",
                            "statements": [
                                {
                                    "expression": {
                                        "arguments": [
                                            {
                                                "arguments": [
                                                    {
                                                        "hexValue": "6c6f6728616464726573732c75696e742c737472696e672c626f6f6c29",
                                                        "id": 19599,
                                                        "isConstant": false,
                                                        "isLValue": false,
                                                        "isPure": true,
                                                        "kind": "string",
                                                        "lValueRequested": false,
                                                        "nodeType": "Literal",
                                                        "src": "51888:31:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_stringliteral_a4024f1195637e9b9bd0fa746905cf1693b1e0cd3e1c717a1cbc5279763b256a",
                                                            "typeString": "literal_string \"log(address,uint,string,bool)\""
                                                        },
                                                        "value": "log(address,uint,string,bool)"
                                                    },
                                                    {
                                                        "id": 19600,
                                                        "name": "p0",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 19587,
                                                        "src": "51921:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_address",
                                                            "typeString": "address"
                                                        }
                                                    },
                                                    {
                                                        "id": 19601,
                                                        "name": "p1",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 19589,
                                                        "src": "51925:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_uint256",
                                                            "typeString": "uint256"
                                                        }
                                                    },
                                                    {
                                                        "id": 19602,
                                                        "name": "p2",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 19591,
                                                        "src": "51929:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_string_memory_ptr",
                                                            "typeString": "string memory"
                                                        }
                                                    },
                                                    {
                                                        "id": 19603,
                                                        "name": "p3",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 19593,
                                                        "src": "51933:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_bool",
                                                            "typeString": "bool"
                                                        }
                                                    }
                                                ],
                                                "expression": {
                                                    "argumentTypes": [
                                                        {
                                                            "typeIdentifier": "t_stringliteral_a4024f1195637e9b9bd0fa746905cf1693b1e0cd3e1c717a1cbc5279763b256a",
                                                            "typeString": "literal_string \"log(address,uint,string,bool)\""
                                                        },
                                                        {
                                                            "typeIdentifier": "t_address",
                                                            "typeString": "address"
                                                        },
                                                        {
                                                            "typeIdentifier": "t_uint256",
                                                            "typeString": "uint256"
                                                        },
                                                        {
                                                            "typeIdentifier": "t_string_memory_ptr",
                                                            "typeString": "string memory"
                                                        },
                                                        {
                                                            "typeIdentifier": "t_bool",
                                                            "typeString": "bool"
                                                        }
                                                    ],
                                                    "expression": {
                                                        "id": 19597,
                                                        "name": "abi",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 4294967295,
                                                        "src": "51864:3:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_magic_abi",
                                                            "typeString": "abi"
                                                        }
                                                    },
                                                    "id": 19598,
                                                    "isConstant": false,
                                                    "isLValue": false,
                                                    "isPure": true,
                                                    "lValueRequested": false,
                                                    "memberName": "encodeWithSignature",
                                                    "nodeType": "MemberAccess",
                                                    "src": "51864:23:62",
                                                    "typeDescriptions": {
                                                        "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$",
                                                        "typeString": "function (string memory) pure returns (bytes memory)"
                                                    }
                                                },
                                                "id": 19604,
                                                "isConstant": false,
                                                "isLValue": false,
                                                "isPure": false,
                                                "kind": "functionCall",
                                                "lValueRequested": false,
                                                "names": [],
                                                "nodeType": "FunctionCall",
                                                "src": "51864:72:62",
                                                "tryCall": false,
                                                "typeDescriptions": {
                                                    "typeIdentifier": "t_bytes_memory_ptr",
                                                    "typeString": "bytes memory"
                                                }
                                            }
                                        ],
                                        "expression": {
                                            "argumentTypes": [
                                                {
                                                    "typeIdentifier": "t_bytes_memory_ptr",
                                                    "typeString": "bytes memory"
                                                }
                                            ],
                                            "id": 19596,
                                            "name": "_sendLogPayload",
                                            "nodeType": "Identifier",
                                            "overloadedDeclarations": [],
                                            "referencedDeclaration": 12880,
                                            "src": "51848:15:62",
                                            "typeDescriptions": {
                                                "typeIdentifier": "t_function_internal_view$_t_bytes_memory_ptr_$returns$__$",
                                                "typeString": "function (bytes memory) view"
                                            }
                                        },
                                        "id": 19605,
                                        "isConstant": false,
                                        "isLValue": false,
                                        "isPure": false,
                                        "kind": "functionCall",
                                        "lValueRequested": false,
                                        "names": [],
                                        "nodeType": "FunctionCall",
                                        "src": "51848:89:62",
                                        "tryCall": false,
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_tuple$__$",
                                            "typeString": "tuple()"
                                        }
                                    },
                                    "id": 19606,
                                    "nodeType": "ExpressionStatement",
                                    "src": "51848:89:62"
                                }
                            ]
                        },
                        "id": 19608,
                        "implemented": true,
                        "kind": "function",
                        "modifiers": [],
                        "name": "log",
                        "nameLocation": "51778:3:62",
                        "nodeType": "FunctionDefinition",
                        "parameters": {
                            "id": 19594,
                            "nodeType": "ParameterList",
                            "parameters": [
                                {
                                    "constant": false,
                                    "id": 19587,
                                    "mutability": "mutable",
                                    "name": "p0",
                                    "nameLocation": "51790:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 19608,
                                    "src": "51782:10:62",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_address",
                                        "typeString": "address"
                                    },
                                    "typeName": {
                                        "id": 19586,
                                        "name": "address",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "51782:7:62",
                                        "stateMutability": "nonpayable",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_address",
                                            "typeString": "address"
                                        }
                                    },
                                    "visibility": "internal"
                                },
                                {
                                    "constant": false,
                                    "id": 19589,
                                    "mutability": "mutable",
                                    "name": "p1",
                                    "nameLocation": "51799:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 19608,
                                    "src": "51794:7:62",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_uint256",
                                        "typeString": "uint256"
                                    },
                                    "typeName": {
                                        "id": 19588,
                                        "name": "uint",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "51794:4:62",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_uint256",
                                            "typeString": "uint256"
                                        }
                                    },
                                    "visibility": "internal"
                                },
                                {
                                    "constant": false,
                                    "id": 19591,
                                    "mutability": "mutable",
                                    "name": "p2",
                                    "nameLocation": "51817:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 19608,
                                    "src": "51803:16:62",
                                    "stateVariable": false,
                                    "storageLocation": "memory",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_string_memory_ptr",
                                        "typeString": "string"
                                    },
                                    "typeName": {
                                        "id": 19590,
                                        "name": "string",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "51803:6:62",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_string_storage_ptr",
                                            "typeString": "string"
                                        }
                                    },
                                    "visibility": "internal"
                                },
                                {
                                    "constant": false,
                                    "id": 19593,
                                    "mutability": "mutable",
                                    "name": "p3",
                                    "nameLocation": "51826:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 19608,
                                    "src": "51821:7:62",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_bool",
                                        "typeString": "bool"
                                    },
                                    "typeName": {
                                        "id": 19592,
                                        "name": "bool",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "51821:4:62",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_bool",
                                            "typeString": "bool"
                                        }
                                    },
                                    "visibility": "internal"
                                }
                            ],
                            "src": "51781:48:62"
                        },
                        "returnParameters": {
                            "id": 19595,
                            "nodeType": "ParameterList",
                            "parameters": [],
                            "src": "51844:0:62"
                        },
                        "scope": 20920,
                        "src": "51769:172:62",
                        "stateMutability": "view",
                        "virtual": false,
                        "visibility": "internal"
                    },
                    {
                        "body": {
                            "id": 19630,
                            "nodeType": "Block",
                            "src": "52022:100:62",
                            "statements": [
                                {
                                    "expression": {
                                        "arguments": [
                                            {
                                                "arguments": [
                                                    {
                                                        "hexValue": "6c6f6728616464726573732c75696e742c737472696e672c6164647265737329",
                                                        "id": 19622,
                                                        "isConstant": false,
                                                        "isLValue": false,
                                                        "isPure": true,
                                                        "kind": "string",
                                                        "lValueRequested": false,
                                                        "nodeType": "Literal",
                                                        "src": "52066:34:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_stringliteral_dc792604099307de53721f0c554f3059214ac3d8d1f6cd01cd16cf188835e809",
                                                            "typeString": "literal_string \"log(address,uint,string,address)\""
                                                        },
                                                        "value": "log(address,uint,string,address)"
                                                    },
                                                    {
                                                        "id": 19623,
                                                        "name": "p0",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 19610,
                                                        "src": "52102:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_address",
                                                            "typeString": "address"
                                                        }
                                                    },
                                                    {
                                                        "id": 19624,
                                                        "name": "p1",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 19612,
                                                        "src": "52106:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_uint256",
                                                            "typeString": "uint256"
                                                        }
                                                    },
                                                    {
                                                        "id": 19625,
                                                        "name": "p2",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 19614,
                                                        "src": "52110:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_string_memory_ptr",
                                                            "typeString": "string memory"
                                                        }
                                                    },
                                                    {
                                                        "id": 19626,
                                                        "name": "p3",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 19616,
                                                        "src": "52114:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_address",
                                                            "typeString": "address"
                                                        }
                                                    }
                                                ],
                                                "expression": {
                                                    "argumentTypes": [
                                                        {
                                                            "typeIdentifier": "t_stringliteral_dc792604099307de53721f0c554f3059214ac3d8d1f6cd01cd16cf188835e809",
                                                            "typeString": "literal_string \"log(address,uint,string,address)\""
                                                        },
                                                        {
                                                            "typeIdentifier": "t_address",
                                                            "typeString": "address"
                                                        },
                                                        {
                                                            "typeIdentifier": "t_uint256",
                                                            "typeString": "uint256"
                                                        },
                                                        {
                                                            "typeIdentifier": "t_string_memory_ptr",
                                                            "typeString": "string memory"
                                                        },
                                                        {
                                                            "typeIdentifier": "t_address",
                                                            "typeString": "address"
                                                        }
                                                    ],
                                                    "expression": {
                                                        "id": 19620,
                                                        "name": "abi",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 4294967295,
                                                        "src": "52042:3:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_magic_abi",
                                                            "typeString": "abi"
                                                        }
                                                    },
                                                    "id": 19621,
                                                    "isConstant": false,
                                                    "isLValue": false,
                                                    "isPure": true,
                                                    "lValueRequested": false,
                                                    "memberName": "encodeWithSignature",
                                                    "nodeType": "MemberAccess",
                                                    "src": "52042:23:62",
                                                    "typeDescriptions": {
                                                        "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$",
                                                        "typeString": "function (string memory) pure returns (bytes memory)"
                                                    }
                                                },
                                                "id": 19627,
                                                "isConstant": false,
                                                "isLValue": false,
                                                "isPure": false,
                                                "kind": "functionCall",
                                                "lValueRequested": false,
                                                "names": [],
                                                "nodeType": "FunctionCall",
                                                "src": "52042:75:62",
                                                "tryCall": false,
                                                "typeDescriptions": {
                                                    "typeIdentifier": "t_bytes_memory_ptr",
                                                    "typeString": "bytes memory"
                                                }
                                            }
                                        ],
                                        "expression": {
                                            "argumentTypes": [
                                                {
                                                    "typeIdentifier": "t_bytes_memory_ptr",
                                                    "typeString": "bytes memory"
                                                }
                                            ],
                                            "id": 19619,
                                            "name": "_sendLogPayload",
                                            "nodeType": "Identifier",
                                            "overloadedDeclarations": [],
                                            "referencedDeclaration": 12880,
                                            "src": "52026:15:62",
                                            "typeDescriptions": {
                                                "typeIdentifier": "t_function_internal_view$_t_bytes_memory_ptr_$returns$__$",
                                                "typeString": "function (bytes memory) view"
                                            }
                                        },
                                        "id": 19628,
                                        "isConstant": false,
                                        "isLValue": false,
                                        "isPure": false,
                                        "kind": "functionCall",
                                        "lValueRequested": false,
                                        "names": [],
                                        "nodeType": "FunctionCall",
                                        "src": "52026:92:62",
                                        "tryCall": false,
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_tuple$__$",
                                            "typeString": "tuple()"
                                        }
                                    },
                                    "id": 19629,
                                    "nodeType": "ExpressionStatement",
                                    "src": "52026:92:62"
                                }
                            ]
                        },
                        "id": 19631,
                        "implemented": true,
                        "kind": "function",
                        "modifiers": [],
                        "name": "log",
                        "nameLocation": "51953:3:62",
                        "nodeType": "FunctionDefinition",
                        "parameters": {
                            "id": 19617,
                            "nodeType": "ParameterList",
                            "parameters": [
                                {
                                    "constant": false,
                                    "id": 19610,
                                    "mutability": "mutable",
                                    "name": "p0",
                                    "nameLocation": "51965:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 19631,
                                    "src": "51957:10:62",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_address",
                                        "typeString": "address"
                                    },
                                    "typeName": {
                                        "id": 19609,
                                        "name": "address",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "51957:7:62",
                                        "stateMutability": "nonpayable",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_address",
                                            "typeString": "address"
                                        }
                                    },
                                    "visibility": "internal"
                                },
                                {
                                    "constant": false,
                                    "id": 19612,
                                    "mutability": "mutable",
                                    "name": "p1",
                                    "nameLocation": "51974:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 19631,
                                    "src": "51969:7:62",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_uint256",
                                        "typeString": "uint256"
                                    },
                                    "typeName": {
                                        "id": 19611,
                                        "name": "uint",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "51969:4:62",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_uint256",
                                            "typeString": "uint256"
                                        }
                                    },
                                    "visibility": "internal"
                                },
                                {
                                    "constant": false,
                                    "id": 19614,
                                    "mutability": "mutable",
                                    "name": "p2",
                                    "nameLocation": "51992:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 19631,
                                    "src": "51978:16:62",
                                    "stateVariable": false,
                                    "storageLocation": "memory",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_string_memory_ptr",
                                        "typeString": "string"
                                    },
                                    "typeName": {
                                        "id": 19613,
                                        "name": "string",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "51978:6:62",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_string_storage_ptr",
                                            "typeString": "string"
                                        }
                                    },
                                    "visibility": "internal"
                                },
                                {
                                    "constant": false,
                                    "id": 19616,
                                    "mutability": "mutable",
                                    "name": "p3",
                                    "nameLocation": "52004:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 19631,
                                    "src": "51996:10:62",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_address",
                                        "typeString": "address"
                                    },
                                    "typeName": {
                                        "id": 19615,
                                        "name": "address",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "51996:7:62",
                                        "stateMutability": "nonpayable",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_address",
                                            "typeString": "address"
                                        }
                                    },
                                    "visibility": "internal"
                                }
                            ],
                            "src": "51956:51:62"
                        },
                        "returnParameters": {
                            "id": 19618,
                            "nodeType": "ParameterList",
                            "parameters": [],
                            "src": "52022:0:62"
                        },
                        "scope": 20920,
                        "src": "51944:178:62",
                        "stateMutability": "view",
                        "virtual": false,
                        "visibility": "internal"
                    },
                    {
                        "body": {
                            "id": 19653,
                            "nodeType": "Block",
                            "src": "52191:95:62",
                            "statements": [
                                {
                                    "expression": {
                                        "arguments": [
                                            {
                                                "arguments": [
                                                    {
                                                        "hexValue": "6c6f6728616464726573732c75696e742c626f6f6c2c75696e7429",
                                                        "id": 19645,
                                                        "isConstant": false,
                                                        "isLValue": false,
                                                        "isPure": true,
                                                        "kind": "string",
                                                        "lValueRequested": false,
                                                        "nodeType": "Literal",
                                                        "src": "52235:29:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_stringliteral_698f43923a9354f67c861ae1c111970990b11c7f948743e5f44d6ea901e7f1a2",
                                                            "typeString": "literal_string \"log(address,uint,bool,uint)\""
                                                        },
                                                        "value": "log(address,uint,bool,uint)"
                                                    },
                                                    {
                                                        "id": 19646,
                                                        "name": "p0",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 19633,
                                                        "src": "52266:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_address",
                                                            "typeString": "address"
                                                        }
                                                    },
                                                    {
                                                        "id": 19647,
                                                        "name": "p1",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 19635,
                                                        "src": "52270:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_uint256",
                                                            "typeString": "uint256"
                                                        }
                                                    },
                                                    {
                                                        "id": 19648,
                                                        "name": "p2",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 19637,
                                                        "src": "52274:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_bool",
                                                            "typeString": "bool"
                                                        }
                                                    },
                                                    {
                                                        "id": 19649,
                                                        "name": "p3",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 19639,
                                                        "src": "52278:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_uint256",
                                                            "typeString": "uint256"
                                                        }
                                                    }
                                                ],
                                                "expression": {
                                                    "argumentTypes": [
                                                        {
                                                            "typeIdentifier": "t_stringliteral_698f43923a9354f67c861ae1c111970990b11c7f948743e5f44d6ea901e7f1a2",
                                                            "typeString": "literal_string \"log(address,uint,bool,uint)\""
                                                        },
                                                        {
                                                            "typeIdentifier": "t_address",
                                                            "typeString": "address"
                                                        },
                                                        {
                                                            "typeIdentifier": "t_uint256",
                                                            "typeString": "uint256"
                                                        },
                                                        {
                                                            "typeIdentifier": "t_bool",
                                                            "typeString": "bool"
                                                        },
                                                        {
                                                            "typeIdentifier": "t_uint256",
                                                            "typeString": "uint256"
                                                        }
                                                    ],
                                                    "expression": {
                                                        "id": 19643,
                                                        "name": "abi",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 4294967295,
                                                        "src": "52211:3:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_magic_abi",
                                                            "typeString": "abi"
                                                        }
                                                    },
                                                    "id": 19644,
                                                    "isConstant": false,
                                                    "isLValue": false,
                                                    "isPure": true,
                                                    "lValueRequested": false,
                                                    "memberName": "encodeWithSignature",
                                                    "nodeType": "MemberAccess",
                                                    "src": "52211:23:62",
                                                    "typeDescriptions": {
                                                        "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$",
                                                        "typeString": "function (string memory) pure returns (bytes memory)"
                                                    }
                                                },
                                                "id": 19650,
                                                "isConstant": false,
                                                "isLValue": false,
                                                "isPure": false,
                                                "kind": "functionCall",
                                                "lValueRequested": false,
                                                "names": [],
                                                "nodeType": "FunctionCall",
                                                "src": "52211:70:62",
                                                "tryCall": false,
                                                "typeDescriptions": {
                                                    "typeIdentifier": "t_bytes_memory_ptr",
                                                    "typeString": "bytes memory"
                                                }
                                            }
                                        ],
                                        "expression": {
                                            "argumentTypes": [
                                                {
                                                    "typeIdentifier": "t_bytes_memory_ptr",
                                                    "typeString": "bytes memory"
                                                }
                                            ],
                                            "id": 19642,
                                            "name": "_sendLogPayload",
                                            "nodeType": "Identifier",
                                            "overloadedDeclarations": [],
                                            "referencedDeclaration": 12880,
                                            "src": "52195:15:62",
                                            "typeDescriptions": {
                                                "typeIdentifier": "t_function_internal_view$_t_bytes_memory_ptr_$returns$__$",
                                                "typeString": "function (bytes memory) view"
                                            }
                                        },
                                        "id": 19651,
                                        "isConstant": false,
                                        "isLValue": false,
                                        "isPure": false,
                                        "kind": "functionCall",
                                        "lValueRequested": false,
                                        "names": [],
                                        "nodeType": "FunctionCall",
                                        "src": "52195:87:62",
                                        "tryCall": false,
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_tuple$__$",
                                            "typeString": "tuple()"
                                        }
                                    },
                                    "id": 19652,
                                    "nodeType": "ExpressionStatement",
                                    "src": "52195:87:62"
                                }
                            ]
                        },
                        "id": 19654,
                        "implemented": true,
                        "kind": "function",
                        "modifiers": [],
                        "name": "log",
                        "nameLocation": "52134:3:62",
                        "nodeType": "FunctionDefinition",
                        "parameters": {
                            "id": 19640,
                            "nodeType": "ParameterList",
                            "parameters": [
                                {
                                    "constant": false,
                                    "id": 19633,
                                    "mutability": "mutable",
                                    "name": "p0",
                                    "nameLocation": "52146:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 19654,
                                    "src": "52138:10:62",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_address",
                                        "typeString": "address"
                                    },
                                    "typeName": {
                                        "id": 19632,
                                        "name": "address",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "52138:7:62",
                                        "stateMutability": "nonpayable",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_address",
                                            "typeString": "address"
                                        }
                                    },
                                    "visibility": "internal"
                                },
                                {
                                    "constant": false,
                                    "id": 19635,
                                    "mutability": "mutable",
                                    "name": "p1",
                                    "nameLocation": "52155:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 19654,
                                    "src": "52150:7:62",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_uint256",
                                        "typeString": "uint256"
                                    },
                                    "typeName": {
                                        "id": 19634,
                                        "name": "uint",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "52150:4:62",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_uint256",
                                            "typeString": "uint256"
                                        }
                                    },
                                    "visibility": "internal"
                                },
                                {
                                    "constant": false,
                                    "id": 19637,
                                    "mutability": "mutable",
                                    "name": "p2",
                                    "nameLocation": "52164:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 19654,
                                    "src": "52159:7:62",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_bool",
                                        "typeString": "bool"
                                    },
                                    "typeName": {
                                        "id": 19636,
                                        "name": "bool",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "52159:4:62",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_bool",
                                            "typeString": "bool"
                                        }
                                    },
                                    "visibility": "internal"
                                },
                                {
                                    "constant": false,
                                    "id": 19639,
                                    "mutability": "mutable",
                                    "name": "p3",
                                    "nameLocation": "52173:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 19654,
                                    "src": "52168:7:62",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_uint256",
                                        "typeString": "uint256"
                                    },
                                    "typeName": {
                                        "id": 19638,
                                        "name": "uint",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "52168:4:62",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_uint256",
                                            "typeString": "uint256"
                                        }
                                    },
                                    "visibility": "internal"
                                }
                            ],
                            "src": "52137:39:62"
                        },
                        "returnParameters": {
                            "id": 19641,
                            "nodeType": "ParameterList",
                            "parameters": [],
                            "src": "52191:0:62"
                        },
                        "scope": 20920,
                        "src": "52125:161:62",
                        "stateMutability": "view",
                        "virtual": false,
                        "visibility": "internal"
                    },
                    {
                        "body": {
                            "id": 19676,
                            "nodeType": "Block",
                            "src": "52364:97:62",
                            "statements": [
                                {
                                    "expression": {
                                        "arguments": [
                                            {
                                                "arguments": [
                                                    {
                                                        "hexValue": "6c6f6728616464726573732c75696e742c626f6f6c2c737472696e6729",
                                                        "id": 19668,
                                                        "isConstant": false,
                                                        "isLValue": false,
                                                        "isPure": true,
                                                        "kind": "string",
                                                        "lValueRequested": false,
                                                        "nodeType": "Literal",
                                                        "src": "52408:31:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_stringliteral_8e8e4e75a8ccb3f0e11ad74335eebf7a17a78463e99c3b077ff34193a8918f3f",
                                                            "typeString": "literal_string \"log(address,uint,bool,string)\""
                                                        },
                                                        "value": "log(address,uint,bool,string)"
                                                    },
                                                    {
                                                        "id": 19669,
                                                        "name": "p0",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 19656,
                                                        "src": "52441:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_address",
                                                            "typeString": "address"
                                                        }
                                                    },
                                                    {
                                                        "id": 19670,
                                                        "name": "p1",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 19658,
                                                        "src": "52445:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_uint256",
                                                            "typeString": "uint256"
                                                        }
                                                    },
                                                    {
                                                        "id": 19671,
                                                        "name": "p2",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 19660,
                                                        "src": "52449:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_bool",
                                                            "typeString": "bool"
                                                        }
                                                    },
                                                    {
                                                        "id": 19672,
                                                        "name": "p3",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 19662,
                                                        "src": "52453:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_string_memory_ptr",
                                                            "typeString": "string memory"
                                                        }
                                                    }
                                                ],
                                                "expression": {
                                                    "argumentTypes": [
                                                        {
                                                            "typeIdentifier": "t_stringliteral_8e8e4e75a8ccb3f0e11ad74335eebf7a17a78463e99c3b077ff34193a8918f3f",
                                                            "typeString": "literal_string \"log(address,uint,bool,string)\""
                                                        },
                                                        {
                                                            "typeIdentifier": "t_address",
                                                            "typeString": "address"
                                                        },
                                                        {
                                                            "typeIdentifier": "t_uint256",
                                                            "typeString": "uint256"
                                                        },
                                                        {
                                                            "typeIdentifier": "t_bool",
                                                            "typeString": "bool"
                                                        },
                                                        {
                                                            "typeIdentifier": "t_string_memory_ptr",
                                                            "typeString": "string memory"
                                                        }
                                                    ],
                                                    "expression": {
                                                        "id": 19666,
                                                        "name": "abi",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 4294967295,
                                                        "src": "52384:3:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_magic_abi",
                                                            "typeString": "abi"
                                                        }
                                                    },
                                                    "id": 19667,
                                                    "isConstant": false,
                                                    "isLValue": false,
                                                    "isPure": true,
                                                    "lValueRequested": false,
                                                    "memberName": "encodeWithSignature",
                                                    "nodeType": "MemberAccess",
                                                    "src": "52384:23:62",
                                                    "typeDescriptions": {
                                                        "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$",
                                                        "typeString": "function (string memory) pure returns (bytes memory)"
                                                    }
                                                },
                                                "id": 19673,
                                                "isConstant": false,
                                                "isLValue": false,
                                                "isPure": false,
                                                "kind": "functionCall",
                                                "lValueRequested": false,
                                                "names": [],
                                                "nodeType": "FunctionCall",
                                                "src": "52384:72:62",
                                                "tryCall": false,
                                                "typeDescriptions": {
                                                    "typeIdentifier": "t_bytes_memory_ptr",
                                                    "typeString": "bytes memory"
                                                }
                                            }
                                        ],
                                        "expression": {
                                            "argumentTypes": [
                                                {
                                                    "typeIdentifier": "t_bytes_memory_ptr",
                                                    "typeString": "bytes memory"
                                                }
                                            ],
                                            "id": 19665,
                                            "name": "_sendLogPayload",
                                            "nodeType": "Identifier",
                                            "overloadedDeclarations": [],
                                            "referencedDeclaration": 12880,
                                            "src": "52368:15:62",
                                            "typeDescriptions": {
                                                "typeIdentifier": "t_function_internal_view$_t_bytes_memory_ptr_$returns$__$",
                                                "typeString": "function (bytes memory) view"
                                            }
                                        },
                                        "id": 19674,
                                        "isConstant": false,
                                        "isLValue": false,
                                        "isPure": false,
                                        "kind": "functionCall",
                                        "lValueRequested": false,
                                        "names": [],
                                        "nodeType": "FunctionCall",
                                        "src": "52368:89:62",
                                        "tryCall": false,
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_tuple$__$",
                                            "typeString": "tuple()"
                                        }
                                    },
                                    "id": 19675,
                                    "nodeType": "ExpressionStatement",
                                    "src": "52368:89:62"
                                }
                            ]
                        },
                        "id": 19677,
                        "implemented": true,
                        "kind": "function",
                        "modifiers": [],
                        "name": "log",
                        "nameLocation": "52298:3:62",
                        "nodeType": "FunctionDefinition",
                        "parameters": {
                            "id": 19663,
                            "nodeType": "ParameterList",
                            "parameters": [
                                {
                                    "constant": false,
                                    "id": 19656,
                                    "mutability": "mutable",
                                    "name": "p0",
                                    "nameLocation": "52310:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 19677,
                                    "src": "52302:10:62",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_address",
                                        "typeString": "address"
                                    },
                                    "typeName": {
                                        "id": 19655,
                                        "name": "address",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "52302:7:62",
                                        "stateMutability": "nonpayable",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_address",
                                            "typeString": "address"
                                        }
                                    },
                                    "visibility": "internal"
                                },
                                {
                                    "constant": false,
                                    "id": 19658,
                                    "mutability": "mutable",
                                    "name": "p1",
                                    "nameLocation": "52319:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 19677,
                                    "src": "52314:7:62",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_uint256",
                                        "typeString": "uint256"
                                    },
                                    "typeName": {
                                        "id": 19657,
                                        "name": "uint",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "52314:4:62",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_uint256",
                                            "typeString": "uint256"
                                        }
                                    },
                                    "visibility": "internal"
                                },
                                {
                                    "constant": false,
                                    "id": 19660,
                                    "mutability": "mutable",
                                    "name": "p2",
                                    "nameLocation": "52328:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 19677,
                                    "src": "52323:7:62",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_bool",
                                        "typeString": "bool"
                                    },
                                    "typeName": {
                                        "id": 19659,
                                        "name": "bool",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "52323:4:62",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_bool",
                                            "typeString": "bool"
                                        }
                                    },
                                    "visibility": "internal"
                                },
                                {
                                    "constant": false,
                                    "id": 19662,
                                    "mutability": "mutable",
                                    "name": "p3",
                                    "nameLocation": "52346:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 19677,
                                    "src": "52332:16:62",
                                    "stateVariable": false,
                                    "storageLocation": "memory",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_string_memory_ptr",
                                        "typeString": "string"
                                    },
                                    "typeName": {
                                        "id": 19661,
                                        "name": "string",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "52332:6:62",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_string_storage_ptr",
                                            "typeString": "string"
                                        }
                                    },
                                    "visibility": "internal"
                                }
                            ],
                            "src": "52301:48:62"
                        },
                        "returnParameters": {
                            "id": 19664,
                            "nodeType": "ParameterList",
                            "parameters": [],
                            "src": "52364:0:62"
                        },
                        "scope": 20920,
                        "src": "52289:172:62",
                        "stateMutability": "view",
                        "virtual": false,
                        "visibility": "internal"
                    },
                    {
                        "body": {
                            "id": 19699,
                            "nodeType": "Block",
                            "src": "52530:95:62",
                            "statements": [
                                {
                                    "expression": {
                                        "arguments": [
                                            {
                                                "arguments": [
                                                    {
                                                        "hexValue": "6c6f6728616464726573732c75696e742c626f6f6c2c626f6f6c29",
                                                        "id": 19691,
                                                        "isConstant": false,
                                                        "isLValue": false,
                                                        "isPure": true,
                                                        "kind": "string",
                                                        "lValueRequested": false,
                                                        "nodeType": "Literal",
                                                        "src": "52574:29:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_stringliteral_fea1d55aec42c422504acea77de45574d2fa3abd9dc9c6288741e19c3bd9849b",
                                                            "typeString": "literal_string \"log(address,uint,bool,bool)\""
                                                        },
                                                        "value": "log(address,uint,bool,bool)"
                                                    },
                                                    {
                                                        "id": 19692,
                                                        "name": "p0",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 19679,
                                                        "src": "52605:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_address",
                                                            "typeString": "address"
                                                        }
                                                    },
                                                    {
                                                        "id": 19693,
                                                        "name": "p1",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 19681,
                                                        "src": "52609:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_uint256",
                                                            "typeString": "uint256"
                                                        }
                                                    },
                                                    {
                                                        "id": 19694,
                                                        "name": "p2",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 19683,
                                                        "src": "52613:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_bool",
                                                            "typeString": "bool"
                                                        }
                                                    },
                                                    {
                                                        "id": 19695,
                                                        "name": "p3",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 19685,
                                                        "src": "52617:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_bool",
                                                            "typeString": "bool"
                                                        }
                                                    }
                                                ],
                                                "expression": {
                                                    "argumentTypes": [
                                                        {
                                                            "typeIdentifier": "t_stringliteral_fea1d55aec42c422504acea77de45574d2fa3abd9dc9c6288741e19c3bd9849b",
                                                            "typeString": "literal_string \"log(address,uint,bool,bool)\""
                                                        },
                                                        {
                                                            "typeIdentifier": "t_address",
                                                            "typeString": "address"
                                                        },
                                                        {
                                                            "typeIdentifier": "t_uint256",
                                                            "typeString": "uint256"
                                                        },
                                                        {
                                                            "typeIdentifier": "t_bool",
                                                            "typeString": "bool"
                                                        },
                                                        {
                                                            "typeIdentifier": "t_bool",
                                                            "typeString": "bool"
                                                        }
                                                    ],
                                                    "expression": {
                                                        "id": 19689,
                                                        "name": "abi",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 4294967295,
                                                        "src": "52550:3:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_magic_abi",
                                                            "typeString": "abi"
                                                        }
                                                    },
                                                    "id": 19690,
                                                    "isConstant": false,
                                                    "isLValue": false,
                                                    "isPure": true,
                                                    "lValueRequested": false,
                                                    "memberName": "encodeWithSignature",
                                                    "nodeType": "MemberAccess",
                                                    "src": "52550:23:62",
                                                    "typeDescriptions": {
                                                        "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$",
                                                        "typeString": "function (string memory) pure returns (bytes memory)"
                                                    }
                                                },
                                                "id": 19696,
                                                "isConstant": false,
                                                "isLValue": false,
                                                "isPure": false,
                                                "kind": "functionCall",
                                                "lValueRequested": false,
                                                "names": [],
                                                "nodeType": "FunctionCall",
                                                "src": "52550:70:62",
                                                "tryCall": false,
                                                "typeDescriptions": {
                                                    "typeIdentifier": "t_bytes_memory_ptr",
                                                    "typeString": "bytes memory"
                                                }
                                            }
                                        ],
                                        "expression": {
                                            "argumentTypes": [
                                                {
                                                    "typeIdentifier": "t_bytes_memory_ptr",
                                                    "typeString": "bytes memory"
                                                }
                                            ],
                                            "id": 19688,
                                            "name": "_sendLogPayload",
                                            "nodeType": "Identifier",
                                            "overloadedDeclarations": [],
                                            "referencedDeclaration": 12880,
                                            "src": "52534:15:62",
                                            "typeDescriptions": {
                                                "typeIdentifier": "t_function_internal_view$_t_bytes_memory_ptr_$returns$__$",
                                                "typeString": "function (bytes memory) view"
                                            }
                                        },
                                        "id": 19697,
                                        "isConstant": false,
                                        "isLValue": false,
                                        "isPure": false,
                                        "kind": "functionCall",
                                        "lValueRequested": false,
                                        "names": [],
                                        "nodeType": "FunctionCall",
                                        "src": "52534:87:62",
                                        "tryCall": false,
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_tuple$__$",
                                            "typeString": "tuple()"
                                        }
                                    },
                                    "id": 19698,
                                    "nodeType": "ExpressionStatement",
                                    "src": "52534:87:62"
                                }
                            ]
                        },
                        "id": 19700,
                        "implemented": true,
                        "kind": "function",
                        "modifiers": [],
                        "name": "log",
                        "nameLocation": "52473:3:62",
                        "nodeType": "FunctionDefinition",
                        "parameters": {
                            "id": 19686,
                            "nodeType": "ParameterList",
                            "parameters": [
                                {
                                    "constant": false,
                                    "id": 19679,
                                    "mutability": "mutable",
                                    "name": "p0",
                                    "nameLocation": "52485:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 19700,
                                    "src": "52477:10:62",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_address",
                                        "typeString": "address"
                                    },
                                    "typeName": {
                                        "id": 19678,
                                        "name": "address",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "52477:7:62",
                                        "stateMutability": "nonpayable",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_address",
                                            "typeString": "address"
                                        }
                                    },
                                    "visibility": "internal"
                                },
                                {
                                    "constant": false,
                                    "id": 19681,
                                    "mutability": "mutable",
                                    "name": "p1",
                                    "nameLocation": "52494:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 19700,
                                    "src": "52489:7:62",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_uint256",
                                        "typeString": "uint256"
                                    },
                                    "typeName": {
                                        "id": 19680,
                                        "name": "uint",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "52489:4:62",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_uint256",
                                            "typeString": "uint256"
                                        }
                                    },
                                    "visibility": "internal"
                                },
                                {
                                    "constant": false,
                                    "id": 19683,
                                    "mutability": "mutable",
                                    "name": "p2",
                                    "nameLocation": "52503:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 19700,
                                    "src": "52498:7:62",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_bool",
                                        "typeString": "bool"
                                    },
                                    "typeName": {
                                        "id": 19682,
                                        "name": "bool",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "52498:4:62",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_bool",
                                            "typeString": "bool"
                                        }
                                    },
                                    "visibility": "internal"
                                },
                                {
                                    "constant": false,
                                    "id": 19685,
                                    "mutability": "mutable",
                                    "name": "p3",
                                    "nameLocation": "52512:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 19700,
                                    "src": "52507:7:62",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_bool",
                                        "typeString": "bool"
                                    },
                                    "typeName": {
                                        "id": 19684,
                                        "name": "bool",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "52507:4:62",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_bool",
                                            "typeString": "bool"
                                        }
                                    },
                                    "visibility": "internal"
                                }
                            ],
                            "src": "52476:39:62"
                        },
                        "returnParameters": {
                            "id": 19687,
                            "nodeType": "ParameterList",
                            "parameters": [],
                            "src": "52530:0:62"
                        },
                        "scope": 20920,
                        "src": "52464:161:62",
                        "stateMutability": "view",
                        "virtual": false,
                        "visibility": "internal"
                    },
                    {
                        "body": {
                            "id": 19722,
                            "nodeType": "Block",
                            "src": "52697:98:62",
                            "statements": [
                                {
                                    "expression": {
                                        "arguments": [
                                            {
                                                "arguments": [
                                                    {
                                                        "hexValue": "6c6f6728616464726573732c75696e742c626f6f6c2c6164647265737329",
                                                        "id": 19714,
                                                        "isConstant": false,
                                                        "isLValue": false,
                                                        "isPure": true,
                                                        "kind": "string",
                                                        "lValueRequested": false,
                                                        "nodeType": "Literal",
                                                        "src": "52741:32:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_stringliteral_23e5497254e625e6c33a3fa3eb47ff18f6bac3345da52f847bd5571820febf2d",
                                                            "typeString": "literal_string \"log(address,uint,bool,address)\""
                                                        },
                                                        "value": "log(address,uint,bool,address)"
                                                    },
                                                    {
                                                        "id": 19715,
                                                        "name": "p0",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 19702,
                                                        "src": "52775:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_address",
                                                            "typeString": "address"
                                                        }
                                                    },
                                                    {
                                                        "id": 19716,
                                                        "name": "p1",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 19704,
                                                        "src": "52779:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_uint256",
                                                            "typeString": "uint256"
                                                        }
                                                    },
                                                    {
                                                        "id": 19717,
                                                        "name": "p2",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 19706,
                                                        "src": "52783:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_bool",
                                                            "typeString": "bool"
                                                        }
                                                    },
                                                    {
                                                        "id": 19718,
                                                        "name": "p3",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 19708,
                                                        "src": "52787:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_address",
                                                            "typeString": "address"
                                                        }
                                                    }
                                                ],
                                                "expression": {
                                                    "argumentTypes": [
                                                        {
                                                            "typeIdentifier": "t_stringliteral_23e5497254e625e6c33a3fa3eb47ff18f6bac3345da52f847bd5571820febf2d",
                                                            "typeString": "literal_string \"log(address,uint,bool,address)\""
                                                        },
                                                        {
                                                            "typeIdentifier": "t_address",
                                                            "typeString": "address"
                                                        },
                                                        {
                                                            "typeIdentifier": "t_uint256",
                                                            "typeString": "uint256"
                                                        },
                                                        {
                                                            "typeIdentifier": "t_bool",
                                                            "typeString": "bool"
                                                        },
                                                        {
                                                            "typeIdentifier": "t_address",
                                                            "typeString": "address"
                                                        }
                                                    ],
                                                    "expression": {
                                                        "id": 19712,
                                                        "name": "abi",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 4294967295,
                                                        "src": "52717:3:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_magic_abi",
                                                            "typeString": "abi"
                                                        }
                                                    },
                                                    "id": 19713,
                                                    "isConstant": false,
                                                    "isLValue": false,
                                                    "isPure": true,
                                                    "lValueRequested": false,
                                                    "memberName": "encodeWithSignature",
                                                    "nodeType": "MemberAccess",
                                                    "src": "52717:23:62",
                                                    "typeDescriptions": {
                                                        "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$",
                                                        "typeString": "function (string memory) pure returns (bytes memory)"
                                                    }
                                                },
                                                "id": 19719,
                                                "isConstant": false,
                                                "isLValue": false,
                                                "isPure": false,
                                                "kind": "functionCall",
                                                "lValueRequested": false,
                                                "names": [],
                                                "nodeType": "FunctionCall",
                                                "src": "52717:73:62",
                                                "tryCall": false,
                                                "typeDescriptions": {
                                                    "typeIdentifier": "t_bytes_memory_ptr",
                                                    "typeString": "bytes memory"
                                                }
                                            }
                                        ],
                                        "expression": {
                                            "argumentTypes": [
                                                {
                                                    "typeIdentifier": "t_bytes_memory_ptr",
                                                    "typeString": "bytes memory"
                                                }
                                            ],
                                            "id": 19711,
                                            "name": "_sendLogPayload",
                                            "nodeType": "Identifier",
                                            "overloadedDeclarations": [],
                                            "referencedDeclaration": 12880,
                                            "src": "52701:15:62",
                                            "typeDescriptions": {
                                                "typeIdentifier": "t_function_internal_view$_t_bytes_memory_ptr_$returns$__$",
                                                "typeString": "function (bytes memory) view"
                                            }
                                        },
                                        "id": 19720,
                                        "isConstant": false,
                                        "isLValue": false,
                                        "isPure": false,
                                        "kind": "functionCall",
                                        "lValueRequested": false,
                                        "names": [],
                                        "nodeType": "FunctionCall",
                                        "src": "52701:90:62",
                                        "tryCall": false,
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_tuple$__$",
                                            "typeString": "tuple()"
                                        }
                                    },
                                    "id": 19721,
                                    "nodeType": "ExpressionStatement",
                                    "src": "52701:90:62"
                                }
                            ]
                        },
                        "id": 19723,
                        "implemented": true,
                        "kind": "function",
                        "modifiers": [],
                        "name": "log",
                        "nameLocation": "52637:3:62",
                        "nodeType": "FunctionDefinition",
                        "parameters": {
                            "id": 19709,
                            "nodeType": "ParameterList",
                            "parameters": [
                                {
                                    "constant": false,
                                    "id": 19702,
                                    "mutability": "mutable",
                                    "name": "p0",
                                    "nameLocation": "52649:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 19723,
                                    "src": "52641:10:62",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_address",
                                        "typeString": "address"
                                    },
                                    "typeName": {
                                        "id": 19701,
                                        "name": "address",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "52641:7:62",
                                        "stateMutability": "nonpayable",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_address",
                                            "typeString": "address"
                                        }
                                    },
                                    "visibility": "internal"
                                },
                                {
                                    "constant": false,
                                    "id": 19704,
                                    "mutability": "mutable",
                                    "name": "p1",
                                    "nameLocation": "52658:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 19723,
                                    "src": "52653:7:62",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_uint256",
                                        "typeString": "uint256"
                                    },
                                    "typeName": {
                                        "id": 19703,
                                        "name": "uint",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "52653:4:62",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_uint256",
                                            "typeString": "uint256"
                                        }
                                    },
                                    "visibility": "internal"
                                },
                                {
                                    "constant": false,
                                    "id": 19706,
                                    "mutability": "mutable",
                                    "name": "p2",
                                    "nameLocation": "52667:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 19723,
                                    "src": "52662:7:62",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_bool",
                                        "typeString": "bool"
                                    },
                                    "typeName": {
                                        "id": 19705,
                                        "name": "bool",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "52662:4:62",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_bool",
                                            "typeString": "bool"
                                        }
                                    },
                                    "visibility": "internal"
                                },
                                {
                                    "constant": false,
                                    "id": 19708,
                                    "mutability": "mutable",
                                    "name": "p3",
                                    "nameLocation": "52679:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 19723,
                                    "src": "52671:10:62",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_address",
                                        "typeString": "address"
                                    },
                                    "typeName": {
                                        "id": 19707,
                                        "name": "address",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "52671:7:62",
                                        "stateMutability": "nonpayable",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_address",
                                            "typeString": "address"
                                        }
                                    },
                                    "visibility": "internal"
                                }
                            ],
                            "src": "52640:42:62"
                        },
                        "returnParameters": {
                            "id": 19710,
                            "nodeType": "ParameterList",
                            "parameters": [],
                            "src": "52697:0:62"
                        },
                        "scope": 20920,
                        "src": "52628:167:62",
                        "stateMutability": "view",
                        "virtual": false,
                        "visibility": "internal"
                    },
                    {
                        "body": {
                            "id": 19745,
                            "nodeType": "Block",
                            "src": "52867:98:62",
                            "statements": [
                                {
                                    "expression": {
                                        "arguments": [
                                            {
                                                "arguments": [
                                                    {
                                                        "hexValue": "6c6f6728616464726573732c75696e742c616464726573732c75696e7429",
                                                        "id": 19737,
                                                        "isConstant": false,
                                                        "isLValue": false,
                                                        "isPure": true,
                                                        "kind": "string",
                                                        "lValueRequested": false,
                                                        "nodeType": "Literal",
                                                        "src": "52911:32:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_stringliteral_a5d98768f8145ad77f2cf1b1f44790c3edb28c68feadee43b01883b75311ac0e",
                                                            "typeString": "literal_string \"log(address,uint,address,uint)\""
                                                        },
                                                        "value": "log(address,uint,address,uint)"
                                                    },
                                                    {
                                                        "id": 19738,
                                                        "name": "p0",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 19725,
                                                        "src": "52945:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_address",
                                                            "typeString": "address"
                                                        }
                                                    },
                                                    {
                                                        "id": 19739,
                                                        "name": "p1",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 19727,
                                                        "src": "52949:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_uint256",
                                                            "typeString": "uint256"
                                                        }
                                                    },
                                                    {
                                                        "id": 19740,
                                                        "name": "p2",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 19729,
                                                        "src": "52953:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_address",
                                                            "typeString": "address"
                                                        }
                                                    },
                                                    {
                                                        "id": 19741,
                                                        "name": "p3",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 19731,
                                                        "src": "52957:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_uint256",
                                                            "typeString": "uint256"
                                                        }
                                                    }
                                                ],
                                                "expression": {
                                                    "argumentTypes": [
                                                        {
                                                            "typeIdentifier": "t_stringliteral_a5d98768f8145ad77f2cf1b1f44790c3edb28c68feadee43b01883b75311ac0e",
                                                            "typeString": "literal_string \"log(address,uint,address,uint)\""
                                                        },
                                                        {
                                                            "typeIdentifier": "t_address",
                                                            "typeString": "address"
                                                        },
                                                        {
                                                            "typeIdentifier": "t_uint256",
                                                            "typeString": "uint256"
                                                        },
                                                        {
                                                            "typeIdentifier": "t_address",
                                                            "typeString": "address"
                                                        },
                                                        {
                                                            "typeIdentifier": "t_uint256",
                                                            "typeString": "uint256"
                                                        }
                                                    ],
                                                    "expression": {
                                                        "id": 19735,
                                                        "name": "abi",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 4294967295,
                                                        "src": "52887:3:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_magic_abi",
                                                            "typeString": "abi"
                                                        }
                                                    },
                                                    "id": 19736,
                                                    "isConstant": false,
                                                    "isLValue": false,
                                                    "isPure": true,
                                                    "lValueRequested": false,
                                                    "memberName": "encodeWithSignature",
                                                    "nodeType": "MemberAccess",
                                                    "src": "52887:23:62",
                                                    "typeDescriptions": {
                                                        "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$",
                                                        "typeString": "function (string memory) pure returns (bytes memory)"
                                                    }
                                                },
                                                "id": 19742,
                                                "isConstant": false,
                                                "isLValue": false,
                                                "isPure": false,
                                                "kind": "functionCall",
                                                "lValueRequested": false,
                                                "names": [],
                                                "nodeType": "FunctionCall",
                                                "src": "52887:73:62",
                                                "tryCall": false,
                                                "typeDescriptions": {
                                                    "typeIdentifier": "t_bytes_memory_ptr",
                                                    "typeString": "bytes memory"
                                                }
                                            }
                                        ],
                                        "expression": {
                                            "argumentTypes": [
                                                {
                                                    "typeIdentifier": "t_bytes_memory_ptr",
                                                    "typeString": "bytes memory"
                                                }
                                            ],
                                            "id": 19734,
                                            "name": "_sendLogPayload",
                                            "nodeType": "Identifier",
                                            "overloadedDeclarations": [],
                                            "referencedDeclaration": 12880,
                                            "src": "52871:15:62",
                                            "typeDescriptions": {
                                                "typeIdentifier": "t_function_internal_view$_t_bytes_memory_ptr_$returns$__$",
                                                "typeString": "function (bytes memory) view"
                                            }
                                        },
                                        "id": 19743,
                                        "isConstant": false,
                                        "isLValue": false,
                                        "isPure": false,
                                        "kind": "functionCall",
                                        "lValueRequested": false,
                                        "names": [],
                                        "nodeType": "FunctionCall",
                                        "src": "52871:90:62",
                                        "tryCall": false,
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_tuple$__$",
                                            "typeString": "tuple()"
                                        }
                                    },
                                    "id": 19744,
                                    "nodeType": "ExpressionStatement",
                                    "src": "52871:90:62"
                                }
                            ]
                        },
                        "id": 19746,
                        "implemented": true,
                        "kind": "function",
                        "modifiers": [],
                        "name": "log",
                        "nameLocation": "52807:3:62",
                        "nodeType": "FunctionDefinition",
                        "parameters": {
                            "id": 19732,
                            "nodeType": "ParameterList",
                            "parameters": [
                                {
                                    "constant": false,
                                    "id": 19725,
                                    "mutability": "mutable",
                                    "name": "p0",
                                    "nameLocation": "52819:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 19746,
                                    "src": "52811:10:62",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_address",
                                        "typeString": "address"
                                    },
                                    "typeName": {
                                        "id": 19724,
                                        "name": "address",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "52811:7:62",
                                        "stateMutability": "nonpayable",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_address",
                                            "typeString": "address"
                                        }
                                    },
                                    "visibility": "internal"
                                },
                                {
                                    "constant": false,
                                    "id": 19727,
                                    "mutability": "mutable",
                                    "name": "p1",
                                    "nameLocation": "52828:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 19746,
                                    "src": "52823:7:62",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_uint256",
                                        "typeString": "uint256"
                                    },
                                    "typeName": {
                                        "id": 19726,
                                        "name": "uint",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "52823:4:62",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_uint256",
                                            "typeString": "uint256"
                                        }
                                    },
                                    "visibility": "internal"
                                },
                                {
                                    "constant": false,
                                    "id": 19729,
                                    "mutability": "mutable",
                                    "name": "p2",
                                    "nameLocation": "52840:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 19746,
                                    "src": "52832:10:62",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_address",
                                        "typeString": "address"
                                    },
                                    "typeName": {
                                        "id": 19728,
                                        "name": "address",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "52832:7:62",
                                        "stateMutability": "nonpayable",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_address",
                                            "typeString": "address"
                                        }
                                    },
                                    "visibility": "internal"
                                },
                                {
                                    "constant": false,
                                    "id": 19731,
                                    "mutability": "mutable",
                                    "name": "p3",
                                    "nameLocation": "52849:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 19746,
                                    "src": "52844:7:62",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_uint256",
                                        "typeString": "uint256"
                                    },
                                    "typeName": {
                                        "id": 19730,
                                        "name": "uint",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "52844:4:62",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_uint256",
                                            "typeString": "uint256"
                                        }
                                    },
                                    "visibility": "internal"
                                }
                            ],
                            "src": "52810:42:62"
                        },
                        "returnParameters": {
                            "id": 19733,
                            "nodeType": "ParameterList",
                            "parameters": [],
                            "src": "52867:0:62"
                        },
                        "scope": 20920,
                        "src": "52798:167:62",
                        "stateMutability": "view",
                        "virtual": false,
                        "visibility": "internal"
                    },
                    {
                        "body": {
                            "id": 19768,
                            "nodeType": "Block",
                            "src": "53046:100:62",
                            "statements": [
                                {
                                    "expression": {
                                        "arguments": [
                                            {
                                                "arguments": [
                                                    {
                                                        "hexValue": "6c6f6728616464726573732c75696e742c616464726573732c737472696e6729",
                                                        "id": 19760,
                                                        "isConstant": false,
                                                        "isLValue": false,
                                                        "isPure": true,
                                                        "kind": "string",
                                                        "lValueRequested": false,
                                                        "nodeType": "Literal",
                                                        "src": "53090:34:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_stringliteral_5d71f39ef468709ab1c82c125aa1311ff96f65f56794c27c7babe5651379e4b4",
                                                            "typeString": "literal_string \"log(address,uint,address,string)\""
                                                        },
                                                        "value": "log(address,uint,address,string)"
                                                    },
                                                    {
                                                        "id": 19761,
                                                        "name": "p0",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 19748,
                                                        "src": "53126:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_address",
                                                            "typeString": "address"
                                                        }
                                                    },
                                                    {
                                                        "id": 19762,
                                                        "name": "p1",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 19750,
                                                        "src": "53130:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_uint256",
                                                            "typeString": "uint256"
                                                        }
                                                    },
                                                    {
                                                        "id": 19763,
                                                        "name": "p2",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 19752,
                                                        "src": "53134:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_address",
                                                            "typeString": "address"
                                                        }
                                                    },
                                                    {
                                                        "id": 19764,
                                                        "name": "p3",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 19754,
                                                        "src": "53138:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_string_memory_ptr",
                                                            "typeString": "string memory"
                                                        }
                                                    }
                                                ],
                                                "expression": {
                                                    "argumentTypes": [
                                                        {
                                                            "typeIdentifier": "t_stringliteral_5d71f39ef468709ab1c82c125aa1311ff96f65f56794c27c7babe5651379e4b4",
                                                            "typeString": "literal_string \"log(address,uint,address,string)\""
                                                        },
                                                        {
                                                            "typeIdentifier": "t_address",
                                                            "typeString": "address"
                                                        },
                                                        {
                                                            "typeIdentifier": "t_uint256",
                                                            "typeString": "uint256"
                                                        },
                                                        {
                                                            "typeIdentifier": "t_address",
                                                            "typeString": "address"
                                                        },
                                                        {
                                                            "typeIdentifier": "t_string_memory_ptr",
                                                            "typeString": "string memory"
                                                        }
                                                    ],
                                                    "expression": {
                                                        "id": 19758,
                                                        "name": "abi",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 4294967295,
                                                        "src": "53066:3:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_magic_abi",
                                                            "typeString": "abi"
                                                        }
                                                    },
                                                    "id": 19759,
                                                    "isConstant": false,
                                                    "isLValue": false,
                                                    "isPure": true,
                                                    "lValueRequested": false,
                                                    "memberName": "encodeWithSignature",
                                                    "nodeType": "MemberAccess",
                                                    "src": "53066:23:62",
                                                    "typeDescriptions": {
                                                        "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$",
                                                        "typeString": "function (string memory) pure returns (bytes memory)"
                                                    }
                                                },
                                                "id": 19765,
                                                "isConstant": false,
                                                "isLValue": false,
                                                "isPure": false,
                                                "kind": "functionCall",
                                                "lValueRequested": false,
                                                "names": [],
                                                "nodeType": "FunctionCall",
                                                "src": "53066:75:62",
                                                "tryCall": false,
                                                "typeDescriptions": {
                                                    "typeIdentifier": "t_bytes_memory_ptr",
                                                    "typeString": "bytes memory"
                                                }
                                            }
                                        ],
                                        "expression": {
                                            "argumentTypes": [
                                                {
                                                    "typeIdentifier": "t_bytes_memory_ptr",
                                                    "typeString": "bytes memory"
                                                }
                                            ],
                                            "id": 19757,
                                            "name": "_sendLogPayload",
                                            "nodeType": "Identifier",
                                            "overloadedDeclarations": [],
                                            "referencedDeclaration": 12880,
                                            "src": "53050:15:62",
                                            "typeDescriptions": {
                                                "typeIdentifier": "t_function_internal_view$_t_bytes_memory_ptr_$returns$__$",
                                                "typeString": "function (bytes memory) view"
                                            }
                                        },
                                        "id": 19766,
                                        "isConstant": false,
                                        "isLValue": false,
                                        "isPure": false,
                                        "kind": "functionCall",
                                        "lValueRequested": false,
                                        "names": [],
                                        "nodeType": "FunctionCall",
                                        "src": "53050:92:62",
                                        "tryCall": false,
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_tuple$__$",
                                            "typeString": "tuple()"
                                        }
                                    },
                                    "id": 19767,
                                    "nodeType": "ExpressionStatement",
                                    "src": "53050:92:62"
                                }
                            ]
                        },
                        "id": 19769,
                        "implemented": true,
                        "kind": "function",
                        "modifiers": [],
                        "name": "log",
                        "nameLocation": "52977:3:62",
                        "nodeType": "FunctionDefinition",
                        "parameters": {
                            "id": 19755,
                            "nodeType": "ParameterList",
                            "parameters": [
                                {
                                    "constant": false,
                                    "id": 19748,
                                    "mutability": "mutable",
                                    "name": "p0",
                                    "nameLocation": "52989:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 19769,
                                    "src": "52981:10:62",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_address",
                                        "typeString": "address"
                                    },
                                    "typeName": {
                                        "id": 19747,
                                        "name": "address",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "52981:7:62",
                                        "stateMutability": "nonpayable",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_address",
                                            "typeString": "address"
                                        }
                                    },
                                    "visibility": "internal"
                                },
                                {
                                    "constant": false,
                                    "id": 19750,
                                    "mutability": "mutable",
                                    "name": "p1",
                                    "nameLocation": "52998:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 19769,
                                    "src": "52993:7:62",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_uint256",
                                        "typeString": "uint256"
                                    },
                                    "typeName": {
                                        "id": 19749,
                                        "name": "uint",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "52993:4:62",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_uint256",
                                            "typeString": "uint256"
                                        }
                                    },
                                    "visibility": "internal"
                                },
                                {
                                    "constant": false,
                                    "id": 19752,
                                    "mutability": "mutable",
                                    "name": "p2",
                                    "nameLocation": "53010:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 19769,
                                    "src": "53002:10:62",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_address",
                                        "typeString": "address"
                                    },
                                    "typeName": {
                                        "id": 19751,
                                        "name": "address",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "53002:7:62",
                                        "stateMutability": "nonpayable",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_address",
                                            "typeString": "address"
                                        }
                                    },
                                    "visibility": "internal"
                                },
                                {
                                    "constant": false,
                                    "id": 19754,
                                    "mutability": "mutable",
                                    "name": "p3",
                                    "nameLocation": "53028:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 19769,
                                    "src": "53014:16:62",
                                    "stateVariable": false,
                                    "storageLocation": "memory",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_string_memory_ptr",
                                        "typeString": "string"
                                    },
                                    "typeName": {
                                        "id": 19753,
                                        "name": "string",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "53014:6:62",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_string_storage_ptr",
                                            "typeString": "string"
                                        }
                                    },
                                    "visibility": "internal"
                                }
                            ],
                            "src": "52980:51:62"
                        },
                        "returnParameters": {
                            "id": 19756,
                            "nodeType": "ParameterList",
                            "parameters": [],
                            "src": "53046:0:62"
                        },
                        "scope": 20920,
                        "src": "52968:178:62",
                        "stateMutability": "view",
                        "virtual": false,
                        "visibility": "internal"
                    },
                    {
                        "body": {
                            "id": 19791,
                            "nodeType": "Block",
                            "src": "53218:98:62",
                            "statements": [
                                {
                                    "expression": {
                                        "arguments": [
                                            {
                                                "arguments": [
                                                    {
                                                        "hexValue": "6c6f6728616464726573732c75696e742c616464726573732c626f6f6c29",
                                                        "id": 19783,
                                                        "isConstant": false,
                                                        "isLValue": false,
                                                        "isPure": true,
                                                        "kind": "string",
                                                        "lValueRequested": false,
                                                        "nodeType": "Literal",
                                                        "src": "53262:32:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_stringliteral_f181a1e98aefbb6e5d63ca72f24da9aa3686f47d72314c12e70fa7843b309ee6",
                                                            "typeString": "literal_string \"log(address,uint,address,bool)\""
                                                        },
                                                        "value": "log(address,uint,address,bool)"
                                                    },
                                                    {
                                                        "id": 19784,
                                                        "name": "p0",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 19771,
                                                        "src": "53296:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_address",
                                                            "typeString": "address"
                                                        }
                                                    },
                                                    {
                                                        "id": 19785,
                                                        "name": "p1",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 19773,
                                                        "src": "53300:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_uint256",
                                                            "typeString": "uint256"
                                                        }
                                                    },
                                                    {
                                                        "id": 19786,
                                                        "name": "p2",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 19775,
                                                        "src": "53304:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_address",
                                                            "typeString": "address"
                                                        }
                                                    },
                                                    {
                                                        "id": 19787,
                                                        "name": "p3",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 19777,
                                                        "src": "53308:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_bool",
                                                            "typeString": "bool"
                                                        }
                                                    }
                                                ],
                                                "expression": {
                                                    "argumentTypes": [
                                                        {
                                                            "typeIdentifier": "t_stringliteral_f181a1e98aefbb6e5d63ca72f24da9aa3686f47d72314c12e70fa7843b309ee6",
                                                            "typeString": "literal_string \"log(address,uint,address,bool)\""
                                                        },
                                                        {
                                                            "typeIdentifier": "t_address",
                                                            "typeString": "address"
                                                        },
                                                        {
                                                            "typeIdentifier": "t_uint256",
                                                            "typeString": "uint256"
                                                        },
                                                        {
                                                            "typeIdentifier": "t_address",
                                                            "typeString": "address"
                                                        },
                                                        {
                                                            "typeIdentifier": "t_bool",
                                                            "typeString": "bool"
                                                        }
                                                    ],
                                                    "expression": {
                                                        "id": 19781,
                                                        "name": "abi",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 4294967295,
                                                        "src": "53238:3:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_magic_abi",
                                                            "typeString": "abi"
                                                        }
                                                    },
                                                    "id": 19782,
                                                    "isConstant": false,
                                                    "isLValue": false,
                                                    "isPure": true,
                                                    "lValueRequested": false,
                                                    "memberName": "encodeWithSignature",
                                                    "nodeType": "MemberAccess",
                                                    "src": "53238:23:62",
                                                    "typeDescriptions": {
                                                        "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$",
                                                        "typeString": "function (string memory) pure returns (bytes memory)"
                                                    }
                                                },
                                                "id": 19788,
                                                "isConstant": false,
                                                "isLValue": false,
                                                "isPure": false,
                                                "kind": "functionCall",
                                                "lValueRequested": false,
                                                "names": [],
                                                "nodeType": "FunctionCall",
                                                "src": "53238:73:62",
                                                "tryCall": false,
                                                "typeDescriptions": {
                                                    "typeIdentifier": "t_bytes_memory_ptr",
                                                    "typeString": "bytes memory"
                                                }
                                            }
                                        ],
                                        "expression": {
                                            "argumentTypes": [
                                                {
                                                    "typeIdentifier": "t_bytes_memory_ptr",
                                                    "typeString": "bytes memory"
                                                }
                                            ],
                                            "id": 19780,
                                            "name": "_sendLogPayload",
                                            "nodeType": "Identifier",
                                            "overloadedDeclarations": [],
                                            "referencedDeclaration": 12880,
                                            "src": "53222:15:62",
                                            "typeDescriptions": {
                                                "typeIdentifier": "t_function_internal_view$_t_bytes_memory_ptr_$returns$__$",
                                                "typeString": "function (bytes memory) view"
                                            }
                                        },
                                        "id": 19789,
                                        "isConstant": false,
                                        "isLValue": false,
                                        "isPure": false,
                                        "kind": "functionCall",
                                        "lValueRequested": false,
                                        "names": [],
                                        "nodeType": "FunctionCall",
                                        "src": "53222:90:62",
                                        "tryCall": false,
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_tuple$__$",
                                            "typeString": "tuple()"
                                        }
                                    },
                                    "id": 19790,
                                    "nodeType": "ExpressionStatement",
                                    "src": "53222:90:62"
                                }
                            ]
                        },
                        "id": 19792,
                        "implemented": true,
                        "kind": "function",
                        "modifiers": [],
                        "name": "log",
                        "nameLocation": "53158:3:62",
                        "nodeType": "FunctionDefinition",
                        "parameters": {
                            "id": 19778,
                            "nodeType": "ParameterList",
                            "parameters": [
                                {
                                    "constant": false,
                                    "id": 19771,
                                    "mutability": "mutable",
                                    "name": "p0",
                                    "nameLocation": "53170:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 19792,
                                    "src": "53162:10:62",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_address",
                                        "typeString": "address"
                                    },
                                    "typeName": {
                                        "id": 19770,
                                        "name": "address",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "53162:7:62",
                                        "stateMutability": "nonpayable",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_address",
                                            "typeString": "address"
                                        }
                                    },
                                    "visibility": "internal"
                                },
                                {
                                    "constant": false,
                                    "id": 19773,
                                    "mutability": "mutable",
                                    "name": "p1",
                                    "nameLocation": "53179:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 19792,
                                    "src": "53174:7:62",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_uint256",
                                        "typeString": "uint256"
                                    },
                                    "typeName": {
                                        "id": 19772,
                                        "name": "uint",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "53174:4:62",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_uint256",
                                            "typeString": "uint256"
                                        }
                                    },
                                    "visibility": "internal"
                                },
                                {
                                    "constant": false,
                                    "id": 19775,
                                    "mutability": "mutable",
                                    "name": "p2",
                                    "nameLocation": "53191:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 19792,
                                    "src": "53183:10:62",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_address",
                                        "typeString": "address"
                                    },
                                    "typeName": {
                                        "id": 19774,
                                        "name": "address",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "53183:7:62",
                                        "stateMutability": "nonpayable",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_address",
                                            "typeString": "address"
                                        }
                                    },
                                    "visibility": "internal"
                                },
                                {
                                    "constant": false,
                                    "id": 19777,
                                    "mutability": "mutable",
                                    "name": "p3",
                                    "nameLocation": "53200:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 19792,
                                    "src": "53195:7:62",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_bool",
                                        "typeString": "bool"
                                    },
                                    "typeName": {
                                        "id": 19776,
                                        "name": "bool",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "53195:4:62",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_bool",
                                            "typeString": "bool"
                                        }
                                    },
                                    "visibility": "internal"
                                }
                            ],
                            "src": "53161:42:62"
                        },
                        "returnParameters": {
                            "id": 19779,
                            "nodeType": "ParameterList",
                            "parameters": [],
                            "src": "53218:0:62"
                        },
                        "scope": 20920,
                        "src": "53149:167:62",
                        "stateMutability": "view",
                        "virtual": false,
                        "visibility": "internal"
                    },
                    {
                        "body": {
                            "id": 19814,
                            "nodeType": "Block",
                            "src": "53391:101:62",
                            "statements": [
                                {
                                    "expression": {
                                        "arguments": [
                                            {
                                                "arguments": [
                                                    {
                                                        "hexValue": "6c6f6728616464726573732c75696e742c616464726573732c6164647265737329",
                                                        "id": 19806,
                                                        "isConstant": false,
                                                        "isLValue": false,
                                                        "isPure": true,
                                                        "kind": "string",
                                                        "lValueRequested": false,
                                                        "nodeType": "Literal",
                                                        "src": "53435:35:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_stringliteral_ec24846f1ed52bfa5dc64139c1bf8b03f991fdd5156eccb50dfe44ca5a2ca40e",
                                                            "typeString": "literal_string \"log(address,uint,address,address)\""
                                                        },
                                                        "value": "log(address,uint,address,address)"
                                                    },
                                                    {
                                                        "id": 19807,
                                                        "name": "p0",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 19794,
                                                        "src": "53472:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_address",
                                                            "typeString": "address"
                                                        }
                                                    },
                                                    {
                                                        "id": 19808,
                                                        "name": "p1",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 19796,
                                                        "src": "53476:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_uint256",
                                                            "typeString": "uint256"
                                                        }
                                                    },
                                                    {
                                                        "id": 19809,
                                                        "name": "p2",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 19798,
                                                        "src": "53480:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_address",
                                                            "typeString": "address"
                                                        }
                                                    },
                                                    {
                                                        "id": 19810,
                                                        "name": "p3",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 19800,
                                                        "src": "53484:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_address",
                                                            "typeString": "address"
                                                        }
                                                    }
                                                ],
                                                "expression": {
                                                    "argumentTypes": [
                                                        {
                                                            "typeIdentifier": "t_stringliteral_ec24846f1ed52bfa5dc64139c1bf8b03f991fdd5156eccb50dfe44ca5a2ca40e",
                                                            "typeString": "literal_string \"log(address,uint,address,address)\""
                                                        },
                                                        {
                                                            "typeIdentifier": "t_address",
                                                            "typeString": "address"
                                                        },
                                                        {
                                                            "typeIdentifier": "t_uint256",
                                                            "typeString": "uint256"
                                                        },
                                                        {
                                                            "typeIdentifier": "t_address",
                                                            "typeString": "address"
                                                        },
                                                        {
                                                            "typeIdentifier": "t_address",
                                                            "typeString": "address"
                                                        }
                                                    ],
                                                    "expression": {
                                                        "id": 19804,
                                                        "name": "abi",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 4294967295,
                                                        "src": "53411:3:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_magic_abi",
                                                            "typeString": "abi"
                                                        }
                                                    },
                                                    "id": 19805,
                                                    "isConstant": false,
                                                    "isLValue": false,
                                                    "isPure": true,
                                                    "lValueRequested": false,
                                                    "memberName": "encodeWithSignature",
                                                    "nodeType": "MemberAccess",
                                                    "src": "53411:23:62",
                                                    "typeDescriptions": {
                                                        "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$",
                                                        "typeString": "function (string memory) pure returns (bytes memory)"
                                                    }
                                                },
                                                "id": 19811,
                                                "isConstant": false,
                                                "isLValue": false,
                                                "isPure": false,
                                                "kind": "functionCall",
                                                "lValueRequested": false,
                                                "names": [],
                                                "nodeType": "FunctionCall",
                                                "src": "53411:76:62",
                                                "tryCall": false,
                                                "typeDescriptions": {
                                                    "typeIdentifier": "t_bytes_memory_ptr",
                                                    "typeString": "bytes memory"
                                                }
                                            }
                                        ],
                                        "expression": {
                                            "argumentTypes": [
                                                {
                                                    "typeIdentifier": "t_bytes_memory_ptr",
                                                    "typeString": "bytes memory"
                                                }
                                            ],
                                            "id": 19803,
                                            "name": "_sendLogPayload",
                                            "nodeType": "Identifier",
                                            "overloadedDeclarations": [],
                                            "referencedDeclaration": 12880,
                                            "src": "53395:15:62",
                                            "typeDescriptions": {
                                                "typeIdentifier": "t_function_internal_view$_t_bytes_memory_ptr_$returns$__$",
                                                "typeString": "function (bytes memory) view"
                                            }
                                        },
                                        "id": 19812,
                                        "isConstant": false,
                                        "isLValue": false,
                                        "isPure": false,
                                        "kind": "functionCall",
                                        "lValueRequested": false,
                                        "names": [],
                                        "nodeType": "FunctionCall",
                                        "src": "53395:93:62",
                                        "tryCall": false,
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_tuple$__$",
                                            "typeString": "tuple()"
                                        }
                                    },
                                    "id": 19813,
                                    "nodeType": "ExpressionStatement",
                                    "src": "53395:93:62"
                                }
                            ]
                        },
                        "id": 19815,
                        "implemented": true,
                        "kind": "function",
                        "modifiers": [],
                        "name": "log",
                        "nameLocation": "53328:3:62",
                        "nodeType": "FunctionDefinition",
                        "parameters": {
                            "id": 19801,
                            "nodeType": "ParameterList",
                            "parameters": [
                                {
                                    "constant": false,
                                    "id": 19794,
                                    "mutability": "mutable",
                                    "name": "p0",
                                    "nameLocation": "53340:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 19815,
                                    "src": "53332:10:62",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_address",
                                        "typeString": "address"
                                    },
                                    "typeName": {
                                        "id": 19793,
                                        "name": "address",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "53332:7:62",
                                        "stateMutability": "nonpayable",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_address",
                                            "typeString": "address"
                                        }
                                    },
                                    "visibility": "internal"
                                },
                                {
                                    "constant": false,
                                    "id": 19796,
                                    "mutability": "mutable",
                                    "name": "p1",
                                    "nameLocation": "53349:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 19815,
                                    "src": "53344:7:62",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_uint256",
                                        "typeString": "uint256"
                                    },
                                    "typeName": {
                                        "id": 19795,
                                        "name": "uint",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "53344:4:62",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_uint256",
                                            "typeString": "uint256"
                                        }
                                    },
                                    "visibility": "internal"
                                },
                                {
                                    "constant": false,
                                    "id": 19798,
                                    "mutability": "mutable",
                                    "name": "p2",
                                    "nameLocation": "53361:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 19815,
                                    "src": "53353:10:62",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_address",
                                        "typeString": "address"
                                    },
                                    "typeName": {
                                        "id": 19797,
                                        "name": "address",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "53353:7:62",
                                        "stateMutability": "nonpayable",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_address",
                                            "typeString": "address"
                                        }
                                    },
                                    "visibility": "internal"
                                },
                                {
                                    "constant": false,
                                    "id": 19800,
                                    "mutability": "mutable",
                                    "name": "p3",
                                    "nameLocation": "53373:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 19815,
                                    "src": "53365:10:62",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_address",
                                        "typeString": "address"
                                    },
                                    "typeName": {
                                        "id": 19799,
                                        "name": "address",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "53365:7:62",
                                        "stateMutability": "nonpayable",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_address",
                                            "typeString": "address"
                                        }
                                    },
                                    "visibility": "internal"
                                }
                            ],
                            "src": "53331:45:62"
                        },
                        "returnParameters": {
                            "id": 19802,
                            "nodeType": "ParameterList",
                            "parameters": [],
                            "src": "53391:0:62"
                        },
                        "scope": 20920,
                        "src": "53319:173:62",
                        "stateMutability": "view",
                        "virtual": false,
                        "visibility": "internal"
                    },
                    {
                        "body": {
                            "id": 19837,
                            "nodeType": "Block",
                            "src": "53570:97:62",
                            "statements": [
                                {
                                    "expression": {
                                        "arguments": [
                                            {
                                                "arguments": [
                                                    {
                                                        "hexValue": "6c6f6728616464726573732c737472696e672c75696e742c75696e7429",
                                                        "id": 19829,
                                                        "isConstant": false,
                                                        "isLValue": false,
                                                        "isPure": true,
                                                        "kind": "string",
                                                        "lValueRequested": false,
                                                        "nodeType": "Literal",
                                                        "src": "53614:31:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_stringliteral_a4c92a60ad8c7136a44d442238a838fba251b421248205a77f1a522d55c988af",
                                                            "typeString": "literal_string \"log(address,string,uint,uint)\""
                                                        },
                                                        "value": "log(address,string,uint,uint)"
                                                    },
                                                    {
                                                        "id": 19830,
                                                        "name": "p0",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 19817,
                                                        "src": "53647:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_address",
                                                            "typeString": "address"
                                                        }
                                                    },
                                                    {
                                                        "id": 19831,
                                                        "name": "p1",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 19819,
                                                        "src": "53651:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_string_memory_ptr",
                                                            "typeString": "string memory"
                                                        }
                                                    },
                                                    {
                                                        "id": 19832,
                                                        "name": "p2",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 19821,
                                                        "src": "53655:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_uint256",
                                                            "typeString": "uint256"
                                                        }
                                                    },
                                                    {
                                                        "id": 19833,
                                                        "name": "p3",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 19823,
                                                        "src": "53659:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_uint256",
                                                            "typeString": "uint256"
                                                        }
                                                    }
                                                ],
                                                "expression": {
                                                    "argumentTypes": [
                                                        {
                                                            "typeIdentifier": "t_stringliteral_a4c92a60ad8c7136a44d442238a838fba251b421248205a77f1a522d55c988af",
                                                            "typeString": "literal_string \"log(address,string,uint,uint)\""
                                                        },
                                                        {
                                                            "typeIdentifier": "t_address",
                                                            "typeString": "address"
                                                        },
                                                        {
                                                            "typeIdentifier": "t_string_memory_ptr",
                                                            "typeString": "string memory"
                                                        },
                                                        {
                                                            "typeIdentifier": "t_uint256",
                                                            "typeString": "uint256"
                                                        },
                                                        {
                                                            "typeIdentifier": "t_uint256",
                                                            "typeString": "uint256"
                                                        }
                                                    ],
                                                    "expression": {
                                                        "id": 19827,
                                                        "name": "abi",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 4294967295,
                                                        "src": "53590:3:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_magic_abi",
                                                            "typeString": "abi"
                                                        }
                                                    },
                                                    "id": 19828,
                                                    "isConstant": false,
                                                    "isLValue": false,
                                                    "isPure": true,
                                                    "lValueRequested": false,
                                                    "memberName": "encodeWithSignature",
                                                    "nodeType": "MemberAccess",
                                                    "src": "53590:23:62",
                                                    "typeDescriptions": {
                                                        "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$",
                                                        "typeString": "function (string memory) pure returns (bytes memory)"
                                                    }
                                                },
                                                "id": 19834,
                                                "isConstant": false,
                                                "isLValue": false,
                                                "isPure": false,
                                                "kind": "functionCall",
                                                "lValueRequested": false,
                                                "names": [],
                                                "nodeType": "FunctionCall",
                                                "src": "53590:72:62",
                                                "tryCall": false,
                                                "typeDescriptions": {
                                                    "typeIdentifier": "t_bytes_memory_ptr",
                                                    "typeString": "bytes memory"
                                                }
                                            }
                                        ],
                                        "expression": {
                                            "argumentTypes": [
                                                {
                                                    "typeIdentifier": "t_bytes_memory_ptr",
                                                    "typeString": "bytes memory"
                                                }
                                            ],
                                            "id": 19826,
                                            "name": "_sendLogPayload",
                                            "nodeType": "Identifier",
                                            "overloadedDeclarations": [],
                                            "referencedDeclaration": 12880,
                                            "src": "53574:15:62",
                                            "typeDescriptions": {
                                                "typeIdentifier": "t_function_internal_view$_t_bytes_memory_ptr_$returns$__$",
                                                "typeString": "function (bytes memory) view"
                                            }
                                        },
                                        "id": 19835,
                                        "isConstant": false,
                                        "isLValue": false,
                                        "isPure": false,
                                        "kind": "functionCall",
                                        "lValueRequested": false,
                                        "names": [],
                                        "nodeType": "FunctionCall",
                                        "src": "53574:89:62",
                                        "tryCall": false,
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_tuple$__$",
                                            "typeString": "tuple()"
                                        }
                                    },
                                    "id": 19836,
                                    "nodeType": "ExpressionStatement",
                                    "src": "53574:89:62"
                                }
                            ]
                        },
                        "id": 19838,
                        "implemented": true,
                        "kind": "function",
                        "modifiers": [],
                        "name": "log",
                        "nameLocation": "53504:3:62",
                        "nodeType": "FunctionDefinition",
                        "parameters": {
                            "id": 19824,
                            "nodeType": "ParameterList",
                            "parameters": [
                                {
                                    "constant": false,
                                    "id": 19817,
                                    "mutability": "mutable",
                                    "name": "p0",
                                    "nameLocation": "53516:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 19838,
                                    "src": "53508:10:62",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_address",
                                        "typeString": "address"
                                    },
                                    "typeName": {
                                        "id": 19816,
                                        "name": "address",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "53508:7:62",
                                        "stateMutability": "nonpayable",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_address",
                                            "typeString": "address"
                                        }
                                    },
                                    "visibility": "internal"
                                },
                                {
                                    "constant": false,
                                    "id": 19819,
                                    "mutability": "mutable",
                                    "name": "p1",
                                    "nameLocation": "53534:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 19838,
                                    "src": "53520:16:62",
                                    "stateVariable": false,
                                    "storageLocation": "memory",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_string_memory_ptr",
                                        "typeString": "string"
                                    },
                                    "typeName": {
                                        "id": 19818,
                                        "name": "string",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "53520:6:62",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_string_storage_ptr",
                                            "typeString": "string"
                                        }
                                    },
                                    "visibility": "internal"
                                },
                                {
                                    "constant": false,
                                    "id": 19821,
                                    "mutability": "mutable",
                                    "name": "p2",
                                    "nameLocation": "53543:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 19838,
                                    "src": "53538:7:62",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_uint256",
                                        "typeString": "uint256"
                                    },
                                    "typeName": {
                                        "id": 19820,
                                        "name": "uint",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "53538:4:62",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_uint256",
                                            "typeString": "uint256"
                                        }
                                    },
                                    "visibility": "internal"
                                },
                                {
                                    "constant": false,
                                    "id": 19823,
                                    "mutability": "mutable",
                                    "name": "p3",
                                    "nameLocation": "53552:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 19838,
                                    "src": "53547:7:62",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_uint256",
                                        "typeString": "uint256"
                                    },
                                    "typeName": {
                                        "id": 19822,
                                        "name": "uint",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "53547:4:62",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_uint256",
                                            "typeString": "uint256"
                                        }
                                    },
                                    "visibility": "internal"
                                }
                            ],
                            "src": "53507:48:62"
                        },
                        "returnParameters": {
                            "id": 19825,
                            "nodeType": "ParameterList",
                            "parameters": [],
                            "src": "53570:0:62"
                        },
                        "scope": 20920,
                        "src": "53495:172:62",
                        "stateMutability": "view",
                        "virtual": false,
                        "visibility": "internal"
                    },
                    {
                        "body": {
                            "id": 19860,
                            "nodeType": "Block",
                            "src": "53754:99:62",
                            "statements": [
                                {
                                    "expression": {
                                        "arguments": [
                                            {
                                                "arguments": [
                                                    {
                                                        "hexValue": "6c6f6728616464726573732c737472696e672c75696e742c737472696e6729",
                                                        "id": 19852,
                                                        "isConstant": false,
                                                        "isLValue": false,
                                                        "isPure": true,
                                                        "kind": "string",
                                                        "lValueRequested": false,
                                                        "nodeType": "Literal",
                                                        "src": "53798:33:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_stringliteral_5d1365c94e45374e792b786edc547d0277c401db24a4303b5dd1e8a93df0829e",
                                                            "typeString": "literal_string \"log(address,string,uint,string)\""
                                                        },
                                                        "value": "log(address,string,uint,string)"
                                                    },
                                                    {
                                                        "id": 19853,
                                                        "name": "p0",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 19840,
                                                        "src": "53833:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_address",
                                                            "typeString": "address"
                                                        }
                                                    },
                                                    {
                                                        "id": 19854,
                                                        "name": "p1",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 19842,
                                                        "src": "53837:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_string_memory_ptr",
                                                            "typeString": "string memory"
                                                        }
                                                    },
                                                    {
                                                        "id": 19855,
                                                        "name": "p2",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 19844,
                                                        "src": "53841:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_uint256",
                                                            "typeString": "uint256"
                                                        }
                                                    },
                                                    {
                                                        "id": 19856,
                                                        "name": "p3",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 19846,
                                                        "src": "53845:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_string_memory_ptr",
                                                            "typeString": "string memory"
                                                        }
                                                    }
                                                ],
                                                "expression": {
                                                    "argumentTypes": [
                                                        {
                                                            "typeIdentifier": "t_stringliteral_5d1365c94e45374e792b786edc547d0277c401db24a4303b5dd1e8a93df0829e",
                                                            "typeString": "literal_string \"log(address,string,uint,string)\""
                                                        },
                                                        {
                                                            "typeIdentifier": "t_address",
                                                            "typeString": "address"
                                                        },
                                                        {
                                                            "typeIdentifier": "t_string_memory_ptr",
                                                            "typeString": "string memory"
                                                        },
                                                        {
                                                            "typeIdentifier": "t_uint256",
                                                            "typeString": "uint256"
                                                        },
                                                        {
                                                            "typeIdentifier": "t_string_memory_ptr",
                                                            "typeString": "string memory"
                                                        }
                                                    ],
                                                    "expression": {
                                                        "id": 19850,
                                                        "name": "abi",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 4294967295,
                                                        "src": "53774:3:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_magic_abi",
                                                            "typeString": "abi"
                                                        }
                                                    },
                                                    "id": 19851,
                                                    "isConstant": false,
                                                    "isLValue": false,
                                                    "isPure": true,
                                                    "lValueRequested": false,
                                                    "memberName": "encodeWithSignature",
                                                    "nodeType": "MemberAccess",
                                                    "src": "53774:23:62",
                                                    "typeDescriptions": {
                                                        "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$",
                                                        "typeString": "function (string memory) pure returns (bytes memory)"
                                                    }
                                                },
                                                "id": 19857,
                                                "isConstant": false,
                                                "isLValue": false,
                                                "isPure": false,
                                                "kind": "functionCall",
                                                "lValueRequested": false,
                                                "names": [],
                                                "nodeType": "FunctionCall",
                                                "src": "53774:74:62",
                                                "tryCall": false,
                                                "typeDescriptions": {
                                                    "typeIdentifier": "t_bytes_memory_ptr",
                                                    "typeString": "bytes memory"
                                                }
                                            }
                                        ],
                                        "expression": {
                                            "argumentTypes": [
                                                {
                                                    "typeIdentifier": "t_bytes_memory_ptr",
                                                    "typeString": "bytes memory"
                                                }
                                            ],
                                            "id": 19849,
                                            "name": "_sendLogPayload",
                                            "nodeType": "Identifier",
                                            "overloadedDeclarations": [],
                                            "referencedDeclaration": 12880,
                                            "src": "53758:15:62",
                                            "typeDescriptions": {
                                                "typeIdentifier": "t_function_internal_view$_t_bytes_memory_ptr_$returns$__$",
                                                "typeString": "function (bytes memory) view"
                                            }
                                        },
                                        "id": 19858,
                                        "isConstant": false,
                                        "isLValue": false,
                                        "isPure": false,
                                        "kind": "functionCall",
                                        "lValueRequested": false,
                                        "names": [],
                                        "nodeType": "FunctionCall",
                                        "src": "53758:91:62",
                                        "tryCall": false,
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_tuple$__$",
                                            "typeString": "tuple()"
                                        }
                                    },
                                    "id": 19859,
                                    "nodeType": "ExpressionStatement",
                                    "src": "53758:91:62"
                                }
                            ]
                        },
                        "id": 19861,
                        "implemented": true,
                        "kind": "function",
                        "modifiers": [],
                        "name": "log",
                        "nameLocation": "53679:3:62",
                        "nodeType": "FunctionDefinition",
                        "parameters": {
                            "id": 19847,
                            "nodeType": "ParameterList",
                            "parameters": [
                                {
                                    "constant": false,
                                    "id": 19840,
                                    "mutability": "mutable",
                                    "name": "p0",
                                    "nameLocation": "53691:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 19861,
                                    "src": "53683:10:62",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_address",
                                        "typeString": "address"
                                    },
                                    "typeName": {
                                        "id": 19839,
                                        "name": "address",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "53683:7:62",
                                        "stateMutability": "nonpayable",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_address",
                                            "typeString": "address"
                                        }
                                    },
                                    "visibility": "internal"
                                },
                                {
                                    "constant": false,
                                    "id": 19842,
                                    "mutability": "mutable",
                                    "name": "p1",
                                    "nameLocation": "53709:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 19861,
                                    "src": "53695:16:62",
                                    "stateVariable": false,
                                    "storageLocation": "memory",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_string_memory_ptr",
                                        "typeString": "string"
                                    },
                                    "typeName": {
                                        "id": 19841,
                                        "name": "string",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "53695:6:62",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_string_storage_ptr",
                                            "typeString": "string"
                                        }
                                    },
                                    "visibility": "internal"
                                },
                                {
                                    "constant": false,
                                    "id": 19844,
                                    "mutability": "mutable",
                                    "name": "p2",
                                    "nameLocation": "53718:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 19861,
                                    "src": "53713:7:62",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_uint256",
                                        "typeString": "uint256"
                                    },
                                    "typeName": {
                                        "id": 19843,
                                        "name": "uint",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "53713:4:62",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_uint256",
                                            "typeString": "uint256"
                                        }
                                    },
                                    "visibility": "internal"
                                },
                                {
                                    "constant": false,
                                    "id": 19846,
                                    "mutability": "mutable",
                                    "name": "p3",
                                    "nameLocation": "53736:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 19861,
                                    "src": "53722:16:62",
                                    "stateVariable": false,
                                    "storageLocation": "memory",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_string_memory_ptr",
                                        "typeString": "string"
                                    },
                                    "typeName": {
                                        "id": 19845,
                                        "name": "string",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "53722:6:62",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_string_storage_ptr",
                                            "typeString": "string"
                                        }
                                    },
                                    "visibility": "internal"
                                }
                            ],
                            "src": "53682:57:62"
                        },
                        "returnParameters": {
                            "id": 19848,
                            "nodeType": "ParameterList",
                            "parameters": [],
                            "src": "53754:0:62"
                        },
                        "scope": 20920,
                        "src": "53670:183:62",
                        "stateMutability": "view",
                        "virtual": false,
                        "visibility": "internal"
                    },
                    {
                        "body": {
                            "id": 19883,
                            "nodeType": "Block",
                            "src": "53931:97:62",
                            "statements": [
                                {
                                    "expression": {
                                        "arguments": [
                                            {
                                                "arguments": [
                                                    {
                                                        "hexValue": "6c6f6728616464726573732c737472696e672c75696e742c626f6f6c29",
                                                        "id": 19875,
                                                        "isConstant": false,
                                                        "isLValue": false,
                                                        "isPure": true,
                                                        "kind": "string",
                                                        "lValueRequested": false,
                                                        "nodeType": "Literal",
                                                        "src": "53975:31:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_stringliteral_7e250d5bf3975165268961c2b6dbe143f053bed03d903630f547f1fbab28b895",
                                                            "typeString": "literal_string \"log(address,string,uint,bool)\""
                                                        },
                                                        "value": "log(address,string,uint,bool)"
                                                    },
                                                    {
                                                        "id": 19876,
                                                        "name": "p0",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 19863,
                                                        "src": "54008:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_address",
                                                            "typeString": "address"
                                                        }
                                                    },
                                                    {
                                                        "id": 19877,
                                                        "name": "p1",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 19865,
                                                        "src": "54012:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_string_memory_ptr",
                                                            "typeString": "string memory"
                                                        }
                                                    },
                                                    {
                                                        "id": 19878,
                                                        "name": "p2",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 19867,
                                                        "src": "54016:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_uint256",
                                                            "typeString": "uint256"
                                                        }
                                                    },
                                                    {
                                                        "id": 19879,
                                                        "name": "p3",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 19869,
                                                        "src": "54020:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_bool",
                                                            "typeString": "bool"
                                                        }
                                                    }
                                                ],
                                                "expression": {
                                                    "argumentTypes": [
                                                        {
                                                            "typeIdentifier": "t_stringliteral_7e250d5bf3975165268961c2b6dbe143f053bed03d903630f547f1fbab28b895",
                                                            "typeString": "literal_string \"log(address,string,uint,bool)\""
                                                        },
                                                        {
                                                            "typeIdentifier": "t_address",
                                                            "typeString": "address"
                                                        },
                                                        {
                                                            "typeIdentifier": "t_string_memory_ptr",
                                                            "typeString": "string memory"
                                                        },
                                                        {
                                                            "typeIdentifier": "t_uint256",
                                                            "typeString": "uint256"
                                                        },
                                                        {
                                                            "typeIdentifier": "t_bool",
                                                            "typeString": "bool"
                                                        }
                                                    ],
                                                    "expression": {
                                                        "id": 19873,
                                                        "name": "abi",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 4294967295,
                                                        "src": "53951:3:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_magic_abi",
                                                            "typeString": "abi"
                                                        }
                                                    },
                                                    "id": 19874,
                                                    "isConstant": false,
                                                    "isLValue": false,
                                                    "isPure": true,
                                                    "lValueRequested": false,
                                                    "memberName": "encodeWithSignature",
                                                    "nodeType": "MemberAccess",
                                                    "src": "53951:23:62",
                                                    "typeDescriptions": {
                                                        "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$",
                                                        "typeString": "function (string memory) pure returns (bytes memory)"
                                                    }
                                                },
                                                "id": 19880,
                                                "isConstant": false,
                                                "isLValue": false,
                                                "isPure": false,
                                                "kind": "functionCall",
                                                "lValueRequested": false,
                                                "names": [],
                                                "nodeType": "FunctionCall",
                                                "src": "53951:72:62",
                                                "tryCall": false,
                                                "typeDescriptions": {
                                                    "typeIdentifier": "t_bytes_memory_ptr",
                                                    "typeString": "bytes memory"
                                                }
                                            }
                                        ],
                                        "expression": {
                                            "argumentTypes": [
                                                {
                                                    "typeIdentifier": "t_bytes_memory_ptr",
                                                    "typeString": "bytes memory"
                                                }
                                            ],
                                            "id": 19872,
                                            "name": "_sendLogPayload",
                                            "nodeType": "Identifier",
                                            "overloadedDeclarations": [],
                                            "referencedDeclaration": 12880,
                                            "src": "53935:15:62",
                                            "typeDescriptions": {
                                                "typeIdentifier": "t_function_internal_view$_t_bytes_memory_ptr_$returns$__$",
                                                "typeString": "function (bytes memory) view"
                                            }
                                        },
                                        "id": 19881,
                                        "isConstant": false,
                                        "isLValue": false,
                                        "isPure": false,
                                        "kind": "functionCall",
                                        "lValueRequested": false,
                                        "names": [],
                                        "nodeType": "FunctionCall",
                                        "src": "53935:89:62",
                                        "tryCall": false,
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_tuple$__$",
                                            "typeString": "tuple()"
                                        }
                                    },
                                    "id": 19882,
                                    "nodeType": "ExpressionStatement",
                                    "src": "53935:89:62"
                                }
                            ]
                        },
                        "id": 19884,
                        "implemented": true,
                        "kind": "function",
                        "modifiers": [],
                        "name": "log",
                        "nameLocation": "53865:3:62",
                        "nodeType": "FunctionDefinition",
                        "parameters": {
                            "id": 19870,
                            "nodeType": "ParameterList",
                            "parameters": [
                                {
                                    "constant": false,
                                    "id": 19863,
                                    "mutability": "mutable",
                                    "name": "p0",
                                    "nameLocation": "53877:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 19884,
                                    "src": "53869:10:62",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_address",
                                        "typeString": "address"
                                    },
                                    "typeName": {
                                        "id": 19862,
                                        "name": "address",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "53869:7:62",
                                        "stateMutability": "nonpayable",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_address",
                                            "typeString": "address"
                                        }
                                    },
                                    "visibility": "internal"
                                },
                                {
                                    "constant": false,
                                    "id": 19865,
                                    "mutability": "mutable",
                                    "name": "p1",
                                    "nameLocation": "53895:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 19884,
                                    "src": "53881:16:62",
                                    "stateVariable": false,
                                    "storageLocation": "memory",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_string_memory_ptr",
                                        "typeString": "string"
                                    },
                                    "typeName": {
                                        "id": 19864,
                                        "name": "string",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "53881:6:62",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_string_storage_ptr",
                                            "typeString": "string"
                                        }
                                    },
                                    "visibility": "internal"
                                },
                                {
                                    "constant": false,
                                    "id": 19867,
                                    "mutability": "mutable",
                                    "name": "p2",
                                    "nameLocation": "53904:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 19884,
                                    "src": "53899:7:62",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_uint256",
                                        "typeString": "uint256"
                                    },
                                    "typeName": {
                                        "id": 19866,
                                        "name": "uint",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "53899:4:62",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_uint256",
                                            "typeString": "uint256"
                                        }
                                    },
                                    "visibility": "internal"
                                },
                                {
                                    "constant": false,
                                    "id": 19869,
                                    "mutability": "mutable",
                                    "name": "p3",
                                    "nameLocation": "53913:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 19884,
                                    "src": "53908:7:62",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_bool",
                                        "typeString": "bool"
                                    },
                                    "typeName": {
                                        "id": 19868,
                                        "name": "bool",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "53908:4:62",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_bool",
                                            "typeString": "bool"
                                        }
                                    },
                                    "visibility": "internal"
                                }
                            ],
                            "src": "53868:48:62"
                        },
                        "returnParameters": {
                            "id": 19871,
                            "nodeType": "ParameterList",
                            "parameters": [],
                            "src": "53931:0:62"
                        },
                        "scope": 20920,
                        "src": "53856:172:62",
                        "stateMutability": "view",
                        "virtual": false,
                        "visibility": "internal"
                    },
                    {
                        "body": {
                            "id": 19906,
                            "nodeType": "Block",
                            "src": "54109:100:62",
                            "statements": [
                                {
                                    "expression": {
                                        "arguments": [
                                            {
                                                "arguments": [
                                                    {
                                                        "hexValue": "6c6f6728616464726573732c737472696e672c75696e742c6164647265737329",
                                                        "id": 19898,
                                                        "isConstant": false,
                                                        "isLValue": false,
                                                        "isPure": true,
                                                        "kind": "string",
                                                        "lValueRequested": false,
                                                        "nodeType": "Literal",
                                                        "src": "54153:34:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_stringliteral_dfd7d80b4150ea6b0b2772758d6e66d8c7f141bfd7de11119a8fee2a703664e4",
                                                            "typeString": "literal_string \"log(address,string,uint,address)\""
                                                        },
                                                        "value": "log(address,string,uint,address)"
                                                    },
                                                    {
                                                        "id": 19899,
                                                        "name": "p0",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 19886,
                                                        "src": "54189:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_address",
                                                            "typeString": "address"
                                                        }
                                                    },
                                                    {
                                                        "id": 19900,
                                                        "name": "p1",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 19888,
                                                        "src": "54193:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_string_memory_ptr",
                                                            "typeString": "string memory"
                                                        }
                                                    },
                                                    {
                                                        "id": 19901,
                                                        "name": "p2",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 19890,
                                                        "src": "54197:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_uint256",
                                                            "typeString": "uint256"
                                                        }
                                                    },
                                                    {
                                                        "id": 19902,
                                                        "name": "p3",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 19892,
                                                        "src": "54201:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_address",
                                                            "typeString": "address"
                                                        }
                                                    }
                                                ],
                                                "expression": {
                                                    "argumentTypes": [
                                                        {
                                                            "typeIdentifier": "t_stringliteral_dfd7d80b4150ea6b0b2772758d6e66d8c7f141bfd7de11119a8fee2a703664e4",
                                                            "typeString": "literal_string \"log(address,string,uint,address)\""
                                                        },
                                                        {
                                                            "typeIdentifier": "t_address",
                                                            "typeString": "address"
                                                        },
                                                        {
                                                            "typeIdentifier": "t_string_memory_ptr",
                                                            "typeString": "string memory"
                                                        },
                                                        {
                                                            "typeIdentifier": "t_uint256",
                                                            "typeString": "uint256"
                                                        },
                                                        {
                                                            "typeIdentifier": "t_address",
                                                            "typeString": "address"
                                                        }
                                                    ],
                                                    "expression": {
                                                        "id": 19896,
                                                        "name": "abi",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 4294967295,
                                                        "src": "54129:3:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_magic_abi",
                                                            "typeString": "abi"
                                                        }
                                                    },
                                                    "id": 19897,
                                                    "isConstant": false,
                                                    "isLValue": false,
                                                    "isPure": true,
                                                    "lValueRequested": false,
                                                    "memberName": "encodeWithSignature",
                                                    "nodeType": "MemberAccess",
                                                    "src": "54129:23:62",
                                                    "typeDescriptions": {
                                                        "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$",
                                                        "typeString": "function (string memory) pure returns (bytes memory)"
                                                    }
                                                },
                                                "id": 19903,
                                                "isConstant": false,
                                                "isLValue": false,
                                                "isPure": false,
                                                "kind": "functionCall",
                                                "lValueRequested": false,
                                                "names": [],
                                                "nodeType": "FunctionCall",
                                                "src": "54129:75:62",
                                                "tryCall": false,
                                                "typeDescriptions": {
                                                    "typeIdentifier": "t_bytes_memory_ptr",
                                                    "typeString": "bytes memory"
                                                }
                                            }
                                        ],
                                        "expression": {
                                            "argumentTypes": [
                                                {
                                                    "typeIdentifier": "t_bytes_memory_ptr",
                                                    "typeString": "bytes memory"
                                                }
                                            ],
                                            "id": 19895,
                                            "name": "_sendLogPayload",
                                            "nodeType": "Identifier",
                                            "overloadedDeclarations": [],
                                            "referencedDeclaration": 12880,
                                            "src": "54113:15:62",
                                            "typeDescriptions": {
                                                "typeIdentifier": "t_function_internal_view$_t_bytes_memory_ptr_$returns$__$",
                                                "typeString": "function (bytes memory) view"
                                            }
                                        },
                                        "id": 19904,
                                        "isConstant": false,
                                        "isLValue": false,
                                        "isPure": false,
                                        "kind": "functionCall",
                                        "lValueRequested": false,
                                        "names": [],
                                        "nodeType": "FunctionCall",
                                        "src": "54113:92:62",
                                        "tryCall": false,
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_tuple$__$",
                                            "typeString": "tuple()"
                                        }
                                    },
                                    "id": 19905,
                                    "nodeType": "ExpressionStatement",
                                    "src": "54113:92:62"
                                }
                            ]
                        },
                        "id": 19907,
                        "implemented": true,
                        "kind": "function",
                        "modifiers": [],
                        "name": "log",
                        "nameLocation": "54040:3:62",
                        "nodeType": "FunctionDefinition",
                        "parameters": {
                            "id": 19893,
                            "nodeType": "ParameterList",
                            "parameters": [
                                {
                                    "constant": false,
                                    "id": 19886,
                                    "mutability": "mutable",
                                    "name": "p0",
                                    "nameLocation": "54052:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 19907,
                                    "src": "54044:10:62",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_address",
                                        "typeString": "address"
                                    },
                                    "typeName": {
                                        "id": 19885,
                                        "name": "address",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "54044:7:62",
                                        "stateMutability": "nonpayable",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_address",
                                            "typeString": "address"
                                        }
                                    },
                                    "visibility": "internal"
                                },
                                {
                                    "constant": false,
                                    "id": 19888,
                                    "mutability": "mutable",
                                    "name": "p1",
                                    "nameLocation": "54070:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 19907,
                                    "src": "54056:16:62",
                                    "stateVariable": false,
                                    "storageLocation": "memory",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_string_memory_ptr",
                                        "typeString": "string"
                                    },
                                    "typeName": {
                                        "id": 19887,
                                        "name": "string",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "54056:6:62",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_string_storage_ptr",
                                            "typeString": "string"
                                        }
                                    },
                                    "visibility": "internal"
                                },
                                {
                                    "constant": false,
                                    "id": 19890,
                                    "mutability": "mutable",
                                    "name": "p2",
                                    "nameLocation": "54079:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 19907,
                                    "src": "54074:7:62",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_uint256",
                                        "typeString": "uint256"
                                    },
                                    "typeName": {
                                        "id": 19889,
                                        "name": "uint",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "54074:4:62",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_uint256",
                                            "typeString": "uint256"
                                        }
                                    },
                                    "visibility": "internal"
                                },
                                {
                                    "constant": false,
                                    "id": 19892,
                                    "mutability": "mutable",
                                    "name": "p3",
                                    "nameLocation": "54091:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 19907,
                                    "src": "54083:10:62",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_address",
                                        "typeString": "address"
                                    },
                                    "typeName": {
                                        "id": 19891,
                                        "name": "address",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "54083:7:62",
                                        "stateMutability": "nonpayable",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_address",
                                            "typeString": "address"
                                        }
                                    },
                                    "visibility": "internal"
                                }
                            ],
                            "src": "54043:51:62"
                        },
                        "returnParameters": {
                            "id": 19894,
                            "nodeType": "ParameterList",
                            "parameters": [],
                            "src": "54109:0:62"
                        },
                        "scope": 20920,
                        "src": "54031:178:62",
                        "stateMutability": "view",
                        "virtual": false,
                        "visibility": "internal"
                    },
                    {
                        "body": {
                            "id": 19929,
                            "nodeType": "Block",
                            "src": "54296:99:62",
                            "statements": [
                                {
                                    "expression": {
                                        "arguments": [
                                            {
                                                "arguments": [
                                                    {
                                                        "hexValue": "6c6f6728616464726573732c737472696e672c737472696e672c75696e7429",
                                                        "id": 19921,
                                                        "isConstant": false,
                                                        "isLValue": false,
                                                        "isPure": true,
                                                        "kind": "string",
                                                        "lValueRequested": false,
                                                        "nodeType": "Literal",
                                                        "src": "54340:33:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_stringliteral_a14fd039ae37435afa9d1674d6d48b37ffbd5da4cd9166a3f673f5f0db01a4c5",
                                                            "typeString": "literal_string \"log(address,string,string,uint)\""
                                                        },
                                                        "value": "log(address,string,string,uint)"
                                                    },
                                                    {
                                                        "id": 19922,
                                                        "name": "p0",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 19909,
                                                        "src": "54375:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_address",
                                                            "typeString": "address"
                                                        }
                                                    },
                                                    {
                                                        "id": 19923,
                                                        "name": "p1",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 19911,
                                                        "src": "54379:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_string_memory_ptr",
                                                            "typeString": "string memory"
                                                        }
                                                    },
                                                    {
                                                        "id": 19924,
                                                        "name": "p2",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 19913,
                                                        "src": "54383:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_string_memory_ptr",
                                                            "typeString": "string memory"
                                                        }
                                                    },
                                                    {
                                                        "id": 19925,
                                                        "name": "p3",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 19915,
                                                        "src": "54387:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_uint256",
                                                            "typeString": "uint256"
                                                        }
                                                    }
                                                ],
                                                "expression": {
                                                    "argumentTypes": [
                                                        {
                                                            "typeIdentifier": "t_stringliteral_a14fd039ae37435afa9d1674d6d48b37ffbd5da4cd9166a3f673f5f0db01a4c5",
                                                            "typeString": "literal_string \"log(address,string,string,uint)\""
                                                        },
                                                        {
                                                            "typeIdentifier": "t_address",
                                                            "typeString": "address"
                                                        },
                                                        {
                                                            "typeIdentifier": "t_string_memory_ptr",
                                                            "typeString": "string memory"
                                                        },
                                                        {
                                                            "typeIdentifier": "t_string_memory_ptr",
                                                            "typeString": "string memory"
                                                        },
                                                        {
                                                            "typeIdentifier": "t_uint256",
                                                            "typeString": "uint256"
                                                        }
                                                    ],
                                                    "expression": {
                                                        "id": 19919,
                                                        "name": "abi",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 4294967295,
                                                        "src": "54316:3:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_magic_abi",
                                                            "typeString": "abi"
                                                        }
                                                    },
                                                    "id": 19920,
                                                    "isConstant": false,
                                                    "isLValue": false,
                                                    "isPure": true,
                                                    "lValueRequested": false,
                                                    "memberName": "encodeWithSignature",
                                                    "nodeType": "MemberAccess",
                                                    "src": "54316:23:62",
                                                    "typeDescriptions": {
                                                        "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$",
                                                        "typeString": "function (string memory) pure returns (bytes memory)"
                                                    }
                                                },
                                                "id": 19926,
                                                "isConstant": false,
                                                "isLValue": false,
                                                "isPure": false,
                                                "kind": "functionCall",
                                                "lValueRequested": false,
                                                "names": [],
                                                "nodeType": "FunctionCall",
                                                "src": "54316:74:62",
                                                "tryCall": false,
                                                "typeDescriptions": {
                                                    "typeIdentifier": "t_bytes_memory_ptr",
                                                    "typeString": "bytes memory"
                                                }
                                            }
                                        ],
                                        "expression": {
                                            "argumentTypes": [
                                                {
                                                    "typeIdentifier": "t_bytes_memory_ptr",
                                                    "typeString": "bytes memory"
                                                }
                                            ],
                                            "id": 19918,
                                            "name": "_sendLogPayload",
                                            "nodeType": "Identifier",
                                            "overloadedDeclarations": [],
                                            "referencedDeclaration": 12880,
                                            "src": "54300:15:62",
                                            "typeDescriptions": {
                                                "typeIdentifier": "t_function_internal_view$_t_bytes_memory_ptr_$returns$__$",
                                                "typeString": "function (bytes memory) view"
                                            }
                                        },
                                        "id": 19927,
                                        "isConstant": false,
                                        "isLValue": false,
                                        "isPure": false,
                                        "kind": "functionCall",
                                        "lValueRequested": false,
                                        "names": [],
                                        "nodeType": "FunctionCall",
                                        "src": "54300:91:62",
                                        "tryCall": false,
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_tuple$__$",
                                            "typeString": "tuple()"
                                        }
                                    },
                                    "id": 19928,
                                    "nodeType": "ExpressionStatement",
                                    "src": "54300:91:62"
                                }
                            ]
                        },
                        "id": 19930,
                        "implemented": true,
                        "kind": "function",
                        "modifiers": [],
                        "name": "log",
                        "nameLocation": "54221:3:62",
                        "nodeType": "FunctionDefinition",
                        "parameters": {
                            "id": 19916,
                            "nodeType": "ParameterList",
                            "parameters": [
                                {
                                    "constant": false,
                                    "id": 19909,
                                    "mutability": "mutable",
                                    "name": "p0",
                                    "nameLocation": "54233:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 19930,
                                    "src": "54225:10:62",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_address",
                                        "typeString": "address"
                                    },
                                    "typeName": {
                                        "id": 19908,
                                        "name": "address",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "54225:7:62",
                                        "stateMutability": "nonpayable",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_address",
                                            "typeString": "address"
                                        }
                                    },
                                    "visibility": "internal"
                                },
                                {
                                    "constant": false,
                                    "id": 19911,
                                    "mutability": "mutable",
                                    "name": "p1",
                                    "nameLocation": "54251:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 19930,
                                    "src": "54237:16:62",
                                    "stateVariable": false,
                                    "storageLocation": "memory",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_string_memory_ptr",
                                        "typeString": "string"
                                    },
                                    "typeName": {
                                        "id": 19910,
                                        "name": "string",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "54237:6:62",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_string_storage_ptr",
                                            "typeString": "string"
                                        }
                                    },
                                    "visibility": "internal"
                                },
                                {
                                    "constant": false,
                                    "id": 19913,
                                    "mutability": "mutable",
                                    "name": "p2",
                                    "nameLocation": "54269:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 19930,
                                    "src": "54255:16:62",
                                    "stateVariable": false,
                                    "storageLocation": "memory",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_string_memory_ptr",
                                        "typeString": "string"
                                    },
                                    "typeName": {
                                        "id": 19912,
                                        "name": "string",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "54255:6:62",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_string_storage_ptr",
                                            "typeString": "string"
                                        }
                                    },
                                    "visibility": "internal"
                                },
                                {
                                    "constant": false,
                                    "id": 19915,
                                    "mutability": "mutable",
                                    "name": "p3",
                                    "nameLocation": "54278:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 19930,
                                    "src": "54273:7:62",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_uint256",
                                        "typeString": "uint256"
                                    },
                                    "typeName": {
                                        "id": 19914,
                                        "name": "uint",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "54273:4:62",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_uint256",
                                            "typeString": "uint256"
                                        }
                                    },
                                    "visibility": "internal"
                                }
                            ],
                            "src": "54224:57:62"
                        },
                        "returnParameters": {
                            "id": 19917,
                            "nodeType": "ParameterList",
                            "parameters": [],
                            "src": "54296:0:62"
                        },
                        "scope": 20920,
                        "src": "54212:183:62",
                        "stateMutability": "view",
                        "virtual": false,
                        "visibility": "internal"
                    },
                    {
                        "body": {
                            "id": 19952,
                            "nodeType": "Block",
                            "src": "54491:101:62",
                            "statements": [
                                {
                                    "expression": {
                                        "arguments": [
                                            {
                                                "arguments": [
                                                    {
                                                        "hexValue": "6c6f6728616464726573732c737472696e672c737472696e672c737472696e6729",
                                                        "id": 19944,
                                                        "isConstant": false,
                                                        "isLValue": false,
                                                        "isPure": true,
                                                        "kind": "string",
                                                        "lValueRequested": false,
                                                        "nodeType": "Literal",
                                                        "src": "54535:35:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_stringliteral_5d02c50b371ad9a1f5c638dc99b5e9b545011f148f0be5233c530a4b2a12665c",
                                                            "typeString": "literal_string \"log(address,string,string,string)\""
                                                        },
                                                        "value": "log(address,string,string,string)"
                                                    },
                                                    {
                                                        "id": 19945,
                                                        "name": "p0",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 19932,
                                                        "src": "54572:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_address",
                                                            "typeString": "address"
                                                        }
                                                    },
                                                    {
                                                        "id": 19946,
                                                        "name": "p1",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 19934,
                                                        "src": "54576:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_string_memory_ptr",
                                                            "typeString": "string memory"
                                                        }
                                                    },
                                                    {
                                                        "id": 19947,
                                                        "name": "p2",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 19936,
                                                        "src": "54580:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_string_memory_ptr",
                                                            "typeString": "string memory"
                                                        }
                                                    },
                                                    {
                                                        "id": 19948,
                                                        "name": "p3",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 19938,
                                                        "src": "54584:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_string_memory_ptr",
                                                            "typeString": "string memory"
                                                        }
                                                    }
                                                ],
                                                "expression": {
                                                    "argumentTypes": [
                                                        {
                                                            "typeIdentifier": "t_stringliteral_5d02c50b371ad9a1f5c638dc99b5e9b545011f148f0be5233c530a4b2a12665c",
                                                            "typeString": "literal_string \"log(address,string,string,string)\""
                                                        },
                                                        {
                                                            "typeIdentifier": "t_address",
                                                            "typeString": "address"
                                                        },
                                                        {
                                                            "typeIdentifier": "t_string_memory_ptr",
                                                            "typeString": "string memory"
                                                        },
                                                        {
                                                            "typeIdentifier": "t_string_memory_ptr",
                                                            "typeString": "string memory"
                                                        },
                                                        {
                                                            "typeIdentifier": "t_string_memory_ptr",
                                                            "typeString": "string memory"
                                                        }
                                                    ],
                                                    "expression": {
                                                        "id": 19942,
                                                        "name": "abi",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 4294967295,
                                                        "src": "54511:3:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_magic_abi",
                                                            "typeString": "abi"
                                                        }
                                                    },
                                                    "id": 19943,
                                                    "isConstant": false,
                                                    "isLValue": false,
                                                    "isPure": true,
                                                    "lValueRequested": false,
                                                    "memberName": "encodeWithSignature",
                                                    "nodeType": "MemberAccess",
                                                    "src": "54511:23:62",
                                                    "typeDescriptions": {
                                                        "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$",
                                                        "typeString": "function (string memory) pure returns (bytes memory)"
                                                    }
                                                },
                                                "id": 19949,
                                                "isConstant": false,
                                                "isLValue": false,
                                                "isPure": false,
                                                "kind": "functionCall",
                                                "lValueRequested": false,
                                                "names": [],
                                                "nodeType": "FunctionCall",
                                                "src": "54511:76:62",
                                                "tryCall": false,
                                                "typeDescriptions": {
                                                    "typeIdentifier": "t_bytes_memory_ptr",
                                                    "typeString": "bytes memory"
                                                }
                                            }
                                        ],
                                        "expression": {
                                            "argumentTypes": [
                                                {
                                                    "typeIdentifier": "t_bytes_memory_ptr",
                                                    "typeString": "bytes memory"
                                                }
                                            ],
                                            "id": 19941,
                                            "name": "_sendLogPayload",
                                            "nodeType": "Identifier",
                                            "overloadedDeclarations": [],
                                            "referencedDeclaration": 12880,
                                            "src": "54495:15:62",
                                            "typeDescriptions": {
                                                "typeIdentifier": "t_function_internal_view$_t_bytes_memory_ptr_$returns$__$",
                                                "typeString": "function (bytes memory) view"
                                            }
                                        },
                                        "id": 19950,
                                        "isConstant": false,
                                        "isLValue": false,
                                        "isPure": false,
                                        "kind": "functionCall",
                                        "lValueRequested": false,
                                        "names": [],
                                        "nodeType": "FunctionCall",
                                        "src": "54495:93:62",
                                        "tryCall": false,
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_tuple$__$",
                                            "typeString": "tuple()"
                                        }
                                    },
                                    "id": 19951,
                                    "nodeType": "ExpressionStatement",
                                    "src": "54495:93:62"
                                }
                            ]
                        },
                        "id": 19953,
                        "implemented": true,
                        "kind": "function",
                        "modifiers": [],
                        "name": "log",
                        "nameLocation": "54407:3:62",
                        "nodeType": "FunctionDefinition",
                        "parameters": {
                            "id": 19939,
                            "nodeType": "ParameterList",
                            "parameters": [
                                {
                                    "constant": false,
                                    "id": 19932,
                                    "mutability": "mutable",
                                    "name": "p0",
                                    "nameLocation": "54419:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 19953,
                                    "src": "54411:10:62",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_address",
                                        "typeString": "address"
                                    },
                                    "typeName": {
                                        "id": 19931,
                                        "name": "address",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "54411:7:62",
                                        "stateMutability": "nonpayable",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_address",
                                            "typeString": "address"
                                        }
                                    },
                                    "visibility": "internal"
                                },
                                {
                                    "constant": false,
                                    "id": 19934,
                                    "mutability": "mutable",
                                    "name": "p1",
                                    "nameLocation": "54437:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 19953,
                                    "src": "54423:16:62",
                                    "stateVariable": false,
                                    "storageLocation": "memory",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_string_memory_ptr",
                                        "typeString": "string"
                                    },
                                    "typeName": {
                                        "id": 19933,
                                        "name": "string",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "54423:6:62",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_string_storage_ptr",
                                            "typeString": "string"
                                        }
                                    },
                                    "visibility": "internal"
                                },
                                {
                                    "constant": false,
                                    "id": 19936,
                                    "mutability": "mutable",
                                    "name": "p2",
                                    "nameLocation": "54455:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 19953,
                                    "src": "54441:16:62",
                                    "stateVariable": false,
                                    "storageLocation": "memory",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_string_memory_ptr",
                                        "typeString": "string"
                                    },
                                    "typeName": {
                                        "id": 19935,
                                        "name": "string",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "54441:6:62",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_string_storage_ptr",
                                            "typeString": "string"
                                        }
                                    },
                                    "visibility": "internal"
                                },
                                {
                                    "constant": false,
                                    "id": 19938,
                                    "mutability": "mutable",
                                    "name": "p3",
                                    "nameLocation": "54473:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 19953,
                                    "src": "54459:16:62",
                                    "stateVariable": false,
                                    "storageLocation": "memory",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_string_memory_ptr",
                                        "typeString": "string"
                                    },
                                    "typeName": {
                                        "id": 19937,
                                        "name": "string",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "54459:6:62",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_string_storage_ptr",
                                            "typeString": "string"
                                        }
                                    },
                                    "visibility": "internal"
                                }
                            ],
                            "src": "54410:66:62"
                        },
                        "returnParameters": {
                            "id": 19940,
                            "nodeType": "ParameterList",
                            "parameters": [],
                            "src": "54491:0:62"
                        },
                        "scope": 20920,
                        "src": "54398:194:62",
                        "stateMutability": "view",
                        "virtual": false,
                        "visibility": "internal"
                    },
                    {
                        "body": {
                            "id": 19975,
                            "nodeType": "Block",
                            "src": "54679:99:62",
                            "statements": [
                                {
                                    "expression": {
                                        "arguments": [
                                            {
                                                "arguments": [
                                                    {
                                                        "hexValue": "6c6f6728616464726573732c737472696e672c737472696e672c626f6f6c29",
                                                        "id": 19967,
                                                        "isConstant": false,
                                                        "isLValue": false,
                                                        "isPure": true,
                                                        "kind": "string",
                                                        "lValueRequested": false,
                                                        "nodeType": "Literal",
                                                        "src": "54723:33:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_stringliteral_35a5071fa9f4610e50772083182f21e949e7a02301a3936e315dd1c4fc39a9ed",
                                                            "typeString": "literal_string \"log(address,string,string,bool)\""
                                                        },
                                                        "value": "log(address,string,string,bool)"
                                                    },
                                                    {
                                                        "id": 19968,
                                                        "name": "p0",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 19955,
                                                        "src": "54758:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_address",
                                                            "typeString": "address"
                                                        }
                                                    },
                                                    {
                                                        "id": 19969,
                                                        "name": "p1",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 19957,
                                                        "src": "54762:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_string_memory_ptr",
                                                            "typeString": "string memory"
                                                        }
                                                    },
                                                    {
                                                        "id": 19970,
                                                        "name": "p2",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 19959,
                                                        "src": "54766:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_string_memory_ptr",
                                                            "typeString": "string memory"
                                                        }
                                                    },
                                                    {
                                                        "id": 19971,
                                                        "name": "p3",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 19961,
                                                        "src": "54770:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_bool",
                                                            "typeString": "bool"
                                                        }
                                                    }
                                                ],
                                                "expression": {
                                                    "argumentTypes": [
                                                        {
                                                            "typeIdentifier": "t_stringliteral_35a5071fa9f4610e50772083182f21e949e7a02301a3936e315dd1c4fc39a9ed",
                                                            "typeString": "literal_string \"log(address,string,string,bool)\""
                                                        },
                                                        {
                                                            "typeIdentifier": "t_address",
                                                            "typeString": "address"
                                                        },
                                                        {
                                                            "typeIdentifier": "t_string_memory_ptr",
                                                            "typeString": "string memory"
                                                        },
                                                        {
                                                            "typeIdentifier": "t_string_memory_ptr",
                                                            "typeString": "string memory"
                                                        },
                                                        {
                                                            "typeIdentifier": "t_bool",
                                                            "typeString": "bool"
                                                        }
                                                    ],
                                                    "expression": {
                                                        "id": 19965,
                                                        "name": "abi",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 4294967295,
                                                        "src": "54699:3:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_magic_abi",
                                                            "typeString": "abi"
                                                        }
                                                    },
                                                    "id": 19966,
                                                    "isConstant": false,
                                                    "isLValue": false,
                                                    "isPure": true,
                                                    "lValueRequested": false,
                                                    "memberName": "encodeWithSignature",
                                                    "nodeType": "MemberAccess",
                                                    "src": "54699:23:62",
                                                    "typeDescriptions": {
                                                        "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$",
                                                        "typeString": "function (string memory) pure returns (bytes memory)"
                                                    }
                                                },
                                                "id": 19972,
                                                "isConstant": false,
                                                "isLValue": false,
                                                "isPure": false,
                                                "kind": "functionCall",
                                                "lValueRequested": false,
                                                "names": [],
                                                "nodeType": "FunctionCall",
                                                "src": "54699:74:62",
                                                "tryCall": false,
                                                "typeDescriptions": {
                                                    "typeIdentifier": "t_bytes_memory_ptr",
                                                    "typeString": "bytes memory"
                                                }
                                            }
                                        ],
                                        "expression": {
                                            "argumentTypes": [
                                                {
                                                    "typeIdentifier": "t_bytes_memory_ptr",
                                                    "typeString": "bytes memory"
                                                }
                                            ],
                                            "id": 19964,
                                            "name": "_sendLogPayload",
                                            "nodeType": "Identifier",
                                            "overloadedDeclarations": [],
                                            "referencedDeclaration": 12880,
                                            "src": "54683:15:62",
                                            "typeDescriptions": {
                                                "typeIdentifier": "t_function_internal_view$_t_bytes_memory_ptr_$returns$__$",
                                                "typeString": "function (bytes memory) view"
                                            }
                                        },
                                        "id": 19973,
                                        "isConstant": false,
                                        "isLValue": false,
                                        "isPure": false,
                                        "kind": "functionCall",
                                        "lValueRequested": false,
                                        "names": [],
                                        "nodeType": "FunctionCall",
                                        "src": "54683:91:62",
                                        "tryCall": false,
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_tuple$__$",
                                            "typeString": "tuple()"
                                        }
                                    },
                                    "id": 19974,
                                    "nodeType": "ExpressionStatement",
                                    "src": "54683:91:62"
                                }
                            ]
                        },
                        "id": 19976,
                        "implemented": true,
                        "kind": "function",
                        "modifiers": [],
                        "name": "log",
                        "nameLocation": "54604:3:62",
                        "nodeType": "FunctionDefinition",
                        "parameters": {
                            "id": 19962,
                            "nodeType": "ParameterList",
                            "parameters": [
                                {
                                    "constant": false,
                                    "id": 19955,
                                    "mutability": "mutable",
                                    "name": "p0",
                                    "nameLocation": "54616:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 19976,
                                    "src": "54608:10:62",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_address",
                                        "typeString": "address"
                                    },
                                    "typeName": {
                                        "id": 19954,
                                        "name": "address",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "54608:7:62",
                                        "stateMutability": "nonpayable",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_address",
                                            "typeString": "address"
                                        }
                                    },
                                    "visibility": "internal"
                                },
                                {
                                    "constant": false,
                                    "id": 19957,
                                    "mutability": "mutable",
                                    "name": "p1",
                                    "nameLocation": "54634:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 19976,
                                    "src": "54620:16:62",
                                    "stateVariable": false,
                                    "storageLocation": "memory",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_string_memory_ptr",
                                        "typeString": "string"
                                    },
                                    "typeName": {
                                        "id": 19956,
                                        "name": "string",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "54620:6:62",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_string_storage_ptr",
                                            "typeString": "string"
                                        }
                                    },
                                    "visibility": "internal"
                                },
                                {
                                    "constant": false,
                                    "id": 19959,
                                    "mutability": "mutable",
                                    "name": "p2",
                                    "nameLocation": "54652:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 19976,
                                    "src": "54638:16:62",
                                    "stateVariable": false,
                                    "storageLocation": "memory",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_string_memory_ptr",
                                        "typeString": "string"
                                    },
                                    "typeName": {
                                        "id": 19958,
                                        "name": "string",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "54638:6:62",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_string_storage_ptr",
                                            "typeString": "string"
                                        }
                                    },
                                    "visibility": "internal"
                                },
                                {
                                    "constant": false,
                                    "id": 19961,
                                    "mutability": "mutable",
                                    "name": "p3",
                                    "nameLocation": "54661:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 19976,
                                    "src": "54656:7:62",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_bool",
                                        "typeString": "bool"
                                    },
                                    "typeName": {
                                        "id": 19960,
                                        "name": "bool",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "54656:4:62",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_bool",
                                            "typeString": "bool"
                                        }
                                    },
                                    "visibility": "internal"
                                }
                            ],
                            "src": "54607:57:62"
                        },
                        "returnParameters": {
                            "id": 19963,
                            "nodeType": "ParameterList",
                            "parameters": [],
                            "src": "54679:0:62"
                        },
                        "scope": 20920,
                        "src": "54595:183:62",
                        "stateMutability": "view",
                        "virtual": false,
                        "visibility": "internal"
                    },
                    {
                        "body": {
                            "id": 19998,
                            "nodeType": "Block",
                            "src": "54868:102:62",
                            "statements": [
                                {
                                    "expression": {
                                        "arguments": [
                                            {
                                                "arguments": [
                                                    {
                                                        "hexValue": "6c6f6728616464726573732c737472696e672c737472696e672c6164647265737329",
                                                        "id": 19990,
                                                        "isConstant": false,
                                                        "isLValue": false,
                                                        "isPure": true,
                                                        "kind": "string",
                                                        "lValueRequested": false,
                                                        "nodeType": "Literal",
                                                        "src": "54912:36:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_stringliteral_a04e2f87a739673cc9223810c24b00b35c6b2c9f3ef123cc82866752e1fa816f",
                                                            "typeString": "literal_string \"log(address,string,string,address)\""
                                                        },
                                                        "value": "log(address,string,string,address)"
                                                    },
                                                    {
                                                        "id": 19991,
                                                        "name": "p0",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 19978,
                                                        "src": "54950:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_address",
                                                            "typeString": "address"
                                                        }
                                                    },
                                                    {
                                                        "id": 19992,
                                                        "name": "p1",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 19980,
                                                        "src": "54954:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_string_memory_ptr",
                                                            "typeString": "string memory"
                                                        }
                                                    },
                                                    {
                                                        "id": 19993,
                                                        "name": "p2",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 19982,
                                                        "src": "54958:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_string_memory_ptr",
                                                            "typeString": "string memory"
                                                        }
                                                    },
                                                    {
                                                        "id": 19994,
                                                        "name": "p3",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 19984,
                                                        "src": "54962:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_address",
                                                            "typeString": "address"
                                                        }
                                                    }
                                                ],
                                                "expression": {
                                                    "argumentTypes": [
                                                        {
                                                            "typeIdentifier": "t_stringliteral_a04e2f87a739673cc9223810c24b00b35c6b2c9f3ef123cc82866752e1fa816f",
                                                            "typeString": "literal_string \"log(address,string,string,address)\""
                                                        },
                                                        {
                                                            "typeIdentifier": "t_address",
                                                            "typeString": "address"
                                                        },
                                                        {
                                                            "typeIdentifier": "t_string_memory_ptr",
                                                            "typeString": "string memory"
                                                        },
                                                        {
                                                            "typeIdentifier": "t_string_memory_ptr",
                                                            "typeString": "string memory"
                                                        },
                                                        {
                                                            "typeIdentifier": "t_address",
                                                            "typeString": "address"
                                                        }
                                                    ],
                                                    "expression": {
                                                        "id": 19988,
                                                        "name": "abi",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 4294967295,
                                                        "src": "54888:3:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_magic_abi",
                                                            "typeString": "abi"
                                                        }
                                                    },
                                                    "id": 19989,
                                                    "isConstant": false,
                                                    "isLValue": false,
                                                    "isPure": true,
                                                    "lValueRequested": false,
                                                    "memberName": "encodeWithSignature",
                                                    "nodeType": "MemberAccess",
                                                    "src": "54888:23:62",
                                                    "typeDescriptions": {
                                                        "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$",
                                                        "typeString": "function (string memory) pure returns (bytes memory)"
                                                    }
                                                },
                                                "id": 19995,
                                                "isConstant": false,
                                                "isLValue": false,
                                                "isPure": false,
                                                "kind": "functionCall",
                                                "lValueRequested": false,
                                                "names": [],
                                                "nodeType": "FunctionCall",
                                                "src": "54888:77:62",
                                                "tryCall": false,
                                                "typeDescriptions": {
                                                    "typeIdentifier": "t_bytes_memory_ptr",
                                                    "typeString": "bytes memory"
                                                }
                                            }
                                        ],
                                        "expression": {
                                            "argumentTypes": [
                                                {
                                                    "typeIdentifier": "t_bytes_memory_ptr",
                                                    "typeString": "bytes memory"
                                                }
                                            ],
                                            "id": 19987,
                                            "name": "_sendLogPayload",
                                            "nodeType": "Identifier",
                                            "overloadedDeclarations": [],
                                            "referencedDeclaration": 12880,
                                            "src": "54872:15:62",
                                            "typeDescriptions": {
                                                "typeIdentifier": "t_function_internal_view$_t_bytes_memory_ptr_$returns$__$",
                                                "typeString": "function (bytes memory) view"
                                            }
                                        },
                                        "id": 19996,
                                        "isConstant": false,
                                        "isLValue": false,
                                        "isPure": false,
                                        "kind": "functionCall",
                                        "lValueRequested": false,
                                        "names": [],
                                        "nodeType": "FunctionCall",
                                        "src": "54872:94:62",
                                        "tryCall": false,
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_tuple$__$",
                                            "typeString": "tuple()"
                                        }
                                    },
                                    "id": 19997,
                                    "nodeType": "ExpressionStatement",
                                    "src": "54872:94:62"
                                }
                            ]
                        },
                        "id": 19999,
                        "implemented": true,
                        "kind": "function",
                        "modifiers": [],
                        "name": "log",
                        "nameLocation": "54790:3:62",
                        "nodeType": "FunctionDefinition",
                        "parameters": {
                            "id": 19985,
                            "nodeType": "ParameterList",
                            "parameters": [
                                {
                                    "constant": false,
                                    "id": 19978,
                                    "mutability": "mutable",
                                    "name": "p0",
                                    "nameLocation": "54802:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 19999,
                                    "src": "54794:10:62",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_address",
                                        "typeString": "address"
                                    },
                                    "typeName": {
                                        "id": 19977,
                                        "name": "address",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "54794:7:62",
                                        "stateMutability": "nonpayable",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_address",
                                            "typeString": "address"
                                        }
                                    },
                                    "visibility": "internal"
                                },
                                {
                                    "constant": false,
                                    "id": 19980,
                                    "mutability": "mutable",
                                    "name": "p1",
                                    "nameLocation": "54820:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 19999,
                                    "src": "54806:16:62",
                                    "stateVariable": false,
                                    "storageLocation": "memory",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_string_memory_ptr",
                                        "typeString": "string"
                                    },
                                    "typeName": {
                                        "id": 19979,
                                        "name": "string",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "54806:6:62",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_string_storage_ptr",
                                            "typeString": "string"
                                        }
                                    },
                                    "visibility": "internal"
                                },
                                {
                                    "constant": false,
                                    "id": 19982,
                                    "mutability": "mutable",
                                    "name": "p2",
                                    "nameLocation": "54838:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 19999,
                                    "src": "54824:16:62",
                                    "stateVariable": false,
                                    "storageLocation": "memory",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_string_memory_ptr",
                                        "typeString": "string"
                                    },
                                    "typeName": {
                                        "id": 19981,
                                        "name": "string",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "54824:6:62",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_string_storage_ptr",
                                            "typeString": "string"
                                        }
                                    },
                                    "visibility": "internal"
                                },
                                {
                                    "constant": false,
                                    "id": 19984,
                                    "mutability": "mutable",
                                    "name": "p3",
                                    "nameLocation": "54850:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 19999,
                                    "src": "54842:10:62",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_address",
                                        "typeString": "address"
                                    },
                                    "typeName": {
                                        "id": 19983,
                                        "name": "address",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "54842:7:62",
                                        "stateMutability": "nonpayable",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_address",
                                            "typeString": "address"
                                        }
                                    },
                                    "visibility": "internal"
                                }
                            ],
                            "src": "54793:60:62"
                        },
                        "returnParameters": {
                            "id": 19986,
                            "nodeType": "ParameterList",
                            "parameters": [],
                            "src": "54868:0:62"
                        },
                        "scope": 20920,
                        "src": "54781:189:62",
                        "stateMutability": "view",
                        "virtual": false,
                        "visibility": "internal"
                    },
                    {
                        "body": {
                            "id": 20021,
                            "nodeType": "Block",
                            "src": "55048:97:62",
                            "statements": [
                                {
                                    "expression": {
                                        "arguments": [
                                            {
                                                "arguments": [
                                                    {
                                                        "hexValue": "6c6f6728616464726573732c737472696e672c626f6f6c2c75696e7429",
                                                        "id": 20013,
                                                        "isConstant": false,
                                                        "isLValue": false,
                                                        "isPure": true,
                                                        "kind": "string",
                                                        "lValueRequested": false,
                                                        "nodeType": "Literal",
                                                        "src": "55092:31:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_stringliteral_e720521cc58e36659b0c45689a38054bd7300ff30d5ec0cfec7bae3dc2e9689a",
                                                            "typeString": "literal_string \"log(address,string,bool,uint)\""
                                                        },
                                                        "value": "log(address,string,bool,uint)"
                                                    },
                                                    {
                                                        "id": 20014,
                                                        "name": "p0",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 20001,
                                                        "src": "55125:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_address",
                                                            "typeString": "address"
                                                        }
                                                    },
                                                    {
                                                        "id": 20015,
                                                        "name": "p1",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 20003,
                                                        "src": "55129:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_string_memory_ptr",
                                                            "typeString": "string memory"
                                                        }
                                                    },
                                                    {
                                                        "id": 20016,
                                                        "name": "p2",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 20005,
                                                        "src": "55133:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_bool",
                                                            "typeString": "bool"
                                                        }
                                                    },
                                                    {
                                                        "id": 20017,
                                                        "name": "p3",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 20007,
                                                        "src": "55137:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_uint256",
                                                            "typeString": "uint256"
                                                        }
                                                    }
                                                ],
                                                "expression": {
                                                    "argumentTypes": [
                                                        {
                                                            "typeIdentifier": "t_stringliteral_e720521cc58e36659b0c45689a38054bd7300ff30d5ec0cfec7bae3dc2e9689a",
                                                            "typeString": "literal_string \"log(address,string,bool,uint)\""
                                                        },
                                                        {
                                                            "typeIdentifier": "t_address",
                                                            "typeString": "address"
                                                        },
                                                        {
                                                            "typeIdentifier": "t_string_memory_ptr",
                                                            "typeString": "string memory"
                                                        },
                                                        {
                                                            "typeIdentifier": "t_bool",
                                                            "typeString": "bool"
                                                        },
                                                        {
                                                            "typeIdentifier": "t_uint256",
                                                            "typeString": "uint256"
                                                        }
                                                    ],
                                                    "expression": {
                                                        "id": 20011,
                                                        "name": "abi",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 4294967295,
                                                        "src": "55068:3:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_magic_abi",
                                                            "typeString": "abi"
                                                        }
                                                    },
                                                    "id": 20012,
                                                    "isConstant": false,
                                                    "isLValue": false,
                                                    "isPure": true,
                                                    "lValueRequested": false,
                                                    "memberName": "encodeWithSignature",
                                                    "nodeType": "MemberAccess",
                                                    "src": "55068:23:62",
                                                    "typeDescriptions": {
                                                        "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$",
                                                        "typeString": "function (string memory) pure returns (bytes memory)"
                                                    }
                                                },
                                                "id": 20018,
                                                "isConstant": false,
                                                "isLValue": false,
                                                "isPure": false,
                                                "kind": "functionCall",
                                                "lValueRequested": false,
                                                "names": [],
                                                "nodeType": "FunctionCall",
                                                "src": "55068:72:62",
                                                "tryCall": false,
                                                "typeDescriptions": {
                                                    "typeIdentifier": "t_bytes_memory_ptr",
                                                    "typeString": "bytes memory"
                                                }
                                            }
                                        ],
                                        "expression": {
                                            "argumentTypes": [
                                                {
                                                    "typeIdentifier": "t_bytes_memory_ptr",
                                                    "typeString": "bytes memory"
                                                }
                                            ],
                                            "id": 20010,
                                            "name": "_sendLogPayload",
                                            "nodeType": "Identifier",
                                            "overloadedDeclarations": [],
                                            "referencedDeclaration": 12880,
                                            "src": "55052:15:62",
                                            "typeDescriptions": {
                                                "typeIdentifier": "t_function_internal_view$_t_bytes_memory_ptr_$returns$__$",
                                                "typeString": "function (bytes memory) view"
                                            }
                                        },
                                        "id": 20019,
                                        "isConstant": false,
                                        "isLValue": false,
                                        "isPure": false,
                                        "kind": "functionCall",
                                        "lValueRequested": false,
                                        "names": [],
                                        "nodeType": "FunctionCall",
                                        "src": "55052:89:62",
                                        "tryCall": false,
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_tuple$__$",
                                            "typeString": "tuple()"
                                        }
                                    },
                                    "id": 20020,
                                    "nodeType": "ExpressionStatement",
                                    "src": "55052:89:62"
                                }
                            ]
                        },
                        "id": 20022,
                        "implemented": true,
                        "kind": "function",
                        "modifiers": [],
                        "name": "log",
                        "nameLocation": "54982:3:62",
                        "nodeType": "FunctionDefinition",
                        "parameters": {
                            "id": 20008,
                            "nodeType": "ParameterList",
                            "parameters": [
                                {
                                    "constant": false,
                                    "id": 20001,
                                    "mutability": "mutable",
                                    "name": "p0",
                                    "nameLocation": "54994:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 20022,
                                    "src": "54986:10:62",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_address",
                                        "typeString": "address"
                                    },
                                    "typeName": {
                                        "id": 20000,
                                        "name": "address",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "54986:7:62",
                                        "stateMutability": "nonpayable",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_address",
                                            "typeString": "address"
                                        }
                                    },
                                    "visibility": "internal"
                                },
                                {
                                    "constant": false,
                                    "id": 20003,
                                    "mutability": "mutable",
                                    "name": "p1",
                                    "nameLocation": "55012:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 20022,
                                    "src": "54998:16:62",
                                    "stateVariable": false,
                                    "storageLocation": "memory",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_string_memory_ptr",
                                        "typeString": "string"
                                    },
                                    "typeName": {
                                        "id": 20002,
                                        "name": "string",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "54998:6:62",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_string_storage_ptr",
                                            "typeString": "string"
                                        }
                                    },
                                    "visibility": "internal"
                                },
                                {
                                    "constant": false,
                                    "id": 20005,
                                    "mutability": "mutable",
                                    "name": "p2",
                                    "nameLocation": "55021:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 20022,
                                    "src": "55016:7:62",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_bool",
                                        "typeString": "bool"
                                    },
                                    "typeName": {
                                        "id": 20004,
                                        "name": "bool",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "55016:4:62",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_bool",
                                            "typeString": "bool"
                                        }
                                    },
                                    "visibility": "internal"
                                },
                                {
                                    "constant": false,
                                    "id": 20007,
                                    "mutability": "mutable",
                                    "name": "p3",
                                    "nameLocation": "55030:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 20022,
                                    "src": "55025:7:62",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_uint256",
                                        "typeString": "uint256"
                                    },
                                    "typeName": {
                                        "id": 20006,
                                        "name": "uint",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "55025:4:62",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_uint256",
                                            "typeString": "uint256"
                                        }
                                    },
                                    "visibility": "internal"
                                }
                            ],
                            "src": "54985:48:62"
                        },
                        "returnParameters": {
                            "id": 20009,
                            "nodeType": "ParameterList",
                            "parameters": [],
                            "src": "55048:0:62"
                        },
                        "scope": 20920,
                        "src": "54973:172:62",
                        "stateMutability": "view",
                        "virtual": false,
                        "visibility": "internal"
                    },
                    {
                        "body": {
                            "id": 20044,
                            "nodeType": "Block",
                            "src": "55232:99:62",
                            "statements": [
                                {
                                    "expression": {
                                        "arguments": [
                                            {
                                                "arguments": [
                                                    {
                                                        "hexValue": "6c6f6728616464726573732c737472696e672c626f6f6c2c737472696e6729",
                                                        "id": 20036,
                                                        "isConstant": false,
                                                        "isLValue": false,
                                                        "isPure": true,
                                                        "kind": "string",
                                                        "lValueRequested": false,
                                                        "nodeType": "Literal",
                                                        "src": "55276:33:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_stringliteral_bc0b61fe9497b47eb6a51a5a6a4bf26b32ddcbc9407ccae8cc7de64b3e3d84cc",
                                                            "typeString": "literal_string \"log(address,string,bool,string)\""
                                                        },
                                                        "value": "log(address,string,bool,string)"
                                                    },
                                                    {
                                                        "id": 20037,
                                                        "name": "p0",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 20024,
                                                        "src": "55311:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_address",
                                                            "typeString": "address"
                                                        }
                                                    },
                                                    {
                                                        "id": 20038,
                                                        "name": "p1",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 20026,
                                                        "src": "55315:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_string_memory_ptr",
                                                            "typeString": "string memory"
                                                        }
                                                    },
                                                    {
                                                        "id": 20039,
                                                        "name": "p2",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 20028,
                                                        "src": "55319:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_bool",
                                                            "typeString": "bool"
                                                        }
                                                    },
                                                    {
                                                        "id": 20040,
                                                        "name": "p3",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 20030,
                                                        "src": "55323:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_string_memory_ptr",
                                                            "typeString": "string memory"
                                                        }
                                                    }
                                                ],
                                                "expression": {
                                                    "argumentTypes": [
                                                        {
                                                            "typeIdentifier": "t_stringliteral_bc0b61fe9497b47eb6a51a5a6a4bf26b32ddcbc9407ccae8cc7de64b3e3d84cc",
                                                            "typeString": "literal_string \"log(address,string,bool,string)\""
                                                        },
                                                        {
                                                            "typeIdentifier": "t_address",
                                                            "typeString": "address"
                                                        },
                                                        {
                                                            "typeIdentifier": "t_string_memory_ptr",
                                                            "typeString": "string memory"
                                                        },
                                                        {
                                                            "typeIdentifier": "t_bool",
                                                            "typeString": "bool"
                                                        },
                                                        {
                                                            "typeIdentifier": "t_string_memory_ptr",
                                                            "typeString": "string memory"
                                                        }
                                                    ],
                                                    "expression": {
                                                        "id": 20034,
                                                        "name": "abi",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 4294967295,
                                                        "src": "55252:3:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_magic_abi",
                                                            "typeString": "abi"
                                                        }
                                                    },
                                                    "id": 20035,
                                                    "isConstant": false,
                                                    "isLValue": false,
                                                    "isPure": true,
                                                    "lValueRequested": false,
                                                    "memberName": "encodeWithSignature",
                                                    "nodeType": "MemberAccess",
                                                    "src": "55252:23:62",
                                                    "typeDescriptions": {
                                                        "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$",
                                                        "typeString": "function (string memory) pure returns (bytes memory)"
                                                    }
                                                },
                                                "id": 20041,
                                                "isConstant": false,
                                                "isLValue": false,
                                                "isPure": false,
                                                "kind": "functionCall",
                                                "lValueRequested": false,
                                                "names": [],
                                                "nodeType": "FunctionCall",
                                                "src": "55252:74:62",
                                                "tryCall": false,
                                                "typeDescriptions": {
                                                    "typeIdentifier": "t_bytes_memory_ptr",
                                                    "typeString": "bytes memory"
                                                }
                                            }
                                        ],
                                        "expression": {
                                            "argumentTypes": [
                                                {
                                                    "typeIdentifier": "t_bytes_memory_ptr",
                                                    "typeString": "bytes memory"
                                                }
                                            ],
                                            "id": 20033,
                                            "name": "_sendLogPayload",
                                            "nodeType": "Identifier",
                                            "overloadedDeclarations": [],
                                            "referencedDeclaration": 12880,
                                            "src": "55236:15:62",
                                            "typeDescriptions": {
                                                "typeIdentifier": "t_function_internal_view$_t_bytes_memory_ptr_$returns$__$",
                                                "typeString": "function (bytes memory) view"
                                            }
                                        },
                                        "id": 20042,
                                        "isConstant": false,
                                        "isLValue": false,
                                        "isPure": false,
                                        "kind": "functionCall",
                                        "lValueRequested": false,
                                        "names": [],
                                        "nodeType": "FunctionCall",
                                        "src": "55236:91:62",
                                        "tryCall": false,
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_tuple$__$",
                                            "typeString": "tuple()"
                                        }
                                    },
                                    "id": 20043,
                                    "nodeType": "ExpressionStatement",
                                    "src": "55236:91:62"
                                }
                            ]
                        },
                        "id": 20045,
                        "implemented": true,
                        "kind": "function",
                        "modifiers": [],
                        "name": "log",
                        "nameLocation": "55157:3:62",
                        "nodeType": "FunctionDefinition",
                        "parameters": {
                            "id": 20031,
                            "nodeType": "ParameterList",
                            "parameters": [
                                {
                                    "constant": false,
                                    "id": 20024,
                                    "mutability": "mutable",
                                    "name": "p0",
                                    "nameLocation": "55169:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 20045,
                                    "src": "55161:10:62",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_address",
                                        "typeString": "address"
                                    },
                                    "typeName": {
                                        "id": 20023,
                                        "name": "address",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "55161:7:62",
                                        "stateMutability": "nonpayable",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_address",
                                            "typeString": "address"
                                        }
                                    },
                                    "visibility": "internal"
                                },
                                {
                                    "constant": false,
                                    "id": 20026,
                                    "mutability": "mutable",
                                    "name": "p1",
                                    "nameLocation": "55187:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 20045,
                                    "src": "55173:16:62",
                                    "stateVariable": false,
                                    "storageLocation": "memory",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_string_memory_ptr",
                                        "typeString": "string"
                                    },
                                    "typeName": {
                                        "id": 20025,
                                        "name": "string",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "55173:6:62",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_string_storage_ptr",
                                            "typeString": "string"
                                        }
                                    },
                                    "visibility": "internal"
                                },
                                {
                                    "constant": false,
                                    "id": 20028,
                                    "mutability": "mutable",
                                    "name": "p2",
                                    "nameLocation": "55196:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 20045,
                                    "src": "55191:7:62",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_bool",
                                        "typeString": "bool"
                                    },
                                    "typeName": {
                                        "id": 20027,
                                        "name": "bool",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "55191:4:62",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_bool",
                                            "typeString": "bool"
                                        }
                                    },
                                    "visibility": "internal"
                                },
                                {
                                    "constant": false,
                                    "id": 20030,
                                    "mutability": "mutable",
                                    "name": "p3",
                                    "nameLocation": "55214:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 20045,
                                    "src": "55200:16:62",
                                    "stateVariable": false,
                                    "storageLocation": "memory",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_string_memory_ptr",
                                        "typeString": "string"
                                    },
                                    "typeName": {
                                        "id": 20029,
                                        "name": "string",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "55200:6:62",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_string_storage_ptr",
                                            "typeString": "string"
                                        }
                                    },
                                    "visibility": "internal"
                                }
                            ],
                            "src": "55160:57:62"
                        },
                        "returnParameters": {
                            "id": 20032,
                            "nodeType": "ParameterList",
                            "parameters": [],
                            "src": "55232:0:62"
                        },
                        "scope": 20920,
                        "src": "55148:183:62",
                        "stateMutability": "view",
                        "virtual": false,
                        "visibility": "internal"
                    },
                    {
                        "body": {
                            "id": 20067,
                            "nodeType": "Block",
                            "src": "55409:97:62",
                            "statements": [
                                {
                                    "expression": {
                                        "arguments": [
                                            {
                                                "arguments": [
                                                    {
                                                        "hexValue": "6c6f6728616464726573732c737472696e672c626f6f6c2c626f6f6c29",
                                                        "id": 20059,
                                                        "isConstant": false,
                                                        "isLValue": false,
                                                        "isPure": true,
                                                        "kind": "string",
                                                        "lValueRequested": false,
                                                        "nodeType": "Literal",
                                                        "src": "55453:31:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_stringliteral_5f1d5c9f0de8c048364058d1d6842804ada33dbc34bf9eaff8f2be978f384e08",
                                                            "typeString": "literal_string \"log(address,string,bool,bool)\""
                                                        },
                                                        "value": "log(address,string,bool,bool)"
                                                    },
                                                    {
                                                        "id": 20060,
                                                        "name": "p0",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 20047,
                                                        "src": "55486:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_address",
                                                            "typeString": "address"
                                                        }
                                                    },
                                                    {
                                                        "id": 20061,
                                                        "name": "p1",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 20049,
                                                        "src": "55490:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_string_memory_ptr",
                                                            "typeString": "string memory"
                                                        }
                                                    },
                                                    {
                                                        "id": 20062,
                                                        "name": "p2",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 20051,
                                                        "src": "55494:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_bool",
                                                            "typeString": "bool"
                                                        }
                                                    },
                                                    {
                                                        "id": 20063,
                                                        "name": "p3",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 20053,
                                                        "src": "55498:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_bool",
                                                            "typeString": "bool"
                                                        }
                                                    }
                                                ],
                                                "expression": {
                                                    "argumentTypes": [
                                                        {
                                                            "typeIdentifier": "t_stringliteral_5f1d5c9f0de8c048364058d1d6842804ada33dbc34bf9eaff8f2be978f384e08",
                                                            "typeString": "literal_string \"log(address,string,bool,bool)\""
                                                        },
                                                        {
                                                            "typeIdentifier": "t_address",
                                                            "typeString": "address"
                                                        },
                                                        {
                                                            "typeIdentifier": "t_string_memory_ptr",
                                                            "typeString": "string memory"
                                                        },
                                                        {
                                                            "typeIdentifier": "t_bool",
                                                            "typeString": "bool"
                                                        },
                                                        {
                                                            "typeIdentifier": "t_bool",
                                                            "typeString": "bool"
                                                        }
                                                    ],
                                                    "expression": {
                                                        "id": 20057,
                                                        "name": "abi",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 4294967295,
                                                        "src": "55429:3:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_magic_abi",
                                                            "typeString": "abi"
                                                        }
                                                    },
                                                    "id": 20058,
                                                    "isConstant": false,
                                                    "isLValue": false,
                                                    "isPure": true,
                                                    "lValueRequested": false,
                                                    "memberName": "encodeWithSignature",
                                                    "nodeType": "MemberAccess",
                                                    "src": "55429:23:62",
                                                    "typeDescriptions": {
                                                        "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$",
                                                        "typeString": "function (string memory) pure returns (bytes memory)"
                                                    }
                                                },
                                                "id": 20064,
                                                "isConstant": false,
                                                "isLValue": false,
                                                "isPure": false,
                                                "kind": "functionCall",
                                                "lValueRequested": false,
                                                "names": [],
                                                "nodeType": "FunctionCall",
                                                "src": "55429:72:62",
                                                "tryCall": false,
                                                "typeDescriptions": {
                                                    "typeIdentifier": "t_bytes_memory_ptr",
                                                    "typeString": "bytes memory"
                                                }
                                            }
                                        ],
                                        "expression": {
                                            "argumentTypes": [
                                                {
                                                    "typeIdentifier": "t_bytes_memory_ptr",
                                                    "typeString": "bytes memory"
                                                }
                                            ],
                                            "id": 20056,
                                            "name": "_sendLogPayload",
                                            "nodeType": "Identifier",
                                            "overloadedDeclarations": [],
                                            "referencedDeclaration": 12880,
                                            "src": "55413:15:62",
                                            "typeDescriptions": {
                                                "typeIdentifier": "t_function_internal_view$_t_bytes_memory_ptr_$returns$__$",
                                                "typeString": "function (bytes memory) view"
                                            }
                                        },
                                        "id": 20065,
                                        "isConstant": false,
                                        "isLValue": false,
                                        "isPure": false,
                                        "kind": "functionCall",
                                        "lValueRequested": false,
                                        "names": [],
                                        "nodeType": "FunctionCall",
                                        "src": "55413:89:62",
                                        "tryCall": false,
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_tuple$__$",
                                            "typeString": "tuple()"
                                        }
                                    },
                                    "id": 20066,
                                    "nodeType": "ExpressionStatement",
                                    "src": "55413:89:62"
                                }
                            ]
                        },
                        "id": 20068,
                        "implemented": true,
                        "kind": "function",
                        "modifiers": [],
                        "name": "log",
                        "nameLocation": "55343:3:62",
                        "nodeType": "FunctionDefinition",
                        "parameters": {
                            "id": 20054,
                            "nodeType": "ParameterList",
                            "parameters": [
                                {
                                    "constant": false,
                                    "id": 20047,
                                    "mutability": "mutable",
                                    "name": "p0",
                                    "nameLocation": "55355:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 20068,
                                    "src": "55347:10:62",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_address",
                                        "typeString": "address"
                                    },
                                    "typeName": {
                                        "id": 20046,
                                        "name": "address",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "55347:7:62",
                                        "stateMutability": "nonpayable",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_address",
                                            "typeString": "address"
                                        }
                                    },
                                    "visibility": "internal"
                                },
                                {
                                    "constant": false,
                                    "id": 20049,
                                    "mutability": "mutable",
                                    "name": "p1",
                                    "nameLocation": "55373:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 20068,
                                    "src": "55359:16:62",
                                    "stateVariable": false,
                                    "storageLocation": "memory",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_string_memory_ptr",
                                        "typeString": "string"
                                    },
                                    "typeName": {
                                        "id": 20048,
                                        "name": "string",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "55359:6:62",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_string_storage_ptr",
                                            "typeString": "string"
                                        }
                                    },
                                    "visibility": "internal"
                                },
                                {
                                    "constant": false,
                                    "id": 20051,
                                    "mutability": "mutable",
                                    "name": "p2",
                                    "nameLocation": "55382:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 20068,
                                    "src": "55377:7:62",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_bool",
                                        "typeString": "bool"
                                    },
                                    "typeName": {
                                        "id": 20050,
                                        "name": "bool",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "55377:4:62",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_bool",
                                            "typeString": "bool"
                                        }
                                    },
                                    "visibility": "internal"
                                },
                                {
                                    "constant": false,
                                    "id": 20053,
                                    "mutability": "mutable",
                                    "name": "p3",
                                    "nameLocation": "55391:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 20068,
                                    "src": "55386:7:62",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_bool",
                                        "typeString": "bool"
                                    },
                                    "typeName": {
                                        "id": 20052,
                                        "name": "bool",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "55386:4:62",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_bool",
                                            "typeString": "bool"
                                        }
                                    },
                                    "visibility": "internal"
                                }
                            ],
                            "src": "55346:48:62"
                        },
                        "returnParameters": {
                            "id": 20055,
                            "nodeType": "ParameterList",
                            "parameters": [],
                            "src": "55409:0:62"
                        },
                        "scope": 20920,
                        "src": "55334:172:62",
                        "stateMutability": "view",
                        "virtual": false,
                        "visibility": "internal"
                    },
                    {
                        "body": {
                            "id": 20090,
                            "nodeType": "Block",
                            "src": "55587:100:62",
                            "statements": [
                                {
                                    "expression": {
                                        "arguments": [
                                            {
                                                "arguments": [
                                                    {
                                                        "hexValue": "6c6f6728616464726573732c737472696e672c626f6f6c2c6164647265737329",
                                                        "id": 20082,
                                                        "isConstant": false,
                                                        "isLValue": false,
                                                        "isPure": true,
                                                        "kind": "string",
                                                        "lValueRequested": false,
                                                        "nodeType": "Literal",
                                                        "src": "55631:34:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_stringliteral_205871c2f2d320acdd350939b5fc035cc20b1a9cc058fb26f1c9fb3d2ba59970",
                                                            "typeString": "literal_string \"log(address,string,bool,address)\""
                                                        },
                                                        "value": "log(address,string,bool,address)"
                                                    },
                                                    {
                                                        "id": 20083,
                                                        "name": "p0",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 20070,
                                                        "src": "55667:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_address",
                                                            "typeString": "address"
                                                        }
                                                    },
                                                    {
                                                        "id": 20084,
                                                        "name": "p1",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 20072,
                                                        "src": "55671:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_string_memory_ptr",
                                                            "typeString": "string memory"
                                                        }
                                                    },
                                                    {
                                                        "id": 20085,
                                                        "name": "p2",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 20074,
                                                        "src": "55675:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_bool",
                                                            "typeString": "bool"
                                                        }
                                                    },
                                                    {
                                                        "id": 20086,
                                                        "name": "p3",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 20076,
                                                        "src": "55679:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_address",
                                                            "typeString": "address"
                                                        }
                                                    }
                                                ],
                                                "expression": {
                                                    "argumentTypes": [
                                                        {
                                                            "typeIdentifier": "t_stringliteral_205871c2f2d320acdd350939b5fc035cc20b1a9cc058fb26f1c9fb3d2ba59970",
                                                            "typeString": "literal_string \"log(address,string,bool,address)\""
                                                        },
                                                        {
                                                            "typeIdentifier": "t_address",
                                                            "typeString": "address"
                                                        },
                                                        {
                                                            "typeIdentifier": "t_string_memory_ptr",
                                                            "typeString": "string memory"
                                                        },
                                                        {
                                                            "typeIdentifier": "t_bool",
                                                            "typeString": "bool"
                                                        },
                                                        {
                                                            "typeIdentifier": "t_address",
                                                            "typeString": "address"
                                                        }
                                                    ],
                                                    "expression": {
                                                        "id": 20080,
                                                        "name": "abi",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 4294967295,
                                                        "src": "55607:3:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_magic_abi",
                                                            "typeString": "abi"
                                                        }
                                                    },
                                                    "id": 20081,
                                                    "isConstant": false,
                                                    "isLValue": false,
                                                    "isPure": true,
                                                    "lValueRequested": false,
                                                    "memberName": "encodeWithSignature",
                                                    "nodeType": "MemberAccess",
                                                    "src": "55607:23:62",
                                                    "typeDescriptions": {
                                                        "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$",
                                                        "typeString": "function (string memory) pure returns (bytes memory)"
                                                    }
                                                },
                                                "id": 20087,
                                                "isConstant": false,
                                                "isLValue": false,
                                                "isPure": false,
                                                "kind": "functionCall",
                                                "lValueRequested": false,
                                                "names": [],
                                                "nodeType": "FunctionCall",
                                                "src": "55607:75:62",
                                                "tryCall": false,
                                                "typeDescriptions": {
                                                    "typeIdentifier": "t_bytes_memory_ptr",
                                                    "typeString": "bytes memory"
                                                }
                                            }
                                        ],
                                        "expression": {
                                            "argumentTypes": [
                                                {
                                                    "typeIdentifier": "t_bytes_memory_ptr",
                                                    "typeString": "bytes memory"
                                                }
                                            ],
                                            "id": 20079,
                                            "name": "_sendLogPayload",
                                            "nodeType": "Identifier",
                                            "overloadedDeclarations": [],
                                            "referencedDeclaration": 12880,
                                            "src": "55591:15:62",
                                            "typeDescriptions": {
                                                "typeIdentifier": "t_function_internal_view$_t_bytes_memory_ptr_$returns$__$",
                                                "typeString": "function (bytes memory) view"
                                            }
                                        },
                                        "id": 20088,
                                        "isConstant": false,
                                        "isLValue": false,
                                        "isPure": false,
                                        "kind": "functionCall",
                                        "lValueRequested": false,
                                        "names": [],
                                        "nodeType": "FunctionCall",
                                        "src": "55591:92:62",
                                        "tryCall": false,
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_tuple$__$",
                                            "typeString": "tuple()"
                                        }
                                    },
                                    "id": 20089,
                                    "nodeType": "ExpressionStatement",
                                    "src": "55591:92:62"
                                }
                            ]
                        },
                        "id": 20091,
                        "implemented": true,
                        "kind": "function",
                        "modifiers": [],
                        "name": "log",
                        "nameLocation": "55518:3:62",
                        "nodeType": "FunctionDefinition",
                        "parameters": {
                            "id": 20077,
                            "nodeType": "ParameterList",
                            "parameters": [
                                {
                                    "constant": false,
                                    "id": 20070,
                                    "mutability": "mutable",
                                    "name": "p0",
                                    "nameLocation": "55530:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 20091,
                                    "src": "55522:10:62",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_address",
                                        "typeString": "address"
                                    },
                                    "typeName": {
                                        "id": 20069,
                                        "name": "address",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "55522:7:62",
                                        "stateMutability": "nonpayable",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_address",
                                            "typeString": "address"
                                        }
                                    },
                                    "visibility": "internal"
                                },
                                {
                                    "constant": false,
                                    "id": 20072,
                                    "mutability": "mutable",
                                    "name": "p1",
                                    "nameLocation": "55548:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 20091,
                                    "src": "55534:16:62",
                                    "stateVariable": false,
                                    "storageLocation": "memory",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_string_memory_ptr",
                                        "typeString": "string"
                                    },
                                    "typeName": {
                                        "id": 20071,
                                        "name": "string",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "55534:6:62",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_string_storage_ptr",
                                            "typeString": "string"
                                        }
                                    },
                                    "visibility": "internal"
                                },
                                {
                                    "constant": false,
                                    "id": 20074,
                                    "mutability": "mutable",
                                    "name": "p2",
                                    "nameLocation": "55557:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 20091,
                                    "src": "55552:7:62",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_bool",
                                        "typeString": "bool"
                                    },
                                    "typeName": {
                                        "id": 20073,
                                        "name": "bool",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "55552:4:62",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_bool",
                                            "typeString": "bool"
                                        }
                                    },
                                    "visibility": "internal"
                                },
                                {
                                    "constant": false,
                                    "id": 20076,
                                    "mutability": "mutable",
                                    "name": "p3",
                                    "nameLocation": "55569:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 20091,
                                    "src": "55561:10:62",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_address",
                                        "typeString": "address"
                                    },
                                    "typeName": {
                                        "id": 20075,
                                        "name": "address",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "55561:7:62",
                                        "stateMutability": "nonpayable",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_address",
                                            "typeString": "address"
                                        }
                                    },
                                    "visibility": "internal"
                                }
                            ],
                            "src": "55521:51:62"
                        },
                        "returnParameters": {
                            "id": 20078,
                            "nodeType": "ParameterList",
                            "parameters": [],
                            "src": "55587:0:62"
                        },
                        "scope": 20920,
                        "src": "55509:178:62",
                        "stateMutability": "view",
                        "virtual": false,
                        "visibility": "internal"
                    },
                    {
                        "body": {
                            "id": 20113,
                            "nodeType": "Block",
                            "src": "55768:100:62",
                            "statements": [
                                {
                                    "expression": {
                                        "arguments": [
                                            {
                                                "arguments": [
                                                    {
                                                        "hexValue": "6c6f6728616464726573732c737472696e672c616464726573732c75696e7429",
                                                        "id": 20105,
                                                        "isConstant": false,
                                                        "isLValue": false,
                                                        "isPure": true,
                                                        "kind": "string",
                                                        "lValueRequested": false,
                                                        "nodeType": "Literal",
                                                        "src": "55812:34:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_stringliteral_8c1933a9a9c61e3dc8d3ebdfa929712b21dab3dcf7188e7d35cbf8aaaf476582",
                                                            "typeString": "literal_string \"log(address,string,address,uint)\""
                                                        },
                                                        "value": "log(address,string,address,uint)"
                                                    },
                                                    {
                                                        "id": 20106,
                                                        "name": "p0",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 20093,
                                                        "src": "55848:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_address",
                                                            "typeString": "address"
                                                        }
                                                    },
                                                    {
                                                        "id": 20107,
                                                        "name": "p1",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 20095,
                                                        "src": "55852:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_string_memory_ptr",
                                                            "typeString": "string memory"
                                                        }
                                                    },
                                                    {
                                                        "id": 20108,
                                                        "name": "p2",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 20097,
                                                        "src": "55856:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_address",
                                                            "typeString": "address"
                                                        }
                                                    },
                                                    {
                                                        "id": 20109,
                                                        "name": "p3",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 20099,
                                                        "src": "55860:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_uint256",
                                                            "typeString": "uint256"
                                                        }
                                                    }
                                                ],
                                                "expression": {
                                                    "argumentTypes": [
                                                        {
                                                            "typeIdentifier": "t_stringliteral_8c1933a9a9c61e3dc8d3ebdfa929712b21dab3dcf7188e7d35cbf8aaaf476582",
                                                            "typeString": "literal_string \"log(address,string,address,uint)\""
                                                        },
                                                        {
                                                            "typeIdentifier": "t_address",
                                                            "typeString": "address"
                                                        },
                                                        {
                                                            "typeIdentifier": "t_string_memory_ptr",
                                                            "typeString": "string memory"
                                                        },
                                                        {
                                                            "typeIdentifier": "t_address",
                                                            "typeString": "address"
                                                        },
                                                        {
                                                            "typeIdentifier": "t_uint256",
                                                            "typeString": "uint256"
                                                        }
                                                    ],
                                                    "expression": {
                                                        "id": 20103,
                                                        "name": "abi",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 4294967295,
                                                        "src": "55788:3:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_magic_abi",
                                                            "typeString": "abi"
                                                        }
                                                    },
                                                    "id": 20104,
                                                    "isConstant": false,
                                                    "isLValue": false,
                                                    "isPure": true,
                                                    "lValueRequested": false,
                                                    "memberName": "encodeWithSignature",
                                                    "nodeType": "MemberAccess",
                                                    "src": "55788:23:62",
                                                    "typeDescriptions": {
                                                        "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$",
                                                        "typeString": "function (string memory) pure returns (bytes memory)"
                                                    }
                                                },
                                                "id": 20110,
                                                "isConstant": false,
                                                "isLValue": false,
                                                "isPure": false,
                                                "kind": "functionCall",
                                                "lValueRequested": false,
                                                "names": [],
                                                "nodeType": "FunctionCall",
                                                "src": "55788:75:62",
                                                "tryCall": false,
                                                "typeDescriptions": {
                                                    "typeIdentifier": "t_bytes_memory_ptr",
                                                    "typeString": "bytes memory"
                                                }
                                            }
                                        ],
                                        "expression": {
                                            "argumentTypes": [
                                                {
                                                    "typeIdentifier": "t_bytes_memory_ptr",
                                                    "typeString": "bytes memory"
                                                }
                                            ],
                                            "id": 20102,
                                            "name": "_sendLogPayload",
                                            "nodeType": "Identifier",
                                            "overloadedDeclarations": [],
                                            "referencedDeclaration": 12880,
                                            "src": "55772:15:62",
                                            "typeDescriptions": {
                                                "typeIdentifier": "t_function_internal_view$_t_bytes_memory_ptr_$returns$__$",
                                                "typeString": "function (bytes memory) view"
                                            }
                                        },
                                        "id": 20111,
                                        "isConstant": false,
                                        "isLValue": false,
                                        "isPure": false,
                                        "kind": "functionCall",
                                        "lValueRequested": false,
                                        "names": [],
                                        "nodeType": "FunctionCall",
                                        "src": "55772:92:62",
                                        "tryCall": false,
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_tuple$__$",
                                            "typeString": "tuple()"
                                        }
                                    },
                                    "id": 20112,
                                    "nodeType": "ExpressionStatement",
                                    "src": "55772:92:62"
                                }
                            ]
                        },
                        "id": 20114,
                        "implemented": true,
                        "kind": "function",
                        "modifiers": [],
                        "name": "log",
                        "nameLocation": "55699:3:62",
                        "nodeType": "FunctionDefinition",
                        "parameters": {
                            "id": 20100,
                            "nodeType": "ParameterList",
                            "parameters": [
                                {
                                    "constant": false,
                                    "id": 20093,
                                    "mutability": "mutable",
                                    "name": "p0",
                                    "nameLocation": "55711:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 20114,
                                    "src": "55703:10:62",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_address",
                                        "typeString": "address"
                                    },
                                    "typeName": {
                                        "id": 20092,
                                        "name": "address",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "55703:7:62",
                                        "stateMutability": "nonpayable",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_address",
                                            "typeString": "address"
                                        }
                                    },
                                    "visibility": "internal"
                                },
                                {
                                    "constant": false,
                                    "id": 20095,
                                    "mutability": "mutable",
                                    "name": "p1",
                                    "nameLocation": "55729:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 20114,
                                    "src": "55715:16:62",
                                    "stateVariable": false,
                                    "storageLocation": "memory",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_string_memory_ptr",
                                        "typeString": "string"
                                    },
                                    "typeName": {
                                        "id": 20094,
                                        "name": "string",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "55715:6:62",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_string_storage_ptr",
                                            "typeString": "string"
                                        }
                                    },
                                    "visibility": "internal"
                                },
                                {
                                    "constant": false,
                                    "id": 20097,
                                    "mutability": "mutable",
                                    "name": "p2",
                                    "nameLocation": "55741:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 20114,
                                    "src": "55733:10:62",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_address",
                                        "typeString": "address"
                                    },
                                    "typeName": {
                                        "id": 20096,
                                        "name": "address",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "55733:7:62",
                                        "stateMutability": "nonpayable",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_address",
                                            "typeString": "address"
                                        }
                                    },
                                    "visibility": "internal"
                                },
                                {
                                    "constant": false,
                                    "id": 20099,
                                    "mutability": "mutable",
                                    "name": "p3",
                                    "nameLocation": "55750:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 20114,
                                    "src": "55745:7:62",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_uint256",
                                        "typeString": "uint256"
                                    },
                                    "typeName": {
                                        "id": 20098,
                                        "name": "uint",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "55745:4:62",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_uint256",
                                            "typeString": "uint256"
                                        }
                                    },
                                    "visibility": "internal"
                                }
                            ],
                            "src": "55702:51:62"
                        },
                        "returnParameters": {
                            "id": 20101,
                            "nodeType": "ParameterList",
                            "parameters": [],
                            "src": "55768:0:62"
                        },
                        "scope": 20920,
                        "src": "55690:178:62",
                        "stateMutability": "view",
                        "virtual": false,
                        "visibility": "internal"
                    },
                    {
                        "body": {
                            "id": 20136,
                            "nodeType": "Block",
                            "src": "55958:102:62",
                            "statements": [
                                {
                                    "expression": {
                                        "arguments": [
                                            {
                                                "arguments": [
                                                    {
                                                        "hexValue": "6c6f6728616464726573732c737472696e672c616464726573732c737472696e6729",
                                                        "id": 20128,
                                                        "isConstant": false,
                                                        "isLValue": false,
                                                        "isPure": true,
                                                        "kind": "string",
                                                        "lValueRequested": false,
                                                        "nodeType": "Literal",
                                                        "src": "56002:36:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_stringliteral_f7e3624510fc5618feb98a49f5d4404e3749dacbdc916c267fea7b2051a08dea",
                                                            "typeString": "literal_string \"log(address,string,address,string)\""
                                                        },
                                                        "value": "log(address,string,address,string)"
                                                    },
                                                    {
                                                        "id": 20129,
                                                        "name": "p0",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 20116,
                                                        "src": "56040:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_address",
                                                            "typeString": "address"
                                                        }
                                                    },
                                                    {
                                                        "id": 20130,
                                                        "name": "p1",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 20118,
                                                        "src": "56044:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_string_memory_ptr",
                                                            "typeString": "string memory"
                                                        }
                                                    },
                                                    {
                                                        "id": 20131,
                                                        "name": "p2",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 20120,
                                                        "src": "56048:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_address",
                                                            "typeString": "address"
                                                        }
                                                    },
                                                    {
                                                        "id": 20132,
                                                        "name": "p3",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 20122,
                                                        "src": "56052:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_string_memory_ptr",
                                                            "typeString": "string memory"
                                                        }
                                                    }
                                                ],
                                                "expression": {
                                                    "argumentTypes": [
                                                        {
                                                            "typeIdentifier": "t_stringliteral_f7e3624510fc5618feb98a49f5d4404e3749dacbdc916c267fea7b2051a08dea",
                                                            "typeString": "literal_string \"log(address,string,address,string)\""
                                                        },
                                                        {
                                                            "typeIdentifier": "t_address",
                                                            "typeString": "address"
                                                        },
                                                        {
                                                            "typeIdentifier": "t_string_memory_ptr",
                                                            "typeString": "string memory"
                                                        },
                                                        {
                                                            "typeIdentifier": "t_address",
                                                            "typeString": "address"
                                                        },
                                                        {
                                                            "typeIdentifier": "t_string_memory_ptr",
                                                            "typeString": "string memory"
                                                        }
                                                    ],
                                                    "expression": {
                                                        "id": 20126,
                                                        "name": "abi",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 4294967295,
                                                        "src": "55978:3:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_magic_abi",
                                                            "typeString": "abi"
                                                        }
                                                    },
                                                    "id": 20127,
                                                    "isConstant": false,
                                                    "isLValue": false,
                                                    "isPure": true,
                                                    "lValueRequested": false,
                                                    "memberName": "encodeWithSignature",
                                                    "nodeType": "MemberAccess",
                                                    "src": "55978:23:62",
                                                    "typeDescriptions": {
                                                        "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$",
                                                        "typeString": "function (string memory) pure returns (bytes memory)"
                                                    }
                                                },
                                                "id": 20133,
                                                "isConstant": false,
                                                "isLValue": false,
                                                "isPure": false,
                                                "kind": "functionCall",
                                                "lValueRequested": false,
                                                "names": [],
                                                "nodeType": "FunctionCall",
                                                "src": "55978:77:62",
                                                "tryCall": false,
                                                "typeDescriptions": {
                                                    "typeIdentifier": "t_bytes_memory_ptr",
                                                    "typeString": "bytes memory"
                                                }
                                            }
                                        ],
                                        "expression": {
                                            "argumentTypes": [
                                                {
                                                    "typeIdentifier": "t_bytes_memory_ptr",
                                                    "typeString": "bytes memory"
                                                }
                                            ],
                                            "id": 20125,
                                            "name": "_sendLogPayload",
                                            "nodeType": "Identifier",
                                            "overloadedDeclarations": [],
                                            "referencedDeclaration": 12880,
                                            "src": "55962:15:62",
                                            "typeDescriptions": {
                                                "typeIdentifier": "t_function_internal_view$_t_bytes_memory_ptr_$returns$__$",
                                                "typeString": "function (bytes memory) view"
                                            }
                                        },
                                        "id": 20134,
                                        "isConstant": false,
                                        "isLValue": false,
                                        "isPure": false,
                                        "kind": "functionCall",
                                        "lValueRequested": false,
                                        "names": [],
                                        "nodeType": "FunctionCall",
                                        "src": "55962:94:62",
                                        "tryCall": false,
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_tuple$__$",
                                            "typeString": "tuple()"
                                        }
                                    },
                                    "id": 20135,
                                    "nodeType": "ExpressionStatement",
                                    "src": "55962:94:62"
                                }
                            ]
                        },
                        "id": 20137,
                        "implemented": true,
                        "kind": "function",
                        "modifiers": [],
                        "name": "log",
                        "nameLocation": "55880:3:62",
                        "nodeType": "FunctionDefinition",
                        "parameters": {
                            "id": 20123,
                            "nodeType": "ParameterList",
                            "parameters": [
                                {
                                    "constant": false,
                                    "id": 20116,
                                    "mutability": "mutable",
                                    "name": "p0",
                                    "nameLocation": "55892:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 20137,
                                    "src": "55884:10:62",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_address",
                                        "typeString": "address"
                                    },
                                    "typeName": {
                                        "id": 20115,
                                        "name": "address",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "55884:7:62",
                                        "stateMutability": "nonpayable",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_address",
                                            "typeString": "address"
                                        }
                                    },
                                    "visibility": "internal"
                                },
                                {
                                    "constant": false,
                                    "id": 20118,
                                    "mutability": "mutable",
                                    "name": "p1",
                                    "nameLocation": "55910:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 20137,
                                    "src": "55896:16:62",
                                    "stateVariable": false,
                                    "storageLocation": "memory",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_string_memory_ptr",
                                        "typeString": "string"
                                    },
                                    "typeName": {
                                        "id": 20117,
                                        "name": "string",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "55896:6:62",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_string_storage_ptr",
                                            "typeString": "string"
                                        }
                                    },
                                    "visibility": "internal"
                                },
                                {
                                    "constant": false,
                                    "id": 20120,
                                    "mutability": "mutable",
                                    "name": "p2",
                                    "nameLocation": "55922:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 20137,
                                    "src": "55914:10:62",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_address",
                                        "typeString": "address"
                                    },
                                    "typeName": {
                                        "id": 20119,
                                        "name": "address",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "55914:7:62",
                                        "stateMutability": "nonpayable",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_address",
                                            "typeString": "address"
                                        }
                                    },
                                    "visibility": "internal"
                                },
                                {
                                    "constant": false,
                                    "id": 20122,
                                    "mutability": "mutable",
                                    "name": "p3",
                                    "nameLocation": "55940:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 20137,
                                    "src": "55926:16:62",
                                    "stateVariable": false,
                                    "storageLocation": "memory",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_string_memory_ptr",
                                        "typeString": "string"
                                    },
                                    "typeName": {
                                        "id": 20121,
                                        "name": "string",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "55926:6:62",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_string_storage_ptr",
                                            "typeString": "string"
                                        }
                                    },
                                    "visibility": "internal"
                                }
                            ],
                            "src": "55883:60:62"
                        },
                        "returnParameters": {
                            "id": 20124,
                            "nodeType": "ParameterList",
                            "parameters": [],
                            "src": "55958:0:62"
                        },
                        "scope": 20920,
                        "src": "55871:189:62",
                        "stateMutability": "view",
                        "virtual": false,
                        "visibility": "internal"
                    },
                    {
                        "body": {
                            "id": 20159,
                            "nodeType": "Block",
                            "src": "56141:100:62",
                            "statements": [
                                {
                                    "expression": {
                                        "arguments": [
                                            {
                                                "arguments": [
                                                    {
                                                        "hexValue": "6c6f6728616464726573732c737472696e672c616464726573732c626f6f6c29",
                                                        "id": 20151,
                                                        "isConstant": false,
                                                        "isLValue": false,
                                                        "isPure": true,
                                                        "kind": "string",
                                                        "lValueRequested": false,
                                                        "nodeType": "Literal",
                                                        "src": "56185:34:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_stringliteral_0df12b7620e0bad204ac79fe9930fef9b9a40702161764a681594d50d657b081",
                                                            "typeString": "literal_string \"log(address,string,address,bool)\""
                                                        },
                                                        "value": "log(address,string,address,bool)"
                                                    },
                                                    {
                                                        "id": 20152,
                                                        "name": "p0",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 20139,
                                                        "src": "56221:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_address",
                                                            "typeString": "address"
                                                        }
                                                    },
                                                    {
                                                        "id": 20153,
                                                        "name": "p1",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 20141,
                                                        "src": "56225:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_string_memory_ptr",
                                                            "typeString": "string memory"
                                                        }
                                                    },
                                                    {
                                                        "id": 20154,
                                                        "name": "p2",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 20143,
                                                        "src": "56229:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_address",
                                                            "typeString": "address"
                                                        }
                                                    },
                                                    {
                                                        "id": 20155,
                                                        "name": "p3",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 20145,
                                                        "src": "56233:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_bool",
                                                            "typeString": "bool"
                                                        }
                                                    }
                                                ],
                                                "expression": {
                                                    "argumentTypes": [
                                                        {
                                                            "typeIdentifier": "t_stringliteral_0df12b7620e0bad204ac79fe9930fef9b9a40702161764a681594d50d657b081",
                                                            "typeString": "literal_string \"log(address,string,address,bool)\""
                                                        },
                                                        {
                                                            "typeIdentifier": "t_address",
                                                            "typeString": "address"
                                                        },
                                                        {
                                                            "typeIdentifier": "t_string_memory_ptr",
                                                            "typeString": "string memory"
                                                        },
                                                        {
                                                            "typeIdentifier": "t_address",
                                                            "typeString": "address"
                                                        },
                                                        {
                                                            "typeIdentifier": "t_bool",
                                                            "typeString": "bool"
                                                        }
                                                    ],
                                                    "expression": {
                                                        "id": 20149,
                                                        "name": "abi",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 4294967295,
                                                        "src": "56161:3:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_magic_abi",
                                                            "typeString": "abi"
                                                        }
                                                    },
                                                    "id": 20150,
                                                    "isConstant": false,
                                                    "isLValue": false,
                                                    "isPure": true,
                                                    "lValueRequested": false,
                                                    "memberName": "encodeWithSignature",
                                                    "nodeType": "MemberAccess",
                                                    "src": "56161:23:62",
                                                    "typeDescriptions": {
                                                        "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$",
                                                        "typeString": "function (string memory) pure returns (bytes memory)"
                                                    }
                                                },
                                                "id": 20156,
                                                "isConstant": false,
                                                "isLValue": false,
                                                "isPure": false,
                                                "kind": "functionCall",
                                                "lValueRequested": false,
                                                "names": [],
                                                "nodeType": "FunctionCall",
                                                "src": "56161:75:62",
                                                "tryCall": false,
                                                "typeDescriptions": {
                                                    "typeIdentifier": "t_bytes_memory_ptr",
                                                    "typeString": "bytes memory"
                                                }
                                            }
                                        ],
                                        "expression": {
                                            "argumentTypes": [
                                                {
                                                    "typeIdentifier": "t_bytes_memory_ptr",
                                                    "typeString": "bytes memory"
                                                }
                                            ],
                                            "id": 20148,
                                            "name": "_sendLogPayload",
                                            "nodeType": "Identifier",
                                            "overloadedDeclarations": [],
                                            "referencedDeclaration": 12880,
                                            "src": "56145:15:62",
                                            "typeDescriptions": {
                                                "typeIdentifier": "t_function_internal_view$_t_bytes_memory_ptr_$returns$__$",
                                                "typeString": "function (bytes memory) view"
                                            }
                                        },
                                        "id": 20157,
                                        "isConstant": false,
                                        "isLValue": false,
                                        "isPure": false,
                                        "kind": "functionCall",
                                        "lValueRequested": false,
                                        "names": [],
                                        "nodeType": "FunctionCall",
                                        "src": "56145:92:62",
                                        "tryCall": false,
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_tuple$__$",
                                            "typeString": "tuple()"
                                        }
                                    },
                                    "id": 20158,
                                    "nodeType": "ExpressionStatement",
                                    "src": "56145:92:62"
                                }
                            ]
                        },
                        "id": 20160,
                        "implemented": true,
                        "kind": "function",
                        "modifiers": [],
                        "name": "log",
                        "nameLocation": "56072:3:62",
                        "nodeType": "FunctionDefinition",
                        "parameters": {
                            "id": 20146,
                            "nodeType": "ParameterList",
                            "parameters": [
                                {
                                    "constant": false,
                                    "id": 20139,
                                    "mutability": "mutable",
                                    "name": "p0",
                                    "nameLocation": "56084:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 20160,
                                    "src": "56076:10:62",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_address",
                                        "typeString": "address"
                                    },
                                    "typeName": {
                                        "id": 20138,
                                        "name": "address",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "56076:7:62",
                                        "stateMutability": "nonpayable",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_address",
                                            "typeString": "address"
                                        }
                                    },
                                    "visibility": "internal"
                                },
                                {
                                    "constant": false,
                                    "id": 20141,
                                    "mutability": "mutable",
                                    "name": "p1",
                                    "nameLocation": "56102:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 20160,
                                    "src": "56088:16:62",
                                    "stateVariable": false,
                                    "storageLocation": "memory",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_string_memory_ptr",
                                        "typeString": "string"
                                    },
                                    "typeName": {
                                        "id": 20140,
                                        "name": "string",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "56088:6:62",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_string_storage_ptr",
                                            "typeString": "string"
                                        }
                                    },
                                    "visibility": "internal"
                                },
                                {
                                    "constant": false,
                                    "id": 20143,
                                    "mutability": "mutable",
                                    "name": "p2",
                                    "nameLocation": "56114:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 20160,
                                    "src": "56106:10:62",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_address",
                                        "typeString": "address"
                                    },
                                    "typeName": {
                                        "id": 20142,
                                        "name": "address",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "56106:7:62",
                                        "stateMutability": "nonpayable",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_address",
                                            "typeString": "address"
                                        }
                                    },
                                    "visibility": "internal"
                                },
                                {
                                    "constant": false,
                                    "id": 20145,
                                    "mutability": "mutable",
                                    "name": "p3",
                                    "nameLocation": "56123:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 20160,
                                    "src": "56118:7:62",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_bool",
                                        "typeString": "bool"
                                    },
                                    "typeName": {
                                        "id": 20144,
                                        "name": "bool",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "56118:4:62",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_bool",
                                            "typeString": "bool"
                                        }
                                    },
                                    "visibility": "internal"
                                }
                            ],
                            "src": "56075:51:62"
                        },
                        "returnParameters": {
                            "id": 20147,
                            "nodeType": "ParameterList",
                            "parameters": [],
                            "src": "56141:0:62"
                        },
                        "scope": 20920,
                        "src": "56063:178:62",
                        "stateMutability": "view",
                        "virtual": false,
                        "visibility": "internal"
                    },
                    {
                        "body": {
                            "id": 20182,
                            "nodeType": "Block",
                            "src": "56325:103:62",
                            "statements": [
                                {
                                    "expression": {
                                        "arguments": [
                                            {
                                                "arguments": [
                                                    {
                                                        "hexValue": "6c6f6728616464726573732c737472696e672c616464726573732c6164647265737329",
                                                        "id": 20174,
                                                        "isConstant": false,
                                                        "isLValue": false,
                                                        "isPure": true,
                                                        "kind": "string",
                                                        "lValueRequested": false,
                                                        "nodeType": "Literal",
                                                        "src": "56369:37:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_stringliteral_0d36fa2022fafb45586a59914be3ad4c57b76e89535385dcff89c28c80605121",
                                                            "typeString": "literal_string \"log(address,string,address,address)\""
                                                        },
                                                        "value": "log(address,string,address,address)"
                                                    },
                                                    {
                                                        "id": 20175,
                                                        "name": "p0",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 20162,
                                                        "src": "56408:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_address",
                                                            "typeString": "address"
                                                        }
                                                    },
                                                    {
                                                        "id": 20176,
                                                        "name": "p1",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 20164,
                                                        "src": "56412:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_string_memory_ptr",
                                                            "typeString": "string memory"
                                                        }
                                                    },
                                                    {
                                                        "id": 20177,
                                                        "name": "p2",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 20166,
                                                        "src": "56416:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_address",
                                                            "typeString": "address"
                                                        }
                                                    },
                                                    {
                                                        "id": 20178,
                                                        "name": "p3",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 20168,
                                                        "src": "56420:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_address",
                                                            "typeString": "address"
                                                        }
                                                    }
                                                ],
                                                "expression": {
                                                    "argumentTypes": [
                                                        {
                                                            "typeIdentifier": "t_stringliteral_0d36fa2022fafb45586a59914be3ad4c57b76e89535385dcff89c28c80605121",
                                                            "typeString": "literal_string \"log(address,string,address,address)\""
                                                        },
                                                        {
                                                            "typeIdentifier": "t_address",
                                                            "typeString": "address"
                                                        },
                                                        {
                                                            "typeIdentifier": "t_string_memory_ptr",
                                                            "typeString": "string memory"
                                                        },
                                                        {
                                                            "typeIdentifier": "t_address",
                                                            "typeString": "address"
                                                        },
                                                        {
                                                            "typeIdentifier": "t_address",
                                                            "typeString": "address"
                                                        }
                                                    ],
                                                    "expression": {
                                                        "id": 20172,
                                                        "name": "abi",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 4294967295,
                                                        "src": "56345:3:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_magic_abi",
                                                            "typeString": "abi"
                                                        }
                                                    },
                                                    "id": 20173,
                                                    "isConstant": false,
                                                    "isLValue": false,
                                                    "isPure": true,
                                                    "lValueRequested": false,
                                                    "memberName": "encodeWithSignature",
                                                    "nodeType": "MemberAccess",
                                                    "src": "56345:23:62",
                                                    "typeDescriptions": {
                                                        "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$",
                                                        "typeString": "function (string memory) pure returns (bytes memory)"
                                                    }
                                                },
                                                "id": 20179,
                                                "isConstant": false,
                                                "isLValue": false,
                                                "isPure": false,
                                                "kind": "functionCall",
                                                "lValueRequested": false,
                                                "names": [],
                                                "nodeType": "FunctionCall",
                                                "src": "56345:78:62",
                                                "tryCall": false,
                                                "typeDescriptions": {
                                                    "typeIdentifier": "t_bytes_memory_ptr",
                                                    "typeString": "bytes memory"
                                                }
                                            }
                                        ],
                                        "expression": {
                                            "argumentTypes": [
                                                {
                                                    "typeIdentifier": "t_bytes_memory_ptr",
                                                    "typeString": "bytes memory"
                                                }
                                            ],
                                            "id": 20171,
                                            "name": "_sendLogPayload",
                                            "nodeType": "Identifier",
                                            "overloadedDeclarations": [],
                                            "referencedDeclaration": 12880,
                                            "src": "56329:15:62",
                                            "typeDescriptions": {
                                                "typeIdentifier": "t_function_internal_view$_t_bytes_memory_ptr_$returns$__$",
                                                "typeString": "function (bytes memory) view"
                                            }
                                        },
                                        "id": 20180,
                                        "isConstant": false,
                                        "isLValue": false,
                                        "isPure": false,
                                        "kind": "functionCall",
                                        "lValueRequested": false,
                                        "names": [],
                                        "nodeType": "FunctionCall",
                                        "src": "56329:95:62",
                                        "tryCall": false,
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_tuple$__$",
                                            "typeString": "tuple()"
                                        }
                                    },
                                    "id": 20181,
                                    "nodeType": "ExpressionStatement",
                                    "src": "56329:95:62"
                                }
                            ]
                        },
                        "id": 20183,
                        "implemented": true,
                        "kind": "function",
                        "modifiers": [],
                        "name": "log",
                        "nameLocation": "56253:3:62",
                        "nodeType": "FunctionDefinition",
                        "parameters": {
                            "id": 20169,
                            "nodeType": "ParameterList",
                            "parameters": [
                                {
                                    "constant": false,
                                    "id": 20162,
                                    "mutability": "mutable",
                                    "name": "p0",
                                    "nameLocation": "56265:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 20183,
                                    "src": "56257:10:62",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_address",
                                        "typeString": "address"
                                    },
                                    "typeName": {
                                        "id": 20161,
                                        "name": "address",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "56257:7:62",
                                        "stateMutability": "nonpayable",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_address",
                                            "typeString": "address"
                                        }
                                    },
                                    "visibility": "internal"
                                },
                                {
                                    "constant": false,
                                    "id": 20164,
                                    "mutability": "mutable",
                                    "name": "p1",
                                    "nameLocation": "56283:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 20183,
                                    "src": "56269:16:62",
                                    "stateVariable": false,
                                    "storageLocation": "memory",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_string_memory_ptr",
                                        "typeString": "string"
                                    },
                                    "typeName": {
                                        "id": 20163,
                                        "name": "string",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "56269:6:62",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_string_storage_ptr",
                                            "typeString": "string"
                                        }
                                    },
                                    "visibility": "internal"
                                },
                                {
                                    "constant": false,
                                    "id": 20166,
                                    "mutability": "mutable",
                                    "name": "p2",
                                    "nameLocation": "56295:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 20183,
                                    "src": "56287:10:62",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_address",
                                        "typeString": "address"
                                    },
                                    "typeName": {
                                        "id": 20165,
                                        "name": "address",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "56287:7:62",
                                        "stateMutability": "nonpayable",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_address",
                                            "typeString": "address"
                                        }
                                    },
                                    "visibility": "internal"
                                },
                                {
                                    "constant": false,
                                    "id": 20168,
                                    "mutability": "mutable",
                                    "name": "p3",
                                    "nameLocation": "56307:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 20183,
                                    "src": "56299:10:62",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_address",
                                        "typeString": "address"
                                    },
                                    "typeName": {
                                        "id": 20167,
                                        "name": "address",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "56299:7:62",
                                        "stateMutability": "nonpayable",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_address",
                                            "typeString": "address"
                                        }
                                    },
                                    "visibility": "internal"
                                }
                            ],
                            "src": "56256:54:62"
                        },
                        "returnParameters": {
                            "id": 20170,
                            "nodeType": "ParameterList",
                            "parameters": [],
                            "src": "56325:0:62"
                        },
                        "scope": 20920,
                        "src": "56244:184:62",
                        "stateMutability": "view",
                        "virtual": false,
                        "visibility": "internal"
                    },
                    {
                        "body": {
                            "id": 20205,
                            "nodeType": "Block",
                            "src": "56497:95:62",
                            "statements": [
                                {
                                    "expression": {
                                        "arguments": [
                                            {
                                                "arguments": [
                                                    {
                                                        "hexValue": "6c6f6728616464726573732c626f6f6c2c75696e742c75696e7429",
                                                        "id": 20197,
                                                        "isConstant": false,
                                                        "isLValue": false,
                                                        "isPure": true,
                                                        "kind": "string",
                                                        "lValueRequested": false,
                                                        "nodeType": "Literal",
                                                        "src": "56541:29:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_stringliteral_c210a01e60a7d88137859e75abc2d14430087408747ac6787f0acb2f0f8bfd59",
                                                            "typeString": "literal_string \"log(address,bool,uint,uint)\""
                                                        },
                                                        "value": "log(address,bool,uint,uint)"
                                                    },
                                                    {
                                                        "id": 20198,
                                                        "name": "p0",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 20185,
                                                        "src": "56572:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_address",
                                                            "typeString": "address"
                                                        }
                                                    },
                                                    {
                                                        "id": 20199,
                                                        "name": "p1",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 20187,
                                                        "src": "56576:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_bool",
                                                            "typeString": "bool"
                                                        }
                                                    },
                                                    {
                                                        "id": 20200,
                                                        "name": "p2",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 20189,
                                                        "src": "56580:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_uint256",
                                                            "typeString": "uint256"
                                                        }
                                                    },
                                                    {
                                                        "id": 20201,
                                                        "name": "p3",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 20191,
                                                        "src": "56584:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_uint256",
                                                            "typeString": "uint256"
                                                        }
                                                    }
                                                ],
                                                "expression": {
                                                    "argumentTypes": [
                                                        {
                                                            "typeIdentifier": "t_stringliteral_c210a01e60a7d88137859e75abc2d14430087408747ac6787f0acb2f0f8bfd59",
                                                            "typeString": "literal_string \"log(address,bool,uint,uint)\""
                                                        },
                                                        {
                                                            "typeIdentifier": "t_address",
                                                            "typeString": "address"
                                                        },
                                                        {
                                                            "typeIdentifier": "t_bool",
                                                            "typeString": "bool"
                                                        },
                                                        {
                                                            "typeIdentifier": "t_uint256",
                                                            "typeString": "uint256"
                                                        },
                                                        {
                                                            "typeIdentifier": "t_uint256",
                                                            "typeString": "uint256"
                                                        }
                                                    ],
                                                    "expression": {
                                                        "id": 20195,
                                                        "name": "abi",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 4294967295,
                                                        "src": "56517:3:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_magic_abi",
                                                            "typeString": "abi"
                                                        }
                                                    },
                                                    "id": 20196,
                                                    "isConstant": false,
                                                    "isLValue": false,
                                                    "isPure": true,
                                                    "lValueRequested": false,
                                                    "memberName": "encodeWithSignature",
                                                    "nodeType": "MemberAccess",
                                                    "src": "56517:23:62",
                                                    "typeDescriptions": {
                                                        "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$",
                                                        "typeString": "function (string memory) pure returns (bytes memory)"
                                                    }
                                                },
                                                "id": 20202,
                                                "isConstant": false,
                                                "isLValue": false,
                                                "isPure": false,
                                                "kind": "functionCall",
                                                "lValueRequested": false,
                                                "names": [],
                                                "nodeType": "FunctionCall",
                                                "src": "56517:70:62",
                                                "tryCall": false,
                                                "typeDescriptions": {
                                                    "typeIdentifier": "t_bytes_memory_ptr",
                                                    "typeString": "bytes memory"
                                                }
                                            }
                                        ],
                                        "expression": {
                                            "argumentTypes": [
                                                {
                                                    "typeIdentifier": "t_bytes_memory_ptr",
                                                    "typeString": "bytes memory"
                                                }
                                            ],
                                            "id": 20194,
                                            "name": "_sendLogPayload",
                                            "nodeType": "Identifier",
                                            "overloadedDeclarations": [],
                                            "referencedDeclaration": 12880,
                                            "src": "56501:15:62",
                                            "typeDescriptions": {
                                                "typeIdentifier": "t_function_internal_view$_t_bytes_memory_ptr_$returns$__$",
                                                "typeString": "function (bytes memory) view"
                                            }
                                        },
                                        "id": 20203,
                                        "isConstant": false,
                                        "isLValue": false,
                                        "isPure": false,
                                        "kind": "functionCall",
                                        "lValueRequested": false,
                                        "names": [],
                                        "nodeType": "FunctionCall",
                                        "src": "56501:87:62",
                                        "tryCall": false,
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_tuple$__$",
                                            "typeString": "tuple()"
                                        }
                                    },
                                    "id": 20204,
                                    "nodeType": "ExpressionStatement",
                                    "src": "56501:87:62"
                                }
                            ]
                        },
                        "id": 20206,
                        "implemented": true,
                        "kind": "function",
                        "modifiers": [],
                        "name": "log",
                        "nameLocation": "56440:3:62",
                        "nodeType": "FunctionDefinition",
                        "parameters": {
                            "id": 20192,
                            "nodeType": "ParameterList",
                            "parameters": [
                                {
                                    "constant": false,
                                    "id": 20185,
                                    "mutability": "mutable",
                                    "name": "p0",
                                    "nameLocation": "56452:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 20206,
                                    "src": "56444:10:62",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_address",
                                        "typeString": "address"
                                    },
                                    "typeName": {
                                        "id": 20184,
                                        "name": "address",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "56444:7:62",
                                        "stateMutability": "nonpayable",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_address",
                                            "typeString": "address"
                                        }
                                    },
                                    "visibility": "internal"
                                },
                                {
                                    "constant": false,
                                    "id": 20187,
                                    "mutability": "mutable",
                                    "name": "p1",
                                    "nameLocation": "56461:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 20206,
                                    "src": "56456:7:62",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_bool",
                                        "typeString": "bool"
                                    },
                                    "typeName": {
                                        "id": 20186,
                                        "name": "bool",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "56456:4:62",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_bool",
                                            "typeString": "bool"
                                        }
                                    },
                                    "visibility": "internal"
                                },
                                {
                                    "constant": false,
                                    "id": 20189,
                                    "mutability": "mutable",
                                    "name": "p2",
                                    "nameLocation": "56470:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 20206,
                                    "src": "56465:7:62",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_uint256",
                                        "typeString": "uint256"
                                    },
                                    "typeName": {
                                        "id": 20188,
                                        "name": "uint",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "56465:4:62",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_uint256",
                                            "typeString": "uint256"
                                        }
                                    },
                                    "visibility": "internal"
                                },
                                {
                                    "constant": false,
                                    "id": 20191,
                                    "mutability": "mutable",
                                    "name": "p3",
                                    "nameLocation": "56479:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 20206,
                                    "src": "56474:7:62",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_uint256",
                                        "typeString": "uint256"
                                    },
                                    "typeName": {
                                        "id": 20190,
                                        "name": "uint",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "56474:4:62",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_uint256",
                                            "typeString": "uint256"
                                        }
                                    },
                                    "visibility": "internal"
                                }
                            ],
                            "src": "56443:39:62"
                        },
                        "returnParameters": {
                            "id": 20193,
                            "nodeType": "ParameterList",
                            "parameters": [],
                            "src": "56497:0:62"
                        },
                        "scope": 20920,
                        "src": "56431:161:62",
                        "stateMutability": "view",
                        "virtual": false,
                        "visibility": "internal"
                    },
                    {
                        "body": {
                            "id": 20228,
                            "nodeType": "Block",
                            "src": "56670:97:62",
                            "statements": [
                                {
                                    "expression": {
                                        "arguments": [
                                            {
                                                "arguments": [
                                                    {
                                                        "hexValue": "6c6f6728616464726573732c626f6f6c2c75696e742c737472696e6729",
                                                        "id": 20220,
                                                        "isConstant": false,
                                                        "isLValue": false,
                                                        "isPure": true,
                                                        "kind": "string",
                                                        "lValueRequested": false,
                                                        "nodeType": "Literal",
                                                        "src": "56714:31:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_stringliteral_9b588eccef132ec49572951d33e9b0d1b814d54c82133831f78cdc5d923bc6e6",
                                                            "typeString": "literal_string \"log(address,bool,uint,string)\""
                                                        },
                                                        "value": "log(address,bool,uint,string)"
                                                    },
                                                    {
                                                        "id": 20221,
                                                        "name": "p0",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 20208,
                                                        "src": "56747:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_address",
                                                            "typeString": "address"
                                                        }
                                                    },
                                                    {
                                                        "id": 20222,
                                                        "name": "p1",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 20210,
                                                        "src": "56751:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_bool",
                                                            "typeString": "bool"
                                                        }
                                                    },
                                                    {
                                                        "id": 20223,
                                                        "name": "p2",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 20212,
                                                        "src": "56755:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_uint256",
                                                            "typeString": "uint256"
                                                        }
                                                    },
                                                    {
                                                        "id": 20224,
                                                        "name": "p3",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 20214,
                                                        "src": "56759:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_string_memory_ptr",
                                                            "typeString": "string memory"
                                                        }
                                                    }
                                                ],
                                                "expression": {
                                                    "argumentTypes": [
                                                        {
                                                            "typeIdentifier": "t_stringliteral_9b588eccef132ec49572951d33e9b0d1b814d54c82133831f78cdc5d923bc6e6",
                                                            "typeString": "literal_string \"log(address,bool,uint,string)\""
                                                        },
                                                        {
                                                            "typeIdentifier": "t_address",
                                                            "typeString": "address"
                                                        },
                                                        {
                                                            "typeIdentifier": "t_bool",
                                                            "typeString": "bool"
                                                        },
                                                        {
                                                            "typeIdentifier": "t_uint256",
                                                            "typeString": "uint256"
                                                        },
                                                        {
                                                            "typeIdentifier": "t_string_memory_ptr",
                                                            "typeString": "string memory"
                                                        }
                                                    ],
                                                    "expression": {
                                                        "id": 20218,
                                                        "name": "abi",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 4294967295,
                                                        "src": "56690:3:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_magic_abi",
                                                            "typeString": "abi"
                                                        }
                                                    },
                                                    "id": 20219,
                                                    "isConstant": false,
                                                    "isLValue": false,
                                                    "isPure": true,
                                                    "lValueRequested": false,
                                                    "memberName": "encodeWithSignature",
                                                    "nodeType": "MemberAccess",
                                                    "src": "56690:23:62",
                                                    "typeDescriptions": {
                                                        "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$",
                                                        "typeString": "function (string memory) pure returns (bytes memory)"
                                                    }
                                                },
                                                "id": 20225,
                                                "isConstant": false,
                                                "isLValue": false,
                                                "isPure": false,
                                                "kind": "functionCall",
                                                "lValueRequested": false,
                                                "names": [],
                                                "nodeType": "FunctionCall",
                                                "src": "56690:72:62",
                                                "tryCall": false,
                                                "typeDescriptions": {
                                                    "typeIdentifier": "t_bytes_memory_ptr",
                                                    "typeString": "bytes memory"
                                                }
                                            }
                                        ],
                                        "expression": {
                                            "argumentTypes": [
                                                {
                                                    "typeIdentifier": "t_bytes_memory_ptr",
                                                    "typeString": "bytes memory"
                                                }
                                            ],
                                            "id": 20217,
                                            "name": "_sendLogPayload",
                                            "nodeType": "Identifier",
                                            "overloadedDeclarations": [],
                                            "referencedDeclaration": 12880,
                                            "src": "56674:15:62",
                                            "typeDescriptions": {
                                                "typeIdentifier": "t_function_internal_view$_t_bytes_memory_ptr_$returns$__$",
                                                "typeString": "function (bytes memory) view"
                                            }
                                        },
                                        "id": 20226,
                                        "isConstant": false,
                                        "isLValue": false,
                                        "isPure": false,
                                        "kind": "functionCall",
                                        "lValueRequested": false,
                                        "names": [],
                                        "nodeType": "FunctionCall",
                                        "src": "56674:89:62",
                                        "tryCall": false,
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_tuple$__$",
                                            "typeString": "tuple()"
                                        }
                                    },
                                    "id": 20227,
                                    "nodeType": "ExpressionStatement",
                                    "src": "56674:89:62"
                                }
                            ]
                        },
                        "id": 20229,
                        "implemented": true,
                        "kind": "function",
                        "modifiers": [],
                        "name": "log",
                        "nameLocation": "56604:3:62",
                        "nodeType": "FunctionDefinition",
                        "parameters": {
                            "id": 20215,
                            "nodeType": "ParameterList",
                            "parameters": [
                                {
                                    "constant": false,
                                    "id": 20208,
                                    "mutability": "mutable",
                                    "name": "p0",
                                    "nameLocation": "56616:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 20229,
                                    "src": "56608:10:62",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_address",
                                        "typeString": "address"
                                    },
                                    "typeName": {
                                        "id": 20207,
                                        "name": "address",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "56608:7:62",
                                        "stateMutability": "nonpayable",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_address",
                                            "typeString": "address"
                                        }
                                    },
                                    "visibility": "internal"
                                },
                                {
                                    "constant": false,
                                    "id": 20210,
                                    "mutability": "mutable",
                                    "name": "p1",
                                    "nameLocation": "56625:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 20229,
                                    "src": "56620:7:62",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_bool",
                                        "typeString": "bool"
                                    },
                                    "typeName": {
                                        "id": 20209,
                                        "name": "bool",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "56620:4:62",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_bool",
                                            "typeString": "bool"
                                        }
                                    },
                                    "visibility": "internal"
                                },
                                {
                                    "constant": false,
                                    "id": 20212,
                                    "mutability": "mutable",
                                    "name": "p2",
                                    "nameLocation": "56634:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 20229,
                                    "src": "56629:7:62",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_uint256",
                                        "typeString": "uint256"
                                    },
                                    "typeName": {
                                        "id": 20211,
                                        "name": "uint",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "56629:4:62",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_uint256",
                                            "typeString": "uint256"
                                        }
                                    },
                                    "visibility": "internal"
                                },
                                {
                                    "constant": false,
                                    "id": 20214,
                                    "mutability": "mutable",
                                    "name": "p3",
                                    "nameLocation": "56652:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 20229,
                                    "src": "56638:16:62",
                                    "stateVariable": false,
                                    "storageLocation": "memory",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_string_memory_ptr",
                                        "typeString": "string"
                                    },
                                    "typeName": {
                                        "id": 20213,
                                        "name": "string",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "56638:6:62",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_string_storage_ptr",
                                            "typeString": "string"
                                        }
                                    },
                                    "visibility": "internal"
                                }
                            ],
                            "src": "56607:48:62"
                        },
                        "returnParameters": {
                            "id": 20216,
                            "nodeType": "ParameterList",
                            "parameters": [],
                            "src": "56670:0:62"
                        },
                        "scope": 20920,
                        "src": "56595:172:62",
                        "stateMutability": "view",
                        "virtual": false,
                        "visibility": "internal"
                    },
                    {
                        "body": {
                            "id": 20251,
                            "nodeType": "Block",
                            "src": "56836:95:62",
                            "statements": [
                                {
                                    "expression": {
                                        "arguments": [
                                            {
                                                "arguments": [
                                                    {
                                                        "hexValue": "6c6f6728616464726573732c626f6f6c2c75696e742c626f6f6c29",
                                                        "id": 20243,
                                                        "isConstant": false,
                                                        "isLValue": false,
                                                        "isPure": true,
                                                        "kind": "string",
                                                        "lValueRequested": false,
                                                        "nodeType": "Literal",
                                                        "src": "56880:29:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_stringliteral_85cdc5af22f2a2b52749c228b5bc379bac815d0d3575c2899b6657bce00fab33",
                                                            "typeString": "literal_string \"log(address,bool,uint,bool)\""
                                                        },
                                                        "value": "log(address,bool,uint,bool)"
                                                    },
                                                    {
                                                        "id": 20244,
                                                        "name": "p0",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 20231,
                                                        "src": "56911:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_address",
                                                            "typeString": "address"
                                                        }
                                                    },
                                                    {
                                                        "id": 20245,
                                                        "name": "p1",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 20233,
                                                        "src": "56915:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_bool",
                                                            "typeString": "bool"
                                                        }
                                                    },
                                                    {
                                                        "id": 20246,
                                                        "name": "p2",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 20235,
                                                        "src": "56919:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_uint256",
                                                            "typeString": "uint256"
                                                        }
                                                    },
                                                    {
                                                        "id": 20247,
                                                        "name": "p3",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 20237,
                                                        "src": "56923:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_bool",
                                                            "typeString": "bool"
                                                        }
                                                    }
                                                ],
                                                "expression": {
                                                    "argumentTypes": [
                                                        {
                                                            "typeIdentifier": "t_stringliteral_85cdc5af22f2a2b52749c228b5bc379bac815d0d3575c2899b6657bce00fab33",
                                                            "typeString": "literal_string \"log(address,bool,uint,bool)\""
                                                        },
                                                        {
                                                            "typeIdentifier": "t_address",
                                                            "typeString": "address"
                                                        },
                                                        {
                                                            "typeIdentifier": "t_bool",
                                                            "typeString": "bool"
                                                        },
                                                        {
                                                            "typeIdentifier": "t_uint256",
                                                            "typeString": "uint256"
                                                        },
                                                        {
                                                            "typeIdentifier": "t_bool",
                                                            "typeString": "bool"
                                                        }
                                                    ],
                                                    "expression": {
                                                        "id": 20241,
                                                        "name": "abi",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 4294967295,
                                                        "src": "56856:3:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_magic_abi",
                                                            "typeString": "abi"
                                                        }
                                                    },
                                                    "id": 20242,
                                                    "isConstant": false,
                                                    "isLValue": false,
                                                    "isPure": true,
                                                    "lValueRequested": false,
                                                    "memberName": "encodeWithSignature",
                                                    "nodeType": "MemberAccess",
                                                    "src": "56856:23:62",
                                                    "typeDescriptions": {
                                                        "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$",
                                                        "typeString": "function (string memory) pure returns (bytes memory)"
                                                    }
                                                },
                                                "id": 20248,
                                                "isConstant": false,
                                                "isLValue": false,
                                                "isPure": false,
                                                "kind": "functionCall",
                                                "lValueRequested": false,
                                                "names": [],
                                                "nodeType": "FunctionCall",
                                                "src": "56856:70:62",
                                                "tryCall": false,
                                                "typeDescriptions": {
                                                    "typeIdentifier": "t_bytes_memory_ptr",
                                                    "typeString": "bytes memory"
                                                }
                                            }
                                        ],
                                        "expression": {
                                            "argumentTypes": [
                                                {
                                                    "typeIdentifier": "t_bytes_memory_ptr",
                                                    "typeString": "bytes memory"
                                                }
                                            ],
                                            "id": 20240,
                                            "name": "_sendLogPayload",
                                            "nodeType": "Identifier",
                                            "overloadedDeclarations": [],
                                            "referencedDeclaration": 12880,
                                            "src": "56840:15:62",
                                            "typeDescriptions": {
                                                "typeIdentifier": "t_function_internal_view$_t_bytes_memory_ptr_$returns$__$",
                                                "typeString": "function (bytes memory) view"
                                            }
                                        },
                                        "id": 20249,
                                        "isConstant": false,
                                        "isLValue": false,
                                        "isPure": false,
                                        "kind": "functionCall",
                                        "lValueRequested": false,
                                        "names": [],
                                        "nodeType": "FunctionCall",
                                        "src": "56840:87:62",
                                        "tryCall": false,
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_tuple$__$",
                                            "typeString": "tuple()"
                                        }
                                    },
                                    "id": 20250,
                                    "nodeType": "ExpressionStatement",
                                    "src": "56840:87:62"
                                }
                            ]
                        },
                        "id": 20252,
                        "implemented": true,
                        "kind": "function",
                        "modifiers": [],
                        "name": "log",
                        "nameLocation": "56779:3:62",
                        "nodeType": "FunctionDefinition",
                        "parameters": {
                            "id": 20238,
                            "nodeType": "ParameterList",
                            "parameters": [
                                {
                                    "constant": false,
                                    "id": 20231,
                                    "mutability": "mutable",
                                    "name": "p0",
                                    "nameLocation": "56791:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 20252,
                                    "src": "56783:10:62",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_address",
                                        "typeString": "address"
                                    },
                                    "typeName": {
                                        "id": 20230,
                                        "name": "address",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "56783:7:62",
                                        "stateMutability": "nonpayable",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_address",
                                            "typeString": "address"
                                        }
                                    },
                                    "visibility": "internal"
                                },
                                {
                                    "constant": false,
                                    "id": 20233,
                                    "mutability": "mutable",
                                    "name": "p1",
                                    "nameLocation": "56800:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 20252,
                                    "src": "56795:7:62",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_bool",
                                        "typeString": "bool"
                                    },
                                    "typeName": {
                                        "id": 20232,
                                        "name": "bool",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "56795:4:62",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_bool",
                                            "typeString": "bool"
                                        }
                                    },
                                    "visibility": "internal"
                                },
                                {
                                    "constant": false,
                                    "id": 20235,
                                    "mutability": "mutable",
                                    "name": "p2",
                                    "nameLocation": "56809:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 20252,
                                    "src": "56804:7:62",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_uint256",
                                        "typeString": "uint256"
                                    },
                                    "typeName": {
                                        "id": 20234,
                                        "name": "uint",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "56804:4:62",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_uint256",
                                            "typeString": "uint256"
                                        }
                                    },
                                    "visibility": "internal"
                                },
                                {
                                    "constant": false,
                                    "id": 20237,
                                    "mutability": "mutable",
                                    "name": "p3",
                                    "nameLocation": "56818:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 20252,
                                    "src": "56813:7:62",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_bool",
                                        "typeString": "bool"
                                    },
                                    "typeName": {
                                        "id": 20236,
                                        "name": "bool",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "56813:4:62",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_bool",
                                            "typeString": "bool"
                                        }
                                    },
                                    "visibility": "internal"
                                }
                            ],
                            "src": "56782:39:62"
                        },
                        "returnParameters": {
                            "id": 20239,
                            "nodeType": "ParameterList",
                            "parameters": [],
                            "src": "56836:0:62"
                        },
                        "scope": 20920,
                        "src": "56770:161:62",
                        "stateMutability": "view",
                        "virtual": false,
                        "visibility": "internal"
                    },
                    {
                        "body": {
                            "id": 20274,
                            "nodeType": "Block",
                            "src": "57003:98:62",
                            "statements": [
                                {
                                    "expression": {
                                        "arguments": [
                                            {
                                                "arguments": [
                                                    {
                                                        "hexValue": "6c6f6728616464726573732c626f6f6c2c75696e742c6164647265737329",
                                                        "id": 20266,
                                                        "isConstant": false,
                                                        "isLValue": false,
                                                        "isPure": true,
                                                        "kind": "string",
                                                        "lValueRequested": false,
                                                        "nodeType": "Literal",
                                                        "src": "57047:32:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_stringliteral_0d8ce61ee7d058fd1e588343a35fb1aff71b8e7f74d553220d0e20088cb908bf",
                                                            "typeString": "literal_string \"log(address,bool,uint,address)\""
                                                        },
                                                        "value": "log(address,bool,uint,address)"
                                                    },
                                                    {
                                                        "id": 20267,
                                                        "name": "p0",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 20254,
                                                        "src": "57081:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_address",
                                                            "typeString": "address"
                                                        }
                                                    },
                                                    {
                                                        "id": 20268,
                                                        "name": "p1",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 20256,
                                                        "src": "57085:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_bool",
                                                            "typeString": "bool"
                                                        }
                                                    },
                                                    {
                                                        "id": 20269,
                                                        "name": "p2",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 20258,
                                                        "src": "57089:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_uint256",
                                                            "typeString": "uint256"
                                                        }
                                                    },
                                                    {
                                                        "id": 20270,
                                                        "name": "p3",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 20260,
                                                        "src": "57093:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_address",
                                                            "typeString": "address"
                                                        }
                                                    }
                                                ],
                                                "expression": {
                                                    "argumentTypes": [
                                                        {
                                                            "typeIdentifier": "t_stringliteral_0d8ce61ee7d058fd1e588343a35fb1aff71b8e7f74d553220d0e20088cb908bf",
                                                            "typeString": "literal_string \"log(address,bool,uint,address)\""
                                                        },
                                                        {
                                                            "typeIdentifier": "t_address",
                                                            "typeString": "address"
                                                        },
                                                        {
                                                            "typeIdentifier": "t_bool",
                                                            "typeString": "bool"
                                                        },
                                                        {
                                                            "typeIdentifier": "t_uint256",
                                                            "typeString": "uint256"
                                                        },
                                                        {
                                                            "typeIdentifier": "t_address",
                                                            "typeString": "address"
                                                        }
                                                    ],
                                                    "expression": {
                                                        "id": 20264,
                                                        "name": "abi",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 4294967295,
                                                        "src": "57023:3:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_magic_abi",
                                                            "typeString": "abi"
                                                        }
                                                    },
                                                    "id": 20265,
                                                    "isConstant": false,
                                                    "isLValue": false,
                                                    "isPure": true,
                                                    "lValueRequested": false,
                                                    "memberName": "encodeWithSignature",
                                                    "nodeType": "MemberAccess",
                                                    "src": "57023:23:62",
                                                    "typeDescriptions": {
                                                        "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$",
                                                        "typeString": "function (string memory) pure returns (bytes memory)"
                                                    }
                                                },
                                                "id": 20271,
                                                "isConstant": false,
                                                "isLValue": false,
                                                "isPure": false,
                                                "kind": "functionCall",
                                                "lValueRequested": false,
                                                "names": [],
                                                "nodeType": "FunctionCall",
                                                "src": "57023:73:62",
                                                "tryCall": false,
                                                "typeDescriptions": {
                                                    "typeIdentifier": "t_bytes_memory_ptr",
                                                    "typeString": "bytes memory"
                                                }
                                            }
                                        ],
                                        "expression": {
                                            "argumentTypes": [
                                                {
                                                    "typeIdentifier": "t_bytes_memory_ptr",
                                                    "typeString": "bytes memory"
                                                }
                                            ],
                                            "id": 20263,
                                            "name": "_sendLogPayload",
                                            "nodeType": "Identifier",
                                            "overloadedDeclarations": [],
                                            "referencedDeclaration": 12880,
                                            "src": "57007:15:62",
                                            "typeDescriptions": {
                                                "typeIdentifier": "t_function_internal_view$_t_bytes_memory_ptr_$returns$__$",
                                                "typeString": "function (bytes memory) view"
                                            }
                                        },
                                        "id": 20272,
                                        "isConstant": false,
                                        "isLValue": false,
                                        "isPure": false,
                                        "kind": "functionCall",
                                        "lValueRequested": false,
                                        "names": [],
                                        "nodeType": "FunctionCall",
                                        "src": "57007:90:62",
                                        "tryCall": false,
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_tuple$__$",
                                            "typeString": "tuple()"
                                        }
                                    },
                                    "id": 20273,
                                    "nodeType": "ExpressionStatement",
                                    "src": "57007:90:62"
                                }
                            ]
                        },
                        "id": 20275,
                        "implemented": true,
                        "kind": "function",
                        "modifiers": [],
                        "name": "log",
                        "nameLocation": "56943:3:62",
                        "nodeType": "FunctionDefinition",
                        "parameters": {
                            "id": 20261,
                            "nodeType": "ParameterList",
                            "parameters": [
                                {
                                    "constant": false,
                                    "id": 20254,
                                    "mutability": "mutable",
                                    "name": "p0",
                                    "nameLocation": "56955:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 20275,
                                    "src": "56947:10:62",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_address",
                                        "typeString": "address"
                                    },
                                    "typeName": {
                                        "id": 20253,
                                        "name": "address",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "56947:7:62",
                                        "stateMutability": "nonpayable",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_address",
                                            "typeString": "address"
                                        }
                                    },
                                    "visibility": "internal"
                                },
                                {
                                    "constant": false,
                                    "id": 20256,
                                    "mutability": "mutable",
                                    "name": "p1",
                                    "nameLocation": "56964:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 20275,
                                    "src": "56959:7:62",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_bool",
                                        "typeString": "bool"
                                    },
                                    "typeName": {
                                        "id": 20255,
                                        "name": "bool",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "56959:4:62",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_bool",
                                            "typeString": "bool"
                                        }
                                    },
                                    "visibility": "internal"
                                },
                                {
                                    "constant": false,
                                    "id": 20258,
                                    "mutability": "mutable",
                                    "name": "p2",
                                    "nameLocation": "56973:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 20275,
                                    "src": "56968:7:62",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_uint256",
                                        "typeString": "uint256"
                                    },
                                    "typeName": {
                                        "id": 20257,
                                        "name": "uint",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "56968:4:62",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_uint256",
                                            "typeString": "uint256"
                                        }
                                    },
                                    "visibility": "internal"
                                },
                                {
                                    "constant": false,
                                    "id": 20260,
                                    "mutability": "mutable",
                                    "name": "p3",
                                    "nameLocation": "56985:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 20275,
                                    "src": "56977:10:62",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_address",
                                        "typeString": "address"
                                    },
                                    "typeName": {
                                        "id": 20259,
                                        "name": "address",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "56977:7:62",
                                        "stateMutability": "nonpayable",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_address",
                                            "typeString": "address"
                                        }
                                    },
                                    "visibility": "internal"
                                }
                            ],
                            "src": "56946:42:62"
                        },
                        "returnParameters": {
                            "id": 20262,
                            "nodeType": "ParameterList",
                            "parameters": [],
                            "src": "57003:0:62"
                        },
                        "scope": 20920,
                        "src": "56934:167:62",
                        "stateMutability": "view",
                        "virtual": false,
                        "visibility": "internal"
                    },
                    {
                        "body": {
                            "id": 20297,
                            "nodeType": "Block",
                            "src": "57179:97:62",
                            "statements": [
                                {
                                    "expression": {
                                        "arguments": [
                                            {
                                                "arguments": [
                                                    {
                                                        "hexValue": "6c6f6728616464726573732c626f6f6c2c737472696e672c75696e7429",
                                                        "id": 20289,
                                                        "isConstant": false,
                                                        "isLValue": false,
                                                        "isPure": true,
                                                        "kind": "string",
                                                        "lValueRequested": false,
                                                        "nodeType": "Literal",
                                                        "src": "57223:31:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_stringliteral_9e127b6e4348bc33b3ea7f05f6479d3e1b1fe2b3727e1f4ba94b6a36e7abac9b",
                                                            "typeString": "literal_string \"log(address,bool,string,uint)\""
                                                        },
                                                        "value": "log(address,bool,string,uint)"
                                                    },
                                                    {
                                                        "id": 20290,
                                                        "name": "p0",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 20277,
                                                        "src": "57256:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_address",
                                                            "typeString": "address"
                                                        }
                                                    },
                                                    {
                                                        "id": 20291,
                                                        "name": "p1",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 20279,
                                                        "src": "57260:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_bool",
                                                            "typeString": "bool"
                                                        }
                                                    },
                                                    {
                                                        "id": 20292,
                                                        "name": "p2",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 20281,
                                                        "src": "57264:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_string_memory_ptr",
                                                            "typeString": "string memory"
                                                        }
                                                    },
                                                    {
                                                        "id": 20293,
                                                        "name": "p3",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 20283,
                                                        "src": "57268:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_uint256",
                                                            "typeString": "uint256"
                                                        }
                                                    }
                                                ],
                                                "expression": {
                                                    "argumentTypes": [
                                                        {
                                                            "typeIdentifier": "t_stringliteral_9e127b6e4348bc33b3ea7f05f6479d3e1b1fe2b3727e1f4ba94b6a36e7abac9b",
                                                            "typeString": "literal_string \"log(address,bool,string,uint)\""
                                                        },
                                                        {
                                                            "typeIdentifier": "t_address",
                                                            "typeString": "address"
                                                        },
                                                        {
                                                            "typeIdentifier": "t_bool",
                                                            "typeString": "bool"
                                                        },
                                                        {
                                                            "typeIdentifier": "t_string_memory_ptr",
                                                            "typeString": "string memory"
                                                        },
                                                        {
                                                            "typeIdentifier": "t_uint256",
                                                            "typeString": "uint256"
                                                        }
                                                    ],
                                                    "expression": {
                                                        "id": 20287,
                                                        "name": "abi",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 4294967295,
                                                        "src": "57199:3:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_magic_abi",
                                                            "typeString": "abi"
                                                        }
                                                    },
                                                    "id": 20288,
                                                    "isConstant": false,
                                                    "isLValue": false,
                                                    "isPure": true,
                                                    "lValueRequested": false,
                                                    "memberName": "encodeWithSignature",
                                                    "nodeType": "MemberAccess",
                                                    "src": "57199:23:62",
                                                    "typeDescriptions": {
                                                        "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$",
                                                        "typeString": "function (string memory) pure returns (bytes memory)"
                                                    }
                                                },
                                                "id": 20294,
                                                "isConstant": false,
                                                "isLValue": false,
                                                "isPure": false,
                                                "kind": "functionCall",
                                                "lValueRequested": false,
                                                "names": [],
                                                "nodeType": "FunctionCall",
                                                "src": "57199:72:62",
                                                "tryCall": false,
                                                "typeDescriptions": {
                                                    "typeIdentifier": "t_bytes_memory_ptr",
                                                    "typeString": "bytes memory"
                                                }
                                            }
                                        ],
                                        "expression": {
                                            "argumentTypes": [
                                                {
                                                    "typeIdentifier": "t_bytes_memory_ptr",
                                                    "typeString": "bytes memory"
                                                }
                                            ],
                                            "id": 20286,
                                            "name": "_sendLogPayload",
                                            "nodeType": "Identifier",
                                            "overloadedDeclarations": [],
                                            "referencedDeclaration": 12880,
                                            "src": "57183:15:62",
                                            "typeDescriptions": {
                                                "typeIdentifier": "t_function_internal_view$_t_bytes_memory_ptr_$returns$__$",
                                                "typeString": "function (bytes memory) view"
                                            }
                                        },
                                        "id": 20295,
                                        "isConstant": false,
                                        "isLValue": false,
                                        "isPure": false,
                                        "kind": "functionCall",
                                        "lValueRequested": false,
                                        "names": [],
                                        "nodeType": "FunctionCall",
                                        "src": "57183:89:62",
                                        "tryCall": false,
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_tuple$__$",
                                            "typeString": "tuple()"
                                        }
                                    },
                                    "id": 20296,
                                    "nodeType": "ExpressionStatement",
                                    "src": "57183:89:62"
                                }
                            ]
                        },
                        "id": 20298,
                        "implemented": true,
                        "kind": "function",
                        "modifiers": [],
                        "name": "log",
                        "nameLocation": "57113:3:62",
                        "nodeType": "FunctionDefinition",
                        "parameters": {
                            "id": 20284,
                            "nodeType": "ParameterList",
                            "parameters": [
                                {
                                    "constant": false,
                                    "id": 20277,
                                    "mutability": "mutable",
                                    "name": "p0",
                                    "nameLocation": "57125:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 20298,
                                    "src": "57117:10:62",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_address",
                                        "typeString": "address"
                                    },
                                    "typeName": {
                                        "id": 20276,
                                        "name": "address",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "57117:7:62",
                                        "stateMutability": "nonpayable",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_address",
                                            "typeString": "address"
                                        }
                                    },
                                    "visibility": "internal"
                                },
                                {
                                    "constant": false,
                                    "id": 20279,
                                    "mutability": "mutable",
                                    "name": "p1",
                                    "nameLocation": "57134:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 20298,
                                    "src": "57129:7:62",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_bool",
                                        "typeString": "bool"
                                    },
                                    "typeName": {
                                        "id": 20278,
                                        "name": "bool",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "57129:4:62",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_bool",
                                            "typeString": "bool"
                                        }
                                    },
                                    "visibility": "internal"
                                },
                                {
                                    "constant": false,
                                    "id": 20281,
                                    "mutability": "mutable",
                                    "name": "p2",
                                    "nameLocation": "57152:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 20298,
                                    "src": "57138:16:62",
                                    "stateVariable": false,
                                    "storageLocation": "memory",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_string_memory_ptr",
                                        "typeString": "string"
                                    },
                                    "typeName": {
                                        "id": 20280,
                                        "name": "string",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "57138:6:62",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_string_storage_ptr",
                                            "typeString": "string"
                                        }
                                    },
                                    "visibility": "internal"
                                },
                                {
                                    "constant": false,
                                    "id": 20283,
                                    "mutability": "mutable",
                                    "name": "p3",
                                    "nameLocation": "57161:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 20298,
                                    "src": "57156:7:62",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_uint256",
                                        "typeString": "uint256"
                                    },
                                    "typeName": {
                                        "id": 20282,
                                        "name": "uint",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "57156:4:62",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_uint256",
                                            "typeString": "uint256"
                                        }
                                    },
                                    "visibility": "internal"
                                }
                            ],
                            "src": "57116:48:62"
                        },
                        "returnParameters": {
                            "id": 20285,
                            "nodeType": "ParameterList",
                            "parameters": [],
                            "src": "57179:0:62"
                        },
                        "scope": 20920,
                        "src": "57104:172:62",
                        "stateMutability": "view",
                        "virtual": false,
                        "visibility": "internal"
                    },
                    {
                        "body": {
                            "id": 20320,
                            "nodeType": "Block",
                            "src": "57363:99:62",
                            "statements": [
                                {
                                    "expression": {
                                        "arguments": [
                                            {
                                                "arguments": [
                                                    {
                                                        "hexValue": "6c6f6728616464726573732c626f6f6c2c737472696e672c737472696e6729",
                                                        "id": 20312,
                                                        "isConstant": false,
                                                        "isLValue": false,
                                                        "isPure": true,
                                                        "kind": "string",
                                                        "lValueRequested": false,
                                                        "nodeType": "Literal",
                                                        "src": "57407:33:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_stringliteral_475c5c33f91155b7a0e86c9fac7985c60ab58f4bfb411ee9b31d994a7fc95d1f",
                                                            "typeString": "literal_string \"log(address,bool,string,string)\""
                                                        },
                                                        "value": "log(address,bool,string,string)"
                                                    },
                                                    {
                                                        "id": 20313,
                                                        "name": "p0",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 20300,
                                                        "src": "57442:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_address",
                                                            "typeString": "address"
                                                        }
                                                    },
                                                    {
                                                        "id": 20314,
                                                        "name": "p1",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 20302,
                                                        "src": "57446:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_bool",
                                                            "typeString": "bool"
                                                        }
                                                    },
                                                    {
                                                        "id": 20315,
                                                        "name": "p2",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 20304,
                                                        "src": "57450:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_string_memory_ptr",
                                                            "typeString": "string memory"
                                                        }
                                                    },
                                                    {
                                                        "id": 20316,
                                                        "name": "p3",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 20306,
                                                        "src": "57454:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_string_memory_ptr",
                                                            "typeString": "string memory"
                                                        }
                                                    }
                                                ],
                                                "expression": {
                                                    "argumentTypes": [
                                                        {
                                                            "typeIdentifier": "t_stringliteral_475c5c33f91155b7a0e86c9fac7985c60ab58f4bfb411ee9b31d994a7fc95d1f",
                                                            "typeString": "literal_string \"log(address,bool,string,string)\""
                                                        },
                                                        {
                                                            "typeIdentifier": "t_address",
                                                            "typeString": "address"
                                                        },
                                                        {
                                                            "typeIdentifier": "t_bool",
                                                            "typeString": "bool"
                                                        },
                                                        {
                                                            "typeIdentifier": "t_string_memory_ptr",
                                                            "typeString": "string memory"
                                                        },
                                                        {
                                                            "typeIdentifier": "t_string_memory_ptr",
                                                            "typeString": "string memory"
                                                        }
                                                    ],
                                                    "expression": {
                                                        "id": 20310,
                                                        "name": "abi",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 4294967295,
                                                        "src": "57383:3:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_magic_abi",
                                                            "typeString": "abi"
                                                        }
                                                    },
                                                    "id": 20311,
                                                    "isConstant": false,
                                                    "isLValue": false,
                                                    "isPure": true,
                                                    "lValueRequested": false,
                                                    "memberName": "encodeWithSignature",
                                                    "nodeType": "MemberAccess",
                                                    "src": "57383:23:62",
                                                    "typeDescriptions": {
                                                        "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$",
                                                        "typeString": "function (string memory) pure returns (bytes memory)"
                                                    }
                                                },
                                                "id": 20317,
                                                "isConstant": false,
                                                "isLValue": false,
                                                "isPure": false,
                                                "kind": "functionCall",
                                                "lValueRequested": false,
                                                "names": [],
                                                "nodeType": "FunctionCall",
                                                "src": "57383:74:62",
                                                "tryCall": false,
                                                "typeDescriptions": {
                                                    "typeIdentifier": "t_bytes_memory_ptr",
                                                    "typeString": "bytes memory"
                                                }
                                            }
                                        ],
                                        "expression": {
                                            "argumentTypes": [
                                                {
                                                    "typeIdentifier": "t_bytes_memory_ptr",
                                                    "typeString": "bytes memory"
                                                }
                                            ],
                                            "id": 20309,
                                            "name": "_sendLogPayload",
                                            "nodeType": "Identifier",
                                            "overloadedDeclarations": [],
                                            "referencedDeclaration": 12880,
                                            "src": "57367:15:62",
                                            "typeDescriptions": {
                                                "typeIdentifier": "t_function_internal_view$_t_bytes_memory_ptr_$returns$__$",
                                                "typeString": "function (bytes memory) view"
                                            }
                                        },
                                        "id": 20318,
                                        "isConstant": false,
                                        "isLValue": false,
                                        "isPure": false,
                                        "kind": "functionCall",
                                        "lValueRequested": false,
                                        "names": [],
                                        "nodeType": "FunctionCall",
                                        "src": "57367:91:62",
                                        "tryCall": false,
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_tuple$__$",
                                            "typeString": "tuple()"
                                        }
                                    },
                                    "id": 20319,
                                    "nodeType": "ExpressionStatement",
                                    "src": "57367:91:62"
                                }
                            ]
                        },
                        "id": 20321,
                        "implemented": true,
                        "kind": "function",
                        "modifiers": [],
                        "name": "log",
                        "nameLocation": "57288:3:62",
                        "nodeType": "FunctionDefinition",
                        "parameters": {
                            "id": 20307,
                            "nodeType": "ParameterList",
                            "parameters": [
                                {
                                    "constant": false,
                                    "id": 20300,
                                    "mutability": "mutable",
                                    "name": "p0",
                                    "nameLocation": "57300:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 20321,
                                    "src": "57292:10:62",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_address",
                                        "typeString": "address"
                                    },
                                    "typeName": {
                                        "id": 20299,
                                        "name": "address",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "57292:7:62",
                                        "stateMutability": "nonpayable",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_address",
                                            "typeString": "address"
                                        }
                                    },
                                    "visibility": "internal"
                                },
                                {
                                    "constant": false,
                                    "id": 20302,
                                    "mutability": "mutable",
                                    "name": "p1",
                                    "nameLocation": "57309:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 20321,
                                    "src": "57304:7:62",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_bool",
                                        "typeString": "bool"
                                    },
                                    "typeName": {
                                        "id": 20301,
                                        "name": "bool",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "57304:4:62",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_bool",
                                            "typeString": "bool"
                                        }
                                    },
                                    "visibility": "internal"
                                },
                                {
                                    "constant": false,
                                    "id": 20304,
                                    "mutability": "mutable",
                                    "name": "p2",
                                    "nameLocation": "57327:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 20321,
                                    "src": "57313:16:62",
                                    "stateVariable": false,
                                    "storageLocation": "memory",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_string_memory_ptr",
                                        "typeString": "string"
                                    },
                                    "typeName": {
                                        "id": 20303,
                                        "name": "string",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "57313:6:62",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_string_storage_ptr",
                                            "typeString": "string"
                                        }
                                    },
                                    "visibility": "internal"
                                },
                                {
                                    "constant": false,
                                    "id": 20306,
                                    "mutability": "mutable",
                                    "name": "p3",
                                    "nameLocation": "57345:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 20321,
                                    "src": "57331:16:62",
                                    "stateVariable": false,
                                    "storageLocation": "memory",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_string_memory_ptr",
                                        "typeString": "string"
                                    },
                                    "typeName": {
                                        "id": 20305,
                                        "name": "string",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "57331:6:62",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_string_storage_ptr",
                                            "typeString": "string"
                                        }
                                    },
                                    "visibility": "internal"
                                }
                            ],
                            "src": "57291:57:62"
                        },
                        "returnParameters": {
                            "id": 20308,
                            "nodeType": "ParameterList",
                            "parameters": [],
                            "src": "57363:0:62"
                        },
                        "scope": 20920,
                        "src": "57279:183:62",
                        "stateMutability": "view",
                        "virtual": false,
                        "visibility": "internal"
                    },
                    {
                        "body": {
                            "id": 20343,
                            "nodeType": "Block",
                            "src": "57540:97:62",
                            "statements": [
                                {
                                    "expression": {
                                        "arguments": [
                                            {
                                                "arguments": [
                                                    {
                                                        "hexValue": "6c6f6728616464726573732c626f6f6c2c737472696e672c626f6f6c29",
                                                        "id": 20335,
                                                        "isConstant": false,
                                                        "isLValue": false,
                                                        "isPure": true,
                                                        "kind": "string",
                                                        "lValueRequested": false,
                                                        "nodeType": "Literal",
                                                        "src": "57584:31:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_stringliteral_50ad461db24803fc9b2ba76f072192e0a4d8fbb3667a50c400f504443380890f",
                                                            "typeString": "literal_string \"log(address,bool,string,bool)\""
                                                        },
                                                        "value": "log(address,bool,string,bool)"
                                                    },
                                                    {
                                                        "id": 20336,
                                                        "name": "p0",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 20323,
                                                        "src": "57617:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_address",
                                                            "typeString": "address"
                                                        }
                                                    },
                                                    {
                                                        "id": 20337,
                                                        "name": "p1",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 20325,
                                                        "src": "57621:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_bool",
                                                            "typeString": "bool"
                                                        }
                                                    },
                                                    {
                                                        "id": 20338,
                                                        "name": "p2",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 20327,
                                                        "src": "57625:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_string_memory_ptr",
                                                            "typeString": "string memory"
                                                        }
                                                    },
                                                    {
                                                        "id": 20339,
                                                        "name": "p3",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 20329,
                                                        "src": "57629:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_bool",
                                                            "typeString": "bool"
                                                        }
                                                    }
                                                ],
                                                "expression": {
                                                    "argumentTypes": [
                                                        {
                                                            "typeIdentifier": "t_stringliteral_50ad461db24803fc9b2ba76f072192e0a4d8fbb3667a50c400f504443380890f",
                                                            "typeString": "literal_string \"log(address,bool,string,bool)\""
                                                        },
                                                        {
                                                            "typeIdentifier": "t_address",
                                                            "typeString": "address"
                                                        },
                                                        {
                                                            "typeIdentifier": "t_bool",
                                                            "typeString": "bool"
                                                        },
                                                        {
                                                            "typeIdentifier": "t_string_memory_ptr",
                                                            "typeString": "string memory"
                                                        },
                                                        {
                                                            "typeIdentifier": "t_bool",
                                                            "typeString": "bool"
                                                        }
                                                    ],
                                                    "expression": {
                                                        "id": 20333,
                                                        "name": "abi",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 4294967295,
                                                        "src": "57560:3:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_magic_abi",
                                                            "typeString": "abi"
                                                        }
                                                    },
                                                    "id": 20334,
                                                    "isConstant": false,
                                                    "isLValue": false,
                                                    "isPure": true,
                                                    "lValueRequested": false,
                                                    "memberName": "encodeWithSignature",
                                                    "nodeType": "MemberAccess",
                                                    "src": "57560:23:62",
                                                    "typeDescriptions": {
                                                        "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$",
                                                        "typeString": "function (string memory) pure returns (bytes memory)"
                                                    }
                                                },
                                                "id": 20340,
                                                "isConstant": false,
                                                "isLValue": false,
                                                "isPure": false,
                                                "kind": "functionCall",
                                                "lValueRequested": false,
                                                "names": [],
                                                "nodeType": "FunctionCall",
                                                "src": "57560:72:62",
                                                "tryCall": false,
                                                "typeDescriptions": {
                                                    "typeIdentifier": "t_bytes_memory_ptr",
                                                    "typeString": "bytes memory"
                                                }
                                            }
                                        ],
                                        "expression": {
                                            "argumentTypes": [
                                                {
                                                    "typeIdentifier": "t_bytes_memory_ptr",
                                                    "typeString": "bytes memory"
                                                }
                                            ],
                                            "id": 20332,
                                            "name": "_sendLogPayload",
                                            "nodeType": "Identifier",
                                            "overloadedDeclarations": [],
                                            "referencedDeclaration": 12880,
                                            "src": "57544:15:62",
                                            "typeDescriptions": {
                                                "typeIdentifier": "t_function_internal_view$_t_bytes_memory_ptr_$returns$__$",
                                                "typeString": "function (bytes memory) view"
                                            }
                                        },
                                        "id": 20341,
                                        "isConstant": false,
                                        "isLValue": false,
                                        "isPure": false,
                                        "kind": "functionCall",
                                        "lValueRequested": false,
                                        "names": [],
                                        "nodeType": "FunctionCall",
                                        "src": "57544:89:62",
                                        "tryCall": false,
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_tuple$__$",
                                            "typeString": "tuple()"
                                        }
                                    },
                                    "id": 20342,
                                    "nodeType": "ExpressionStatement",
                                    "src": "57544:89:62"
                                }
                            ]
                        },
                        "id": 20344,
                        "implemented": true,
                        "kind": "function",
                        "modifiers": [],
                        "name": "log",
                        "nameLocation": "57474:3:62",
                        "nodeType": "FunctionDefinition",
                        "parameters": {
                            "id": 20330,
                            "nodeType": "ParameterList",
                            "parameters": [
                                {
                                    "constant": false,
                                    "id": 20323,
                                    "mutability": "mutable",
                                    "name": "p0",
                                    "nameLocation": "57486:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 20344,
                                    "src": "57478:10:62",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_address",
                                        "typeString": "address"
                                    },
                                    "typeName": {
                                        "id": 20322,
                                        "name": "address",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "57478:7:62",
                                        "stateMutability": "nonpayable",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_address",
                                            "typeString": "address"
                                        }
                                    },
                                    "visibility": "internal"
                                },
                                {
                                    "constant": false,
                                    "id": 20325,
                                    "mutability": "mutable",
                                    "name": "p1",
                                    "nameLocation": "57495:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 20344,
                                    "src": "57490:7:62",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_bool",
                                        "typeString": "bool"
                                    },
                                    "typeName": {
                                        "id": 20324,
                                        "name": "bool",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "57490:4:62",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_bool",
                                            "typeString": "bool"
                                        }
                                    },
                                    "visibility": "internal"
                                },
                                {
                                    "constant": false,
                                    "id": 20327,
                                    "mutability": "mutable",
                                    "name": "p2",
                                    "nameLocation": "57513:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 20344,
                                    "src": "57499:16:62",
                                    "stateVariable": false,
                                    "storageLocation": "memory",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_string_memory_ptr",
                                        "typeString": "string"
                                    },
                                    "typeName": {
                                        "id": 20326,
                                        "name": "string",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "57499:6:62",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_string_storage_ptr",
                                            "typeString": "string"
                                        }
                                    },
                                    "visibility": "internal"
                                },
                                {
                                    "constant": false,
                                    "id": 20329,
                                    "mutability": "mutable",
                                    "name": "p3",
                                    "nameLocation": "57522:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 20344,
                                    "src": "57517:7:62",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_bool",
                                        "typeString": "bool"
                                    },
                                    "typeName": {
                                        "id": 20328,
                                        "name": "bool",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "57517:4:62",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_bool",
                                            "typeString": "bool"
                                        }
                                    },
                                    "visibility": "internal"
                                }
                            ],
                            "src": "57477:48:62"
                        },
                        "returnParameters": {
                            "id": 20331,
                            "nodeType": "ParameterList",
                            "parameters": [],
                            "src": "57540:0:62"
                        },
                        "scope": 20920,
                        "src": "57465:172:62",
                        "stateMutability": "view",
                        "virtual": false,
                        "visibility": "internal"
                    },
                    {
                        "body": {
                            "id": 20366,
                            "nodeType": "Block",
                            "src": "57718:100:62",
                            "statements": [
                                {
                                    "expression": {
                                        "arguments": [
                                            {
                                                "arguments": [
                                                    {
                                                        "hexValue": "6c6f6728616464726573732c626f6f6c2c737472696e672c6164647265737329",
                                                        "id": 20358,
                                                        "isConstant": false,
                                                        "isLValue": false,
                                                        "isPure": true,
                                                        "kind": "string",
                                                        "lValueRequested": false,
                                                        "nodeType": "Literal",
                                                        "src": "57762:34:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_stringliteral_19fd495659df511498cf8dde03672830bd109ef2d9b9bec18e72190917c328bc",
                                                            "typeString": "literal_string \"log(address,bool,string,address)\""
                                                        },
                                                        "value": "log(address,bool,string,address)"
                                                    },
                                                    {
                                                        "id": 20359,
                                                        "name": "p0",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 20346,
                                                        "src": "57798:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_address",
                                                            "typeString": "address"
                                                        }
                                                    },
                                                    {
                                                        "id": 20360,
                                                        "name": "p1",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 20348,
                                                        "src": "57802:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_bool",
                                                            "typeString": "bool"
                                                        }
                                                    },
                                                    {
                                                        "id": 20361,
                                                        "name": "p2",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 20350,
                                                        "src": "57806:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_string_memory_ptr",
                                                            "typeString": "string memory"
                                                        }
                                                    },
                                                    {
                                                        "id": 20362,
                                                        "name": "p3",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 20352,
                                                        "src": "57810:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_address",
                                                            "typeString": "address"
                                                        }
                                                    }
                                                ],
                                                "expression": {
                                                    "argumentTypes": [
                                                        {
                                                            "typeIdentifier": "t_stringliteral_19fd495659df511498cf8dde03672830bd109ef2d9b9bec18e72190917c328bc",
                                                            "typeString": "literal_string \"log(address,bool,string,address)\""
                                                        },
                                                        {
                                                            "typeIdentifier": "t_address",
                                                            "typeString": "address"
                                                        },
                                                        {
                                                            "typeIdentifier": "t_bool",
                                                            "typeString": "bool"
                                                        },
                                                        {
                                                            "typeIdentifier": "t_string_memory_ptr",
                                                            "typeString": "string memory"
                                                        },
                                                        {
                                                            "typeIdentifier": "t_address",
                                                            "typeString": "address"
                                                        }
                                                    ],
                                                    "expression": {
                                                        "id": 20356,
                                                        "name": "abi",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 4294967295,
                                                        "src": "57738:3:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_magic_abi",
                                                            "typeString": "abi"
                                                        }
                                                    },
                                                    "id": 20357,
                                                    "isConstant": false,
                                                    "isLValue": false,
                                                    "isPure": true,
                                                    "lValueRequested": false,
                                                    "memberName": "encodeWithSignature",
                                                    "nodeType": "MemberAccess",
                                                    "src": "57738:23:62",
                                                    "typeDescriptions": {
                                                        "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$",
                                                        "typeString": "function (string memory) pure returns (bytes memory)"
                                                    }
                                                },
                                                "id": 20363,
                                                "isConstant": false,
                                                "isLValue": false,
                                                "isPure": false,
                                                "kind": "functionCall",
                                                "lValueRequested": false,
                                                "names": [],
                                                "nodeType": "FunctionCall",
                                                "src": "57738:75:62",
                                                "tryCall": false,
                                                "typeDescriptions": {
                                                    "typeIdentifier": "t_bytes_memory_ptr",
                                                    "typeString": "bytes memory"
                                                }
                                            }
                                        ],
                                        "expression": {
                                            "argumentTypes": [
                                                {
                                                    "typeIdentifier": "t_bytes_memory_ptr",
                                                    "typeString": "bytes memory"
                                                }
                                            ],
                                            "id": 20355,
                                            "name": "_sendLogPayload",
                                            "nodeType": "Identifier",
                                            "overloadedDeclarations": [],
                                            "referencedDeclaration": 12880,
                                            "src": "57722:15:62",
                                            "typeDescriptions": {
                                                "typeIdentifier": "t_function_internal_view$_t_bytes_memory_ptr_$returns$__$",
                                                "typeString": "function (bytes memory) view"
                                            }
                                        },
                                        "id": 20364,
                                        "isConstant": false,
                                        "isLValue": false,
                                        "isPure": false,
                                        "kind": "functionCall",
                                        "lValueRequested": false,
                                        "names": [],
                                        "nodeType": "FunctionCall",
                                        "src": "57722:92:62",
                                        "tryCall": false,
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_tuple$__$",
                                            "typeString": "tuple()"
                                        }
                                    },
                                    "id": 20365,
                                    "nodeType": "ExpressionStatement",
                                    "src": "57722:92:62"
                                }
                            ]
                        },
                        "id": 20367,
                        "implemented": true,
                        "kind": "function",
                        "modifiers": [],
                        "name": "log",
                        "nameLocation": "57649:3:62",
                        "nodeType": "FunctionDefinition",
                        "parameters": {
                            "id": 20353,
                            "nodeType": "ParameterList",
                            "parameters": [
                                {
                                    "constant": false,
                                    "id": 20346,
                                    "mutability": "mutable",
                                    "name": "p0",
                                    "nameLocation": "57661:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 20367,
                                    "src": "57653:10:62",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_address",
                                        "typeString": "address"
                                    },
                                    "typeName": {
                                        "id": 20345,
                                        "name": "address",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "57653:7:62",
                                        "stateMutability": "nonpayable",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_address",
                                            "typeString": "address"
                                        }
                                    },
                                    "visibility": "internal"
                                },
                                {
                                    "constant": false,
                                    "id": 20348,
                                    "mutability": "mutable",
                                    "name": "p1",
                                    "nameLocation": "57670:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 20367,
                                    "src": "57665:7:62",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_bool",
                                        "typeString": "bool"
                                    },
                                    "typeName": {
                                        "id": 20347,
                                        "name": "bool",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "57665:4:62",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_bool",
                                            "typeString": "bool"
                                        }
                                    },
                                    "visibility": "internal"
                                },
                                {
                                    "constant": false,
                                    "id": 20350,
                                    "mutability": "mutable",
                                    "name": "p2",
                                    "nameLocation": "57688:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 20367,
                                    "src": "57674:16:62",
                                    "stateVariable": false,
                                    "storageLocation": "memory",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_string_memory_ptr",
                                        "typeString": "string"
                                    },
                                    "typeName": {
                                        "id": 20349,
                                        "name": "string",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "57674:6:62",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_string_storage_ptr",
                                            "typeString": "string"
                                        }
                                    },
                                    "visibility": "internal"
                                },
                                {
                                    "constant": false,
                                    "id": 20352,
                                    "mutability": "mutable",
                                    "name": "p3",
                                    "nameLocation": "57700:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 20367,
                                    "src": "57692:10:62",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_address",
                                        "typeString": "address"
                                    },
                                    "typeName": {
                                        "id": 20351,
                                        "name": "address",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "57692:7:62",
                                        "stateMutability": "nonpayable",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_address",
                                            "typeString": "address"
                                        }
                                    },
                                    "visibility": "internal"
                                }
                            ],
                            "src": "57652:51:62"
                        },
                        "returnParameters": {
                            "id": 20354,
                            "nodeType": "ParameterList",
                            "parameters": [],
                            "src": "57718:0:62"
                        },
                        "scope": 20920,
                        "src": "57640:178:62",
                        "stateMutability": "view",
                        "virtual": false,
                        "visibility": "internal"
                    },
                    {
                        "body": {
                            "id": 20389,
                            "nodeType": "Block",
                            "src": "57887:95:62",
                            "statements": [
                                {
                                    "expression": {
                                        "arguments": [
                                            {
                                                "arguments": [
                                                    {
                                                        "hexValue": "6c6f6728616464726573732c626f6f6c2c626f6f6c2c75696e7429",
                                                        "id": 20381,
                                                        "isConstant": false,
                                                        "isLValue": false,
                                                        "isPure": true,
                                                        "kind": "string",
                                                        "lValueRequested": false,
                                                        "nodeType": "Literal",
                                                        "src": "57931:29:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_stringliteral_cfb587569c9e063cd7daed07e27d9193980aad24c48787cb6531c47fa694e463",
                                                            "typeString": "literal_string \"log(address,bool,bool,uint)\""
                                                        },
                                                        "value": "log(address,bool,bool,uint)"
                                                    },
                                                    {
                                                        "id": 20382,
                                                        "name": "p0",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 20369,
                                                        "src": "57962:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_address",
                                                            "typeString": "address"
                                                        }
                                                    },
                                                    {
                                                        "id": 20383,
                                                        "name": "p1",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 20371,
                                                        "src": "57966:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_bool",
                                                            "typeString": "bool"
                                                        }
                                                    },
                                                    {
                                                        "id": 20384,
                                                        "name": "p2",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 20373,
                                                        "src": "57970:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_bool",
                                                            "typeString": "bool"
                                                        }
                                                    },
                                                    {
                                                        "id": 20385,
                                                        "name": "p3",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 20375,
                                                        "src": "57974:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_uint256",
                                                            "typeString": "uint256"
                                                        }
                                                    }
                                                ],
                                                "expression": {
                                                    "argumentTypes": [
                                                        {
                                                            "typeIdentifier": "t_stringliteral_cfb587569c9e063cd7daed07e27d9193980aad24c48787cb6531c47fa694e463",
                                                            "typeString": "literal_string \"log(address,bool,bool,uint)\""
                                                        },
                                                        {
                                                            "typeIdentifier": "t_address",
                                                            "typeString": "address"
                                                        },
                                                        {
                                                            "typeIdentifier": "t_bool",
                                                            "typeString": "bool"
                                                        },
                                                        {
                                                            "typeIdentifier": "t_bool",
                                                            "typeString": "bool"
                                                        },
                                                        {
                                                            "typeIdentifier": "t_uint256",
                                                            "typeString": "uint256"
                                                        }
                                                    ],
                                                    "expression": {
                                                        "id": 20379,
                                                        "name": "abi",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 4294967295,
                                                        "src": "57907:3:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_magic_abi",
                                                            "typeString": "abi"
                                                        }
                                                    },
                                                    "id": 20380,
                                                    "isConstant": false,
                                                    "isLValue": false,
                                                    "isPure": true,
                                                    "lValueRequested": false,
                                                    "memberName": "encodeWithSignature",
                                                    "nodeType": "MemberAccess",
                                                    "src": "57907:23:62",
                                                    "typeDescriptions": {
                                                        "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$",
                                                        "typeString": "function (string memory) pure returns (bytes memory)"
                                                    }
                                                },
                                                "id": 20386,
                                                "isConstant": false,
                                                "isLValue": false,
                                                "isPure": false,
                                                "kind": "functionCall",
                                                "lValueRequested": false,
                                                "names": [],
                                                "nodeType": "FunctionCall",
                                                "src": "57907:70:62",
                                                "tryCall": false,
                                                "typeDescriptions": {
                                                    "typeIdentifier": "t_bytes_memory_ptr",
                                                    "typeString": "bytes memory"
                                                }
                                            }
                                        ],
                                        "expression": {
                                            "argumentTypes": [
                                                {
                                                    "typeIdentifier": "t_bytes_memory_ptr",
                                                    "typeString": "bytes memory"
                                                }
                                            ],
                                            "id": 20378,
                                            "name": "_sendLogPayload",
                                            "nodeType": "Identifier",
                                            "overloadedDeclarations": [],
                                            "referencedDeclaration": 12880,
                                            "src": "57891:15:62",
                                            "typeDescriptions": {
                                                "typeIdentifier": "t_function_internal_view$_t_bytes_memory_ptr_$returns$__$",
                                                "typeString": "function (bytes memory) view"
                                            }
                                        },
                                        "id": 20387,
                                        "isConstant": false,
                                        "isLValue": false,
                                        "isPure": false,
                                        "kind": "functionCall",
                                        "lValueRequested": false,
                                        "names": [],
                                        "nodeType": "FunctionCall",
                                        "src": "57891:87:62",
                                        "tryCall": false,
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_tuple$__$",
                                            "typeString": "tuple()"
                                        }
                                    },
                                    "id": 20388,
                                    "nodeType": "ExpressionStatement",
                                    "src": "57891:87:62"
                                }
                            ]
                        },
                        "id": 20390,
                        "implemented": true,
                        "kind": "function",
                        "modifiers": [],
                        "name": "log",
                        "nameLocation": "57830:3:62",
                        "nodeType": "FunctionDefinition",
                        "parameters": {
                            "id": 20376,
                            "nodeType": "ParameterList",
                            "parameters": [
                                {
                                    "constant": false,
                                    "id": 20369,
                                    "mutability": "mutable",
                                    "name": "p0",
                                    "nameLocation": "57842:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 20390,
                                    "src": "57834:10:62",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_address",
                                        "typeString": "address"
                                    },
                                    "typeName": {
                                        "id": 20368,
                                        "name": "address",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "57834:7:62",
                                        "stateMutability": "nonpayable",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_address",
                                            "typeString": "address"
                                        }
                                    },
                                    "visibility": "internal"
                                },
                                {
                                    "constant": false,
                                    "id": 20371,
                                    "mutability": "mutable",
                                    "name": "p1",
                                    "nameLocation": "57851:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 20390,
                                    "src": "57846:7:62",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_bool",
                                        "typeString": "bool"
                                    },
                                    "typeName": {
                                        "id": 20370,
                                        "name": "bool",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "57846:4:62",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_bool",
                                            "typeString": "bool"
                                        }
                                    },
                                    "visibility": "internal"
                                },
                                {
                                    "constant": false,
                                    "id": 20373,
                                    "mutability": "mutable",
                                    "name": "p2",
                                    "nameLocation": "57860:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 20390,
                                    "src": "57855:7:62",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_bool",
                                        "typeString": "bool"
                                    },
                                    "typeName": {
                                        "id": 20372,
                                        "name": "bool",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "57855:4:62",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_bool",
                                            "typeString": "bool"
                                        }
                                    },
                                    "visibility": "internal"
                                },
                                {
                                    "constant": false,
                                    "id": 20375,
                                    "mutability": "mutable",
                                    "name": "p3",
                                    "nameLocation": "57869:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 20390,
                                    "src": "57864:7:62",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_uint256",
                                        "typeString": "uint256"
                                    },
                                    "typeName": {
                                        "id": 20374,
                                        "name": "uint",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "57864:4:62",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_uint256",
                                            "typeString": "uint256"
                                        }
                                    },
                                    "visibility": "internal"
                                }
                            ],
                            "src": "57833:39:62"
                        },
                        "returnParameters": {
                            "id": 20377,
                            "nodeType": "ParameterList",
                            "parameters": [],
                            "src": "57887:0:62"
                        },
                        "scope": 20920,
                        "src": "57821:161:62",
                        "stateMutability": "view",
                        "virtual": false,
                        "visibility": "internal"
                    },
                    {
                        "body": {
                            "id": 20412,
                            "nodeType": "Block",
                            "src": "58060:97:62",
                            "statements": [
                                {
                                    "expression": {
                                        "arguments": [
                                            {
                                                "arguments": [
                                                    {
                                                        "hexValue": "6c6f6728616464726573732c626f6f6c2c626f6f6c2c737472696e6729",
                                                        "id": 20404,
                                                        "isConstant": false,
                                                        "isLValue": false,
                                                        "isPure": true,
                                                        "kind": "string",
                                                        "lValueRequested": false,
                                                        "nodeType": "Literal",
                                                        "src": "58104:31:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_stringliteral_dfc4a2e8c56809b44edbbc6d92d0a8441e551ad5387596bf8b629c56d9a91300",
                                                            "typeString": "literal_string \"log(address,bool,bool,string)\""
                                                        },
                                                        "value": "log(address,bool,bool,string)"
                                                    },
                                                    {
                                                        "id": 20405,
                                                        "name": "p0",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 20392,
                                                        "src": "58137:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_address",
                                                            "typeString": "address"
                                                        }
                                                    },
                                                    {
                                                        "id": 20406,
                                                        "name": "p1",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 20394,
                                                        "src": "58141:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_bool",
                                                            "typeString": "bool"
                                                        }
                                                    },
                                                    {
                                                        "id": 20407,
                                                        "name": "p2",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 20396,
                                                        "src": "58145:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_bool",
                                                            "typeString": "bool"
                                                        }
                                                    },
                                                    {
                                                        "id": 20408,
                                                        "name": "p3",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 20398,
                                                        "src": "58149:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_string_memory_ptr",
                                                            "typeString": "string memory"
                                                        }
                                                    }
                                                ],
                                                "expression": {
                                                    "argumentTypes": [
                                                        {
                                                            "typeIdentifier": "t_stringliteral_dfc4a2e8c56809b44edbbc6d92d0a8441e551ad5387596bf8b629c56d9a91300",
                                                            "typeString": "literal_string \"log(address,bool,bool,string)\""
                                                        },
                                                        {
                                                            "typeIdentifier": "t_address",
                                                            "typeString": "address"
                                                        },
                                                        {
                                                            "typeIdentifier": "t_bool",
                                                            "typeString": "bool"
                                                        },
                                                        {
                                                            "typeIdentifier": "t_bool",
                                                            "typeString": "bool"
                                                        },
                                                        {
                                                            "typeIdentifier": "t_string_memory_ptr",
                                                            "typeString": "string memory"
                                                        }
                                                    ],
                                                    "expression": {
                                                        "id": 20402,
                                                        "name": "abi",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 4294967295,
                                                        "src": "58080:3:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_magic_abi",
                                                            "typeString": "abi"
                                                        }
                                                    },
                                                    "id": 20403,
                                                    "isConstant": false,
                                                    "isLValue": false,
                                                    "isPure": true,
                                                    "lValueRequested": false,
                                                    "memberName": "encodeWithSignature",
                                                    "nodeType": "MemberAccess",
                                                    "src": "58080:23:62",
                                                    "typeDescriptions": {
                                                        "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$",
                                                        "typeString": "function (string memory) pure returns (bytes memory)"
                                                    }
                                                },
                                                "id": 20409,
                                                "isConstant": false,
                                                "isLValue": false,
                                                "isPure": false,
                                                "kind": "functionCall",
                                                "lValueRequested": false,
                                                "names": [],
                                                "nodeType": "FunctionCall",
                                                "src": "58080:72:62",
                                                "tryCall": false,
                                                "typeDescriptions": {
                                                    "typeIdentifier": "t_bytes_memory_ptr",
                                                    "typeString": "bytes memory"
                                                }
                                            }
                                        ],
                                        "expression": {
                                            "argumentTypes": [
                                                {
                                                    "typeIdentifier": "t_bytes_memory_ptr",
                                                    "typeString": "bytes memory"
                                                }
                                            ],
                                            "id": 20401,
                                            "name": "_sendLogPayload",
                                            "nodeType": "Identifier",
                                            "overloadedDeclarations": [],
                                            "referencedDeclaration": 12880,
                                            "src": "58064:15:62",
                                            "typeDescriptions": {
                                                "typeIdentifier": "t_function_internal_view$_t_bytes_memory_ptr_$returns$__$",
                                                "typeString": "function (bytes memory) view"
                                            }
                                        },
                                        "id": 20410,
                                        "isConstant": false,
                                        "isLValue": false,
                                        "isPure": false,
                                        "kind": "functionCall",
                                        "lValueRequested": false,
                                        "names": [],
                                        "nodeType": "FunctionCall",
                                        "src": "58064:89:62",
                                        "tryCall": false,
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_tuple$__$",
                                            "typeString": "tuple()"
                                        }
                                    },
                                    "id": 20411,
                                    "nodeType": "ExpressionStatement",
                                    "src": "58064:89:62"
                                }
                            ]
                        },
                        "id": 20413,
                        "implemented": true,
                        "kind": "function",
                        "modifiers": [],
                        "name": "log",
                        "nameLocation": "57994:3:62",
                        "nodeType": "FunctionDefinition",
                        "parameters": {
                            "id": 20399,
                            "nodeType": "ParameterList",
                            "parameters": [
                                {
                                    "constant": false,
                                    "id": 20392,
                                    "mutability": "mutable",
                                    "name": "p0",
                                    "nameLocation": "58006:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 20413,
                                    "src": "57998:10:62",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_address",
                                        "typeString": "address"
                                    },
                                    "typeName": {
                                        "id": 20391,
                                        "name": "address",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "57998:7:62",
                                        "stateMutability": "nonpayable",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_address",
                                            "typeString": "address"
                                        }
                                    },
                                    "visibility": "internal"
                                },
                                {
                                    "constant": false,
                                    "id": 20394,
                                    "mutability": "mutable",
                                    "name": "p1",
                                    "nameLocation": "58015:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 20413,
                                    "src": "58010:7:62",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_bool",
                                        "typeString": "bool"
                                    },
                                    "typeName": {
                                        "id": 20393,
                                        "name": "bool",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "58010:4:62",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_bool",
                                            "typeString": "bool"
                                        }
                                    },
                                    "visibility": "internal"
                                },
                                {
                                    "constant": false,
                                    "id": 20396,
                                    "mutability": "mutable",
                                    "name": "p2",
                                    "nameLocation": "58024:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 20413,
                                    "src": "58019:7:62",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_bool",
                                        "typeString": "bool"
                                    },
                                    "typeName": {
                                        "id": 20395,
                                        "name": "bool",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "58019:4:62",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_bool",
                                            "typeString": "bool"
                                        }
                                    },
                                    "visibility": "internal"
                                },
                                {
                                    "constant": false,
                                    "id": 20398,
                                    "mutability": "mutable",
                                    "name": "p3",
                                    "nameLocation": "58042:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 20413,
                                    "src": "58028:16:62",
                                    "stateVariable": false,
                                    "storageLocation": "memory",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_string_memory_ptr",
                                        "typeString": "string"
                                    },
                                    "typeName": {
                                        "id": 20397,
                                        "name": "string",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "58028:6:62",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_string_storage_ptr",
                                            "typeString": "string"
                                        }
                                    },
                                    "visibility": "internal"
                                }
                            ],
                            "src": "57997:48:62"
                        },
                        "returnParameters": {
                            "id": 20400,
                            "nodeType": "ParameterList",
                            "parameters": [],
                            "src": "58060:0:62"
                        },
                        "scope": 20920,
                        "src": "57985:172:62",
                        "stateMutability": "view",
                        "virtual": false,
                        "visibility": "internal"
                    },
                    {
                        "body": {
                            "id": 20435,
                            "nodeType": "Block",
                            "src": "58226:95:62",
                            "statements": [
                                {
                                    "expression": {
                                        "arguments": [
                                            {
                                                "arguments": [
                                                    {
                                                        "hexValue": "6c6f6728616464726573732c626f6f6c2c626f6f6c2c626f6f6c29",
                                                        "id": 20427,
                                                        "isConstant": false,
                                                        "isLValue": false,
                                                        "isPure": true,
                                                        "kind": "string",
                                                        "lValueRequested": false,
                                                        "nodeType": "Literal",
                                                        "src": "58270:29:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_stringliteral_cac434792b973db16714db96d2aeda353b2253f27255abe42b9960b2dc550634",
                                                            "typeString": "literal_string \"log(address,bool,bool,bool)\""
                                                        },
                                                        "value": "log(address,bool,bool,bool)"
                                                    },
                                                    {
                                                        "id": 20428,
                                                        "name": "p0",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 20415,
                                                        "src": "58301:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_address",
                                                            "typeString": "address"
                                                        }
                                                    },
                                                    {
                                                        "id": 20429,
                                                        "name": "p1",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 20417,
                                                        "src": "58305:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_bool",
                                                            "typeString": "bool"
                                                        }
                                                    },
                                                    {
                                                        "id": 20430,
                                                        "name": "p2",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 20419,
                                                        "src": "58309:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_bool",
                                                            "typeString": "bool"
                                                        }
                                                    },
                                                    {
                                                        "id": 20431,
                                                        "name": "p3",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 20421,
                                                        "src": "58313:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_bool",
                                                            "typeString": "bool"
                                                        }
                                                    }
                                                ],
                                                "expression": {
                                                    "argumentTypes": [
                                                        {
                                                            "typeIdentifier": "t_stringliteral_cac434792b973db16714db96d2aeda353b2253f27255abe42b9960b2dc550634",
                                                            "typeString": "literal_string \"log(address,bool,bool,bool)\""
                                                        },
                                                        {
                                                            "typeIdentifier": "t_address",
                                                            "typeString": "address"
                                                        },
                                                        {
                                                            "typeIdentifier": "t_bool",
                                                            "typeString": "bool"
                                                        },
                                                        {
                                                            "typeIdentifier": "t_bool",
                                                            "typeString": "bool"
                                                        },
                                                        {
                                                            "typeIdentifier": "t_bool",
                                                            "typeString": "bool"
                                                        }
                                                    ],
                                                    "expression": {
                                                        "id": 20425,
                                                        "name": "abi",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 4294967295,
                                                        "src": "58246:3:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_magic_abi",
                                                            "typeString": "abi"
                                                        }
                                                    },
                                                    "id": 20426,
                                                    "isConstant": false,
                                                    "isLValue": false,
                                                    "isPure": true,
                                                    "lValueRequested": false,
                                                    "memberName": "encodeWithSignature",
                                                    "nodeType": "MemberAccess",
                                                    "src": "58246:23:62",
                                                    "typeDescriptions": {
                                                        "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$",
                                                        "typeString": "function (string memory) pure returns (bytes memory)"
                                                    }
                                                },
                                                "id": 20432,
                                                "isConstant": false,
                                                "isLValue": false,
                                                "isPure": false,
                                                "kind": "functionCall",
                                                "lValueRequested": false,
                                                "names": [],
                                                "nodeType": "FunctionCall",
                                                "src": "58246:70:62",
                                                "tryCall": false,
                                                "typeDescriptions": {
                                                    "typeIdentifier": "t_bytes_memory_ptr",
                                                    "typeString": "bytes memory"
                                                }
                                            }
                                        ],
                                        "expression": {
                                            "argumentTypes": [
                                                {
                                                    "typeIdentifier": "t_bytes_memory_ptr",
                                                    "typeString": "bytes memory"
                                                }
                                            ],
                                            "id": 20424,
                                            "name": "_sendLogPayload",
                                            "nodeType": "Identifier",
                                            "overloadedDeclarations": [],
                                            "referencedDeclaration": 12880,
                                            "src": "58230:15:62",
                                            "typeDescriptions": {
                                                "typeIdentifier": "t_function_internal_view$_t_bytes_memory_ptr_$returns$__$",
                                                "typeString": "function (bytes memory) view"
                                            }
                                        },
                                        "id": 20433,
                                        "isConstant": false,
                                        "isLValue": false,
                                        "isPure": false,
                                        "kind": "functionCall",
                                        "lValueRequested": false,
                                        "names": [],
                                        "nodeType": "FunctionCall",
                                        "src": "58230:87:62",
                                        "tryCall": false,
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_tuple$__$",
                                            "typeString": "tuple()"
                                        }
                                    },
                                    "id": 20434,
                                    "nodeType": "ExpressionStatement",
                                    "src": "58230:87:62"
                                }
                            ]
                        },
                        "id": 20436,
                        "implemented": true,
                        "kind": "function",
                        "modifiers": [],
                        "name": "log",
                        "nameLocation": "58169:3:62",
                        "nodeType": "FunctionDefinition",
                        "parameters": {
                            "id": 20422,
                            "nodeType": "ParameterList",
                            "parameters": [
                                {
                                    "constant": false,
                                    "id": 20415,
                                    "mutability": "mutable",
                                    "name": "p0",
                                    "nameLocation": "58181:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 20436,
                                    "src": "58173:10:62",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_address",
                                        "typeString": "address"
                                    },
                                    "typeName": {
                                        "id": 20414,
                                        "name": "address",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "58173:7:62",
                                        "stateMutability": "nonpayable",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_address",
                                            "typeString": "address"
                                        }
                                    },
                                    "visibility": "internal"
                                },
                                {
                                    "constant": false,
                                    "id": 20417,
                                    "mutability": "mutable",
                                    "name": "p1",
                                    "nameLocation": "58190:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 20436,
                                    "src": "58185:7:62",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_bool",
                                        "typeString": "bool"
                                    },
                                    "typeName": {
                                        "id": 20416,
                                        "name": "bool",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "58185:4:62",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_bool",
                                            "typeString": "bool"
                                        }
                                    },
                                    "visibility": "internal"
                                },
                                {
                                    "constant": false,
                                    "id": 20419,
                                    "mutability": "mutable",
                                    "name": "p2",
                                    "nameLocation": "58199:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 20436,
                                    "src": "58194:7:62",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_bool",
                                        "typeString": "bool"
                                    },
                                    "typeName": {
                                        "id": 20418,
                                        "name": "bool",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "58194:4:62",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_bool",
                                            "typeString": "bool"
                                        }
                                    },
                                    "visibility": "internal"
                                },
                                {
                                    "constant": false,
                                    "id": 20421,
                                    "mutability": "mutable",
                                    "name": "p3",
                                    "nameLocation": "58208:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 20436,
                                    "src": "58203:7:62",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_bool",
                                        "typeString": "bool"
                                    },
                                    "typeName": {
                                        "id": 20420,
                                        "name": "bool",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "58203:4:62",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_bool",
                                            "typeString": "bool"
                                        }
                                    },
                                    "visibility": "internal"
                                }
                            ],
                            "src": "58172:39:62"
                        },
                        "returnParameters": {
                            "id": 20423,
                            "nodeType": "ParameterList",
                            "parameters": [],
                            "src": "58226:0:62"
                        },
                        "scope": 20920,
                        "src": "58160:161:62",
                        "stateMutability": "view",
                        "virtual": false,
                        "visibility": "internal"
                    },
                    {
                        "body": {
                            "id": 20458,
                            "nodeType": "Block",
                            "src": "58393:98:62",
                            "statements": [
                                {
                                    "expression": {
                                        "arguments": [
                                            {
                                                "arguments": [
                                                    {
                                                        "hexValue": "6c6f6728616464726573732c626f6f6c2c626f6f6c2c6164647265737329",
                                                        "id": 20450,
                                                        "isConstant": false,
                                                        "isLValue": false,
                                                        "isPure": true,
                                                        "kind": "string",
                                                        "lValueRequested": false,
                                                        "nodeType": "Literal",
                                                        "src": "58437:32:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_stringliteral_cf394485abbd1f04b85b0f2c1a2cfc07e3d51c1c6f28386bf16d9e45161e8953",
                                                            "typeString": "literal_string \"log(address,bool,bool,address)\""
                                                        },
                                                        "value": "log(address,bool,bool,address)"
                                                    },
                                                    {
                                                        "id": 20451,
                                                        "name": "p0",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 20438,
                                                        "src": "58471:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_address",
                                                            "typeString": "address"
                                                        }
                                                    },
                                                    {
                                                        "id": 20452,
                                                        "name": "p1",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 20440,
                                                        "src": "58475:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_bool",
                                                            "typeString": "bool"
                                                        }
                                                    },
                                                    {
                                                        "id": 20453,
                                                        "name": "p2",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 20442,
                                                        "src": "58479:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_bool",
                                                            "typeString": "bool"
                                                        }
                                                    },
                                                    {
                                                        "id": 20454,
                                                        "name": "p3",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 20444,
                                                        "src": "58483:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_address",
                                                            "typeString": "address"
                                                        }
                                                    }
                                                ],
                                                "expression": {
                                                    "argumentTypes": [
                                                        {
                                                            "typeIdentifier": "t_stringliteral_cf394485abbd1f04b85b0f2c1a2cfc07e3d51c1c6f28386bf16d9e45161e8953",
                                                            "typeString": "literal_string \"log(address,bool,bool,address)\""
                                                        },
                                                        {
                                                            "typeIdentifier": "t_address",
                                                            "typeString": "address"
                                                        },
                                                        {
                                                            "typeIdentifier": "t_bool",
                                                            "typeString": "bool"
                                                        },
                                                        {
                                                            "typeIdentifier": "t_bool",
                                                            "typeString": "bool"
                                                        },
                                                        {
                                                            "typeIdentifier": "t_address",
                                                            "typeString": "address"
                                                        }
                                                    ],
                                                    "expression": {
                                                        "id": 20448,
                                                        "name": "abi",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 4294967295,
                                                        "src": "58413:3:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_magic_abi",
                                                            "typeString": "abi"
                                                        }
                                                    },
                                                    "id": 20449,
                                                    "isConstant": false,
                                                    "isLValue": false,
                                                    "isPure": true,
                                                    "lValueRequested": false,
                                                    "memberName": "encodeWithSignature",
                                                    "nodeType": "MemberAccess",
                                                    "src": "58413:23:62",
                                                    "typeDescriptions": {
                                                        "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$",
                                                        "typeString": "function (string memory) pure returns (bytes memory)"
                                                    }
                                                },
                                                "id": 20455,
                                                "isConstant": false,
                                                "isLValue": false,
                                                "isPure": false,
                                                "kind": "functionCall",
                                                "lValueRequested": false,
                                                "names": [],
                                                "nodeType": "FunctionCall",
                                                "src": "58413:73:62",
                                                "tryCall": false,
                                                "typeDescriptions": {
                                                    "typeIdentifier": "t_bytes_memory_ptr",
                                                    "typeString": "bytes memory"
                                                }
                                            }
                                        ],
                                        "expression": {
                                            "argumentTypes": [
                                                {
                                                    "typeIdentifier": "t_bytes_memory_ptr",
                                                    "typeString": "bytes memory"
                                                }
                                            ],
                                            "id": 20447,
                                            "name": "_sendLogPayload",
                                            "nodeType": "Identifier",
                                            "overloadedDeclarations": [],
                                            "referencedDeclaration": 12880,
                                            "src": "58397:15:62",
                                            "typeDescriptions": {
                                                "typeIdentifier": "t_function_internal_view$_t_bytes_memory_ptr_$returns$__$",
                                                "typeString": "function (bytes memory) view"
                                            }
                                        },
                                        "id": 20456,
                                        "isConstant": false,
                                        "isLValue": false,
                                        "isPure": false,
                                        "kind": "functionCall",
                                        "lValueRequested": false,
                                        "names": [],
                                        "nodeType": "FunctionCall",
                                        "src": "58397:90:62",
                                        "tryCall": false,
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_tuple$__$",
                                            "typeString": "tuple()"
                                        }
                                    },
                                    "id": 20457,
                                    "nodeType": "ExpressionStatement",
                                    "src": "58397:90:62"
                                }
                            ]
                        },
                        "id": 20459,
                        "implemented": true,
                        "kind": "function",
                        "modifiers": [],
                        "name": "log",
                        "nameLocation": "58333:3:62",
                        "nodeType": "FunctionDefinition",
                        "parameters": {
                            "id": 20445,
                            "nodeType": "ParameterList",
                            "parameters": [
                                {
                                    "constant": false,
                                    "id": 20438,
                                    "mutability": "mutable",
                                    "name": "p0",
                                    "nameLocation": "58345:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 20459,
                                    "src": "58337:10:62",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_address",
                                        "typeString": "address"
                                    },
                                    "typeName": {
                                        "id": 20437,
                                        "name": "address",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "58337:7:62",
                                        "stateMutability": "nonpayable",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_address",
                                            "typeString": "address"
                                        }
                                    },
                                    "visibility": "internal"
                                },
                                {
                                    "constant": false,
                                    "id": 20440,
                                    "mutability": "mutable",
                                    "name": "p1",
                                    "nameLocation": "58354:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 20459,
                                    "src": "58349:7:62",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_bool",
                                        "typeString": "bool"
                                    },
                                    "typeName": {
                                        "id": 20439,
                                        "name": "bool",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "58349:4:62",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_bool",
                                            "typeString": "bool"
                                        }
                                    },
                                    "visibility": "internal"
                                },
                                {
                                    "constant": false,
                                    "id": 20442,
                                    "mutability": "mutable",
                                    "name": "p2",
                                    "nameLocation": "58363:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 20459,
                                    "src": "58358:7:62",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_bool",
                                        "typeString": "bool"
                                    },
                                    "typeName": {
                                        "id": 20441,
                                        "name": "bool",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "58358:4:62",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_bool",
                                            "typeString": "bool"
                                        }
                                    },
                                    "visibility": "internal"
                                },
                                {
                                    "constant": false,
                                    "id": 20444,
                                    "mutability": "mutable",
                                    "name": "p3",
                                    "nameLocation": "58375:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 20459,
                                    "src": "58367:10:62",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_address",
                                        "typeString": "address"
                                    },
                                    "typeName": {
                                        "id": 20443,
                                        "name": "address",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "58367:7:62",
                                        "stateMutability": "nonpayable",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_address",
                                            "typeString": "address"
                                        }
                                    },
                                    "visibility": "internal"
                                }
                            ],
                            "src": "58336:42:62"
                        },
                        "returnParameters": {
                            "id": 20446,
                            "nodeType": "ParameterList",
                            "parameters": [],
                            "src": "58393:0:62"
                        },
                        "scope": 20920,
                        "src": "58324:167:62",
                        "stateMutability": "view",
                        "virtual": false,
                        "visibility": "internal"
                    },
                    {
                        "body": {
                            "id": 20481,
                            "nodeType": "Block",
                            "src": "58563:98:62",
                            "statements": [
                                {
                                    "expression": {
                                        "arguments": [
                                            {
                                                "arguments": [
                                                    {
                                                        "hexValue": "6c6f6728616464726573732c626f6f6c2c616464726573732c75696e7429",
                                                        "id": 20473,
                                                        "isConstant": false,
                                                        "isLValue": false,
                                                        "isPure": true,
                                                        "kind": "string",
                                                        "lValueRequested": false,
                                                        "nodeType": "Literal",
                                                        "src": "58607:32:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_stringliteral_dc7116d2e67ccd625262e6814a6f82f2367beea9919409c81fcbb94bea1b6b84",
                                                            "typeString": "literal_string \"log(address,bool,address,uint)\""
                                                        },
                                                        "value": "log(address,bool,address,uint)"
                                                    },
                                                    {
                                                        "id": 20474,
                                                        "name": "p0",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 20461,
                                                        "src": "58641:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_address",
                                                            "typeString": "address"
                                                        }
                                                    },
                                                    {
                                                        "id": 20475,
                                                        "name": "p1",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 20463,
                                                        "src": "58645:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_bool",
                                                            "typeString": "bool"
                                                        }
                                                    },
                                                    {
                                                        "id": 20476,
                                                        "name": "p2",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 20465,
                                                        "src": "58649:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_address",
                                                            "typeString": "address"
                                                        }
                                                    },
                                                    {
                                                        "id": 20477,
                                                        "name": "p3",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 20467,
                                                        "src": "58653:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_uint256",
                                                            "typeString": "uint256"
                                                        }
                                                    }
                                                ],
                                                "expression": {
                                                    "argumentTypes": [
                                                        {
                                                            "typeIdentifier": "t_stringliteral_dc7116d2e67ccd625262e6814a6f82f2367beea9919409c81fcbb94bea1b6b84",
                                                            "typeString": "literal_string \"log(address,bool,address,uint)\""
                                                        },
                                                        {
                                                            "typeIdentifier": "t_address",
                                                            "typeString": "address"
                                                        },
                                                        {
                                                            "typeIdentifier": "t_bool",
                                                            "typeString": "bool"
                                                        },
                                                        {
                                                            "typeIdentifier": "t_address",
                                                            "typeString": "address"
                                                        },
                                                        {
                                                            "typeIdentifier": "t_uint256",
                                                            "typeString": "uint256"
                                                        }
                                                    ],
                                                    "expression": {
                                                        "id": 20471,
                                                        "name": "abi",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 4294967295,
                                                        "src": "58583:3:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_magic_abi",
                                                            "typeString": "abi"
                                                        }
                                                    },
                                                    "id": 20472,
                                                    "isConstant": false,
                                                    "isLValue": false,
                                                    "isPure": true,
                                                    "lValueRequested": false,
                                                    "memberName": "encodeWithSignature",
                                                    "nodeType": "MemberAccess",
                                                    "src": "58583:23:62",
                                                    "typeDescriptions": {
                                                        "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$",
                                                        "typeString": "function (string memory) pure returns (bytes memory)"
                                                    }
                                                },
                                                "id": 20478,
                                                "isConstant": false,
                                                "isLValue": false,
                                                "isPure": false,
                                                "kind": "functionCall",
                                                "lValueRequested": false,
                                                "names": [],
                                                "nodeType": "FunctionCall",
                                                "src": "58583:73:62",
                                                "tryCall": false,
                                                "typeDescriptions": {
                                                    "typeIdentifier": "t_bytes_memory_ptr",
                                                    "typeString": "bytes memory"
                                                }
                                            }
                                        ],
                                        "expression": {
                                            "argumentTypes": [
                                                {
                                                    "typeIdentifier": "t_bytes_memory_ptr",
                                                    "typeString": "bytes memory"
                                                }
                                            ],
                                            "id": 20470,
                                            "name": "_sendLogPayload",
                                            "nodeType": "Identifier",
                                            "overloadedDeclarations": [],
                                            "referencedDeclaration": 12880,
                                            "src": "58567:15:62",
                                            "typeDescriptions": {
                                                "typeIdentifier": "t_function_internal_view$_t_bytes_memory_ptr_$returns$__$",
                                                "typeString": "function (bytes memory) view"
                                            }
                                        },
                                        "id": 20479,
                                        "isConstant": false,
                                        "isLValue": false,
                                        "isPure": false,
                                        "kind": "functionCall",
                                        "lValueRequested": false,
                                        "names": [],
                                        "nodeType": "FunctionCall",
                                        "src": "58567:90:62",
                                        "tryCall": false,
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_tuple$__$",
                                            "typeString": "tuple()"
                                        }
                                    },
                                    "id": 20480,
                                    "nodeType": "ExpressionStatement",
                                    "src": "58567:90:62"
                                }
                            ]
                        },
                        "id": 20482,
                        "implemented": true,
                        "kind": "function",
                        "modifiers": [],
                        "name": "log",
                        "nameLocation": "58503:3:62",
                        "nodeType": "FunctionDefinition",
                        "parameters": {
                            "id": 20468,
                            "nodeType": "ParameterList",
                            "parameters": [
                                {
                                    "constant": false,
                                    "id": 20461,
                                    "mutability": "mutable",
                                    "name": "p0",
                                    "nameLocation": "58515:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 20482,
                                    "src": "58507:10:62",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_address",
                                        "typeString": "address"
                                    },
                                    "typeName": {
                                        "id": 20460,
                                        "name": "address",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "58507:7:62",
                                        "stateMutability": "nonpayable",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_address",
                                            "typeString": "address"
                                        }
                                    },
                                    "visibility": "internal"
                                },
                                {
                                    "constant": false,
                                    "id": 20463,
                                    "mutability": "mutable",
                                    "name": "p1",
                                    "nameLocation": "58524:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 20482,
                                    "src": "58519:7:62",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_bool",
                                        "typeString": "bool"
                                    },
                                    "typeName": {
                                        "id": 20462,
                                        "name": "bool",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "58519:4:62",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_bool",
                                            "typeString": "bool"
                                        }
                                    },
                                    "visibility": "internal"
                                },
                                {
                                    "constant": false,
                                    "id": 20465,
                                    "mutability": "mutable",
                                    "name": "p2",
                                    "nameLocation": "58536:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 20482,
                                    "src": "58528:10:62",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_address",
                                        "typeString": "address"
                                    },
                                    "typeName": {
                                        "id": 20464,
                                        "name": "address",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "58528:7:62",
                                        "stateMutability": "nonpayable",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_address",
                                            "typeString": "address"
                                        }
                                    },
                                    "visibility": "internal"
                                },
                                {
                                    "constant": false,
                                    "id": 20467,
                                    "mutability": "mutable",
                                    "name": "p3",
                                    "nameLocation": "58545:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 20482,
                                    "src": "58540:7:62",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_uint256",
                                        "typeString": "uint256"
                                    },
                                    "typeName": {
                                        "id": 20466,
                                        "name": "uint",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "58540:4:62",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_uint256",
                                            "typeString": "uint256"
                                        }
                                    },
                                    "visibility": "internal"
                                }
                            ],
                            "src": "58506:42:62"
                        },
                        "returnParameters": {
                            "id": 20469,
                            "nodeType": "ParameterList",
                            "parameters": [],
                            "src": "58563:0:62"
                        },
                        "scope": 20920,
                        "src": "58494:167:62",
                        "stateMutability": "view",
                        "virtual": false,
                        "visibility": "internal"
                    },
                    {
                        "body": {
                            "id": 20504,
                            "nodeType": "Block",
                            "src": "58742:100:62",
                            "statements": [
                                {
                                    "expression": {
                                        "arguments": [
                                            {
                                                "arguments": [
                                                    {
                                                        "hexValue": "6c6f6728616464726573732c626f6f6c2c616464726573732c737472696e6729",
                                                        "id": 20496,
                                                        "isConstant": false,
                                                        "isLValue": false,
                                                        "isPure": true,
                                                        "kind": "string",
                                                        "lValueRequested": false,
                                                        "nodeType": "Literal",
                                                        "src": "58786:34:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_stringliteral_2dd778e616be9386b5911da1a074bbaf979640681783fca6396ea75c8caf6453",
                                                            "typeString": "literal_string \"log(address,bool,address,string)\""
                                                        },
                                                        "value": "log(address,bool,address,string)"
                                                    },
                                                    {
                                                        "id": 20497,
                                                        "name": "p0",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 20484,
                                                        "src": "58822:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_address",
                                                            "typeString": "address"
                                                        }
                                                    },
                                                    {
                                                        "id": 20498,
                                                        "name": "p1",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 20486,
                                                        "src": "58826:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_bool",
                                                            "typeString": "bool"
                                                        }
                                                    },
                                                    {
                                                        "id": 20499,
                                                        "name": "p2",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 20488,
                                                        "src": "58830:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_address",
                                                            "typeString": "address"
                                                        }
                                                    },
                                                    {
                                                        "id": 20500,
                                                        "name": "p3",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 20490,
                                                        "src": "58834:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_string_memory_ptr",
                                                            "typeString": "string memory"
                                                        }
                                                    }
                                                ],
                                                "expression": {
                                                    "argumentTypes": [
                                                        {
                                                            "typeIdentifier": "t_stringliteral_2dd778e616be9386b5911da1a074bbaf979640681783fca6396ea75c8caf6453",
                                                            "typeString": "literal_string \"log(address,bool,address,string)\""
                                                        },
                                                        {
                                                            "typeIdentifier": "t_address",
                                                            "typeString": "address"
                                                        },
                                                        {
                                                            "typeIdentifier": "t_bool",
                                                            "typeString": "bool"
                                                        },
                                                        {
                                                            "typeIdentifier": "t_address",
                                                            "typeString": "address"
                                                        },
                                                        {
                                                            "typeIdentifier": "t_string_memory_ptr",
                                                            "typeString": "string memory"
                                                        }
                                                    ],
                                                    "expression": {
                                                        "id": 20494,
                                                        "name": "abi",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 4294967295,
                                                        "src": "58762:3:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_magic_abi",
                                                            "typeString": "abi"
                                                        }
                                                    },
                                                    "id": 20495,
                                                    "isConstant": false,
                                                    "isLValue": false,
                                                    "isPure": true,
                                                    "lValueRequested": false,
                                                    "memberName": "encodeWithSignature",
                                                    "nodeType": "MemberAccess",
                                                    "src": "58762:23:62",
                                                    "typeDescriptions": {
                                                        "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$",
                                                        "typeString": "function (string memory) pure returns (bytes memory)"
                                                    }
                                                },
                                                "id": 20501,
                                                "isConstant": false,
                                                "isLValue": false,
                                                "isPure": false,
                                                "kind": "functionCall",
                                                "lValueRequested": false,
                                                "names": [],
                                                "nodeType": "FunctionCall",
                                                "src": "58762:75:62",
                                                "tryCall": false,
                                                "typeDescriptions": {
                                                    "typeIdentifier": "t_bytes_memory_ptr",
                                                    "typeString": "bytes memory"
                                                }
                                            }
                                        ],
                                        "expression": {
                                            "argumentTypes": [
                                                {
                                                    "typeIdentifier": "t_bytes_memory_ptr",
                                                    "typeString": "bytes memory"
                                                }
                                            ],
                                            "id": 20493,
                                            "name": "_sendLogPayload",
                                            "nodeType": "Identifier",
                                            "overloadedDeclarations": [],
                                            "referencedDeclaration": 12880,
                                            "src": "58746:15:62",
                                            "typeDescriptions": {
                                                "typeIdentifier": "t_function_internal_view$_t_bytes_memory_ptr_$returns$__$",
                                                "typeString": "function (bytes memory) view"
                                            }
                                        },
                                        "id": 20502,
                                        "isConstant": false,
                                        "isLValue": false,
                                        "isPure": false,
                                        "kind": "functionCall",
                                        "lValueRequested": false,
                                        "names": [],
                                        "nodeType": "FunctionCall",
                                        "src": "58746:92:62",
                                        "tryCall": false,
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_tuple$__$",
                                            "typeString": "tuple()"
                                        }
                                    },
                                    "id": 20503,
                                    "nodeType": "ExpressionStatement",
                                    "src": "58746:92:62"
                                }
                            ]
                        },
                        "id": 20505,
                        "implemented": true,
                        "kind": "function",
                        "modifiers": [],
                        "name": "log",
                        "nameLocation": "58673:3:62",
                        "nodeType": "FunctionDefinition",
                        "parameters": {
                            "id": 20491,
                            "nodeType": "ParameterList",
                            "parameters": [
                                {
                                    "constant": false,
                                    "id": 20484,
                                    "mutability": "mutable",
                                    "name": "p0",
                                    "nameLocation": "58685:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 20505,
                                    "src": "58677:10:62",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_address",
                                        "typeString": "address"
                                    },
                                    "typeName": {
                                        "id": 20483,
                                        "name": "address",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "58677:7:62",
                                        "stateMutability": "nonpayable",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_address",
                                            "typeString": "address"
                                        }
                                    },
                                    "visibility": "internal"
                                },
                                {
                                    "constant": false,
                                    "id": 20486,
                                    "mutability": "mutable",
                                    "name": "p1",
                                    "nameLocation": "58694:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 20505,
                                    "src": "58689:7:62",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_bool",
                                        "typeString": "bool"
                                    },
                                    "typeName": {
                                        "id": 20485,
                                        "name": "bool",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "58689:4:62",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_bool",
                                            "typeString": "bool"
                                        }
                                    },
                                    "visibility": "internal"
                                },
                                {
                                    "constant": false,
                                    "id": 20488,
                                    "mutability": "mutable",
                                    "name": "p2",
                                    "nameLocation": "58706:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 20505,
                                    "src": "58698:10:62",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_address",
                                        "typeString": "address"
                                    },
                                    "typeName": {
                                        "id": 20487,
                                        "name": "address",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "58698:7:62",
                                        "stateMutability": "nonpayable",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_address",
                                            "typeString": "address"
                                        }
                                    },
                                    "visibility": "internal"
                                },
                                {
                                    "constant": false,
                                    "id": 20490,
                                    "mutability": "mutable",
                                    "name": "p3",
                                    "nameLocation": "58724:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 20505,
                                    "src": "58710:16:62",
                                    "stateVariable": false,
                                    "storageLocation": "memory",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_string_memory_ptr",
                                        "typeString": "string"
                                    },
                                    "typeName": {
                                        "id": 20489,
                                        "name": "string",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "58710:6:62",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_string_storage_ptr",
                                            "typeString": "string"
                                        }
                                    },
                                    "visibility": "internal"
                                }
                            ],
                            "src": "58676:51:62"
                        },
                        "returnParameters": {
                            "id": 20492,
                            "nodeType": "ParameterList",
                            "parameters": [],
                            "src": "58742:0:62"
                        },
                        "scope": 20920,
                        "src": "58664:178:62",
                        "stateMutability": "view",
                        "virtual": false,
                        "visibility": "internal"
                    },
                    {
                        "body": {
                            "id": 20527,
                            "nodeType": "Block",
                            "src": "58914:98:62",
                            "statements": [
                                {
                                    "expression": {
                                        "arguments": [
                                            {
                                                "arguments": [
                                                    {
                                                        "hexValue": "6c6f6728616464726573732c626f6f6c2c616464726573732c626f6f6c29",
                                                        "id": 20519,
                                                        "isConstant": false,
                                                        "isLValue": false,
                                                        "isPure": true,
                                                        "kind": "string",
                                                        "lValueRequested": false,
                                                        "nodeType": "Literal",
                                                        "src": "58958:32:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_stringliteral_a6f50b0f122c916fe81861751b94bdddb5e453947768e8af206397bb510790b1",
                                                            "typeString": "literal_string \"log(address,bool,address,bool)\""
                                                        },
                                                        "value": "log(address,bool,address,bool)"
                                                    },
                                                    {
                                                        "id": 20520,
                                                        "name": "p0",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 20507,
                                                        "src": "58992:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_address",
                                                            "typeString": "address"
                                                        }
                                                    },
                                                    {
                                                        "id": 20521,
                                                        "name": "p1",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 20509,
                                                        "src": "58996:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_bool",
                                                            "typeString": "bool"
                                                        }
                                                    },
                                                    {
                                                        "id": 20522,
                                                        "name": "p2",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 20511,
                                                        "src": "59000:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_address",
                                                            "typeString": "address"
                                                        }
                                                    },
                                                    {
                                                        "id": 20523,
                                                        "name": "p3",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 20513,
                                                        "src": "59004:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_bool",
                                                            "typeString": "bool"
                                                        }
                                                    }
                                                ],
                                                "expression": {
                                                    "argumentTypes": [
                                                        {
                                                            "typeIdentifier": "t_stringliteral_a6f50b0f122c916fe81861751b94bdddb5e453947768e8af206397bb510790b1",
                                                            "typeString": "literal_string \"log(address,bool,address,bool)\""
                                                        },
                                                        {
                                                            "typeIdentifier": "t_address",
                                                            "typeString": "address"
                                                        },
                                                        {
                                                            "typeIdentifier": "t_bool",
                                                            "typeString": "bool"
                                                        },
                                                        {
                                                            "typeIdentifier": "t_address",
                                                            "typeString": "address"
                                                        },
                                                        {
                                                            "typeIdentifier": "t_bool",
                                                            "typeString": "bool"
                                                        }
                                                    ],
                                                    "expression": {
                                                        "id": 20517,
                                                        "name": "abi",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 4294967295,
                                                        "src": "58934:3:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_magic_abi",
                                                            "typeString": "abi"
                                                        }
                                                    },
                                                    "id": 20518,
                                                    "isConstant": false,
                                                    "isLValue": false,
                                                    "isPure": true,
                                                    "lValueRequested": false,
                                                    "memberName": "encodeWithSignature",
                                                    "nodeType": "MemberAccess",
                                                    "src": "58934:23:62",
                                                    "typeDescriptions": {
                                                        "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$",
                                                        "typeString": "function (string memory) pure returns (bytes memory)"
                                                    }
                                                },
                                                "id": 20524,
                                                "isConstant": false,
                                                "isLValue": false,
                                                "isPure": false,
                                                "kind": "functionCall",
                                                "lValueRequested": false,
                                                "names": [],
                                                "nodeType": "FunctionCall",
                                                "src": "58934:73:62",
                                                "tryCall": false,
                                                "typeDescriptions": {
                                                    "typeIdentifier": "t_bytes_memory_ptr",
                                                    "typeString": "bytes memory"
                                                }
                                            }
                                        ],
                                        "expression": {
                                            "argumentTypes": [
                                                {
                                                    "typeIdentifier": "t_bytes_memory_ptr",
                                                    "typeString": "bytes memory"
                                                }
                                            ],
                                            "id": 20516,
                                            "name": "_sendLogPayload",
                                            "nodeType": "Identifier",
                                            "overloadedDeclarations": [],
                                            "referencedDeclaration": 12880,
                                            "src": "58918:15:62",
                                            "typeDescriptions": {
                                                "typeIdentifier": "t_function_internal_view$_t_bytes_memory_ptr_$returns$__$",
                                                "typeString": "function (bytes memory) view"
                                            }
                                        },
                                        "id": 20525,
                                        "isConstant": false,
                                        "isLValue": false,
                                        "isPure": false,
                                        "kind": "functionCall",
                                        "lValueRequested": false,
                                        "names": [],
                                        "nodeType": "FunctionCall",
                                        "src": "58918:90:62",
                                        "tryCall": false,
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_tuple$__$",
                                            "typeString": "tuple()"
                                        }
                                    },
                                    "id": 20526,
                                    "nodeType": "ExpressionStatement",
                                    "src": "58918:90:62"
                                }
                            ]
                        },
                        "id": 20528,
                        "implemented": true,
                        "kind": "function",
                        "modifiers": [],
                        "name": "log",
                        "nameLocation": "58854:3:62",
                        "nodeType": "FunctionDefinition",
                        "parameters": {
                            "id": 20514,
                            "nodeType": "ParameterList",
                            "parameters": [
                                {
                                    "constant": false,
                                    "id": 20507,
                                    "mutability": "mutable",
                                    "name": "p0",
                                    "nameLocation": "58866:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 20528,
                                    "src": "58858:10:62",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_address",
                                        "typeString": "address"
                                    },
                                    "typeName": {
                                        "id": 20506,
                                        "name": "address",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "58858:7:62",
                                        "stateMutability": "nonpayable",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_address",
                                            "typeString": "address"
                                        }
                                    },
                                    "visibility": "internal"
                                },
                                {
                                    "constant": false,
                                    "id": 20509,
                                    "mutability": "mutable",
                                    "name": "p1",
                                    "nameLocation": "58875:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 20528,
                                    "src": "58870:7:62",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_bool",
                                        "typeString": "bool"
                                    },
                                    "typeName": {
                                        "id": 20508,
                                        "name": "bool",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "58870:4:62",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_bool",
                                            "typeString": "bool"
                                        }
                                    },
                                    "visibility": "internal"
                                },
                                {
                                    "constant": false,
                                    "id": 20511,
                                    "mutability": "mutable",
                                    "name": "p2",
                                    "nameLocation": "58887:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 20528,
                                    "src": "58879:10:62",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_address",
                                        "typeString": "address"
                                    },
                                    "typeName": {
                                        "id": 20510,
                                        "name": "address",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "58879:7:62",
                                        "stateMutability": "nonpayable",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_address",
                                            "typeString": "address"
                                        }
                                    },
                                    "visibility": "internal"
                                },
                                {
                                    "constant": false,
                                    "id": 20513,
                                    "mutability": "mutable",
                                    "name": "p3",
                                    "nameLocation": "58896:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 20528,
                                    "src": "58891:7:62",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_bool",
                                        "typeString": "bool"
                                    },
                                    "typeName": {
                                        "id": 20512,
                                        "name": "bool",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "58891:4:62",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_bool",
                                            "typeString": "bool"
                                        }
                                    },
                                    "visibility": "internal"
                                }
                            ],
                            "src": "58857:42:62"
                        },
                        "returnParameters": {
                            "id": 20515,
                            "nodeType": "ParameterList",
                            "parameters": [],
                            "src": "58914:0:62"
                        },
                        "scope": 20920,
                        "src": "58845:167:62",
                        "stateMutability": "view",
                        "virtual": false,
                        "visibility": "internal"
                    },
                    {
                        "body": {
                            "id": 20550,
                            "nodeType": "Block",
                            "src": "59087:101:62",
                            "statements": [
                                {
                                    "expression": {
                                        "arguments": [
                                            {
                                                "arguments": [
                                                    {
                                                        "hexValue": "6c6f6728616464726573732c626f6f6c2c616464726573732c6164647265737329",
                                                        "id": 20542,
                                                        "isConstant": false,
                                                        "isLValue": false,
                                                        "isPure": true,
                                                        "kind": "string",
                                                        "lValueRequested": false,
                                                        "nodeType": "Literal",
                                                        "src": "59131:35:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_stringliteral_660375ddb58761b4ce952ec7e1ae63efe9f8e9e69831fd72875968fec9046e35",
                                                            "typeString": "literal_string \"log(address,bool,address,address)\""
                                                        },
                                                        "value": "log(address,bool,address,address)"
                                                    },
                                                    {
                                                        "id": 20543,
                                                        "name": "p0",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 20530,
                                                        "src": "59168:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_address",
                                                            "typeString": "address"
                                                        }
                                                    },
                                                    {
                                                        "id": 20544,
                                                        "name": "p1",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 20532,
                                                        "src": "59172:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_bool",
                                                            "typeString": "bool"
                                                        }
                                                    },
                                                    {
                                                        "id": 20545,
                                                        "name": "p2",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 20534,
                                                        "src": "59176:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_address",
                                                            "typeString": "address"
                                                        }
                                                    },
                                                    {
                                                        "id": 20546,
                                                        "name": "p3",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 20536,
                                                        "src": "59180:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_address",
                                                            "typeString": "address"
                                                        }
                                                    }
                                                ],
                                                "expression": {
                                                    "argumentTypes": [
                                                        {
                                                            "typeIdentifier": "t_stringliteral_660375ddb58761b4ce952ec7e1ae63efe9f8e9e69831fd72875968fec9046e35",
                                                            "typeString": "literal_string \"log(address,bool,address,address)\""
                                                        },
                                                        {
                                                            "typeIdentifier": "t_address",
                                                            "typeString": "address"
                                                        },
                                                        {
                                                            "typeIdentifier": "t_bool",
                                                            "typeString": "bool"
                                                        },
                                                        {
                                                            "typeIdentifier": "t_address",
                                                            "typeString": "address"
                                                        },
                                                        {
                                                            "typeIdentifier": "t_address",
                                                            "typeString": "address"
                                                        }
                                                    ],
                                                    "expression": {
                                                        "id": 20540,
                                                        "name": "abi",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 4294967295,
                                                        "src": "59107:3:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_magic_abi",
                                                            "typeString": "abi"
                                                        }
                                                    },
                                                    "id": 20541,
                                                    "isConstant": false,
                                                    "isLValue": false,
                                                    "isPure": true,
                                                    "lValueRequested": false,
                                                    "memberName": "encodeWithSignature",
                                                    "nodeType": "MemberAccess",
                                                    "src": "59107:23:62",
                                                    "typeDescriptions": {
                                                        "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$",
                                                        "typeString": "function (string memory) pure returns (bytes memory)"
                                                    }
                                                },
                                                "id": 20547,
                                                "isConstant": false,
                                                "isLValue": false,
                                                "isPure": false,
                                                "kind": "functionCall",
                                                "lValueRequested": false,
                                                "names": [],
                                                "nodeType": "FunctionCall",
                                                "src": "59107:76:62",
                                                "tryCall": false,
                                                "typeDescriptions": {
                                                    "typeIdentifier": "t_bytes_memory_ptr",
                                                    "typeString": "bytes memory"
                                                }
                                            }
                                        ],
                                        "expression": {
                                            "argumentTypes": [
                                                {
                                                    "typeIdentifier": "t_bytes_memory_ptr",
                                                    "typeString": "bytes memory"
                                                }
                                            ],
                                            "id": 20539,
                                            "name": "_sendLogPayload",
                                            "nodeType": "Identifier",
                                            "overloadedDeclarations": [],
                                            "referencedDeclaration": 12880,
                                            "src": "59091:15:62",
                                            "typeDescriptions": {
                                                "typeIdentifier": "t_function_internal_view$_t_bytes_memory_ptr_$returns$__$",
                                                "typeString": "function (bytes memory) view"
                                            }
                                        },
                                        "id": 20548,
                                        "isConstant": false,
                                        "isLValue": false,
                                        "isPure": false,
                                        "kind": "functionCall",
                                        "lValueRequested": false,
                                        "names": [],
                                        "nodeType": "FunctionCall",
                                        "src": "59091:93:62",
                                        "tryCall": false,
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_tuple$__$",
                                            "typeString": "tuple()"
                                        }
                                    },
                                    "id": 20549,
                                    "nodeType": "ExpressionStatement",
                                    "src": "59091:93:62"
                                }
                            ]
                        },
                        "id": 20551,
                        "implemented": true,
                        "kind": "function",
                        "modifiers": [],
                        "name": "log",
                        "nameLocation": "59024:3:62",
                        "nodeType": "FunctionDefinition",
                        "parameters": {
                            "id": 20537,
                            "nodeType": "ParameterList",
                            "parameters": [
                                {
                                    "constant": false,
                                    "id": 20530,
                                    "mutability": "mutable",
                                    "name": "p0",
                                    "nameLocation": "59036:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 20551,
                                    "src": "59028:10:62",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_address",
                                        "typeString": "address"
                                    },
                                    "typeName": {
                                        "id": 20529,
                                        "name": "address",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "59028:7:62",
                                        "stateMutability": "nonpayable",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_address",
                                            "typeString": "address"
                                        }
                                    },
                                    "visibility": "internal"
                                },
                                {
                                    "constant": false,
                                    "id": 20532,
                                    "mutability": "mutable",
                                    "name": "p1",
                                    "nameLocation": "59045:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 20551,
                                    "src": "59040:7:62",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_bool",
                                        "typeString": "bool"
                                    },
                                    "typeName": {
                                        "id": 20531,
                                        "name": "bool",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "59040:4:62",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_bool",
                                            "typeString": "bool"
                                        }
                                    },
                                    "visibility": "internal"
                                },
                                {
                                    "constant": false,
                                    "id": 20534,
                                    "mutability": "mutable",
                                    "name": "p2",
                                    "nameLocation": "59057:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 20551,
                                    "src": "59049:10:62",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_address",
                                        "typeString": "address"
                                    },
                                    "typeName": {
                                        "id": 20533,
                                        "name": "address",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "59049:7:62",
                                        "stateMutability": "nonpayable",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_address",
                                            "typeString": "address"
                                        }
                                    },
                                    "visibility": "internal"
                                },
                                {
                                    "constant": false,
                                    "id": 20536,
                                    "mutability": "mutable",
                                    "name": "p3",
                                    "nameLocation": "59069:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 20551,
                                    "src": "59061:10:62",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_address",
                                        "typeString": "address"
                                    },
                                    "typeName": {
                                        "id": 20535,
                                        "name": "address",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "59061:7:62",
                                        "stateMutability": "nonpayable",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_address",
                                            "typeString": "address"
                                        }
                                    },
                                    "visibility": "internal"
                                }
                            ],
                            "src": "59027:45:62"
                        },
                        "returnParameters": {
                            "id": 20538,
                            "nodeType": "ParameterList",
                            "parameters": [],
                            "src": "59087:0:62"
                        },
                        "scope": 20920,
                        "src": "59015:173:62",
                        "stateMutability": "view",
                        "virtual": false,
                        "visibility": "internal"
                    },
                    {
                        "body": {
                            "id": 20573,
                            "nodeType": "Block",
                            "src": "59260:98:62",
                            "statements": [
                                {
                                    "expression": {
                                        "arguments": [
                                            {
                                                "arguments": [
                                                    {
                                                        "hexValue": "6c6f6728616464726573732c616464726573732c75696e742c75696e7429",
                                                        "id": 20565,
                                                        "isConstant": false,
                                                        "isLValue": false,
                                                        "isPure": true,
                                                        "kind": "string",
                                                        "lValueRequested": false,
                                                        "nodeType": "Literal",
                                                        "src": "59304:32:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_stringliteral_54fdf3e4fb94f9bebc9a1c60d5b71090f9817e68730b5af20b69dff283044ed6",
                                                            "typeString": "literal_string \"log(address,address,uint,uint)\""
                                                        },
                                                        "value": "log(address,address,uint,uint)"
                                                    },
                                                    {
                                                        "id": 20566,
                                                        "name": "p0",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 20553,
                                                        "src": "59338:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_address",
                                                            "typeString": "address"
                                                        }
                                                    },
                                                    {
                                                        "id": 20567,
                                                        "name": "p1",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 20555,
                                                        "src": "59342:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_address",
                                                            "typeString": "address"
                                                        }
                                                    },
                                                    {
                                                        "id": 20568,
                                                        "name": "p2",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 20557,
                                                        "src": "59346:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_uint256",
                                                            "typeString": "uint256"
                                                        }
                                                    },
                                                    {
                                                        "id": 20569,
                                                        "name": "p3",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 20559,
                                                        "src": "59350:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_uint256",
                                                            "typeString": "uint256"
                                                        }
                                                    }
                                                ],
                                                "expression": {
                                                    "argumentTypes": [
                                                        {
                                                            "typeIdentifier": "t_stringliteral_54fdf3e4fb94f9bebc9a1c60d5b71090f9817e68730b5af20b69dff283044ed6",
                                                            "typeString": "literal_string \"log(address,address,uint,uint)\""
                                                        },
                                                        {
                                                            "typeIdentifier": "t_address",
                                                            "typeString": "address"
                                                        },
                                                        {
                                                            "typeIdentifier": "t_address",
                                                            "typeString": "address"
                                                        },
                                                        {
                                                            "typeIdentifier": "t_uint256",
                                                            "typeString": "uint256"
                                                        },
                                                        {
                                                            "typeIdentifier": "t_uint256",
                                                            "typeString": "uint256"
                                                        }
                                                    ],
                                                    "expression": {
                                                        "id": 20563,
                                                        "name": "abi",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 4294967295,
                                                        "src": "59280:3:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_magic_abi",
                                                            "typeString": "abi"
                                                        }
                                                    },
                                                    "id": 20564,
                                                    "isConstant": false,
                                                    "isLValue": false,
                                                    "isPure": true,
                                                    "lValueRequested": false,
                                                    "memberName": "encodeWithSignature",
                                                    "nodeType": "MemberAccess",
                                                    "src": "59280:23:62",
                                                    "typeDescriptions": {
                                                        "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$",
                                                        "typeString": "function (string memory) pure returns (bytes memory)"
                                                    }
                                                },
                                                "id": 20570,
                                                "isConstant": false,
                                                "isLValue": false,
                                                "isPure": false,
                                                "kind": "functionCall",
                                                "lValueRequested": false,
                                                "names": [],
                                                "nodeType": "FunctionCall",
                                                "src": "59280:73:62",
                                                "tryCall": false,
                                                "typeDescriptions": {
                                                    "typeIdentifier": "t_bytes_memory_ptr",
                                                    "typeString": "bytes memory"
                                                }
                                            }
                                        ],
                                        "expression": {
                                            "argumentTypes": [
                                                {
                                                    "typeIdentifier": "t_bytes_memory_ptr",
                                                    "typeString": "bytes memory"
                                                }
                                            ],
                                            "id": 20562,
                                            "name": "_sendLogPayload",
                                            "nodeType": "Identifier",
                                            "overloadedDeclarations": [],
                                            "referencedDeclaration": 12880,
                                            "src": "59264:15:62",
                                            "typeDescriptions": {
                                                "typeIdentifier": "t_function_internal_view$_t_bytes_memory_ptr_$returns$__$",
                                                "typeString": "function (bytes memory) view"
                                            }
                                        },
                                        "id": 20571,
                                        "isConstant": false,
                                        "isLValue": false,
                                        "isPure": false,
                                        "kind": "functionCall",
                                        "lValueRequested": false,
                                        "names": [],
                                        "nodeType": "FunctionCall",
                                        "src": "59264:90:62",
                                        "tryCall": false,
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_tuple$__$",
                                            "typeString": "tuple()"
                                        }
                                    },
                                    "id": 20572,
                                    "nodeType": "ExpressionStatement",
                                    "src": "59264:90:62"
                                }
                            ]
                        },
                        "id": 20574,
                        "implemented": true,
                        "kind": "function",
                        "modifiers": [],
                        "name": "log",
                        "nameLocation": "59200:3:62",
                        "nodeType": "FunctionDefinition",
                        "parameters": {
                            "id": 20560,
                            "nodeType": "ParameterList",
                            "parameters": [
                                {
                                    "constant": false,
                                    "id": 20553,
                                    "mutability": "mutable",
                                    "name": "p0",
                                    "nameLocation": "59212:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 20574,
                                    "src": "59204:10:62",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_address",
                                        "typeString": "address"
                                    },
                                    "typeName": {
                                        "id": 20552,
                                        "name": "address",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "59204:7:62",
                                        "stateMutability": "nonpayable",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_address",
                                            "typeString": "address"
                                        }
                                    },
                                    "visibility": "internal"
                                },
                                {
                                    "constant": false,
                                    "id": 20555,
                                    "mutability": "mutable",
                                    "name": "p1",
                                    "nameLocation": "59224:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 20574,
                                    "src": "59216:10:62",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_address",
                                        "typeString": "address"
                                    },
                                    "typeName": {
                                        "id": 20554,
                                        "name": "address",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "59216:7:62",
                                        "stateMutability": "nonpayable",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_address",
                                            "typeString": "address"
                                        }
                                    },
                                    "visibility": "internal"
                                },
                                {
                                    "constant": false,
                                    "id": 20557,
                                    "mutability": "mutable",
                                    "name": "p2",
                                    "nameLocation": "59233:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 20574,
                                    "src": "59228:7:62",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_uint256",
                                        "typeString": "uint256"
                                    },
                                    "typeName": {
                                        "id": 20556,
                                        "name": "uint",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "59228:4:62",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_uint256",
                                            "typeString": "uint256"
                                        }
                                    },
                                    "visibility": "internal"
                                },
                                {
                                    "constant": false,
                                    "id": 20559,
                                    "mutability": "mutable",
                                    "name": "p3",
                                    "nameLocation": "59242:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 20574,
                                    "src": "59237:7:62",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_uint256",
                                        "typeString": "uint256"
                                    },
                                    "typeName": {
                                        "id": 20558,
                                        "name": "uint",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "59237:4:62",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_uint256",
                                            "typeString": "uint256"
                                        }
                                    },
                                    "visibility": "internal"
                                }
                            ],
                            "src": "59203:42:62"
                        },
                        "returnParameters": {
                            "id": 20561,
                            "nodeType": "ParameterList",
                            "parameters": [],
                            "src": "59260:0:62"
                        },
                        "scope": 20920,
                        "src": "59191:167:62",
                        "stateMutability": "view",
                        "virtual": false,
                        "visibility": "internal"
                    },
                    {
                        "body": {
                            "id": 20596,
                            "nodeType": "Block",
                            "src": "59439:100:62",
                            "statements": [
                                {
                                    "expression": {
                                        "arguments": [
                                            {
                                                "arguments": [
                                                    {
                                                        "hexValue": "6c6f6728616464726573732c616464726573732c75696e742c737472696e6729",
                                                        "id": 20588,
                                                        "isConstant": false,
                                                        "isLValue": false,
                                                        "isPure": true,
                                                        "kind": "string",
                                                        "lValueRequested": false,
                                                        "nodeType": "Literal",
                                                        "src": "59483:34:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_stringliteral_9dd12eadc51edb79b050f95e9310706b305e500a52025b74b024df3cbcb53815",
                                                            "typeString": "literal_string \"log(address,address,uint,string)\""
                                                        },
                                                        "value": "log(address,address,uint,string)"
                                                    },
                                                    {
                                                        "id": 20589,
                                                        "name": "p0",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 20576,
                                                        "src": "59519:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_address",
                                                            "typeString": "address"
                                                        }
                                                    },
                                                    {
                                                        "id": 20590,
                                                        "name": "p1",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 20578,
                                                        "src": "59523:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_address",
                                                            "typeString": "address"
                                                        }
                                                    },
                                                    {
                                                        "id": 20591,
                                                        "name": "p2",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 20580,
                                                        "src": "59527:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_uint256",
                                                            "typeString": "uint256"
                                                        }
                                                    },
                                                    {
                                                        "id": 20592,
                                                        "name": "p3",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 20582,
                                                        "src": "59531:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_string_memory_ptr",
                                                            "typeString": "string memory"
                                                        }
                                                    }
                                                ],
                                                "expression": {
                                                    "argumentTypes": [
                                                        {
                                                            "typeIdentifier": "t_stringliteral_9dd12eadc51edb79b050f95e9310706b305e500a52025b74b024df3cbcb53815",
                                                            "typeString": "literal_string \"log(address,address,uint,string)\""
                                                        },
                                                        {
                                                            "typeIdentifier": "t_address",
                                                            "typeString": "address"
                                                        },
                                                        {
                                                            "typeIdentifier": "t_address",
                                                            "typeString": "address"
                                                        },
                                                        {
                                                            "typeIdentifier": "t_uint256",
                                                            "typeString": "uint256"
                                                        },
                                                        {
                                                            "typeIdentifier": "t_string_memory_ptr",
                                                            "typeString": "string memory"
                                                        }
                                                    ],
                                                    "expression": {
                                                        "id": 20586,
                                                        "name": "abi",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 4294967295,
                                                        "src": "59459:3:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_magic_abi",
                                                            "typeString": "abi"
                                                        }
                                                    },
                                                    "id": 20587,
                                                    "isConstant": false,
                                                    "isLValue": false,
                                                    "isPure": true,
                                                    "lValueRequested": false,
                                                    "memberName": "encodeWithSignature",
                                                    "nodeType": "MemberAccess",
                                                    "src": "59459:23:62",
                                                    "typeDescriptions": {
                                                        "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$",
                                                        "typeString": "function (string memory) pure returns (bytes memory)"
                                                    }
                                                },
                                                "id": 20593,
                                                "isConstant": false,
                                                "isLValue": false,
                                                "isPure": false,
                                                "kind": "functionCall",
                                                "lValueRequested": false,
                                                "names": [],
                                                "nodeType": "FunctionCall",
                                                "src": "59459:75:62",
                                                "tryCall": false,
                                                "typeDescriptions": {
                                                    "typeIdentifier": "t_bytes_memory_ptr",
                                                    "typeString": "bytes memory"
                                                }
                                            }
                                        ],
                                        "expression": {
                                            "argumentTypes": [
                                                {
                                                    "typeIdentifier": "t_bytes_memory_ptr",
                                                    "typeString": "bytes memory"
                                                }
                                            ],
                                            "id": 20585,
                                            "name": "_sendLogPayload",
                                            "nodeType": "Identifier",
                                            "overloadedDeclarations": [],
                                            "referencedDeclaration": 12880,
                                            "src": "59443:15:62",
                                            "typeDescriptions": {
                                                "typeIdentifier": "t_function_internal_view$_t_bytes_memory_ptr_$returns$__$",
                                                "typeString": "function (bytes memory) view"
                                            }
                                        },
                                        "id": 20594,
                                        "isConstant": false,
                                        "isLValue": false,
                                        "isPure": false,
                                        "kind": "functionCall",
                                        "lValueRequested": false,
                                        "names": [],
                                        "nodeType": "FunctionCall",
                                        "src": "59443:92:62",
                                        "tryCall": false,
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_tuple$__$",
                                            "typeString": "tuple()"
                                        }
                                    },
                                    "id": 20595,
                                    "nodeType": "ExpressionStatement",
                                    "src": "59443:92:62"
                                }
                            ]
                        },
                        "id": 20597,
                        "implemented": true,
                        "kind": "function",
                        "modifiers": [],
                        "name": "log",
                        "nameLocation": "59370:3:62",
                        "nodeType": "FunctionDefinition",
                        "parameters": {
                            "id": 20583,
                            "nodeType": "ParameterList",
                            "parameters": [
                                {
                                    "constant": false,
                                    "id": 20576,
                                    "mutability": "mutable",
                                    "name": "p0",
                                    "nameLocation": "59382:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 20597,
                                    "src": "59374:10:62",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_address",
                                        "typeString": "address"
                                    },
                                    "typeName": {
                                        "id": 20575,
                                        "name": "address",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "59374:7:62",
                                        "stateMutability": "nonpayable",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_address",
                                            "typeString": "address"
                                        }
                                    },
                                    "visibility": "internal"
                                },
                                {
                                    "constant": false,
                                    "id": 20578,
                                    "mutability": "mutable",
                                    "name": "p1",
                                    "nameLocation": "59394:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 20597,
                                    "src": "59386:10:62",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_address",
                                        "typeString": "address"
                                    },
                                    "typeName": {
                                        "id": 20577,
                                        "name": "address",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "59386:7:62",
                                        "stateMutability": "nonpayable",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_address",
                                            "typeString": "address"
                                        }
                                    },
                                    "visibility": "internal"
                                },
                                {
                                    "constant": false,
                                    "id": 20580,
                                    "mutability": "mutable",
                                    "name": "p2",
                                    "nameLocation": "59403:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 20597,
                                    "src": "59398:7:62",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_uint256",
                                        "typeString": "uint256"
                                    },
                                    "typeName": {
                                        "id": 20579,
                                        "name": "uint",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "59398:4:62",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_uint256",
                                            "typeString": "uint256"
                                        }
                                    },
                                    "visibility": "internal"
                                },
                                {
                                    "constant": false,
                                    "id": 20582,
                                    "mutability": "mutable",
                                    "name": "p3",
                                    "nameLocation": "59421:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 20597,
                                    "src": "59407:16:62",
                                    "stateVariable": false,
                                    "storageLocation": "memory",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_string_memory_ptr",
                                        "typeString": "string"
                                    },
                                    "typeName": {
                                        "id": 20581,
                                        "name": "string",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "59407:6:62",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_string_storage_ptr",
                                            "typeString": "string"
                                        }
                                    },
                                    "visibility": "internal"
                                }
                            ],
                            "src": "59373:51:62"
                        },
                        "returnParameters": {
                            "id": 20584,
                            "nodeType": "ParameterList",
                            "parameters": [],
                            "src": "59439:0:62"
                        },
                        "scope": 20920,
                        "src": "59361:178:62",
                        "stateMutability": "view",
                        "virtual": false,
                        "visibility": "internal"
                    },
                    {
                        "body": {
                            "id": 20619,
                            "nodeType": "Block",
                            "src": "59611:98:62",
                            "statements": [
                                {
                                    "expression": {
                                        "arguments": [
                                            {
                                                "arguments": [
                                                    {
                                                        "hexValue": "6c6f6728616464726573732c616464726573732c75696e742c626f6f6c29",
                                                        "id": 20611,
                                                        "isConstant": false,
                                                        "isLValue": false,
                                                        "isPure": true,
                                                        "kind": "string",
                                                        "lValueRequested": false,
                                                        "nodeType": "Literal",
                                                        "src": "59655:32:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_stringliteral_c2f688eccc5824e4375e54ae0df7ae9f757b0758319e26fa7dcc6a4450e1d411",
                                                            "typeString": "literal_string \"log(address,address,uint,bool)\""
                                                        },
                                                        "value": "log(address,address,uint,bool)"
                                                    },
                                                    {
                                                        "id": 20612,
                                                        "name": "p0",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 20599,
                                                        "src": "59689:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_address",
                                                            "typeString": "address"
                                                        }
                                                    },
                                                    {
                                                        "id": 20613,
                                                        "name": "p1",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 20601,
                                                        "src": "59693:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_address",
                                                            "typeString": "address"
                                                        }
                                                    },
                                                    {
                                                        "id": 20614,
                                                        "name": "p2",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 20603,
                                                        "src": "59697:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_uint256",
                                                            "typeString": "uint256"
                                                        }
                                                    },
                                                    {
                                                        "id": 20615,
                                                        "name": "p3",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 20605,
                                                        "src": "59701:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_bool",
                                                            "typeString": "bool"
                                                        }
                                                    }
                                                ],
                                                "expression": {
                                                    "argumentTypes": [
                                                        {
                                                            "typeIdentifier": "t_stringliteral_c2f688eccc5824e4375e54ae0df7ae9f757b0758319e26fa7dcc6a4450e1d411",
                                                            "typeString": "literal_string \"log(address,address,uint,bool)\""
                                                        },
                                                        {
                                                            "typeIdentifier": "t_address",
                                                            "typeString": "address"
                                                        },
                                                        {
                                                            "typeIdentifier": "t_address",
                                                            "typeString": "address"
                                                        },
                                                        {
                                                            "typeIdentifier": "t_uint256",
                                                            "typeString": "uint256"
                                                        },
                                                        {
                                                            "typeIdentifier": "t_bool",
                                                            "typeString": "bool"
                                                        }
                                                    ],
                                                    "expression": {
                                                        "id": 20609,
                                                        "name": "abi",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 4294967295,
                                                        "src": "59631:3:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_magic_abi",
                                                            "typeString": "abi"
                                                        }
                                                    },
                                                    "id": 20610,
                                                    "isConstant": false,
                                                    "isLValue": false,
                                                    "isPure": true,
                                                    "lValueRequested": false,
                                                    "memberName": "encodeWithSignature",
                                                    "nodeType": "MemberAccess",
                                                    "src": "59631:23:62",
                                                    "typeDescriptions": {
                                                        "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$",
                                                        "typeString": "function (string memory) pure returns (bytes memory)"
                                                    }
                                                },
                                                "id": 20616,
                                                "isConstant": false,
                                                "isLValue": false,
                                                "isPure": false,
                                                "kind": "functionCall",
                                                "lValueRequested": false,
                                                "names": [],
                                                "nodeType": "FunctionCall",
                                                "src": "59631:73:62",
                                                "tryCall": false,
                                                "typeDescriptions": {
                                                    "typeIdentifier": "t_bytes_memory_ptr",
                                                    "typeString": "bytes memory"
                                                }
                                            }
                                        ],
                                        "expression": {
                                            "argumentTypes": [
                                                {
                                                    "typeIdentifier": "t_bytes_memory_ptr",
                                                    "typeString": "bytes memory"
                                                }
                                            ],
                                            "id": 20608,
                                            "name": "_sendLogPayload",
                                            "nodeType": "Identifier",
                                            "overloadedDeclarations": [],
                                            "referencedDeclaration": 12880,
                                            "src": "59615:15:62",
                                            "typeDescriptions": {
                                                "typeIdentifier": "t_function_internal_view$_t_bytes_memory_ptr_$returns$__$",
                                                "typeString": "function (bytes memory) view"
                                            }
                                        },
                                        "id": 20617,
                                        "isConstant": false,
                                        "isLValue": false,
                                        "isPure": false,
                                        "kind": "functionCall",
                                        "lValueRequested": false,
                                        "names": [],
                                        "nodeType": "FunctionCall",
                                        "src": "59615:90:62",
                                        "tryCall": false,
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_tuple$__$",
                                            "typeString": "tuple()"
                                        }
                                    },
                                    "id": 20618,
                                    "nodeType": "ExpressionStatement",
                                    "src": "59615:90:62"
                                }
                            ]
                        },
                        "id": 20620,
                        "implemented": true,
                        "kind": "function",
                        "modifiers": [],
                        "name": "log",
                        "nameLocation": "59551:3:62",
                        "nodeType": "FunctionDefinition",
                        "parameters": {
                            "id": 20606,
                            "nodeType": "ParameterList",
                            "parameters": [
                                {
                                    "constant": false,
                                    "id": 20599,
                                    "mutability": "mutable",
                                    "name": "p0",
                                    "nameLocation": "59563:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 20620,
                                    "src": "59555:10:62",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_address",
                                        "typeString": "address"
                                    },
                                    "typeName": {
                                        "id": 20598,
                                        "name": "address",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "59555:7:62",
                                        "stateMutability": "nonpayable",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_address",
                                            "typeString": "address"
                                        }
                                    },
                                    "visibility": "internal"
                                },
                                {
                                    "constant": false,
                                    "id": 20601,
                                    "mutability": "mutable",
                                    "name": "p1",
                                    "nameLocation": "59575:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 20620,
                                    "src": "59567:10:62",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_address",
                                        "typeString": "address"
                                    },
                                    "typeName": {
                                        "id": 20600,
                                        "name": "address",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "59567:7:62",
                                        "stateMutability": "nonpayable",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_address",
                                            "typeString": "address"
                                        }
                                    },
                                    "visibility": "internal"
                                },
                                {
                                    "constant": false,
                                    "id": 20603,
                                    "mutability": "mutable",
                                    "name": "p2",
                                    "nameLocation": "59584:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 20620,
                                    "src": "59579:7:62",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_uint256",
                                        "typeString": "uint256"
                                    },
                                    "typeName": {
                                        "id": 20602,
                                        "name": "uint",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "59579:4:62",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_uint256",
                                            "typeString": "uint256"
                                        }
                                    },
                                    "visibility": "internal"
                                },
                                {
                                    "constant": false,
                                    "id": 20605,
                                    "mutability": "mutable",
                                    "name": "p3",
                                    "nameLocation": "59593:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 20620,
                                    "src": "59588:7:62",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_bool",
                                        "typeString": "bool"
                                    },
                                    "typeName": {
                                        "id": 20604,
                                        "name": "bool",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "59588:4:62",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_bool",
                                            "typeString": "bool"
                                        }
                                    },
                                    "visibility": "internal"
                                }
                            ],
                            "src": "59554:42:62"
                        },
                        "returnParameters": {
                            "id": 20607,
                            "nodeType": "ParameterList",
                            "parameters": [],
                            "src": "59611:0:62"
                        },
                        "scope": 20920,
                        "src": "59542:167:62",
                        "stateMutability": "view",
                        "virtual": false,
                        "visibility": "internal"
                    },
                    {
                        "body": {
                            "id": 20642,
                            "nodeType": "Block",
                            "src": "59784:101:62",
                            "statements": [
                                {
                                    "expression": {
                                        "arguments": [
                                            {
                                                "arguments": [
                                                    {
                                                        "hexValue": "6c6f6728616464726573732c616464726573732c75696e742c6164647265737329",
                                                        "id": 20634,
                                                        "isConstant": false,
                                                        "isLValue": false,
                                                        "isPure": true,
                                                        "kind": "string",
                                                        "lValueRequested": false,
                                                        "nodeType": "Literal",
                                                        "src": "59828:35:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_stringliteral_d6c65276d9b81968c5dbc7d91412af8260979b88b9036d81153645629a214556",
                                                            "typeString": "literal_string \"log(address,address,uint,address)\""
                                                        },
                                                        "value": "log(address,address,uint,address)"
                                                    },
                                                    {
                                                        "id": 20635,
                                                        "name": "p0",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 20622,
                                                        "src": "59865:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_address",
                                                            "typeString": "address"
                                                        }
                                                    },
                                                    {
                                                        "id": 20636,
                                                        "name": "p1",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 20624,
                                                        "src": "59869:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_address",
                                                            "typeString": "address"
                                                        }
                                                    },
                                                    {
                                                        "id": 20637,
                                                        "name": "p2",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 20626,
                                                        "src": "59873:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_uint256",
                                                            "typeString": "uint256"
                                                        }
                                                    },
                                                    {
                                                        "id": 20638,
                                                        "name": "p3",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 20628,
                                                        "src": "59877:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_address",
                                                            "typeString": "address"
                                                        }
                                                    }
                                                ],
                                                "expression": {
                                                    "argumentTypes": [
                                                        {
                                                            "typeIdentifier": "t_stringliteral_d6c65276d9b81968c5dbc7d91412af8260979b88b9036d81153645629a214556",
                                                            "typeString": "literal_string \"log(address,address,uint,address)\""
                                                        },
                                                        {
                                                            "typeIdentifier": "t_address",
                                                            "typeString": "address"
                                                        },
                                                        {
                                                            "typeIdentifier": "t_address",
                                                            "typeString": "address"
                                                        },
                                                        {
                                                            "typeIdentifier": "t_uint256",
                                                            "typeString": "uint256"
                                                        },
                                                        {
                                                            "typeIdentifier": "t_address",
                                                            "typeString": "address"
                                                        }
                                                    ],
                                                    "expression": {
                                                        "id": 20632,
                                                        "name": "abi",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 4294967295,
                                                        "src": "59804:3:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_magic_abi",
                                                            "typeString": "abi"
                                                        }
                                                    },
                                                    "id": 20633,
                                                    "isConstant": false,
                                                    "isLValue": false,
                                                    "isPure": true,
                                                    "lValueRequested": false,
                                                    "memberName": "encodeWithSignature",
                                                    "nodeType": "MemberAccess",
                                                    "src": "59804:23:62",
                                                    "typeDescriptions": {
                                                        "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$",
                                                        "typeString": "function (string memory) pure returns (bytes memory)"
                                                    }
                                                },
                                                "id": 20639,
                                                "isConstant": false,
                                                "isLValue": false,
                                                "isPure": false,
                                                "kind": "functionCall",
                                                "lValueRequested": false,
                                                "names": [],
                                                "nodeType": "FunctionCall",
                                                "src": "59804:76:62",
                                                "tryCall": false,
                                                "typeDescriptions": {
                                                    "typeIdentifier": "t_bytes_memory_ptr",
                                                    "typeString": "bytes memory"
                                                }
                                            }
                                        ],
                                        "expression": {
                                            "argumentTypes": [
                                                {
                                                    "typeIdentifier": "t_bytes_memory_ptr",
                                                    "typeString": "bytes memory"
                                                }
                                            ],
                                            "id": 20631,
                                            "name": "_sendLogPayload",
                                            "nodeType": "Identifier",
                                            "overloadedDeclarations": [],
                                            "referencedDeclaration": 12880,
                                            "src": "59788:15:62",
                                            "typeDescriptions": {
                                                "typeIdentifier": "t_function_internal_view$_t_bytes_memory_ptr_$returns$__$",
                                                "typeString": "function (bytes memory) view"
                                            }
                                        },
                                        "id": 20640,
                                        "isConstant": false,
                                        "isLValue": false,
                                        "isPure": false,
                                        "kind": "functionCall",
                                        "lValueRequested": false,
                                        "names": [],
                                        "nodeType": "FunctionCall",
                                        "src": "59788:93:62",
                                        "tryCall": false,
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_tuple$__$",
                                            "typeString": "tuple()"
                                        }
                                    },
                                    "id": 20641,
                                    "nodeType": "ExpressionStatement",
                                    "src": "59788:93:62"
                                }
                            ]
                        },
                        "id": 20643,
                        "implemented": true,
                        "kind": "function",
                        "modifiers": [],
                        "name": "log",
                        "nameLocation": "59721:3:62",
                        "nodeType": "FunctionDefinition",
                        "parameters": {
                            "id": 20629,
                            "nodeType": "ParameterList",
                            "parameters": [
                                {
                                    "constant": false,
                                    "id": 20622,
                                    "mutability": "mutable",
                                    "name": "p0",
                                    "nameLocation": "59733:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 20643,
                                    "src": "59725:10:62",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_address",
                                        "typeString": "address"
                                    },
                                    "typeName": {
                                        "id": 20621,
                                        "name": "address",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "59725:7:62",
                                        "stateMutability": "nonpayable",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_address",
                                            "typeString": "address"
                                        }
                                    },
                                    "visibility": "internal"
                                },
                                {
                                    "constant": false,
                                    "id": 20624,
                                    "mutability": "mutable",
                                    "name": "p1",
                                    "nameLocation": "59745:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 20643,
                                    "src": "59737:10:62",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_address",
                                        "typeString": "address"
                                    },
                                    "typeName": {
                                        "id": 20623,
                                        "name": "address",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "59737:7:62",
                                        "stateMutability": "nonpayable",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_address",
                                            "typeString": "address"
                                        }
                                    },
                                    "visibility": "internal"
                                },
                                {
                                    "constant": false,
                                    "id": 20626,
                                    "mutability": "mutable",
                                    "name": "p2",
                                    "nameLocation": "59754:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 20643,
                                    "src": "59749:7:62",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_uint256",
                                        "typeString": "uint256"
                                    },
                                    "typeName": {
                                        "id": 20625,
                                        "name": "uint",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "59749:4:62",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_uint256",
                                            "typeString": "uint256"
                                        }
                                    },
                                    "visibility": "internal"
                                },
                                {
                                    "constant": false,
                                    "id": 20628,
                                    "mutability": "mutable",
                                    "name": "p3",
                                    "nameLocation": "59766:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 20643,
                                    "src": "59758:10:62",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_address",
                                        "typeString": "address"
                                    },
                                    "typeName": {
                                        "id": 20627,
                                        "name": "address",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "59758:7:62",
                                        "stateMutability": "nonpayable",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_address",
                                            "typeString": "address"
                                        }
                                    },
                                    "visibility": "internal"
                                }
                            ],
                            "src": "59724:45:62"
                        },
                        "returnParameters": {
                            "id": 20630,
                            "nodeType": "ParameterList",
                            "parameters": [],
                            "src": "59784:0:62"
                        },
                        "scope": 20920,
                        "src": "59712:173:62",
                        "stateMutability": "view",
                        "virtual": false,
                        "visibility": "internal"
                    },
                    {
                        "body": {
                            "id": 20665,
                            "nodeType": "Block",
                            "src": "59966:100:62",
                            "statements": [
                                {
                                    "expression": {
                                        "arguments": [
                                            {
                                                "arguments": [
                                                    {
                                                        "hexValue": "6c6f6728616464726573732c616464726573732c737472696e672c75696e7429",
                                                        "id": 20657,
                                                        "isConstant": false,
                                                        "isLValue": false,
                                                        "isPure": true,
                                                        "kind": "string",
                                                        "lValueRequested": false,
                                                        "nodeType": "Literal",
                                                        "src": "60010:34:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_stringliteral_04289300eaed00bb9d0d7894f7439ff06a8c4040945c0625e94f6f0c87fb11ba",
                                                            "typeString": "literal_string \"log(address,address,string,uint)\""
                                                        },
                                                        "value": "log(address,address,string,uint)"
                                                    },
                                                    {
                                                        "id": 20658,
                                                        "name": "p0",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 20645,
                                                        "src": "60046:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_address",
                                                            "typeString": "address"
                                                        }
                                                    },
                                                    {
                                                        "id": 20659,
                                                        "name": "p1",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 20647,
                                                        "src": "60050:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_address",
                                                            "typeString": "address"
                                                        }
                                                    },
                                                    {
                                                        "id": 20660,
                                                        "name": "p2",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 20649,
                                                        "src": "60054:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_string_memory_ptr",
                                                            "typeString": "string memory"
                                                        }
                                                    },
                                                    {
                                                        "id": 20661,
                                                        "name": "p3",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 20651,
                                                        "src": "60058:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_uint256",
                                                            "typeString": "uint256"
                                                        }
                                                    }
                                                ],
                                                "expression": {
                                                    "argumentTypes": [
                                                        {
                                                            "typeIdentifier": "t_stringliteral_04289300eaed00bb9d0d7894f7439ff06a8c4040945c0625e94f6f0c87fb11ba",
                                                            "typeString": "literal_string \"log(address,address,string,uint)\""
                                                        },
                                                        {
                                                            "typeIdentifier": "t_address",
                                                            "typeString": "address"
                                                        },
                                                        {
                                                            "typeIdentifier": "t_address",
                                                            "typeString": "address"
                                                        },
                                                        {
                                                            "typeIdentifier": "t_string_memory_ptr",
                                                            "typeString": "string memory"
                                                        },
                                                        {
                                                            "typeIdentifier": "t_uint256",
                                                            "typeString": "uint256"
                                                        }
                                                    ],
                                                    "expression": {
                                                        "id": 20655,
                                                        "name": "abi",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 4294967295,
                                                        "src": "59986:3:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_magic_abi",
                                                            "typeString": "abi"
                                                        }
                                                    },
                                                    "id": 20656,
                                                    "isConstant": false,
                                                    "isLValue": false,
                                                    "isPure": true,
                                                    "lValueRequested": false,
                                                    "memberName": "encodeWithSignature",
                                                    "nodeType": "MemberAccess",
                                                    "src": "59986:23:62",
                                                    "typeDescriptions": {
                                                        "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$",
                                                        "typeString": "function (string memory) pure returns (bytes memory)"
                                                    }
                                                },
                                                "id": 20662,
                                                "isConstant": false,
                                                "isLValue": false,
                                                "isPure": false,
                                                "kind": "functionCall",
                                                "lValueRequested": false,
                                                "names": [],
                                                "nodeType": "FunctionCall",
                                                "src": "59986:75:62",
                                                "tryCall": false,
                                                "typeDescriptions": {
                                                    "typeIdentifier": "t_bytes_memory_ptr",
                                                    "typeString": "bytes memory"
                                                }
                                            }
                                        ],
                                        "expression": {
                                            "argumentTypes": [
                                                {
                                                    "typeIdentifier": "t_bytes_memory_ptr",
                                                    "typeString": "bytes memory"
                                                }
                                            ],
                                            "id": 20654,
                                            "name": "_sendLogPayload",
                                            "nodeType": "Identifier",
                                            "overloadedDeclarations": [],
                                            "referencedDeclaration": 12880,
                                            "src": "59970:15:62",
                                            "typeDescriptions": {
                                                "typeIdentifier": "t_function_internal_view$_t_bytes_memory_ptr_$returns$__$",
                                                "typeString": "function (bytes memory) view"
                                            }
                                        },
                                        "id": 20663,
                                        "isConstant": false,
                                        "isLValue": false,
                                        "isPure": false,
                                        "kind": "functionCall",
                                        "lValueRequested": false,
                                        "names": [],
                                        "nodeType": "FunctionCall",
                                        "src": "59970:92:62",
                                        "tryCall": false,
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_tuple$__$",
                                            "typeString": "tuple()"
                                        }
                                    },
                                    "id": 20664,
                                    "nodeType": "ExpressionStatement",
                                    "src": "59970:92:62"
                                }
                            ]
                        },
                        "id": 20666,
                        "implemented": true,
                        "kind": "function",
                        "modifiers": [],
                        "name": "log",
                        "nameLocation": "59897:3:62",
                        "nodeType": "FunctionDefinition",
                        "parameters": {
                            "id": 20652,
                            "nodeType": "ParameterList",
                            "parameters": [
                                {
                                    "constant": false,
                                    "id": 20645,
                                    "mutability": "mutable",
                                    "name": "p0",
                                    "nameLocation": "59909:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 20666,
                                    "src": "59901:10:62",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_address",
                                        "typeString": "address"
                                    },
                                    "typeName": {
                                        "id": 20644,
                                        "name": "address",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "59901:7:62",
                                        "stateMutability": "nonpayable",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_address",
                                            "typeString": "address"
                                        }
                                    },
                                    "visibility": "internal"
                                },
                                {
                                    "constant": false,
                                    "id": 20647,
                                    "mutability": "mutable",
                                    "name": "p1",
                                    "nameLocation": "59921:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 20666,
                                    "src": "59913:10:62",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_address",
                                        "typeString": "address"
                                    },
                                    "typeName": {
                                        "id": 20646,
                                        "name": "address",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "59913:7:62",
                                        "stateMutability": "nonpayable",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_address",
                                            "typeString": "address"
                                        }
                                    },
                                    "visibility": "internal"
                                },
                                {
                                    "constant": false,
                                    "id": 20649,
                                    "mutability": "mutable",
                                    "name": "p2",
                                    "nameLocation": "59939:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 20666,
                                    "src": "59925:16:62",
                                    "stateVariable": false,
                                    "storageLocation": "memory",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_string_memory_ptr",
                                        "typeString": "string"
                                    },
                                    "typeName": {
                                        "id": 20648,
                                        "name": "string",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "59925:6:62",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_string_storage_ptr",
                                            "typeString": "string"
                                        }
                                    },
                                    "visibility": "internal"
                                },
                                {
                                    "constant": false,
                                    "id": 20651,
                                    "mutability": "mutable",
                                    "name": "p3",
                                    "nameLocation": "59948:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 20666,
                                    "src": "59943:7:62",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_uint256",
                                        "typeString": "uint256"
                                    },
                                    "typeName": {
                                        "id": 20650,
                                        "name": "uint",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "59943:4:62",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_uint256",
                                            "typeString": "uint256"
                                        }
                                    },
                                    "visibility": "internal"
                                }
                            ],
                            "src": "59900:51:62"
                        },
                        "returnParameters": {
                            "id": 20653,
                            "nodeType": "ParameterList",
                            "parameters": [],
                            "src": "59966:0:62"
                        },
                        "scope": 20920,
                        "src": "59888:178:62",
                        "stateMutability": "view",
                        "virtual": false,
                        "visibility": "internal"
                    },
                    {
                        "body": {
                            "id": 20688,
                            "nodeType": "Block",
                            "src": "60156:102:62",
                            "statements": [
                                {
                                    "expression": {
                                        "arguments": [
                                            {
                                                "arguments": [
                                                    {
                                                        "hexValue": "6c6f6728616464726573732c616464726573732c737472696e672c737472696e6729",
                                                        "id": 20680,
                                                        "isConstant": false,
                                                        "isLValue": false,
                                                        "isPure": true,
                                                        "kind": "string",
                                                        "lValueRequested": false,
                                                        "nodeType": "Literal",
                                                        "src": "60200:36:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_stringliteral_21bdaf25c85279ffda21e4e2b9f685ff585c62a37c0ebe7ae25670fd06df3aa1",
                                                            "typeString": "literal_string \"log(address,address,string,string)\""
                                                        },
                                                        "value": "log(address,address,string,string)"
                                                    },
                                                    {
                                                        "id": 20681,
                                                        "name": "p0",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 20668,
                                                        "src": "60238:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_address",
                                                            "typeString": "address"
                                                        }
                                                    },
                                                    {
                                                        "id": 20682,
                                                        "name": "p1",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 20670,
                                                        "src": "60242:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_address",
                                                            "typeString": "address"
                                                        }
                                                    },
                                                    {
                                                        "id": 20683,
                                                        "name": "p2",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 20672,
                                                        "src": "60246:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_string_memory_ptr",
                                                            "typeString": "string memory"
                                                        }
                                                    },
                                                    {
                                                        "id": 20684,
                                                        "name": "p3",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 20674,
                                                        "src": "60250:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_string_memory_ptr",
                                                            "typeString": "string memory"
                                                        }
                                                    }
                                                ],
                                                "expression": {
                                                    "argumentTypes": [
                                                        {
                                                            "typeIdentifier": "t_stringliteral_21bdaf25c85279ffda21e4e2b9f685ff585c62a37c0ebe7ae25670fd06df3aa1",
                                                            "typeString": "literal_string \"log(address,address,string,string)\""
                                                        },
                                                        {
                                                            "typeIdentifier": "t_address",
                                                            "typeString": "address"
                                                        },
                                                        {
                                                            "typeIdentifier": "t_address",
                                                            "typeString": "address"
                                                        },
                                                        {
                                                            "typeIdentifier": "t_string_memory_ptr",
                                                            "typeString": "string memory"
                                                        },
                                                        {
                                                            "typeIdentifier": "t_string_memory_ptr",
                                                            "typeString": "string memory"
                                                        }
                                                    ],
                                                    "expression": {
                                                        "id": 20678,
                                                        "name": "abi",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 4294967295,
                                                        "src": "60176:3:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_magic_abi",
                                                            "typeString": "abi"
                                                        }
                                                    },
                                                    "id": 20679,
                                                    "isConstant": false,
                                                    "isLValue": false,
                                                    "isPure": true,
                                                    "lValueRequested": false,
                                                    "memberName": "encodeWithSignature",
                                                    "nodeType": "MemberAccess",
                                                    "src": "60176:23:62",
                                                    "typeDescriptions": {
                                                        "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$",
                                                        "typeString": "function (string memory) pure returns (bytes memory)"
                                                    }
                                                },
                                                "id": 20685,
                                                "isConstant": false,
                                                "isLValue": false,
                                                "isPure": false,
                                                "kind": "functionCall",
                                                "lValueRequested": false,
                                                "names": [],
                                                "nodeType": "FunctionCall",
                                                "src": "60176:77:62",
                                                "tryCall": false,
                                                "typeDescriptions": {
                                                    "typeIdentifier": "t_bytes_memory_ptr",
                                                    "typeString": "bytes memory"
                                                }
                                            }
                                        ],
                                        "expression": {
                                            "argumentTypes": [
                                                {
                                                    "typeIdentifier": "t_bytes_memory_ptr",
                                                    "typeString": "bytes memory"
                                                }
                                            ],
                                            "id": 20677,
                                            "name": "_sendLogPayload",
                                            "nodeType": "Identifier",
                                            "overloadedDeclarations": [],
                                            "referencedDeclaration": 12880,
                                            "src": "60160:15:62",
                                            "typeDescriptions": {
                                                "typeIdentifier": "t_function_internal_view$_t_bytes_memory_ptr_$returns$__$",
                                                "typeString": "function (bytes memory) view"
                                            }
                                        },
                                        "id": 20686,
                                        "isConstant": false,
                                        "isLValue": false,
                                        "isPure": false,
                                        "kind": "functionCall",
                                        "lValueRequested": false,
                                        "names": [],
                                        "nodeType": "FunctionCall",
                                        "src": "60160:94:62",
                                        "tryCall": false,
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_tuple$__$",
                                            "typeString": "tuple()"
                                        }
                                    },
                                    "id": 20687,
                                    "nodeType": "ExpressionStatement",
                                    "src": "60160:94:62"
                                }
                            ]
                        },
                        "id": 20689,
                        "implemented": true,
                        "kind": "function",
                        "modifiers": [],
                        "name": "log",
                        "nameLocation": "60078:3:62",
                        "nodeType": "FunctionDefinition",
                        "parameters": {
                            "id": 20675,
                            "nodeType": "ParameterList",
                            "parameters": [
                                {
                                    "constant": false,
                                    "id": 20668,
                                    "mutability": "mutable",
                                    "name": "p0",
                                    "nameLocation": "60090:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 20689,
                                    "src": "60082:10:62",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_address",
                                        "typeString": "address"
                                    },
                                    "typeName": {
                                        "id": 20667,
                                        "name": "address",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "60082:7:62",
                                        "stateMutability": "nonpayable",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_address",
                                            "typeString": "address"
                                        }
                                    },
                                    "visibility": "internal"
                                },
                                {
                                    "constant": false,
                                    "id": 20670,
                                    "mutability": "mutable",
                                    "name": "p1",
                                    "nameLocation": "60102:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 20689,
                                    "src": "60094:10:62",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_address",
                                        "typeString": "address"
                                    },
                                    "typeName": {
                                        "id": 20669,
                                        "name": "address",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "60094:7:62",
                                        "stateMutability": "nonpayable",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_address",
                                            "typeString": "address"
                                        }
                                    },
                                    "visibility": "internal"
                                },
                                {
                                    "constant": false,
                                    "id": 20672,
                                    "mutability": "mutable",
                                    "name": "p2",
                                    "nameLocation": "60120:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 20689,
                                    "src": "60106:16:62",
                                    "stateVariable": false,
                                    "storageLocation": "memory",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_string_memory_ptr",
                                        "typeString": "string"
                                    },
                                    "typeName": {
                                        "id": 20671,
                                        "name": "string",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "60106:6:62",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_string_storage_ptr",
                                            "typeString": "string"
                                        }
                                    },
                                    "visibility": "internal"
                                },
                                {
                                    "constant": false,
                                    "id": 20674,
                                    "mutability": "mutable",
                                    "name": "p3",
                                    "nameLocation": "60138:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 20689,
                                    "src": "60124:16:62",
                                    "stateVariable": false,
                                    "storageLocation": "memory",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_string_memory_ptr",
                                        "typeString": "string"
                                    },
                                    "typeName": {
                                        "id": 20673,
                                        "name": "string",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "60124:6:62",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_string_storage_ptr",
                                            "typeString": "string"
                                        }
                                    },
                                    "visibility": "internal"
                                }
                            ],
                            "src": "60081:60:62"
                        },
                        "returnParameters": {
                            "id": 20676,
                            "nodeType": "ParameterList",
                            "parameters": [],
                            "src": "60156:0:62"
                        },
                        "scope": 20920,
                        "src": "60069:189:62",
                        "stateMutability": "view",
                        "virtual": false,
                        "visibility": "internal"
                    },
                    {
                        "body": {
                            "id": 20711,
                            "nodeType": "Block",
                            "src": "60339:100:62",
                            "statements": [
                                {
                                    "expression": {
                                        "arguments": [
                                            {
                                                "arguments": [
                                                    {
                                                        "hexValue": "6c6f6728616464726573732c616464726573732c737472696e672c626f6f6c29",
                                                        "id": 20703,
                                                        "isConstant": false,
                                                        "isLValue": false,
                                                        "isPure": true,
                                                        "kind": "string",
                                                        "lValueRequested": false,
                                                        "nodeType": "Literal",
                                                        "src": "60383:34:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_stringliteral_6f1a594e70810560eaae5bbc82bc991f1120ac326ec142f6fb212682169447fd",
                                                            "typeString": "literal_string \"log(address,address,string,bool)\""
                                                        },
                                                        "value": "log(address,address,string,bool)"
                                                    },
                                                    {
                                                        "id": 20704,
                                                        "name": "p0",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 20691,
                                                        "src": "60419:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_address",
                                                            "typeString": "address"
                                                        }
                                                    },
                                                    {
                                                        "id": 20705,
                                                        "name": "p1",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 20693,
                                                        "src": "60423:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_address",
                                                            "typeString": "address"
                                                        }
                                                    },
                                                    {
                                                        "id": 20706,
                                                        "name": "p2",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 20695,
                                                        "src": "60427:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_string_memory_ptr",
                                                            "typeString": "string memory"
                                                        }
                                                    },
                                                    {
                                                        "id": 20707,
                                                        "name": "p3",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 20697,
                                                        "src": "60431:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_bool",
                                                            "typeString": "bool"
                                                        }
                                                    }
                                                ],
                                                "expression": {
                                                    "argumentTypes": [
                                                        {
                                                            "typeIdentifier": "t_stringliteral_6f1a594e70810560eaae5bbc82bc991f1120ac326ec142f6fb212682169447fd",
                                                            "typeString": "literal_string \"log(address,address,string,bool)\""
                                                        },
                                                        {
                                                            "typeIdentifier": "t_address",
                                                            "typeString": "address"
                                                        },
                                                        {
                                                            "typeIdentifier": "t_address",
                                                            "typeString": "address"
                                                        },
                                                        {
                                                            "typeIdentifier": "t_string_memory_ptr",
                                                            "typeString": "string memory"
                                                        },
                                                        {
                                                            "typeIdentifier": "t_bool",
                                                            "typeString": "bool"
                                                        }
                                                    ],
                                                    "expression": {
                                                        "id": 20701,
                                                        "name": "abi",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 4294967295,
                                                        "src": "60359:3:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_magic_abi",
                                                            "typeString": "abi"
                                                        }
                                                    },
                                                    "id": 20702,
                                                    "isConstant": false,
                                                    "isLValue": false,
                                                    "isPure": true,
                                                    "lValueRequested": false,
                                                    "memberName": "encodeWithSignature",
                                                    "nodeType": "MemberAccess",
                                                    "src": "60359:23:62",
                                                    "typeDescriptions": {
                                                        "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$",
                                                        "typeString": "function (string memory) pure returns (bytes memory)"
                                                    }
                                                },
                                                "id": 20708,
                                                "isConstant": false,
                                                "isLValue": false,
                                                "isPure": false,
                                                "kind": "functionCall",
                                                "lValueRequested": false,
                                                "names": [],
                                                "nodeType": "FunctionCall",
                                                "src": "60359:75:62",
                                                "tryCall": false,
                                                "typeDescriptions": {
                                                    "typeIdentifier": "t_bytes_memory_ptr",
                                                    "typeString": "bytes memory"
                                                }
                                            }
                                        ],
                                        "expression": {
                                            "argumentTypes": [
                                                {
                                                    "typeIdentifier": "t_bytes_memory_ptr",
                                                    "typeString": "bytes memory"
                                                }
                                            ],
                                            "id": 20700,
                                            "name": "_sendLogPayload",
                                            "nodeType": "Identifier",
                                            "overloadedDeclarations": [],
                                            "referencedDeclaration": 12880,
                                            "src": "60343:15:62",
                                            "typeDescriptions": {
                                                "typeIdentifier": "t_function_internal_view$_t_bytes_memory_ptr_$returns$__$",
                                                "typeString": "function (bytes memory) view"
                                            }
                                        },
                                        "id": 20709,
                                        "isConstant": false,
                                        "isLValue": false,
                                        "isPure": false,
                                        "kind": "functionCall",
                                        "lValueRequested": false,
                                        "names": [],
                                        "nodeType": "FunctionCall",
                                        "src": "60343:92:62",
                                        "tryCall": false,
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_tuple$__$",
                                            "typeString": "tuple()"
                                        }
                                    },
                                    "id": 20710,
                                    "nodeType": "ExpressionStatement",
                                    "src": "60343:92:62"
                                }
                            ]
                        },
                        "id": 20712,
                        "implemented": true,
                        "kind": "function",
                        "modifiers": [],
                        "name": "log",
                        "nameLocation": "60270:3:62",
                        "nodeType": "FunctionDefinition",
                        "parameters": {
                            "id": 20698,
                            "nodeType": "ParameterList",
                            "parameters": [
                                {
                                    "constant": false,
                                    "id": 20691,
                                    "mutability": "mutable",
                                    "name": "p0",
                                    "nameLocation": "60282:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 20712,
                                    "src": "60274:10:62",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_address",
                                        "typeString": "address"
                                    },
                                    "typeName": {
                                        "id": 20690,
                                        "name": "address",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "60274:7:62",
                                        "stateMutability": "nonpayable",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_address",
                                            "typeString": "address"
                                        }
                                    },
                                    "visibility": "internal"
                                },
                                {
                                    "constant": false,
                                    "id": 20693,
                                    "mutability": "mutable",
                                    "name": "p1",
                                    "nameLocation": "60294:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 20712,
                                    "src": "60286:10:62",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_address",
                                        "typeString": "address"
                                    },
                                    "typeName": {
                                        "id": 20692,
                                        "name": "address",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "60286:7:62",
                                        "stateMutability": "nonpayable",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_address",
                                            "typeString": "address"
                                        }
                                    },
                                    "visibility": "internal"
                                },
                                {
                                    "constant": false,
                                    "id": 20695,
                                    "mutability": "mutable",
                                    "name": "p2",
                                    "nameLocation": "60312:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 20712,
                                    "src": "60298:16:62",
                                    "stateVariable": false,
                                    "storageLocation": "memory",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_string_memory_ptr",
                                        "typeString": "string"
                                    },
                                    "typeName": {
                                        "id": 20694,
                                        "name": "string",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "60298:6:62",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_string_storage_ptr",
                                            "typeString": "string"
                                        }
                                    },
                                    "visibility": "internal"
                                },
                                {
                                    "constant": false,
                                    "id": 20697,
                                    "mutability": "mutable",
                                    "name": "p3",
                                    "nameLocation": "60321:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 20712,
                                    "src": "60316:7:62",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_bool",
                                        "typeString": "bool"
                                    },
                                    "typeName": {
                                        "id": 20696,
                                        "name": "bool",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "60316:4:62",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_bool",
                                            "typeString": "bool"
                                        }
                                    },
                                    "visibility": "internal"
                                }
                            ],
                            "src": "60273:51:62"
                        },
                        "returnParameters": {
                            "id": 20699,
                            "nodeType": "ParameterList",
                            "parameters": [],
                            "src": "60339:0:62"
                        },
                        "scope": 20920,
                        "src": "60261:178:62",
                        "stateMutability": "view",
                        "virtual": false,
                        "visibility": "internal"
                    },
                    {
                        "body": {
                            "id": 20734,
                            "nodeType": "Block",
                            "src": "60523:103:62",
                            "statements": [
                                {
                                    "expression": {
                                        "arguments": [
                                            {
                                                "arguments": [
                                                    {
                                                        "hexValue": "6c6f6728616464726573732c616464726573732c737472696e672c6164647265737329",
                                                        "id": 20726,
                                                        "isConstant": false,
                                                        "isLValue": false,
                                                        "isPure": true,
                                                        "kind": "string",
                                                        "lValueRequested": false,
                                                        "nodeType": "Literal",
                                                        "src": "60567:37:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_stringliteral_8f736d1685010d3a1ac02ed96109cdd5141fd92077c14203bc63442ad9b6a687",
                                                            "typeString": "literal_string \"log(address,address,string,address)\""
                                                        },
                                                        "value": "log(address,address,string,address)"
                                                    },
                                                    {
                                                        "id": 20727,
                                                        "name": "p0",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 20714,
                                                        "src": "60606:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_address",
                                                            "typeString": "address"
                                                        }
                                                    },
                                                    {
                                                        "id": 20728,
                                                        "name": "p1",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 20716,
                                                        "src": "60610:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_address",
                                                            "typeString": "address"
                                                        }
                                                    },
                                                    {
                                                        "id": 20729,
                                                        "name": "p2",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 20718,
                                                        "src": "60614:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_string_memory_ptr",
                                                            "typeString": "string memory"
                                                        }
                                                    },
                                                    {
                                                        "id": 20730,
                                                        "name": "p3",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 20720,
                                                        "src": "60618:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_address",
                                                            "typeString": "address"
                                                        }
                                                    }
                                                ],
                                                "expression": {
                                                    "argumentTypes": [
                                                        {
                                                            "typeIdentifier": "t_stringliteral_8f736d1685010d3a1ac02ed96109cdd5141fd92077c14203bc63442ad9b6a687",
                                                            "typeString": "literal_string \"log(address,address,string,address)\""
                                                        },
                                                        {
                                                            "typeIdentifier": "t_address",
                                                            "typeString": "address"
                                                        },
                                                        {
                                                            "typeIdentifier": "t_address",
                                                            "typeString": "address"
                                                        },
                                                        {
                                                            "typeIdentifier": "t_string_memory_ptr",
                                                            "typeString": "string memory"
                                                        },
                                                        {
                                                            "typeIdentifier": "t_address",
                                                            "typeString": "address"
                                                        }
                                                    ],
                                                    "expression": {
                                                        "id": 20724,
                                                        "name": "abi",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 4294967295,
                                                        "src": "60543:3:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_magic_abi",
                                                            "typeString": "abi"
                                                        }
                                                    },
                                                    "id": 20725,
                                                    "isConstant": false,
                                                    "isLValue": false,
                                                    "isPure": true,
                                                    "lValueRequested": false,
                                                    "memberName": "encodeWithSignature",
                                                    "nodeType": "MemberAccess",
                                                    "src": "60543:23:62",
                                                    "typeDescriptions": {
                                                        "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$",
                                                        "typeString": "function (string memory) pure returns (bytes memory)"
                                                    }
                                                },
                                                "id": 20731,
                                                "isConstant": false,
                                                "isLValue": false,
                                                "isPure": false,
                                                "kind": "functionCall",
                                                "lValueRequested": false,
                                                "names": [],
                                                "nodeType": "FunctionCall",
                                                "src": "60543:78:62",
                                                "tryCall": false,
                                                "typeDescriptions": {
                                                    "typeIdentifier": "t_bytes_memory_ptr",
                                                    "typeString": "bytes memory"
                                                }
                                            }
                                        ],
                                        "expression": {
                                            "argumentTypes": [
                                                {
                                                    "typeIdentifier": "t_bytes_memory_ptr",
                                                    "typeString": "bytes memory"
                                                }
                                            ],
                                            "id": 20723,
                                            "name": "_sendLogPayload",
                                            "nodeType": "Identifier",
                                            "overloadedDeclarations": [],
                                            "referencedDeclaration": 12880,
                                            "src": "60527:15:62",
                                            "typeDescriptions": {
                                                "typeIdentifier": "t_function_internal_view$_t_bytes_memory_ptr_$returns$__$",
                                                "typeString": "function (bytes memory) view"
                                            }
                                        },
                                        "id": 20732,
                                        "isConstant": false,
                                        "isLValue": false,
                                        "isPure": false,
                                        "kind": "functionCall",
                                        "lValueRequested": false,
                                        "names": [],
                                        "nodeType": "FunctionCall",
                                        "src": "60527:95:62",
                                        "tryCall": false,
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_tuple$__$",
                                            "typeString": "tuple()"
                                        }
                                    },
                                    "id": 20733,
                                    "nodeType": "ExpressionStatement",
                                    "src": "60527:95:62"
                                }
                            ]
                        },
                        "id": 20735,
                        "implemented": true,
                        "kind": "function",
                        "modifiers": [],
                        "name": "log",
                        "nameLocation": "60451:3:62",
                        "nodeType": "FunctionDefinition",
                        "parameters": {
                            "id": 20721,
                            "nodeType": "ParameterList",
                            "parameters": [
                                {
                                    "constant": false,
                                    "id": 20714,
                                    "mutability": "mutable",
                                    "name": "p0",
                                    "nameLocation": "60463:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 20735,
                                    "src": "60455:10:62",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_address",
                                        "typeString": "address"
                                    },
                                    "typeName": {
                                        "id": 20713,
                                        "name": "address",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "60455:7:62",
                                        "stateMutability": "nonpayable",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_address",
                                            "typeString": "address"
                                        }
                                    },
                                    "visibility": "internal"
                                },
                                {
                                    "constant": false,
                                    "id": 20716,
                                    "mutability": "mutable",
                                    "name": "p1",
                                    "nameLocation": "60475:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 20735,
                                    "src": "60467:10:62",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_address",
                                        "typeString": "address"
                                    },
                                    "typeName": {
                                        "id": 20715,
                                        "name": "address",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "60467:7:62",
                                        "stateMutability": "nonpayable",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_address",
                                            "typeString": "address"
                                        }
                                    },
                                    "visibility": "internal"
                                },
                                {
                                    "constant": false,
                                    "id": 20718,
                                    "mutability": "mutable",
                                    "name": "p2",
                                    "nameLocation": "60493:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 20735,
                                    "src": "60479:16:62",
                                    "stateVariable": false,
                                    "storageLocation": "memory",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_string_memory_ptr",
                                        "typeString": "string"
                                    },
                                    "typeName": {
                                        "id": 20717,
                                        "name": "string",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "60479:6:62",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_string_storage_ptr",
                                            "typeString": "string"
                                        }
                                    },
                                    "visibility": "internal"
                                },
                                {
                                    "constant": false,
                                    "id": 20720,
                                    "mutability": "mutable",
                                    "name": "p3",
                                    "nameLocation": "60505:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 20735,
                                    "src": "60497:10:62",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_address",
                                        "typeString": "address"
                                    },
                                    "typeName": {
                                        "id": 20719,
                                        "name": "address",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "60497:7:62",
                                        "stateMutability": "nonpayable",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_address",
                                            "typeString": "address"
                                        }
                                    },
                                    "visibility": "internal"
                                }
                            ],
                            "src": "60454:54:62"
                        },
                        "returnParameters": {
                            "id": 20722,
                            "nodeType": "ParameterList",
                            "parameters": [],
                            "src": "60523:0:62"
                        },
                        "scope": 20920,
                        "src": "60442:184:62",
                        "stateMutability": "view",
                        "virtual": false,
                        "visibility": "internal"
                    },
                    {
                        "body": {
                            "id": 20757,
                            "nodeType": "Block",
                            "src": "60698:98:62",
                            "statements": [
                                {
                                    "expression": {
                                        "arguments": [
                                            {
                                                "arguments": [
                                                    {
                                                        "hexValue": "6c6f6728616464726573732c616464726573732c626f6f6c2c75696e7429",
                                                        "id": 20749,
                                                        "isConstant": false,
                                                        "isLValue": false,
                                                        "isPure": true,
                                                        "kind": "string",
                                                        "lValueRequested": false,
                                                        "nodeType": "Literal",
                                                        "src": "60742:32:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_stringliteral_95d65f110e4042ee84d162cfc6d17a44c2f2784259e33c97679d21e7a95a841e",
                                                            "typeString": "literal_string \"log(address,address,bool,uint)\""
                                                        },
                                                        "value": "log(address,address,bool,uint)"
                                                    },
                                                    {
                                                        "id": 20750,
                                                        "name": "p0",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 20737,
                                                        "src": "60776:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_address",
                                                            "typeString": "address"
                                                        }
                                                    },
                                                    {
                                                        "id": 20751,
                                                        "name": "p1",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 20739,
                                                        "src": "60780:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_address",
                                                            "typeString": "address"
                                                        }
                                                    },
                                                    {
                                                        "id": 20752,
                                                        "name": "p2",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 20741,
                                                        "src": "60784:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_bool",
                                                            "typeString": "bool"
                                                        }
                                                    },
                                                    {
                                                        "id": 20753,
                                                        "name": "p3",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 20743,
                                                        "src": "60788:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_uint256",
                                                            "typeString": "uint256"
                                                        }
                                                    }
                                                ],
                                                "expression": {
                                                    "argumentTypes": [
                                                        {
                                                            "typeIdentifier": "t_stringliteral_95d65f110e4042ee84d162cfc6d17a44c2f2784259e33c97679d21e7a95a841e",
                                                            "typeString": "literal_string \"log(address,address,bool,uint)\""
                                                        },
                                                        {
                                                            "typeIdentifier": "t_address",
                                                            "typeString": "address"
                                                        },
                                                        {
                                                            "typeIdentifier": "t_address",
                                                            "typeString": "address"
                                                        },
                                                        {
                                                            "typeIdentifier": "t_bool",
                                                            "typeString": "bool"
                                                        },
                                                        {
                                                            "typeIdentifier": "t_uint256",
                                                            "typeString": "uint256"
                                                        }
                                                    ],
                                                    "expression": {
                                                        "id": 20747,
                                                        "name": "abi",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 4294967295,
                                                        "src": "60718:3:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_magic_abi",
                                                            "typeString": "abi"
                                                        }
                                                    },
                                                    "id": 20748,
                                                    "isConstant": false,
                                                    "isLValue": false,
                                                    "isPure": true,
                                                    "lValueRequested": false,
                                                    "memberName": "encodeWithSignature",
                                                    "nodeType": "MemberAccess",
                                                    "src": "60718:23:62",
                                                    "typeDescriptions": {
                                                        "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$",
                                                        "typeString": "function (string memory) pure returns (bytes memory)"
                                                    }
                                                },
                                                "id": 20754,
                                                "isConstant": false,
                                                "isLValue": false,
                                                "isPure": false,
                                                "kind": "functionCall",
                                                "lValueRequested": false,
                                                "names": [],
                                                "nodeType": "FunctionCall",
                                                "src": "60718:73:62",
                                                "tryCall": false,
                                                "typeDescriptions": {
                                                    "typeIdentifier": "t_bytes_memory_ptr",
                                                    "typeString": "bytes memory"
                                                }
                                            }
                                        ],
                                        "expression": {
                                            "argumentTypes": [
                                                {
                                                    "typeIdentifier": "t_bytes_memory_ptr",
                                                    "typeString": "bytes memory"
                                                }
                                            ],
                                            "id": 20746,
                                            "name": "_sendLogPayload",
                                            "nodeType": "Identifier",
                                            "overloadedDeclarations": [],
                                            "referencedDeclaration": 12880,
                                            "src": "60702:15:62",
                                            "typeDescriptions": {
                                                "typeIdentifier": "t_function_internal_view$_t_bytes_memory_ptr_$returns$__$",
                                                "typeString": "function (bytes memory) view"
                                            }
                                        },
                                        "id": 20755,
                                        "isConstant": false,
                                        "isLValue": false,
                                        "isPure": false,
                                        "kind": "functionCall",
                                        "lValueRequested": false,
                                        "names": [],
                                        "nodeType": "FunctionCall",
                                        "src": "60702:90:62",
                                        "tryCall": false,
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_tuple$__$",
                                            "typeString": "tuple()"
                                        }
                                    },
                                    "id": 20756,
                                    "nodeType": "ExpressionStatement",
                                    "src": "60702:90:62"
                                }
                            ]
                        },
                        "id": 20758,
                        "implemented": true,
                        "kind": "function",
                        "modifiers": [],
                        "name": "log",
                        "nameLocation": "60638:3:62",
                        "nodeType": "FunctionDefinition",
                        "parameters": {
                            "id": 20744,
                            "nodeType": "ParameterList",
                            "parameters": [
                                {
                                    "constant": false,
                                    "id": 20737,
                                    "mutability": "mutable",
                                    "name": "p0",
                                    "nameLocation": "60650:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 20758,
                                    "src": "60642:10:62",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_address",
                                        "typeString": "address"
                                    },
                                    "typeName": {
                                        "id": 20736,
                                        "name": "address",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "60642:7:62",
                                        "stateMutability": "nonpayable",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_address",
                                            "typeString": "address"
                                        }
                                    },
                                    "visibility": "internal"
                                },
                                {
                                    "constant": false,
                                    "id": 20739,
                                    "mutability": "mutable",
                                    "name": "p1",
                                    "nameLocation": "60662:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 20758,
                                    "src": "60654:10:62",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_address",
                                        "typeString": "address"
                                    },
                                    "typeName": {
                                        "id": 20738,
                                        "name": "address",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "60654:7:62",
                                        "stateMutability": "nonpayable",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_address",
                                            "typeString": "address"
                                        }
                                    },
                                    "visibility": "internal"
                                },
                                {
                                    "constant": false,
                                    "id": 20741,
                                    "mutability": "mutable",
                                    "name": "p2",
                                    "nameLocation": "60671:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 20758,
                                    "src": "60666:7:62",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_bool",
                                        "typeString": "bool"
                                    },
                                    "typeName": {
                                        "id": 20740,
                                        "name": "bool",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "60666:4:62",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_bool",
                                            "typeString": "bool"
                                        }
                                    },
                                    "visibility": "internal"
                                },
                                {
                                    "constant": false,
                                    "id": 20743,
                                    "mutability": "mutable",
                                    "name": "p3",
                                    "nameLocation": "60680:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 20758,
                                    "src": "60675:7:62",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_uint256",
                                        "typeString": "uint256"
                                    },
                                    "typeName": {
                                        "id": 20742,
                                        "name": "uint",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "60675:4:62",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_uint256",
                                            "typeString": "uint256"
                                        }
                                    },
                                    "visibility": "internal"
                                }
                            ],
                            "src": "60641:42:62"
                        },
                        "returnParameters": {
                            "id": 20745,
                            "nodeType": "ParameterList",
                            "parameters": [],
                            "src": "60698:0:62"
                        },
                        "scope": 20920,
                        "src": "60629:167:62",
                        "stateMutability": "view",
                        "virtual": false,
                        "visibility": "internal"
                    },
                    {
                        "body": {
                            "id": 20780,
                            "nodeType": "Block",
                            "src": "60877:100:62",
                            "statements": [
                                {
                                    "expression": {
                                        "arguments": [
                                            {
                                                "arguments": [
                                                    {
                                                        "hexValue": "6c6f6728616464726573732c616464726573732c626f6f6c2c737472696e6729",
                                                        "id": 20772,
                                                        "isConstant": false,
                                                        "isLValue": false,
                                                        "isPure": true,
                                                        "kind": "string",
                                                        "lValueRequested": false,
                                                        "nodeType": "Literal",
                                                        "src": "60921:34:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_stringliteral_aa6540c8e9a40f69e022e01a14ab22c94aae4999f1d7a246236f464d7c933b88",
                                                            "typeString": "literal_string \"log(address,address,bool,string)\""
                                                        },
                                                        "value": "log(address,address,bool,string)"
                                                    },
                                                    {
                                                        "id": 20773,
                                                        "name": "p0",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 20760,
                                                        "src": "60957:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_address",
                                                            "typeString": "address"
                                                        }
                                                    },
                                                    {
                                                        "id": 20774,
                                                        "name": "p1",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 20762,
                                                        "src": "60961:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_address",
                                                            "typeString": "address"
                                                        }
                                                    },
                                                    {
                                                        "id": 20775,
                                                        "name": "p2",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 20764,
                                                        "src": "60965:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_bool",
                                                            "typeString": "bool"
                                                        }
                                                    },
                                                    {
                                                        "id": 20776,
                                                        "name": "p3",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 20766,
                                                        "src": "60969:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_string_memory_ptr",
                                                            "typeString": "string memory"
                                                        }
                                                    }
                                                ],
                                                "expression": {
                                                    "argumentTypes": [
                                                        {
                                                            "typeIdentifier": "t_stringliteral_aa6540c8e9a40f69e022e01a14ab22c94aae4999f1d7a246236f464d7c933b88",
                                                            "typeString": "literal_string \"log(address,address,bool,string)\""
                                                        },
                                                        {
                                                            "typeIdentifier": "t_address",
                                                            "typeString": "address"
                                                        },
                                                        {
                                                            "typeIdentifier": "t_address",
                                                            "typeString": "address"
                                                        },
                                                        {
                                                            "typeIdentifier": "t_bool",
                                                            "typeString": "bool"
                                                        },
                                                        {
                                                            "typeIdentifier": "t_string_memory_ptr",
                                                            "typeString": "string memory"
                                                        }
                                                    ],
                                                    "expression": {
                                                        "id": 20770,
                                                        "name": "abi",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 4294967295,
                                                        "src": "60897:3:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_magic_abi",
                                                            "typeString": "abi"
                                                        }
                                                    },
                                                    "id": 20771,
                                                    "isConstant": false,
                                                    "isLValue": false,
                                                    "isPure": true,
                                                    "lValueRequested": false,
                                                    "memberName": "encodeWithSignature",
                                                    "nodeType": "MemberAccess",
                                                    "src": "60897:23:62",
                                                    "typeDescriptions": {
                                                        "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$",
                                                        "typeString": "function (string memory) pure returns (bytes memory)"
                                                    }
                                                },
                                                "id": 20777,
                                                "isConstant": false,
                                                "isLValue": false,
                                                "isPure": false,
                                                "kind": "functionCall",
                                                "lValueRequested": false,
                                                "names": [],
                                                "nodeType": "FunctionCall",
                                                "src": "60897:75:62",
                                                "tryCall": false,
                                                "typeDescriptions": {
                                                    "typeIdentifier": "t_bytes_memory_ptr",
                                                    "typeString": "bytes memory"
                                                }
                                            }
                                        ],
                                        "expression": {
                                            "argumentTypes": [
                                                {
                                                    "typeIdentifier": "t_bytes_memory_ptr",
                                                    "typeString": "bytes memory"
                                                }
                                            ],
                                            "id": 20769,
                                            "name": "_sendLogPayload",
                                            "nodeType": "Identifier",
                                            "overloadedDeclarations": [],
                                            "referencedDeclaration": 12880,
                                            "src": "60881:15:62",
                                            "typeDescriptions": {
                                                "typeIdentifier": "t_function_internal_view$_t_bytes_memory_ptr_$returns$__$",
                                                "typeString": "function (bytes memory) view"
                                            }
                                        },
                                        "id": 20778,
                                        "isConstant": false,
                                        "isLValue": false,
                                        "isPure": false,
                                        "kind": "functionCall",
                                        "lValueRequested": false,
                                        "names": [],
                                        "nodeType": "FunctionCall",
                                        "src": "60881:92:62",
                                        "tryCall": false,
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_tuple$__$",
                                            "typeString": "tuple()"
                                        }
                                    },
                                    "id": 20779,
                                    "nodeType": "ExpressionStatement",
                                    "src": "60881:92:62"
                                }
                            ]
                        },
                        "id": 20781,
                        "implemented": true,
                        "kind": "function",
                        "modifiers": [],
                        "name": "log",
                        "nameLocation": "60808:3:62",
                        "nodeType": "FunctionDefinition",
                        "parameters": {
                            "id": 20767,
                            "nodeType": "ParameterList",
                            "parameters": [
                                {
                                    "constant": false,
                                    "id": 20760,
                                    "mutability": "mutable",
                                    "name": "p0",
                                    "nameLocation": "60820:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 20781,
                                    "src": "60812:10:62",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_address",
                                        "typeString": "address"
                                    },
                                    "typeName": {
                                        "id": 20759,
                                        "name": "address",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "60812:7:62",
                                        "stateMutability": "nonpayable",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_address",
                                            "typeString": "address"
                                        }
                                    },
                                    "visibility": "internal"
                                },
                                {
                                    "constant": false,
                                    "id": 20762,
                                    "mutability": "mutable",
                                    "name": "p1",
                                    "nameLocation": "60832:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 20781,
                                    "src": "60824:10:62",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_address",
                                        "typeString": "address"
                                    },
                                    "typeName": {
                                        "id": 20761,
                                        "name": "address",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "60824:7:62",
                                        "stateMutability": "nonpayable",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_address",
                                            "typeString": "address"
                                        }
                                    },
                                    "visibility": "internal"
                                },
                                {
                                    "constant": false,
                                    "id": 20764,
                                    "mutability": "mutable",
                                    "name": "p2",
                                    "nameLocation": "60841:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 20781,
                                    "src": "60836:7:62",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_bool",
                                        "typeString": "bool"
                                    },
                                    "typeName": {
                                        "id": 20763,
                                        "name": "bool",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "60836:4:62",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_bool",
                                            "typeString": "bool"
                                        }
                                    },
                                    "visibility": "internal"
                                },
                                {
                                    "constant": false,
                                    "id": 20766,
                                    "mutability": "mutable",
                                    "name": "p3",
                                    "nameLocation": "60859:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 20781,
                                    "src": "60845:16:62",
                                    "stateVariable": false,
                                    "storageLocation": "memory",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_string_memory_ptr",
                                        "typeString": "string"
                                    },
                                    "typeName": {
                                        "id": 20765,
                                        "name": "string",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "60845:6:62",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_string_storage_ptr",
                                            "typeString": "string"
                                        }
                                    },
                                    "visibility": "internal"
                                }
                            ],
                            "src": "60811:51:62"
                        },
                        "returnParameters": {
                            "id": 20768,
                            "nodeType": "ParameterList",
                            "parameters": [],
                            "src": "60877:0:62"
                        },
                        "scope": 20920,
                        "src": "60799:178:62",
                        "stateMutability": "view",
                        "virtual": false,
                        "visibility": "internal"
                    },
                    {
                        "body": {
                            "id": 20803,
                            "nodeType": "Block",
                            "src": "61049:98:62",
                            "statements": [
                                {
                                    "expression": {
                                        "arguments": [
                                            {
                                                "arguments": [
                                                    {
                                                        "hexValue": "6c6f6728616464726573732c616464726573732c626f6f6c2c626f6f6c29",
                                                        "id": 20795,
                                                        "isConstant": false,
                                                        "isLValue": false,
                                                        "isPure": true,
                                                        "kind": "string",
                                                        "lValueRequested": false,
                                                        "nodeType": "Literal",
                                                        "src": "61093:32:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_stringliteral_2cd4134aedbc2cd722f2b9715dc3acb74b16b253590361dd98a4d6cb66119b65",
                                                            "typeString": "literal_string \"log(address,address,bool,bool)\""
                                                        },
                                                        "value": "log(address,address,bool,bool)"
                                                    },
                                                    {
                                                        "id": 20796,
                                                        "name": "p0",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 20783,
                                                        "src": "61127:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_address",
                                                            "typeString": "address"
                                                        }
                                                    },
                                                    {
                                                        "id": 20797,
                                                        "name": "p1",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 20785,
                                                        "src": "61131:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_address",
                                                            "typeString": "address"
                                                        }
                                                    },
                                                    {
                                                        "id": 20798,
                                                        "name": "p2",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 20787,
                                                        "src": "61135:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_bool",
                                                            "typeString": "bool"
                                                        }
                                                    },
                                                    {
                                                        "id": 20799,
                                                        "name": "p3",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 20789,
                                                        "src": "61139:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_bool",
                                                            "typeString": "bool"
                                                        }
                                                    }
                                                ],
                                                "expression": {
                                                    "argumentTypes": [
                                                        {
                                                            "typeIdentifier": "t_stringliteral_2cd4134aedbc2cd722f2b9715dc3acb74b16b253590361dd98a4d6cb66119b65",
                                                            "typeString": "literal_string \"log(address,address,bool,bool)\""
                                                        },
                                                        {
                                                            "typeIdentifier": "t_address",
                                                            "typeString": "address"
                                                        },
                                                        {
                                                            "typeIdentifier": "t_address",
                                                            "typeString": "address"
                                                        },
                                                        {
                                                            "typeIdentifier": "t_bool",
                                                            "typeString": "bool"
                                                        },
                                                        {
                                                            "typeIdentifier": "t_bool",
                                                            "typeString": "bool"
                                                        }
                                                    ],
                                                    "expression": {
                                                        "id": 20793,
                                                        "name": "abi",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 4294967295,
                                                        "src": "61069:3:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_magic_abi",
                                                            "typeString": "abi"
                                                        }
                                                    },
                                                    "id": 20794,
                                                    "isConstant": false,
                                                    "isLValue": false,
                                                    "isPure": true,
                                                    "lValueRequested": false,
                                                    "memberName": "encodeWithSignature",
                                                    "nodeType": "MemberAccess",
                                                    "src": "61069:23:62",
                                                    "typeDescriptions": {
                                                        "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$",
                                                        "typeString": "function (string memory) pure returns (bytes memory)"
                                                    }
                                                },
                                                "id": 20800,
                                                "isConstant": false,
                                                "isLValue": false,
                                                "isPure": false,
                                                "kind": "functionCall",
                                                "lValueRequested": false,
                                                "names": [],
                                                "nodeType": "FunctionCall",
                                                "src": "61069:73:62",
                                                "tryCall": false,
                                                "typeDescriptions": {
                                                    "typeIdentifier": "t_bytes_memory_ptr",
                                                    "typeString": "bytes memory"
                                                }
                                            }
                                        ],
                                        "expression": {
                                            "argumentTypes": [
                                                {
                                                    "typeIdentifier": "t_bytes_memory_ptr",
                                                    "typeString": "bytes memory"
                                                }
                                            ],
                                            "id": 20792,
                                            "name": "_sendLogPayload",
                                            "nodeType": "Identifier",
                                            "overloadedDeclarations": [],
                                            "referencedDeclaration": 12880,
                                            "src": "61053:15:62",
                                            "typeDescriptions": {
                                                "typeIdentifier": "t_function_internal_view$_t_bytes_memory_ptr_$returns$__$",
                                                "typeString": "function (bytes memory) view"
                                            }
                                        },
                                        "id": 20801,
                                        "isConstant": false,
                                        "isLValue": false,
                                        "isPure": false,
                                        "kind": "functionCall",
                                        "lValueRequested": false,
                                        "names": [],
                                        "nodeType": "FunctionCall",
                                        "src": "61053:90:62",
                                        "tryCall": false,
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_tuple$__$",
                                            "typeString": "tuple()"
                                        }
                                    },
                                    "id": 20802,
                                    "nodeType": "ExpressionStatement",
                                    "src": "61053:90:62"
                                }
                            ]
                        },
                        "id": 20804,
                        "implemented": true,
                        "kind": "function",
                        "modifiers": [],
                        "name": "log",
                        "nameLocation": "60989:3:62",
                        "nodeType": "FunctionDefinition",
                        "parameters": {
                            "id": 20790,
                            "nodeType": "ParameterList",
                            "parameters": [
                                {
                                    "constant": false,
                                    "id": 20783,
                                    "mutability": "mutable",
                                    "name": "p0",
                                    "nameLocation": "61001:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 20804,
                                    "src": "60993:10:62",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_address",
                                        "typeString": "address"
                                    },
                                    "typeName": {
                                        "id": 20782,
                                        "name": "address",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "60993:7:62",
                                        "stateMutability": "nonpayable",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_address",
                                            "typeString": "address"
                                        }
                                    },
                                    "visibility": "internal"
                                },
                                {
                                    "constant": false,
                                    "id": 20785,
                                    "mutability": "mutable",
                                    "name": "p1",
                                    "nameLocation": "61013:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 20804,
                                    "src": "61005:10:62",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_address",
                                        "typeString": "address"
                                    },
                                    "typeName": {
                                        "id": 20784,
                                        "name": "address",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "61005:7:62",
                                        "stateMutability": "nonpayable",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_address",
                                            "typeString": "address"
                                        }
                                    },
                                    "visibility": "internal"
                                },
                                {
                                    "constant": false,
                                    "id": 20787,
                                    "mutability": "mutable",
                                    "name": "p2",
                                    "nameLocation": "61022:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 20804,
                                    "src": "61017:7:62",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_bool",
                                        "typeString": "bool"
                                    },
                                    "typeName": {
                                        "id": 20786,
                                        "name": "bool",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "61017:4:62",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_bool",
                                            "typeString": "bool"
                                        }
                                    },
                                    "visibility": "internal"
                                },
                                {
                                    "constant": false,
                                    "id": 20789,
                                    "mutability": "mutable",
                                    "name": "p3",
                                    "nameLocation": "61031:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 20804,
                                    "src": "61026:7:62",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_bool",
                                        "typeString": "bool"
                                    },
                                    "typeName": {
                                        "id": 20788,
                                        "name": "bool",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "61026:4:62",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_bool",
                                            "typeString": "bool"
                                        }
                                    },
                                    "visibility": "internal"
                                }
                            ],
                            "src": "60992:42:62"
                        },
                        "returnParameters": {
                            "id": 20791,
                            "nodeType": "ParameterList",
                            "parameters": [],
                            "src": "61049:0:62"
                        },
                        "scope": 20920,
                        "src": "60980:167:62",
                        "stateMutability": "view",
                        "virtual": false,
                        "visibility": "internal"
                    },
                    {
                        "body": {
                            "id": 20826,
                            "nodeType": "Block",
                            "src": "61222:101:62",
                            "statements": [
                                {
                                    "expression": {
                                        "arguments": [
                                            {
                                                "arguments": [
                                                    {
                                                        "hexValue": "6c6f6728616464726573732c616464726573732c626f6f6c2c6164647265737329",
                                                        "id": 20818,
                                                        "isConstant": false,
                                                        "isLValue": false,
                                                        "isPure": true,
                                                        "kind": "string",
                                                        "lValueRequested": false,
                                                        "nodeType": "Literal",
                                                        "src": "61266:35:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_stringliteral_9f1bc36e6c1a1385bfe3a230338e478ee5447b81d25d35962aff021b2c578b9c",
                                                            "typeString": "literal_string \"log(address,address,bool,address)\""
                                                        },
                                                        "value": "log(address,address,bool,address)"
                                                    },
                                                    {
                                                        "id": 20819,
                                                        "name": "p0",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 20806,
                                                        "src": "61303:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_address",
                                                            "typeString": "address"
                                                        }
                                                    },
                                                    {
                                                        "id": 20820,
                                                        "name": "p1",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 20808,
                                                        "src": "61307:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_address",
                                                            "typeString": "address"
                                                        }
                                                    },
                                                    {
                                                        "id": 20821,
                                                        "name": "p2",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 20810,
                                                        "src": "61311:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_bool",
                                                            "typeString": "bool"
                                                        }
                                                    },
                                                    {
                                                        "id": 20822,
                                                        "name": "p3",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 20812,
                                                        "src": "61315:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_address",
                                                            "typeString": "address"
                                                        }
                                                    }
                                                ],
                                                "expression": {
                                                    "argumentTypes": [
                                                        {
                                                            "typeIdentifier": "t_stringliteral_9f1bc36e6c1a1385bfe3a230338e478ee5447b81d25d35962aff021b2c578b9c",
                                                            "typeString": "literal_string \"log(address,address,bool,address)\""
                                                        },
                                                        {
                                                            "typeIdentifier": "t_address",
                                                            "typeString": "address"
                                                        },
                                                        {
                                                            "typeIdentifier": "t_address",
                                                            "typeString": "address"
                                                        },
                                                        {
                                                            "typeIdentifier": "t_bool",
                                                            "typeString": "bool"
                                                        },
                                                        {
                                                            "typeIdentifier": "t_address",
                                                            "typeString": "address"
                                                        }
                                                    ],
                                                    "expression": {
                                                        "id": 20816,
                                                        "name": "abi",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 4294967295,
                                                        "src": "61242:3:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_magic_abi",
                                                            "typeString": "abi"
                                                        }
                                                    },
                                                    "id": 20817,
                                                    "isConstant": false,
                                                    "isLValue": false,
                                                    "isPure": true,
                                                    "lValueRequested": false,
                                                    "memberName": "encodeWithSignature",
                                                    "nodeType": "MemberAccess",
                                                    "src": "61242:23:62",
                                                    "typeDescriptions": {
                                                        "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$",
                                                        "typeString": "function (string memory) pure returns (bytes memory)"
                                                    }
                                                },
                                                "id": 20823,
                                                "isConstant": false,
                                                "isLValue": false,
                                                "isPure": false,
                                                "kind": "functionCall",
                                                "lValueRequested": false,
                                                "names": [],
                                                "nodeType": "FunctionCall",
                                                "src": "61242:76:62",
                                                "tryCall": false,
                                                "typeDescriptions": {
                                                    "typeIdentifier": "t_bytes_memory_ptr",
                                                    "typeString": "bytes memory"
                                                }
                                            }
                                        ],
                                        "expression": {
                                            "argumentTypes": [
                                                {
                                                    "typeIdentifier": "t_bytes_memory_ptr",
                                                    "typeString": "bytes memory"
                                                }
                                            ],
                                            "id": 20815,
                                            "name": "_sendLogPayload",
                                            "nodeType": "Identifier",
                                            "overloadedDeclarations": [],
                                            "referencedDeclaration": 12880,
                                            "src": "61226:15:62",
                                            "typeDescriptions": {
                                                "typeIdentifier": "t_function_internal_view$_t_bytes_memory_ptr_$returns$__$",
                                                "typeString": "function (bytes memory) view"
                                            }
                                        },
                                        "id": 20824,
                                        "isConstant": false,
                                        "isLValue": false,
                                        "isPure": false,
                                        "kind": "functionCall",
                                        "lValueRequested": false,
                                        "names": [],
                                        "nodeType": "FunctionCall",
                                        "src": "61226:93:62",
                                        "tryCall": false,
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_tuple$__$",
                                            "typeString": "tuple()"
                                        }
                                    },
                                    "id": 20825,
                                    "nodeType": "ExpressionStatement",
                                    "src": "61226:93:62"
                                }
                            ]
                        },
                        "id": 20827,
                        "implemented": true,
                        "kind": "function",
                        "modifiers": [],
                        "name": "log",
                        "nameLocation": "61159:3:62",
                        "nodeType": "FunctionDefinition",
                        "parameters": {
                            "id": 20813,
                            "nodeType": "ParameterList",
                            "parameters": [
                                {
                                    "constant": false,
                                    "id": 20806,
                                    "mutability": "mutable",
                                    "name": "p0",
                                    "nameLocation": "61171:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 20827,
                                    "src": "61163:10:62",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_address",
                                        "typeString": "address"
                                    },
                                    "typeName": {
                                        "id": 20805,
                                        "name": "address",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "61163:7:62",
                                        "stateMutability": "nonpayable",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_address",
                                            "typeString": "address"
                                        }
                                    },
                                    "visibility": "internal"
                                },
                                {
                                    "constant": false,
                                    "id": 20808,
                                    "mutability": "mutable",
                                    "name": "p1",
                                    "nameLocation": "61183:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 20827,
                                    "src": "61175:10:62",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_address",
                                        "typeString": "address"
                                    },
                                    "typeName": {
                                        "id": 20807,
                                        "name": "address",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "61175:7:62",
                                        "stateMutability": "nonpayable",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_address",
                                            "typeString": "address"
                                        }
                                    },
                                    "visibility": "internal"
                                },
                                {
                                    "constant": false,
                                    "id": 20810,
                                    "mutability": "mutable",
                                    "name": "p2",
                                    "nameLocation": "61192:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 20827,
                                    "src": "61187:7:62",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_bool",
                                        "typeString": "bool"
                                    },
                                    "typeName": {
                                        "id": 20809,
                                        "name": "bool",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "61187:4:62",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_bool",
                                            "typeString": "bool"
                                        }
                                    },
                                    "visibility": "internal"
                                },
                                {
                                    "constant": false,
                                    "id": 20812,
                                    "mutability": "mutable",
                                    "name": "p3",
                                    "nameLocation": "61204:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 20827,
                                    "src": "61196:10:62",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_address",
                                        "typeString": "address"
                                    },
                                    "typeName": {
                                        "id": 20811,
                                        "name": "address",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "61196:7:62",
                                        "stateMutability": "nonpayable",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_address",
                                            "typeString": "address"
                                        }
                                    },
                                    "visibility": "internal"
                                }
                            ],
                            "src": "61162:45:62"
                        },
                        "returnParameters": {
                            "id": 20814,
                            "nodeType": "ParameterList",
                            "parameters": [],
                            "src": "61222:0:62"
                        },
                        "scope": 20920,
                        "src": "61150:173:62",
                        "stateMutability": "view",
                        "virtual": false,
                        "visibility": "internal"
                    },
                    {
                        "body": {
                            "id": 20849,
                            "nodeType": "Block",
                            "src": "61398:101:62",
                            "statements": [
                                {
                                    "expression": {
                                        "arguments": [
                                            {
                                                "arguments": [
                                                    {
                                                        "hexValue": "6c6f6728616464726573732c616464726573732c616464726573732c75696e7429",
                                                        "id": 20841,
                                                        "isConstant": false,
                                                        "isLValue": false,
                                                        "isPure": true,
                                                        "kind": "string",
                                                        "lValueRequested": false,
                                                        "nodeType": "Literal",
                                                        "src": "61442:35:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_stringliteral_ed5eac8706392442fff9f76d5de4d50b9cc22387f3f19d447470771094406028",
                                                            "typeString": "literal_string \"log(address,address,address,uint)\""
                                                        },
                                                        "value": "log(address,address,address,uint)"
                                                    },
                                                    {
                                                        "id": 20842,
                                                        "name": "p0",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 20829,
                                                        "src": "61479:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_address",
                                                            "typeString": "address"
                                                        }
                                                    },
                                                    {
                                                        "id": 20843,
                                                        "name": "p1",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 20831,
                                                        "src": "61483:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_address",
                                                            "typeString": "address"
                                                        }
                                                    },
                                                    {
                                                        "id": 20844,
                                                        "name": "p2",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 20833,
                                                        "src": "61487:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_address",
                                                            "typeString": "address"
                                                        }
                                                    },
                                                    {
                                                        "id": 20845,
                                                        "name": "p3",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 20835,
                                                        "src": "61491:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_uint256",
                                                            "typeString": "uint256"
                                                        }
                                                    }
                                                ],
                                                "expression": {
                                                    "argumentTypes": [
                                                        {
                                                            "typeIdentifier": "t_stringliteral_ed5eac8706392442fff9f76d5de4d50b9cc22387f3f19d447470771094406028",
                                                            "typeString": "literal_string \"log(address,address,address,uint)\""
                                                        },
                                                        {
                                                            "typeIdentifier": "t_address",
                                                            "typeString": "address"
                                                        },
                                                        {
                                                            "typeIdentifier": "t_address",
                                                            "typeString": "address"
                                                        },
                                                        {
                                                            "typeIdentifier": "t_address",
                                                            "typeString": "address"
                                                        },
                                                        {
                                                            "typeIdentifier": "t_uint256",
                                                            "typeString": "uint256"
                                                        }
                                                    ],
                                                    "expression": {
                                                        "id": 20839,
                                                        "name": "abi",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 4294967295,
                                                        "src": "61418:3:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_magic_abi",
                                                            "typeString": "abi"
                                                        }
                                                    },
                                                    "id": 20840,
                                                    "isConstant": false,
                                                    "isLValue": false,
                                                    "isPure": true,
                                                    "lValueRequested": false,
                                                    "memberName": "encodeWithSignature",
                                                    "nodeType": "MemberAccess",
                                                    "src": "61418:23:62",
                                                    "typeDescriptions": {
                                                        "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$",
                                                        "typeString": "function (string memory) pure returns (bytes memory)"
                                                    }
                                                },
                                                "id": 20846,
                                                "isConstant": false,
                                                "isLValue": false,
                                                "isPure": false,
                                                "kind": "functionCall",
                                                "lValueRequested": false,
                                                "names": [],
                                                "nodeType": "FunctionCall",
                                                "src": "61418:76:62",
                                                "tryCall": false,
                                                "typeDescriptions": {
                                                    "typeIdentifier": "t_bytes_memory_ptr",
                                                    "typeString": "bytes memory"
                                                }
                                            }
                                        ],
                                        "expression": {
                                            "argumentTypes": [
                                                {
                                                    "typeIdentifier": "t_bytes_memory_ptr",
                                                    "typeString": "bytes memory"
                                                }
                                            ],
                                            "id": 20838,
                                            "name": "_sendLogPayload",
                                            "nodeType": "Identifier",
                                            "overloadedDeclarations": [],
                                            "referencedDeclaration": 12880,
                                            "src": "61402:15:62",
                                            "typeDescriptions": {
                                                "typeIdentifier": "t_function_internal_view$_t_bytes_memory_ptr_$returns$__$",
                                                "typeString": "function (bytes memory) view"
                                            }
                                        },
                                        "id": 20847,
                                        "isConstant": false,
                                        "isLValue": false,
                                        "isPure": false,
                                        "kind": "functionCall",
                                        "lValueRequested": false,
                                        "names": [],
                                        "nodeType": "FunctionCall",
                                        "src": "61402:93:62",
                                        "tryCall": false,
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_tuple$__$",
                                            "typeString": "tuple()"
                                        }
                                    },
                                    "id": 20848,
                                    "nodeType": "ExpressionStatement",
                                    "src": "61402:93:62"
                                }
                            ]
                        },
                        "id": 20850,
                        "implemented": true,
                        "kind": "function",
                        "modifiers": [],
                        "name": "log",
                        "nameLocation": "61335:3:62",
                        "nodeType": "FunctionDefinition",
                        "parameters": {
                            "id": 20836,
                            "nodeType": "ParameterList",
                            "parameters": [
                                {
                                    "constant": false,
                                    "id": 20829,
                                    "mutability": "mutable",
                                    "name": "p0",
                                    "nameLocation": "61347:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 20850,
                                    "src": "61339:10:62",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_address",
                                        "typeString": "address"
                                    },
                                    "typeName": {
                                        "id": 20828,
                                        "name": "address",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "61339:7:62",
                                        "stateMutability": "nonpayable",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_address",
                                            "typeString": "address"
                                        }
                                    },
                                    "visibility": "internal"
                                },
                                {
                                    "constant": false,
                                    "id": 20831,
                                    "mutability": "mutable",
                                    "name": "p1",
                                    "nameLocation": "61359:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 20850,
                                    "src": "61351:10:62",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_address",
                                        "typeString": "address"
                                    },
                                    "typeName": {
                                        "id": 20830,
                                        "name": "address",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "61351:7:62",
                                        "stateMutability": "nonpayable",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_address",
                                            "typeString": "address"
                                        }
                                    },
                                    "visibility": "internal"
                                },
                                {
                                    "constant": false,
                                    "id": 20833,
                                    "mutability": "mutable",
                                    "name": "p2",
                                    "nameLocation": "61371:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 20850,
                                    "src": "61363:10:62",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_address",
                                        "typeString": "address"
                                    },
                                    "typeName": {
                                        "id": 20832,
                                        "name": "address",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "61363:7:62",
                                        "stateMutability": "nonpayable",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_address",
                                            "typeString": "address"
                                        }
                                    },
                                    "visibility": "internal"
                                },
                                {
                                    "constant": false,
                                    "id": 20835,
                                    "mutability": "mutable",
                                    "name": "p3",
                                    "nameLocation": "61380:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 20850,
                                    "src": "61375:7:62",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_uint256",
                                        "typeString": "uint256"
                                    },
                                    "typeName": {
                                        "id": 20834,
                                        "name": "uint",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "61375:4:62",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_uint256",
                                            "typeString": "uint256"
                                        }
                                    },
                                    "visibility": "internal"
                                }
                            ],
                            "src": "61338:45:62"
                        },
                        "returnParameters": {
                            "id": 20837,
                            "nodeType": "ParameterList",
                            "parameters": [],
                            "src": "61398:0:62"
                        },
                        "scope": 20920,
                        "src": "61326:173:62",
                        "stateMutability": "view",
                        "virtual": false,
                        "visibility": "internal"
                    },
                    {
                        "body": {
                            "id": 20872,
                            "nodeType": "Block",
                            "src": "61583:103:62",
                            "statements": [
                                {
                                    "expression": {
                                        "arguments": [
                                            {
                                                "arguments": [
                                                    {
                                                        "hexValue": "6c6f6728616464726573732c616464726573732c616464726573732c737472696e6729",
                                                        "id": 20864,
                                                        "isConstant": false,
                                                        "isLValue": false,
                                                        "isPure": true,
                                                        "kind": "string",
                                                        "lValueRequested": false,
                                                        "nodeType": "Literal",
                                                        "src": "61627:37:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_stringliteral_f808da2086fed855c3e15d9dbfed3b17a93ed9a59947aae6ab05b7e18576f025",
                                                            "typeString": "literal_string \"log(address,address,address,string)\""
                                                        },
                                                        "value": "log(address,address,address,string)"
                                                    },
                                                    {
                                                        "id": 20865,
                                                        "name": "p0",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 20852,
                                                        "src": "61666:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_address",
                                                            "typeString": "address"
                                                        }
                                                    },
                                                    {
                                                        "id": 20866,
                                                        "name": "p1",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 20854,
                                                        "src": "61670:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_address",
                                                            "typeString": "address"
                                                        }
                                                    },
                                                    {
                                                        "id": 20867,
                                                        "name": "p2",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 20856,
                                                        "src": "61674:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_address",
                                                            "typeString": "address"
                                                        }
                                                    },
                                                    {
                                                        "id": 20868,
                                                        "name": "p3",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 20858,
                                                        "src": "61678:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_string_memory_ptr",
                                                            "typeString": "string memory"
                                                        }
                                                    }
                                                ],
                                                "expression": {
                                                    "argumentTypes": [
                                                        {
                                                            "typeIdentifier": "t_stringliteral_f808da2086fed855c3e15d9dbfed3b17a93ed9a59947aae6ab05b7e18576f025",
                                                            "typeString": "literal_string \"log(address,address,address,string)\""
                                                        },
                                                        {
                                                            "typeIdentifier": "t_address",
                                                            "typeString": "address"
                                                        },
                                                        {
                                                            "typeIdentifier": "t_address",
                                                            "typeString": "address"
                                                        },
                                                        {
                                                            "typeIdentifier": "t_address",
                                                            "typeString": "address"
                                                        },
                                                        {
                                                            "typeIdentifier": "t_string_memory_ptr",
                                                            "typeString": "string memory"
                                                        }
                                                    ],
                                                    "expression": {
                                                        "id": 20862,
                                                        "name": "abi",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 4294967295,
                                                        "src": "61603:3:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_magic_abi",
                                                            "typeString": "abi"
                                                        }
                                                    },
                                                    "id": 20863,
                                                    "isConstant": false,
                                                    "isLValue": false,
                                                    "isPure": true,
                                                    "lValueRequested": false,
                                                    "memberName": "encodeWithSignature",
                                                    "nodeType": "MemberAccess",
                                                    "src": "61603:23:62",
                                                    "typeDescriptions": {
                                                        "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$",
                                                        "typeString": "function (string memory) pure returns (bytes memory)"
                                                    }
                                                },
                                                "id": 20869,
                                                "isConstant": false,
                                                "isLValue": false,
                                                "isPure": false,
                                                "kind": "functionCall",
                                                "lValueRequested": false,
                                                "names": [],
                                                "nodeType": "FunctionCall",
                                                "src": "61603:78:62",
                                                "tryCall": false,
                                                "typeDescriptions": {
                                                    "typeIdentifier": "t_bytes_memory_ptr",
                                                    "typeString": "bytes memory"
                                                }
                                            }
                                        ],
                                        "expression": {
                                            "argumentTypes": [
                                                {
                                                    "typeIdentifier": "t_bytes_memory_ptr",
                                                    "typeString": "bytes memory"
                                                }
                                            ],
                                            "id": 20861,
                                            "name": "_sendLogPayload",
                                            "nodeType": "Identifier",
                                            "overloadedDeclarations": [],
                                            "referencedDeclaration": 12880,
                                            "src": "61587:15:62",
                                            "typeDescriptions": {
                                                "typeIdentifier": "t_function_internal_view$_t_bytes_memory_ptr_$returns$__$",
                                                "typeString": "function (bytes memory) view"
                                            }
                                        },
                                        "id": 20870,
                                        "isConstant": false,
                                        "isLValue": false,
                                        "isPure": false,
                                        "kind": "functionCall",
                                        "lValueRequested": false,
                                        "names": [],
                                        "nodeType": "FunctionCall",
                                        "src": "61587:95:62",
                                        "tryCall": false,
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_tuple$__$",
                                            "typeString": "tuple()"
                                        }
                                    },
                                    "id": 20871,
                                    "nodeType": "ExpressionStatement",
                                    "src": "61587:95:62"
                                }
                            ]
                        },
                        "id": 20873,
                        "implemented": true,
                        "kind": "function",
                        "modifiers": [],
                        "name": "log",
                        "nameLocation": "61511:3:62",
                        "nodeType": "FunctionDefinition",
                        "parameters": {
                            "id": 20859,
                            "nodeType": "ParameterList",
                            "parameters": [
                                {
                                    "constant": false,
                                    "id": 20852,
                                    "mutability": "mutable",
                                    "name": "p0",
                                    "nameLocation": "61523:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 20873,
                                    "src": "61515:10:62",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_address",
                                        "typeString": "address"
                                    },
                                    "typeName": {
                                        "id": 20851,
                                        "name": "address",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "61515:7:62",
                                        "stateMutability": "nonpayable",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_address",
                                            "typeString": "address"
                                        }
                                    },
                                    "visibility": "internal"
                                },
                                {
                                    "constant": false,
                                    "id": 20854,
                                    "mutability": "mutable",
                                    "name": "p1",
                                    "nameLocation": "61535:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 20873,
                                    "src": "61527:10:62",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_address",
                                        "typeString": "address"
                                    },
                                    "typeName": {
                                        "id": 20853,
                                        "name": "address",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "61527:7:62",
                                        "stateMutability": "nonpayable",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_address",
                                            "typeString": "address"
                                        }
                                    },
                                    "visibility": "internal"
                                },
                                {
                                    "constant": false,
                                    "id": 20856,
                                    "mutability": "mutable",
                                    "name": "p2",
                                    "nameLocation": "61547:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 20873,
                                    "src": "61539:10:62",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_address",
                                        "typeString": "address"
                                    },
                                    "typeName": {
                                        "id": 20855,
                                        "name": "address",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "61539:7:62",
                                        "stateMutability": "nonpayable",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_address",
                                            "typeString": "address"
                                        }
                                    },
                                    "visibility": "internal"
                                },
                                {
                                    "constant": false,
                                    "id": 20858,
                                    "mutability": "mutable",
                                    "name": "p3",
                                    "nameLocation": "61565:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 20873,
                                    "src": "61551:16:62",
                                    "stateVariable": false,
                                    "storageLocation": "memory",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_string_memory_ptr",
                                        "typeString": "string"
                                    },
                                    "typeName": {
                                        "id": 20857,
                                        "name": "string",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "61551:6:62",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_string_storage_ptr",
                                            "typeString": "string"
                                        }
                                    },
                                    "visibility": "internal"
                                }
                            ],
                            "src": "61514:54:62"
                        },
                        "returnParameters": {
                            "id": 20860,
                            "nodeType": "ParameterList",
                            "parameters": [],
                            "src": "61583:0:62"
                        },
                        "scope": 20920,
                        "src": "61502:184:62",
                        "stateMutability": "view",
                        "virtual": false,
                        "visibility": "internal"
                    },
                    {
                        "body": {
                            "id": 20895,
                            "nodeType": "Block",
                            "src": "61761:101:62",
                            "statements": [
                                {
                                    "expression": {
                                        "arguments": [
                                            {
                                                "arguments": [
                                                    {
                                                        "hexValue": "6c6f6728616464726573732c616464726573732c616464726573732c626f6f6c29",
                                                        "id": 20887,
                                                        "isConstant": false,
                                                        "isLValue": false,
                                                        "isPure": true,
                                                        "kind": "string",
                                                        "lValueRequested": false,
                                                        "nodeType": "Literal",
                                                        "src": "61805:35:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_stringliteral_0e378994a4cd2663acfd73a7ad4e09d196e4fb7ee05b7cdf0708eb30271e2afb",
                                                            "typeString": "literal_string \"log(address,address,address,bool)\""
                                                        },
                                                        "value": "log(address,address,address,bool)"
                                                    },
                                                    {
                                                        "id": 20888,
                                                        "name": "p0",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 20875,
                                                        "src": "61842:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_address",
                                                            "typeString": "address"
                                                        }
                                                    },
                                                    {
                                                        "id": 20889,
                                                        "name": "p1",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 20877,
                                                        "src": "61846:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_address",
                                                            "typeString": "address"
                                                        }
                                                    },
                                                    {
                                                        "id": 20890,
                                                        "name": "p2",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 20879,
                                                        "src": "61850:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_address",
                                                            "typeString": "address"
                                                        }
                                                    },
                                                    {
                                                        "id": 20891,
                                                        "name": "p3",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 20881,
                                                        "src": "61854:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_bool",
                                                            "typeString": "bool"
                                                        }
                                                    }
                                                ],
                                                "expression": {
                                                    "argumentTypes": [
                                                        {
                                                            "typeIdentifier": "t_stringliteral_0e378994a4cd2663acfd73a7ad4e09d196e4fb7ee05b7cdf0708eb30271e2afb",
                                                            "typeString": "literal_string \"log(address,address,address,bool)\""
                                                        },
                                                        {
                                                            "typeIdentifier": "t_address",
                                                            "typeString": "address"
                                                        },
                                                        {
                                                            "typeIdentifier": "t_address",
                                                            "typeString": "address"
                                                        },
                                                        {
                                                            "typeIdentifier": "t_address",
                                                            "typeString": "address"
                                                        },
                                                        {
                                                            "typeIdentifier": "t_bool",
                                                            "typeString": "bool"
                                                        }
                                                    ],
                                                    "expression": {
                                                        "id": 20885,
                                                        "name": "abi",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 4294967295,
                                                        "src": "61781:3:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_magic_abi",
                                                            "typeString": "abi"
                                                        }
                                                    },
                                                    "id": 20886,
                                                    "isConstant": false,
                                                    "isLValue": false,
                                                    "isPure": true,
                                                    "lValueRequested": false,
                                                    "memberName": "encodeWithSignature",
                                                    "nodeType": "MemberAccess",
                                                    "src": "61781:23:62",
                                                    "typeDescriptions": {
                                                        "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$",
                                                        "typeString": "function (string memory) pure returns (bytes memory)"
                                                    }
                                                },
                                                "id": 20892,
                                                "isConstant": false,
                                                "isLValue": false,
                                                "isPure": false,
                                                "kind": "functionCall",
                                                "lValueRequested": false,
                                                "names": [],
                                                "nodeType": "FunctionCall",
                                                "src": "61781:76:62",
                                                "tryCall": false,
                                                "typeDescriptions": {
                                                    "typeIdentifier": "t_bytes_memory_ptr",
                                                    "typeString": "bytes memory"
                                                }
                                            }
                                        ],
                                        "expression": {
                                            "argumentTypes": [
                                                {
                                                    "typeIdentifier": "t_bytes_memory_ptr",
                                                    "typeString": "bytes memory"
                                                }
                                            ],
                                            "id": 20884,
                                            "name": "_sendLogPayload",
                                            "nodeType": "Identifier",
                                            "overloadedDeclarations": [],
                                            "referencedDeclaration": 12880,
                                            "src": "61765:15:62",
                                            "typeDescriptions": {
                                                "typeIdentifier": "t_function_internal_view$_t_bytes_memory_ptr_$returns$__$",
                                                "typeString": "function (bytes memory) view"
                                            }
                                        },
                                        "id": 20893,
                                        "isConstant": false,
                                        "isLValue": false,
                                        "isPure": false,
                                        "kind": "functionCall",
                                        "lValueRequested": false,
                                        "names": [],
                                        "nodeType": "FunctionCall",
                                        "src": "61765:93:62",
                                        "tryCall": false,
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_tuple$__$",
                                            "typeString": "tuple()"
                                        }
                                    },
                                    "id": 20894,
                                    "nodeType": "ExpressionStatement",
                                    "src": "61765:93:62"
                                }
                            ]
                        },
                        "id": 20896,
                        "implemented": true,
                        "kind": "function",
                        "modifiers": [],
                        "name": "log",
                        "nameLocation": "61698:3:62",
                        "nodeType": "FunctionDefinition",
                        "parameters": {
                            "id": 20882,
                            "nodeType": "ParameterList",
                            "parameters": [
                                {
                                    "constant": false,
                                    "id": 20875,
                                    "mutability": "mutable",
                                    "name": "p0",
                                    "nameLocation": "61710:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 20896,
                                    "src": "61702:10:62",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_address",
                                        "typeString": "address"
                                    },
                                    "typeName": {
                                        "id": 20874,
                                        "name": "address",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "61702:7:62",
                                        "stateMutability": "nonpayable",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_address",
                                            "typeString": "address"
                                        }
                                    },
                                    "visibility": "internal"
                                },
                                {
                                    "constant": false,
                                    "id": 20877,
                                    "mutability": "mutable",
                                    "name": "p1",
                                    "nameLocation": "61722:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 20896,
                                    "src": "61714:10:62",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_address",
                                        "typeString": "address"
                                    },
                                    "typeName": {
                                        "id": 20876,
                                        "name": "address",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "61714:7:62",
                                        "stateMutability": "nonpayable",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_address",
                                            "typeString": "address"
                                        }
                                    },
                                    "visibility": "internal"
                                },
                                {
                                    "constant": false,
                                    "id": 20879,
                                    "mutability": "mutable",
                                    "name": "p2",
                                    "nameLocation": "61734:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 20896,
                                    "src": "61726:10:62",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_address",
                                        "typeString": "address"
                                    },
                                    "typeName": {
                                        "id": 20878,
                                        "name": "address",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "61726:7:62",
                                        "stateMutability": "nonpayable",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_address",
                                            "typeString": "address"
                                        }
                                    },
                                    "visibility": "internal"
                                },
                                {
                                    "constant": false,
                                    "id": 20881,
                                    "mutability": "mutable",
                                    "name": "p3",
                                    "nameLocation": "61743:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 20896,
                                    "src": "61738:7:62",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_bool",
                                        "typeString": "bool"
                                    },
                                    "typeName": {
                                        "id": 20880,
                                        "name": "bool",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "61738:4:62",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_bool",
                                            "typeString": "bool"
                                        }
                                    },
                                    "visibility": "internal"
                                }
                            ],
                            "src": "61701:45:62"
                        },
                        "returnParameters": {
                            "id": 20883,
                            "nodeType": "ParameterList",
                            "parameters": [],
                            "src": "61761:0:62"
                        },
                        "scope": 20920,
                        "src": "61689:173:62",
                        "stateMutability": "view",
                        "virtual": false,
                        "visibility": "internal"
                    },
                    {
                        "body": {
                            "id": 20918,
                            "nodeType": "Block",
                            "src": "61940:104:62",
                            "statements": [
                                {
                                    "expression": {
                                        "arguments": [
                                            {
                                                "arguments": [
                                                    {
                                                        "hexValue": "6c6f6728616464726573732c616464726573732c616464726573732c6164647265737329",
                                                        "id": 20910,
                                                        "isConstant": false,
                                                        "isLValue": false,
                                                        "isPure": true,
                                                        "kind": "string",
                                                        "lValueRequested": false,
                                                        "nodeType": "Literal",
                                                        "src": "61984:38:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_stringliteral_665bf1345e006aa321c0b6b71bed55ce0d6cdd812632f8c43114f62c55ffa0b5",
                                                            "typeString": "literal_string \"log(address,address,address,address)\""
                                                        },
                                                        "value": "log(address,address,address,address)"
                                                    },
                                                    {
                                                        "id": 20911,
                                                        "name": "p0",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 20898,
                                                        "src": "62024:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_address",
                                                            "typeString": "address"
                                                        }
                                                    },
                                                    {
                                                        "id": 20912,
                                                        "name": "p1",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 20900,
                                                        "src": "62028:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_address",
                                                            "typeString": "address"
                                                        }
                                                    },
                                                    {
                                                        "id": 20913,
                                                        "name": "p2",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 20902,
                                                        "src": "62032:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_address",
                                                            "typeString": "address"
                                                        }
                                                    },
                                                    {
                                                        "id": 20914,
                                                        "name": "p3",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 20904,
                                                        "src": "62036:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_address",
                                                            "typeString": "address"
                                                        }
                                                    }
                                                ],
                                                "expression": {
                                                    "argumentTypes": [
                                                        {
                                                            "typeIdentifier": "t_stringliteral_665bf1345e006aa321c0b6b71bed55ce0d6cdd812632f8c43114f62c55ffa0b5",
                                                            "typeString": "literal_string \"log(address,address,address,address)\""
                                                        },
                                                        {
                                                            "typeIdentifier": "t_address",
                                                            "typeString": "address"
                                                        },
                                                        {
                                                            "typeIdentifier": "t_address",
                                                            "typeString": "address"
                                                        },
                                                        {
                                                            "typeIdentifier": "t_address",
                                                            "typeString": "address"
                                                        },
                                                        {
                                                            "typeIdentifier": "t_address",
                                                            "typeString": "address"
                                                        }
                                                    ],
                                                    "expression": {
                                                        "id": 20908,
                                                        "name": "abi",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 4294967295,
                                                        "src": "61960:3:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_magic_abi",
                                                            "typeString": "abi"
                                                        }
                                                    },
                                                    "id": 20909,
                                                    "isConstant": false,
                                                    "isLValue": false,
                                                    "isPure": true,
                                                    "lValueRequested": false,
                                                    "memberName": "encodeWithSignature",
                                                    "nodeType": "MemberAccess",
                                                    "src": "61960:23:62",
                                                    "typeDescriptions": {
                                                        "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$",
                                                        "typeString": "function (string memory) pure returns (bytes memory)"
                                                    }
                                                },
                                                "id": 20915,
                                                "isConstant": false,
                                                "isLValue": false,
                                                "isPure": false,
                                                "kind": "functionCall",
                                                "lValueRequested": false,
                                                "names": [],
                                                "nodeType": "FunctionCall",
                                                "src": "61960:79:62",
                                                "tryCall": false,
                                                "typeDescriptions": {
                                                    "typeIdentifier": "t_bytes_memory_ptr",
                                                    "typeString": "bytes memory"
                                                }
                                            }
                                        ],
                                        "expression": {
                                            "argumentTypes": [
                                                {
                                                    "typeIdentifier": "t_bytes_memory_ptr",
                                                    "typeString": "bytes memory"
                                                }
                                            ],
                                            "id": 20907,
                                            "name": "_sendLogPayload",
                                            "nodeType": "Identifier",
                                            "overloadedDeclarations": [],
                                            "referencedDeclaration": 12880,
                                            "src": "61944:15:62",
                                            "typeDescriptions": {
                                                "typeIdentifier": "t_function_internal_view$_t_bytes_memory_ptr_$returns$__$",
                                                "typeString": "function (bytes memory) view"
                                            }
                                        },
                                        "id": 20916,
                                        "isConstant": false,
                                        "isLValue": false,
                                        "isPure": false,
                                        "kind": "functionCall",
                                        "lValueRequested": false,
                                        "names": [],
                                        "nodeType": "FunctionCall",
                                        "src": "61944:96:62",
                                        "tryCall": false,
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_tuple$__$",
                                            "typeString": "tuple()"
                                        }
                                    },
                                    "id": 20917,
                                    "nodeType": "ExpressionStatement",
                                    "src": "61944:96:62"
                                }
                            ]
                        },
                        "id": 20919,
                        "implemented": true,
                        "kind": "function",
                        "modifiers": [],
                        "name": "log",
                        "nameLocation": "61874:3:62",
                        "nodeType": "FunctionDefinition",
                        "parameters": {
                            "id": 20905,
                            "nodeType": "ParameterList",
                            "parameters": [
                                {
                                    "constant": false,
                                    "id": 20898,
                                    "mutability": "mutable",
                                    "name": "p0",
                                    "nameLocation": "61886:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 20919,
                                    "src": "61878:10:62",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_address",
                                        "typeString": "address"
                                    },
                                    "typeName": {
                                        "id": 20897,
                                        "name": "address",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "61878:7:62",
                                        "stateMutability": "nonpayable",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_address",
                                            "typeString": "address"
                                        }
                                    },
                                    "visibility": "internal"
                                },
                                {
                                    "constant": false,
                                    "id": 20900,
                                    "mutability": "mutable",
                                    "name": "p1",
                                    "nameLocation": "61898:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 20919,
                                    "src": "61890:10:62",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_address",
                                        "typeString": "address"
                                    },
                                    "typeName": {
                                        "id": 20899,
                                        "name": "address",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "61890:7:62",
                                        "stateMutability": "nonpayable",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_address",
                                            "typeString": "address"
                                        }
                                    },
                                    "visibility": "internal"
                                },
                                {
                                    "constant": false,
                                    "id": 20902,
                                    "mutability": "mutable",
                                    "name": "p2",
                                    "nameLocation": "61910:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 20919,
                                    "src": "61902:10:62",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_address",
                                        "typeString": "address"
                                    },
                                    "typeName": {
                                        "id": 20901,
                                        "name": "address",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "61902:7:62",
                                        "stateMutability": "nonpayable",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_address",
                                            "typeString": "address"
                                        }
                                    },
                                    "visibility": "internal"
                                },
                                {
                                    "constant": false,
                                    "id": 20904,
                                    "mutability": "mutable",
                                    "name": "p3",
                                    "nameLocation": "61922:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 20919,
                                    "src": "61914:10:62",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_address",
                                        "typeString": "address"
                                    },
                                    "typeName": {
                                        "id": 20903,
                                        "name": "address",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "61914:7:62",
                                        "stateMutability": "nonpayable",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_address",
                                            "typeString": "address"
                                        }
                                    },
                                    "visibility": "internal"
                                }
                            ],
                            "src": "61877:48:62"
                        },
                        "returnParameters": {
                            "id": 20906,
                            "nodeType": "ParameterList",
                            "parameters": [],
                            "src": "61940:0:62"
                        },
                        "scope": 20920,
                        "src": "61865:179:62",
                        "stateMutability": "view",
                        "virtual": false,
                        "visibility": "internal"
                    }
                ],
                "scope": 20921,
                "src": "67:61980:62",
                "usedErrors": []
            }
        ],
        "src": "32:62016:62"
    },
    "legacyAST": {
        "absolutePath": "hardhat/console.sol",
        "exportedSymbols": {
            "console": [
                20920
            ]
        },
        "id": 20921,
        "license": "MIT",
        "nodeType": "SourceUnit",
        "nodes": [
            {
                "id": 12858,
                "literals": [
                    "solidity",
                    ">=",
                    "0.4",
                    ".22",
                    "<",
                    "0.9",
                    ".0"
                ],
                "nodeType": "PragmaDirective",
                "src": "32:33:62"
            },
            {
                "abstract": false,
                "baseContracts": [],
                "contractDependencies": [],
                "contractKind": "library",
                "fullyImplemented": true,
                "id": 20920,
                "linearizedBaseContracts": [
                    20920
                ],
                "name": "console",
                "nameLocation": "75:7:62",
                "nodeType": "ContractDefinition",
                "nodes": [
                    {
                        "constant": true,
                        "id": 12864,
                        "mutability": "constant",
                        "name": "CONSOLE_ADDRESS",
                        "nameLocation": "103:15:62",
                        "nodeType": "VariableDeclaration",
                        "scope": 20920,
                        "src": "86:86:62",
                        "stateVariable": true,
                        "storageLocation": "default",
                        "typeDescriptions": {
                            "typeIdentifier": "t_address",
                            "typeString": "address"
                        },
                        "typeName": {
                            "id": 12859,
                            "name": "address",
                            "nodeType": "ElementaryTypeName",
                            "src": "86:7:62",
                            "stateMutability": "nonpayable",
                            "typeDescriptions": {
                                "typeIdentifier": "t_address",
                                "typeString": "address"
                            }
                        },
                        "value": {
                            "arguments": [
                                {
                                    "hexValue": "307830303030303030303030303030303030303036333646366537333646366336353265366336663637",
                                    "id": 12862,
                                    "isConstant": false,
                                    "isLValue": false,
                                    "isPure": true,
                                    "kind": "number",
                                    "lValueRequested": false,
                                    "nodeType": "Literal",
                                    "src": "129:42:62",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_address",
                                        "typeString": "address"
                                    },
                                    "value": "0x000000000000000000636F6e736F6c652e6c6f67"
                                }
                            ],
                            "expression": {
                                "argumentTypes": [
                                    {
                                        "typeIdentifier": "t_address",
                                        "typeString": "address"
                                    }
                                ],
                                "id": 12861,
                                "isConstant": false,
                                "isLValue": false,
                                "isPure": true,
                                "lValueRequested": false,
                                "nodeType": "ElementaryTypeNameExpression",
                                "src": "121:7:62",
                                "typeDescriptions": {
                                    "typeIdentifier": "t_type$_t_address_$",
                                    "typeString": "type(address)"
                                },
                                "typeName": {
                                    "id": 12860,
                                    "name": "address",
                                    "nodeType": "ElementaryTypeName",
                                    "src": "121:7:62",
                                    "typeDescriptions": {}
                                }
                            },
                            "id": 12863,
                            "isConstant": false,
                            "isLValue": false,
                            "isPure": true,
                            "kind": "typeConversion",
                            "lValueRequested": false,
                            "names": [],
                            "nodeType": "FunctionCall",
                            "src": "121:51:62",
                            "tryCall": false,
                            "typeDescriptions": {
                                "typeIdentifier": "t_address",
                                "typeString": "address"
                            }
                        },
                        "visibility": "internal"
                    },
                    {
                        "body": {
                            "id": 12879,
                            "nodeType": "Block",
                            "src": "236:228:62",
                            "statements": [
                                {
                                    "assignments": [
                                        12870
                                    ],
                                    "declarations": [
                                        {
                                            "constant": false,
                                            "id": 12870,
                                            "mutability": "mutable",
                                            "name": "payloadLength",
                                            "nameLocation": "248:13:62",
                                            "nodeType": "VariableDeclaration",
                                            "scope": 12879,
                                            "src": "240:21:62",
                                            "stateVariable": false,
                                            "storageLocation": "default",
                                            "typeDescriptions": {
                                                "typeIdentifier": "t_uint256",
                                                "typeString": "uint256"
                                            },
                                            "typeName": {
                                                "id": 12869,
                                                "name": "uint256",
                                                "nodeType": "ElementaryTypeName",
                                                "src": "240:7:62",
                                                "typeDescriptions": {
                                                    "typeIdentifier": "t_uint256",
                                                    "typeString": "uint256"
                                                }
                                            },
                                            "visibility": "internal"
                                        }
                                    ],
                                    "id": 12873,
                                    "initialValue": {
                                        "expression": {
                                            "id": 12871,
                                            "name": "payload",
                                            "nodeType": "Identifier",
                                            "overloadedDeclarations": [],
                                            "referencedDeclaration": 12866,
                                            "src": "264:7:62",
                                            "typeDescriptions": {
                                                "typeIdentifier": "t_bytes_memory_ptr",
                                                "typeString": "bytes memory"
                                            }
                                        },
                                        "id": 12872,
                                        "isConstant": false,
                                        "isLValue": false,
                                        "isPure": false,
                                        "lValueRequested": false,
                                        "memberName": "length",
                                        "nodeType": "MemberAccess",
                                        "src": "264:14:62",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_uint256",
                                            "typeString": "uint256"
                                        }
                                    },
                                    "nodeType": "VariableDeclarationStatement",
                                    "src": "240:38:62"
                                },
                                {
                                    "assignments": [
                                        12875
                                    ],
                                    "declarations": [
                                        {
                                            "constant": false,
                                            "id": 12875,
                                            "mutability": "mutable",
                                            "name": "consoleAddress",
                                            "nameLocation": "290:14:62",
                                            "nodeType": "VariableDeclaration",
                                            "scope": 12879,
                                            "src": "282:22:62",
                                            "stateVariable": false,
                                            "storageLocation": "default",
                                            "typeDescriptions": {
                                                "typeIdentifier": "t_address",
                                                "typeString": "address"
                                            },
                                            "typeName": {
                                                "id": 12874,
                                                "name": "address",
                                                "nodeType": "ElementaryTypeName",
                                                "src": "282:7:62",
                                                "stateMutability": "nonpayable",
                                                "typeDescriptions": {
                                                    "typeIdentifier": "t_address",
                                                    "typeString": "address"
                                                }
                                            },
                                            "visibility": "internal"
                                        }
                                    ],
                                    "id": 12877,
                                    "initialValue": {
                                        "id": 12876,
                                        "name": "CONSOLE_ADDRESS",
                                        "nodeType": "Identifier",
                                        "overloadedDeclarations": [],
                                        "referencedDeclaration": 12864,
                                        "src": "307:15:62",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_address",
                                            "typeString": "address"
                                        }
                                    },
                                    "nodeType": "VariableDeclarationStatement",
                                    "src": "282:40:62"
                                },
                                {
                                    "AST": {
                                        "nodeType": "YulBlock",
                                        "src": "335:126:62",
                                        "statements": [
                                            {
                                                "nodeType": "YulVariableDeclaration",
                                                "src": "340:36:62",
                                                "value": {
                                                    "arguments": [
                                                        {
                                                            "name": "payload",
                                                            "nodeType": "YulIdentifier",
                                                            "src": "364:7:62"
                                                        },
                                                        {
                                                            "kind": "number",
                                                            "nodeType": "YulLiteral",
                                                            "src": "373:2:62",
                                                            "type": "",
                                                            "value": "32"
                                                        }
                                                    ],
                                                    "functionName": {
                                                        "name": "add",
                                                        "nodeType": "YulIdentifier",
                                                        "src": "360:3:62"
                                                    },
                                                    "nodeType": "YulFunctionCall",
                                                    "src": "360:16:62"
                                                },
                                                "variables": [
                                                    {
                                                        "name": "payloadStart",
                                                        "nodeType": "YulTypedName",
                                                        "src": "344:12:62",
                                                        "type": ""
                                                    }
                                                ]
                                            },
                                            {
                                                "nodeType": "YulVariableDeclaration",
                                                "src": "380:77:62",
                                                "value": {
                                                    "arguments": [
                                                        {
                                                            "arguments": [],
                                                            "functionName": {
                                                                "name": "gas",
                                                                "nodeType": "YulIdentifier",
                                                                "src": "400:3:62"
                                                            },
                                                            "nodeType": "YulFunctionCall",
                                                            "src": "400:5:62"
                                                        },
                                                        {
                                                            "name": "consoleAddress",
                                                            "nodeType": "YulIdentifier",
                                                            "src": "407:14:62"
                                                        },
                                                        {
                                                            "name": "payloadStart",
                                                            "nodeType": "YulIdentifier",
                                                            "src": "423:12:62"
                                                        },
                                                        {
                                                            "name": "payloadLength",
                                                            "nodeType": "YulIdentifier",
                                                            "src": "437:13:62"
                                                        },
                                                        {
                                                            "kind": "number",
                                                            "nodeType": "YulLiteral",
                                                            "src": "452:1:62",
                                                            "type": "",
                                                            "value": "0"
                                                        },
                                                        {
                                                            "kind": "number",
                                                            "nodeType": "YulLiteral",
                                                            "src": "455:1:62",
                                                            "type": "",
                                                            "value": "0"
                                                        }
                                                    ],
                                                    "functionName": {
                                                        "name": "staticcall",
                                                        "nodeType": "YulIdentifier",
                                                        "src": "389:10:62"
                                                    },
                                                    "nodeType": "YulFunctionCall",
                                                    "src": "389:68:62"
                                                },
                                                "variables": [
                                                    {
                                                        "name": "r",
                                                        "nodeType": "YulTypedName",
                                                        "src": "384:1:62",
                                                        "type": ""
                                                    }
                                                ]
                                            }
                                        ]
                                    },
                                    "evmVersion": "london",
                                    "externalReferences": [
                                        {
                                            "declaration": 12875,
                                            "isOffset": false,
                                            "isSlot": false,
                                            "src": "407:14:62",
                                            "valueSize": 1
                                        },
                                        {
                                            "declaration": 12866,
                                            "isOffset": false,
                                            "isSlot": false,
                                            "src": "364:7:62",
                                            "valueSize": 1
                                        },
                                        {
                                            "declaration": 12870,
                                            "isOffset": false,
                                            "isSlot": false,
                                            "src": "437:13:62",
                                            "valueSize": 1
                                        }
                                    ],
                                    "id": 12878,
                                    "nodeType": "InlineAssembly",
                                    "src": "326:135:62"
                                }
                            ]
                        },
                        "id": 12880,
                        "implemented": true,
                        "kind": "function",
                        "modifiers": [],
                        "name": "_sendLogPayload",
                        "nameLocation": "185:15:62",
                        "nodeType": "FunctionDefinition",
                        "parameters": {
                            "id": 12867,
                            "nodeType": "ParameterList",
                            "parameters": [
                                {
                                    "constant": false,
                                    "id": 12866,
                                    "mutability": "mutable",
                                    "name": "payload",
                                    "nameLocation": "214:7:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 12880,
                                    "src": "201:20:62",
                                    "stateVariable": false,
                                    "storageLocation": "memory",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_bytes_memory_ptr",
                                        "typeString": "bytes"
                                    },
                                    "typeName": {
                                        "id": 12865,
                                        "name": "bytes",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "201:5:62",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_bytes_storage_ptr",
                                            "typeString": "bytes"
                                        }
                                    },
                                    "visibility": "internal"
                                }
                            ],
                            "src": "200:22:62"
                        },
                        "returnParameters": {
                            "id": 12868,
                            "nodeType": "ParameterList",
                            "parameters": [],
                            "src": "236:0:62"
                        },
                        "scope": 20920,
                        "src": "176:288:62",
                        "stateMutability": "view",
                        "virtual": false,
                        "visibility": "private"
                    },
                    {
                        "body": {
                            "id": 12890,
                            "nodeType": "Block",
                            "src": "496:57:62",
                            "statements": [
                                {
                                    "expression": {
                                        "arguments": [
                                            {
                                                "arguments": [
                                                    {
                                                        "hexValue": "6c6f672829",
                                                        "id": 12886,
                                                        "isConstant": false,
                                                        "isLValue": false,
                                                        "isPure": true,
                                                        "kind": "string",
                                                        "lValueRequested": false,
                                                        "nodeType": "Literal",
                                                        "src": "540:7:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_stringliteral_51973ec9d4c1929bdd5b149c064d46aee47e92a7e2bb5f7a20c7b9cfb0d13b39",
                                                            "typeString": "literal_string \"log()\""
                                                        },
                                                        "value": "log()"
                                                    }
                                                ],
                                                "expression": {
                                                    "argumentTypes": [
                                                        {
                                                            "typeIdentifier": "t_stringliteral_51973ec9d4c1929bdd5b149c064d46aee47e92a7e2bb5f7a20c7b9cfb0d13b39",
                                                            "typeString": "literal_string \"log()\""
                                                        }
                                                    ],
                                                    "expression": {
                                                        "id": 12884,
                                                        "name": "abi",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 4294967295,
                                                        "src": "516:3:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_magic_abi",
                                                            "typeString": "abi"
                                                        }
                                                    },
                                                    "id": 12885,
                                                    "isConstant": false,
                                                    "isLValue": false,
                                                    "isPure": true,
                                                    "lValueRequested": false,
                                                    "memberName": "encodeWithSignature",
                                                    "nodeType": "MemberAccess",
                                                    "src": "516:23:62",
                                                    "typeDescriptions": {
                                                        "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$",
                                                        "typeString": "function (string memory) pure returns (bytes memory)"
                                                    }
                                                },
                                                "id": 12887,
                                                "isConstant": false,
                                                "isLValue": false,
                                                "isPure": true,
                                                "kind": "functionCall",
                                                "lValueRequested": false,
                                                "names": [],
                                                "nodeType": "FunctionCall",
                                                "src": "516:32:62",
                                                "tryCall": false,
                                                "typeDescriptions": {
                                                    "typeIdentifier": "t_bytes_memory_ptr",
                                                    "typeString": "bytes memory"
                                                }
                                            }
                                        ],
                                        "expression": {
                                            "argumentTypes": [
                                                {
                                                    "typeIdentifier": "t_bytes_memory_ptr",
                                                    "typeString": "bytes memory"
                                                }
                                            ],
                                            "id": 12883,
                                            "name": "_sendLogPayload",
                                            "nodeType": "Identifier",
                                            "overloadedDeclarations": [],
                                            "referencedDeclaration": 12880,
                                            "src": "500:15:62",
                                            "typeDescriptions": {
                                                "typeIdentifier": "t_function_internal_view$_t_bytes_memory_ptr_$returns$__$",
                                                "typeString": "function (bytes memory) view"
                                            }
                                        },
                                        "id": 12888,
                                        "isConstant": false,
                                        "isLValue": false,
                                        "isPure": false,
                                        "kind": "functionCall",
                                        "lValueRequested": false,
                                        "names": [],
                                        "nodeType": "FunctionCall",
                                        "src": "500:49:62",
                                        "tryCall": false,
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_tuple$__$",
                                            "typeString": "tuple()"
                                        }
                                    },
                                    "id": 12889,
                                    "nodeType": "ExpressionStatement",
                                    "src": "500:49:62"
                                }
                            ]
                        },
                        "id": 12891,
                        "implemented": true,
                        "kind": "function",
                        "modifiers": [],
                        "name": "log",
                        "nameLocation": "476:3:62",
                        "nodeType": "FunctionDefinition",
                        "parameters": {
                            "id": 12881,
                            "nodeType": "ParameterList",
                            "parameters": [],
                            "src": "479:2:62"
                        },
                        "returnParameters": {
                            "id": 12882,
                            "nodeType": "ParameterList",
                            "parameters": [],
                            "src": "496:0:62"
                        },
                        "scope": 20920,
                        "src": "467:86:62",
                        "stateMutability": "view",
                        "virtual": false,
                        "visibility": "internal"
                    },
                    {
                        "body": {
                            "id": 12904,
                            "nodeType": "Block",
                            "src": "594:64:62",
                            "statements": [
                                {
                                    "expression": {
                                        "arguments": [
                                            {
                                                "arguments": [
                                                    {
                                                        "hexValue": "6c6f6728696e7429",
                                                        "id": 12899,
                                                        "isConstant": false,
                                                        "isLValue": false,
                                                        "isPure": true,
                                                        "kind": "string",
                                                        "lValueRequested": false,
                                                        "nodeType": "Literal",
                                                        "src": "638:10:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_stringliteral_4e0c1d1dcf573259576e2a7e591d366143f88fb7f7e57df09852da9c36797f2e",
                                                            "typeString": "literal_string \"log(int)\""
                                                        },
                                                        "value": "log(int)"
                                                    },
                                                    {
                                                        "id": 12900,
                                                        "name": "p0",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 12893,
                                                        "src": "650:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_int256",
                                                            "typeString": "int256"
                                                        }
                                                    }
                                                ],
                                                "expression": {
                                                    "argumentTypes": [
                                                        {
                                                            "typeIdentifier": "t_stringliteral_4e0c1d1dcf573259576e2a7e591d366143f88fb7f7e57df09852da9c36797f2e",
                                                            "typeString": "literal_string \"log(int)\""
                                                        },
                                                        {
                                                            "typeIdentifier": "t_int256",
                                                            "typeString": "int256"
                                                        }
                                                    ],
                                                    "expression": {
                                                        "id": 12897,
                                                        "name": "abi",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 4294967295,
                                                        "src": "614:3:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_magic_abi",
                                                            "typeString": "abi"
                                                        }
                                                    },
                                                    "id": 12898,
                                                    "isConstant": false,
                                                    "isLValue": false,
                                                    "isPure": true,
                                                    "lValueRequested": false,
                                                    "memberName": "encodeWithSignature",
                                                    "nodeType": "MemberAccess",
                                                    "src": "614:23:62",
                                                    "typeDescriptions": {
                                                        "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$",
                                                        "typeString": "function (string memory) pure returns (bytes memory)"
                                                    }
                                                },
                                                "id": 12901,
                                                "isConstant": false,
                                                "isLValue": false,
                                                "isPure": false,
                                                "kind": "functionCall",
                                                "lValueRequested": false,
                                                "names": [],
                                                "nodeType": "FunctionCall",
                                                "src": "614:39:62",
                                                "tryCall": false,
                                                "typeDescriptions": {
                                                    "typeIdentifier": "t_bytes_memory_ptr",
                                                    "typeString": "bytes memory"
                                                }
                                            }
                                        ],
                                        "expression": {
                                            "argumentTypes": [
                                                {
                                                    "typeIdentifier": "t_bytes_memory_ptr",
                                                    "typeString": "bytes memory"
                                                }
                                            ],
                                            "id": 12896,
                                            "name": "_sendLogPayload",
                                            "nodeType": "Identifier",
                                            "overloadedDeclarations": [],
                                            "referencedDeclaration": 12880,
                                            "src": "598:15:62",
                                            "typeDescriptions": {
                                                "typeIdentifier": "t_function_internal_view$_t_bytes_memory_ptr_$returns$__$",
                                                "typeString": "function (bytes memory) view"
                                            }
                                        },
                                        "id": 12902,
                                        "isConstant": false,
                                        "isLValue": false,
                                        "isPure": false,
                                        "kind": "functionCall",
                                        "lValueRequested": false,
                                        "names": [],
                                        "nodeType": "FunctionCall",
                                        "src": "598:56:62",
                                        "tryCall": false,
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_tuple$__$",
                                            "typeString": "tuple()"
                                        }
                                    },
                                    "id": 12903,
                                    "nodeType": "ExpressionStatement",
                                    "src": "598:56:62"
                                }
                            ]
                        },
                        "id": 12905,
                        "implemented": true,
                        "kind": "function",
                        "modifiers": [],
                        "name": "logInt",
                        "nameLocation": "565:6:62",
                        "nodeType": "FunctionDefinition",
                        "parameters": {
                            "id": 12894,
                            "nodeType": "ParameterList",
                            "parameters": [
                                {
                                    "constant": false,
                                    "id": 12893,
                                    "mutability": "mutable",
                                    "name": "p0",
                                    "nameLocation": "576:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 12905,
                                    "src": "572:6:62",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_int256",
                                        "typeString": "int256"
                                    },
                                    "typeName": {
                                        "id": 12892,
                                        "name": "int",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "572:3:62",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_int256",
                                            "typeString": "int256"
                                        }
                                    },
                                    "visibility": "internal"
                                }
                            ],
                            "src": "571:8:62"
                        },
                        "returnParameters": {
                            "id": 12895,
                            "nodeType": "ParameterList",
                            "parameters": [],
                            "src": "594:0:62"
                        },
                        "scope": 20920,
                        "src": "556:102:62",
                        "stateMutability": "view",
                        "virtual": false,
                        "visibility": "internal"
                    },
                    {
                        "body": {
                            "id": 12918,
                            "nodeType": "Block",
                            "src": "701:65:62",
                            "statements": [
                                {
                                    "expression": {
                                        "arguments": [
                                            {
                                                "arguments": [
                                                    {
                                                        "hexValue": "6c6f672875696e7429",
                                                        "id": 12913,
                                                        "isConstant": false,
                                                        "isLValue": false,
                                                        "isPure": true,
                                                        "kind": "string",
                                                        "lValueRequested": false,
                                                        "nodeType": "Literal",
                                                        "src": "745:11:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_stringliteral_f5b1bba92d8f98cf25e27c94d7fc7cbfbae95a49dfe5ab0cdf64ddd7181bb984",
                                                            "typeString": "literal_string \"log(uint)\""
                                                        },
                                                        "value": "log(uint)"
                                                    },
                                                    {
                                                        "id": 12914,
                                                        "name": "p0",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 12907,
                                                        "src": "758:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_uint256",
                                                            "typeString": "uint256"
                                                        }
                                                    }
                                                ],
                                                "expression": {
                                                    "argumentTypes": [
                                                        {
                                                            "typeIdentifier": "t_stringliteral_f5b1bba92d8f98cf25e27c94d7fc7cbfbae95a49dfe5ab0cdf64ddd7181bb984",
                                                            "typeString": "literal_string \"log(uint)\""
                                                        },
                                                        {
                                                            "typeIdentifier": "t_uint256",
                                                            "typeString": "uint256"
                                                        }
                                                    ],
                                                    "expression": {
                                                        "id": 12911,
                                                        "name": "abi",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 4294967295,
                                                        "src": "721:3:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_magic_abi",
                                                            "typeString": "abi"
                                                        }
                                                    },
                                                    "id": 12912,
                                                    "isConstant": false,
                                                    "isLValue": false,
                                                    "isPure": true,
                                                    "lValueRequested": false,
                                                    "memberName": "encodeWithSignature",
                                                    "nodeType": "MemberAccess",
                                                    "src": "721:23:62",
                                                    "typeDescriptions": {
                                                        "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$",
                                                        "typeString": "function (string memory) pure returns (bytes memory)"
                                                    }
                                                },
                                                "id": 12915,
                                                "isConstant": false,
                                                "isLValue": false,
                                                "isPure": false,
                                                "kind": "functionCall",
                                                "lValueRequested": false,
                                                "names": [],
                                                "nodeType": "FunctionCall",
                                                "src": "721:40:62",
                                                "tryCall": false,
                                                "typeDescriptions": {
                                                    "typeIdentifier": "t_bytes_memory_ptr",
                                                    "typeString": "bytes memory"
                                                }
                                            }
                                        ],
                                        "expression": {
                                            "argumentTypes": [
                                                {
                                                    "typeIdentifier": "t_bytes_memory_ptr",
                                                    "typeString": "bytes memory"
                                                }
                                            ],
                                            "id": 12910,
                                            "name": "_sendLogPayload",
                                            "nodeType": "Identifier",
                                            "overloadedDeclarations": [],
                                            "referencedDeclaration": 12880,
                                            "src": "705:15:62",
                                            "typeDescriptions": {
                                                "typeIdentifier": "t_function_internal_view$_t_bytes_memory_ptr_$returns$__$",
                                                "typeString": "function (bytes memory) view"
                                            }
                                        },
                                        "id": 12916,
                                        "isConstant": false,
                                        "isLValue": false,
                                        "isPure": false,
                                        "kind": "functionCall",
                                        "lValueRequested": false,
                                        "names": [],
                                        "nodeType": "FunctionCall",
                                        "src": "705:57:62",
                                        "tryCall": false,
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_tuple$__$",
                                            "typeString": "tuple()"
                                        }
                                    },
                                    "id": 12917,
                                    "nodeType": "ExpressionStatement",
                                    "src": "705:57:62"
                                }
                            ]
                        },
                        "id": 12919,
                        "implemented": true,
                        "kind": "function",
                        "modifiers": [],
                        "name": "logUint",
                        "nameLocation": "670:7:62",
                        "nodeType": "FunctionDefinition",
                        "parameters": {
                            "id": 12908,
                            "nodeType": "ParameterList",
                            "parameters": [
                                {
                                    "constant": false,
                                    "id": 12907,
                                    "mutability": "mutable",
                                    "name": "p0",
                                    "nameLocation": "683:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 12919,
                                    "src": "678:7:62",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_uint256",
                                        "typeString": "uint256"
                                    },
                                    "typeName": {
                                        "id": 12906,
                                        "name": "uint",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "678:4:62",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_uint256",
                                            "typeString": "uint256"
                                        }
                                    },
                                    "visibility": "internal"
                                }
                            ],
                            "src": "677:9:62"
                        },
                        "returnParameters": {
                            "id": 12909,
                            "nodeType": "ParameterList",
                            "parameters": [],
                            "src": "701:0:62"
                        },
                        "scope": 20920,
                        "src": "661:105:62",
                        "stateMutability": "view",
                        "virtual": false,
                        "visibility": "internal"
                    },
                    {
                        "body": {
                            "id": 12932,
                            "nodeType": "Block",
                            "src": "820:67:62",
                            "statements": [
                                {
                                    "expression": {
                                        "arguments": [
                                            {
                                                "arguments": [
                                                    {
                                                        "hexValue": "6c6f6728737472696e6729",
                                                        "id": 12927,
                                                        "isConstant": false,
                                                        "isLValue": false,
                                                        "isPure": true,
                                                        "kind": "string",
                                                        "lValueRequested": false,
                                                        "nodeType": "Literal",
                                                        "src": "864:13:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_stringliteral_41304facd9323d75b11bcdd609cb38effffdb05710f7caf0e9b16c6d9d709f50",
                                                            "typeString": "literal_string \"log(string)\""
                                                        },
                                                        "value": "log(string)"
                                                    },
                                                    {
                                                        "id": 12928,
                                                        "name": "p0",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 12921,
                                                        "src": "879:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_string_memory_ptr",
                                                            "typeString": "string memory"
                                                        }
                                                    }
                                                ],
                                                "expression": {
                                                    "argumentTypes": [
                                                        {
                                                            "typeIdentifier": "t_stringliteral_41304facd9323d75b11bcdd609cb38effffdb05710f7caf0e9b16c6d9d709f50",
                                                            "typeString": "literal_string \"log(string)\""
                                                        },
                                                        {
                                                            "typeIdentifier": "t_string_memory_ptr",
                                                            "typeString": "string memory"
                                                        }
                                                    ],
                                                    "expression": {
                                                        "id": 12925,
                                                        "name": "abi",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 4294967295,
                                                        "src": "840:3:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_magic_abi",
                                                            "typeString": "abi"
                                                        }
                                                    },
                                                    "id": 12926,
                                                    "isConstant": false,
                                                    "isLValue": false,
                                                    "isPure": true,
                                                    "lValueRequested": false,
                                                    "memberName": "encodeWithSignature",
                                                    "nodeType": "MemberAccess",
                                                    "src": "840:23:62",
                                                    "typeDescriptions": {
                                                        "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$",
                                                        "typeString": "function (string memory) pure returns (bytes memory)"
                                                    }
                                                },
                                                "id": 12929,
                                                "isConstant": false,
                                                "isLValue": false,
                                                "isPure": false,
                                                "kind": "functionCall",
                                                "lValueRequested": false,
                                                "names": [],
                                                "nodeType": "FunctionCall",
                                                "src": "840:42:62",
                                                "tryCall": false,
                                                "typeDescriptions": {
                                                    "typeIdentifier": "t_bytes_memory_ptr",
                                                    "typeString": "bytes memory"
                                                }
                                            }
                                        ],
                                        "expression": {
                                            "argumentTypes": [
                                                {
                                                    "typeIdentifier": "t_bytes_memory_ptr",
                                                    "typeString": "bytes memory"
                                                }
                                            ],
                                            "id": 12924,
                                            "name": "_sendLogPayload",
                                            "nodeType": "Identifier",
                                            "overloadedDeclarations": [],
                                            "referencedDeclaration": 12880,
                                            "src": "824:15:62",
                                            "typeDescriptions": {
                                                "typeIdentifier": "t_function_internal_view$_t_bytes_memory_ptr_$returns$__$",
                                                "typeString": "function (bytes memory) view"
                                            }
                                        },
                                        "id": 12930,
                                        "isConstant": false,
                                        "isLValue": false,
                                        "isPure": false,
                                        "kind": "functionCall",
                                        "lValueRequested": false,
                                        "names": [],
                                        "nodeType": "FunctionCall",
                                        "src": "824:59:62",
                                        "tryCall": false,
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_tuple$__$",
                                            "typeString": "tuple()"
                                        }
                                    },
                                    "id": 12931,
                                    "nodeType": "ExpressionStatement",
                                    "src": "824:59:62"
                                }
                            ]
                        },
                        "id": 12933,
                        "implemented": true,
                        "kind": "function",
                        "modifiers": [],
                        "name": "logString",
                        "nameLocation": "778:9:62",
                        "nodeType": "FunctionDefinition",
                        "parameters": {
                            "id": 12922,
                            "nodeType": "ParameterList",
                            "parameters": [
                                {
                                    "constant": false,
                                    "id": 12921,
                                    "mutability": "mutable",
                                    "name": "p0",
                                    "nameLocation": "802:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 12933,
                                    "src": "788:16:62",
                                    "stateVariable": false,
                                    "storageLocation": "memory",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_string_memory_ptr",
                                        "typeString": "string"
                                    },
                                    "typeName": {
                                        "id": 12920,
                                        "name": "string",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "788:6:62",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_string_storage_ptr",
                                            "typeString": "string"
                                        }
                                    },
                                    "visibility": "internal"
                                }
                            ],
                            "src": "787:18:62"
                        },
                        "returnParameters": {
                            "id": 12923,
                            "nodeType": "ParameterList",
                            "parameters": [],
                            "src": "820:0:62"
                        },
                        "scope": 20920,
                        "src": "769:118:62",
                        "stateMutability": "view",
                        "virtual": false,
                        "visibility": "internal"
                    },
                    {
                        "body": {
                            "id": 12946,
                            "nodeType": "Block",
                            "src": "930:65:62",
                            "statements": [
                                {
                                    "expression": {
                                        "arguments": [
                                            {
                                                "arguments": [
                                                    {
                                                        "hexValue": "6c6f6728626f6f6c29",
                                                        "id": 12941,
                                                        "isConstant": false,
                                                        "isLValue": false,
                                                        "isPure": true,
                                                        "kind": "string",
                                                        "lValueRequested": false,
                                                        "nodeType": "Literal",
                                                        "src": "974:11:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_stringliteral_32458eed3feca62a69292a55ca8a755ae4e6cdc57a38d15c298330064467fdd7",
                                                            "typeString": "literal_string \"log(bool)\""
                                                        },
                                                        "value": "log(bool)"
                                                    },
                                                    {
                                                        "id": 12942,
                                                        "name": "p0",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 12935,
                                                        "src": "987:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_bool",
                                                            "typeString": "bool"
                                                        }
                                                    }
                                                ],
                                                "expression": {
                                                    "argumentTypes": [
                                                        {
                                                            "typeIdentifier": "t_stringliteral_32458eed3feca62a69292a55ca8a755ae4e6cdc57a38d15c298330064467fdd7",
                                                            "typeString": "literal_string \"log(bool)\""
                                                        },
                                                        {
                                                            "typeIdentifier": "t_bool",
                                                            "typeString": "bool"
                                                        }
                                                    ],
                                                    "expression": {
                                                        "id": 12939,
                                                        "name": "abi",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 4294967295,
                                                        "src": "950:3:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_magic_abi",
                                                            "typeString": "abi"
                                                        }
                                                    },
                                                    "id": 12940,
                                                    "isConstant": false,
                                                    "isLValue": false,
                                                    "isPure": true,
                                                    "lValueRequested": false,
                                                    "memberName": "encodeWithSignature",
                                                    "nodeType": "MemberAccess",
                                                    "src": "950:23:62",
                                                    "typeDescriptions": {
                                                        "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$",
                                                        "typeString": "function (string memory) pure returns (bytes memory)"
                                                    }
                                                },
                                                "id": 12943,
                                                "isConstant": false,
                                                "isLValue": false,
                                                "isPure": false,
                                                "kind": "functionCall",
                                                "lValueRequested": false,
                                                "names": [],
                                                "nodeType": "FunctionCall",
                                                "src": "950:40:62",
                                                "tryCall": false,
                                                "typeDescriptions": {
                                                    "typeIdentifier": "t_bytes_memory_ptr",
                                                    "typeString": "bytes memory"
                                                }
                                            }
                                        ],
                                        "expression": {
                                            "argumentTypes": [
                                                {
                                                    "typeIdentifier": "t_bytes_memory_ptr",
                                                    "typeString": "bytes memory"
                                                }
                                            ],
                                            "id": 12938,
                                            "name": "_sendLogPayload",
                                            "nodeType": "Identifier",
                                            "overloadedDeclarations": [],
                                            "referencedDeclaration": 12880,
                                            "src": "934:15:62",
                                            "typeDescriptions": {
                                                "typeIdentifier": "t_function_internal_view$_t_bytes_memory_ptr_$returns$__$",
                                                "typeString": "function (bytes memory) view"
                                            }
                                        },
                                        "id": 12944,
                                        "isConstant": false,
                                        "isLValue": false,
                                        "isPure": false,
                                        "kind": "functionCall",
                                        "lValueRequested": false,
                                        "names": [],
                                        "nodeType": "FunctionCall",
                                        "src": "934:57:62",
                                        "tryCall": false,
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_tuple$__$",
                                            "typeString": "tuple()"
                                        }
                                    },
                                    "id": 12945,
                                    "nodeType": "ExpressionStatement",
                                    "src": "934:57:62"
                                }
                            ]
                        },
                        "id": 12947,
                        "implemented": true,
                        "kind": "function",
                        "modifiers": [],
                        "name": "logBool",
                        "nameLocation": "899:7:62",
                        "nodeType": "FunctionDefinition",
                        "parameters": {
                            "id": 12936,
                            "nodeType": "ParameterList",
                            "parameters": [
                                {
                                    "constant": false,
                                    "id": 12935,
                                    "mutability": "mutable",
                                    "name": "p0",
                                    "nameLocation": "912:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 12947,
                                    "src": "907:7:62",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_bool",
                                        "typeString": "bool"
                                    },
                                    "typeName": {
                                        "id": 12934,
                                        "name": "bool",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "907:4:62",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_bool",
                                            "typeString": "bool"
                                        }
                                    },
                                    "visibility": "internal"
                                }
                            ],
                            "src": "906:9:62"
                        },
                        "returnParameters": {
                            "id": 12937,
                            "nodeType": "ParameterList",
                            "parameters": [],
                            "src": "930:0:62"
                        },
                        "scope": 20920,
                        "src": "890:105:62",
                        "stateMutability": "view",
                        "virtual": false,
                        "visibility": "internal"
                    },
                    {
                        "body": {
                            "id": 12960,
                            "nodeType": "Block",
                            "src": "1044:68:62",
                            "statements": [
                                {
                                    "expression": {
                                        "arguments": [
                                            {
                                                "arguments": [
                                                    {
                                                        "hexValue": "6c6f67286164647265737329",
                                                        "id": 12955,
                                                        "isConstant": false,
                                                        "isLValue": false,
                                                        "isPure": true,
                                                        "kind": "string",
                                                        "lValueRequested": false,
                                                        "nodeType": "Literal",
                                                        "src": "1088:14:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_stringliteral_2c2ecbc2212ac38c2f9ec89aa5fcef7f532a5db24dbf7cad1f48bc82843b7428",
                                                            "typeString": "literal_string \"log(address)\""
                                                        },
                                                        "value": "log(address)"
                                                    },
                                                    {
                                                        "id": 12956,
                                                        "name": "p0",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 12949,
                                                        "src": "1104:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_address",
                                                            "typeString": "address"
                                                        }
                                                    }
                                                ],
                                                "expression": {
                                                    "argumentTypes": [
                                                        {
                                                            "typeIdentifier": "t_stringliteral_2c2ecbc2212ac38c2f9ec89aa5fcef7f532a5db24dbf7cad1f48bc82843b7428",
                                                            "typeString": "literal_string \"log(address)\""
                                                        },
                                                        {
                                                            "typeIdentifier": "t_address",
                                                            "typeString": "address"
                                                        }
                                                    ],
                                                    "expression": {
                                                        "id": 12953,
                                                        "name": "abi",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 4294967295,
                                                        "src": "1064:3:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_magic_abi",
                                                            "typeString": "abi"
                                                        }
                                                    },
                                                    "id": 12954,
                                                    "isConstant": false,
                                                    "isLValue": false,
                                                    "isPure": true,
                                                    "lValueRequested": false,
                                                    "memberName": "encodeWithSignature",
                                                    "nodeType": "MemberAccess",
                                                    "src": "1064:23:62",
                                                    "typeDescriptions": {
                                                        "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$",
                                                        "typeString": "function (string memory) pure returns (bytes memory)"
                                                    }
                                                },
                                                "id": 12957,
                                                "isConstant": false,
                                                "isLValue": false,
                                                "isPure": false,
                                                "kind": "functionCall",
                                                "lValueRequested": false,
                                                "names": [],
                                                "nodeType": "FunctionCall",
                                                "src": "1064:43:62",
                                                "tryCall": false,
                                                "typeDescriptions": {
                                                    "typeIdentifier": "t_bytes_memory_ptr",
                                                    "typeString": "bytes memory"
                                                }
                                            }
                                        ],
                                        "expression": {
                                            "argumentTypes": [
                                                {
                                                    "typeIdentifier": "t_bytes_memory_ptr",
                                                    "typeString": "bytes memory"
                                                }
                                            ],
                                            "id": 12952,
                                            "name": "_sendLogPayload",
                                            "nodeType": "Identifier",
                                            "overloadedDeclarations": [],
                                            "referencedDeclaration": 12880,
                                            "src": "1048:15:62",
                                            "typeDescriptions": {
                                                "typeIdentifier": "t_function_internal_view$_t_bytes_memory_ptr_$returns$__$",
                                                "typeString": "function (bytes memory) view"
                                            }
                                        },
                                        "id": 12958,
                                        "isConstant": false,
                                        "isLValue": false,
                                        "isPure": false,
                                        "kind": "functionCall",
                                        "lValueRequested": false,
                                        "names": [],
                                        "nodeType": "FunctionCall",
                                        "src": "1048:60:62",
                                        "tryCall": false,
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_tuple$__$",
                                            "typeString": "tuple()"
                                        }
                                    },
                                    "id": 12959,
                                    "nodeType": "ExpressionStatement",
                                    "src": "1048:60:62"
                                }
                            ]
                        },
                        "id": 12961,
                        "implemented": true,
                        "kind": "function",
                        "modifiers": [],
                        "name": "logAddress",
                        "nameLocation": "1007:10:62",
                        "nodeType": "FunctionDefinition",
                        "parameters": {
                            "id": 12950,
                            "nodeType": "ParameterList",
                            "parameters": [
                                {
                                    "constant": false,
                                    "id": 12949,
                                    "mutability": "mutable",
                                    "name": "p0",
                                    "nameLocation": "1026:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 12961,
                                    "src": "1018:10:62",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_address",
                                        "typeString": "address"
                                    },
                                    "typeName": {
                                        "id": 12948,
                                        "name": "address",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "1018:7:62",
                                        "stateMutability": "nonpayable",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_address",
                                            "typeString": "address"
                                        }
                                    },
                                    "visibility": "internal"
                                }
                            ],
                            "src": "1017:12:62"
                        },
                        "returnParameters": {
                            "id": 12951,
                            "nodeType": "ParameterList",
                            "parameters": [],
                            "src": "1044:0:62"
                        },
                        "scope": 20920,
                        "src": "998:114:62",
                        "stateMutability": "view",
                        "virtual": false,
                        "visibility": "internal"
                    },
                    {
                        "body": {
                            "id": 12974,
                            "nodeType": "Block",
                            "src": "1164:66:62",
                            "statements": [
                                {
                                    "expression": {
                                        "arguments": [
                                            {
                                                "arguments": [
                                                    {
                                                        "hexValue": "6c6f6728627974657329",
                                                        "id": 12969,
                                                        "isConstant": false,
                                                        "isLValue": false,
                                                        "isPure": true,
                                                        "kind": "string",
                                                        "lValueRequested": false,
                                                        "nodeType": "Literal",
                                                        "src": "1208:12:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_stringliteral_0be77f5642494da7d212b92a3472c4f471abb24e17467f41788e7de7915d6238",
                                                            "typeString": "literal_string \"log(bytes)\""
                                                        },
                                                        "value": "log(bytes)"
                                                    },
                                                    {
                                                        "id": 12970,
                                                        "name": "p0",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 12963,
                                                        "src": "1222:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_bytes_memory_ptr",
                                                            "typeString": "bytes memory"
                                                        }
                                                    }
                                                ],
                                                "expression": {
                                                    "argumentTypes": [
                                                        {
                                                            "typeIdentifier": "t_stringliteral_0be77f5642494da7d212b92a3472c4f471abb24e17467f41788e7de7915d6238",
                                                            "typeString": "literal_string \"log(bytes)\""
                                                        },
                                                        {
                                                            "typeIdentifier": "t_bytes_memory_ptr",
                                                            "typeString": "bytes memory"
                                                        }
                                                    ],
                                                    "expression": {
                                                        "id": 12967,
                                                        "name": "abi",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 4294967295,
                                                        "src": "1184:3:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_magic_abi",
                                                            "typeString": "abi"
                                                        }
                                                    },
                                                    "id": 12968,
                                                    "isConstant": false,
                                                    "isLValue": false,
                                                    "isPure": true,
                                                    "lValueRequested": false,
                                                    "memberName": "encodeWithSignature",
                                                    "nodeType": "MemberAccess",
                                                    "src": "1184:23:62",
                                                    "typeDescriptions": {
                                                        "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$",
                                                        "typeString": "function (string memory) pure returns (bytes memory)"
                                                    }
                                                },
                                                "id": 12971,
                                                "isConstant": false,
                                                "isLValue": false,
                                                "isPure": false,
                                                "kind": "functionCall",
                                                "lValueRequested": false,
                                                "names": [],
                                                "nodeType": "FunctionCall",
                                                "src": "1184:41:62",
                                                "tryCall": false,
                                                "typeDescriptions": {
                                                    "typeIdentifier": "t_bytes_memory_ptr",
                                                    "typeString": "bytes memory"
                                                }
                                            }
                                        ],
                                        "expression": {
                                            "argumentTypes": [
                                                {
                                                    "typeIdentifier": "t_bytes_memory_ptr",
                                                    "typeString": "bytes memory"
                                                }
                                            ],
                                            "id": 12966,
                                            "name": "_sendLogPayload",
                                            "nodeType": "Identifier",
                                            "overloadedDeclarations": [],
                                            "referencedDeclaration": 12880,
                                            "src": "1168:15:62",
                                            "typeDescriptions": {
                                                "typeIdentifier": "t_function_internal_view$_t_bytes_memory_ptr_$returns$__$",
                                                "typeString": "function (bytes memory) view"
                                            }
                                        },
                                        "id": 12972,
                                        "isConstant": false,
                                        "isLValue": false,
                                        "isPure": false,
                                        "kind": "functionCall",
                                        "lValueRequested": false,
                                        "names": [],
                                        "nodeType": "FunctionCall",
                                        "src": "1168:58:62",
                                        "tryCall": false,
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_tuple$__$",
                                            "typeString": "tuple()"
                                        }
                                    },
                                    "id": 12973,
                                    "nodeType": "ExpressionStatement",
                                    "src": "1168:58:62"
                                }
                            ]
                        },
                        "id": 12975,
                        "implemented": true,
                        "kind": "function",
                        "modifiers": [],
                        "name": "logBytes",
                        "nameLocation": "1124:8:62",
                        "nodeType": "FunctionDefinition",
                        "parameters": {
                            "id": 12964,
                            "nodeType": "ParameterList",
                            "parameters": [
                                {
                                    "constant": false,
                                    "id": 12963,
                                    "mutability": "mutable",
                                    "name": "p0",
                                    "nameLocation": "1146:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 12975,
                                    "src": "1133:15:62",
                                    "stateVariable": false,
                                    "storageLocation": "memory",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_bytes_memory_ptr",
                                        "typeString": "bytes"
                                    },
                                    "typeName": {
                                        "id": 12962,
                                        "name": "bytes",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "1133:5:62",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_bytes_storage_ptr",
                                            "typeString": "bytes"
                                        }
                                    },
                                    "visibility": "internal"
                                }
                            ],
                            "src": "1132:17:62"
                        },
                        "returnParameters": {
                            "id": 12965,
                            "nodeType": "ParameterList",
                            "parameters": [],
                            "src": "1164:0:62"
                        },
                        "scope": 20920,
                        "src": "1115:115:62",
                        "stateMutability": "view",
                        "virtual": false,
                        "visibility": "internal"
                    },
                    {
                        "body": {
                            "id": 12988,
                            "nodeType": "Block",
                            "src": "1277:67:62",
                            "statements": [
                                {
                                    "expression": {
                                        "arguments": [
                                            {
                                                "arguments": [
                                                    {
                                                        "hexValue": "6c6f672862797465733129",
                                                        "id": 12983,
                                                        "isConstant": false,
                                                        "isLValue": false,
                                                        "isPure": true,
                                                        "kind": "string",
                                                        "lValueRequested": false,
                                                        "nodeType": "Literal",
                                                        "src": "1321:13:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_stringliteral_6e18a1285e3dfba09579e846ff83d5e4ffae1b869c8fc4323752bab794e41041",
                                                            "typeString": "literal_string \"log(bytes1)\""
                                                        },
                                                        "value": "log(bytes1)"
                                                    },
                                                    {
                                                        "id": 12984,
                                                        "name": "p0",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 12977,
                                                        "src": "1336:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_bytes1",
                                                            "typeString": "bytes1"
                                                        }
                                                    }
                                                ],
                                                "expression": {
                                                    "argumentTypes": [
                                                        {
                                                            "typeIdentifier": "t_stringliteral_6e18a1285e3dfba09579e846ff83d5e4ffae1b869c8fc4323752bab794e41041",
                                                            "typeString": "literal_string \"log(bytes1)\""
                                                        },
                                                        {
                                                            "typeIdentifier": "t_bytes1",
                                                            "typeString": "bytes1"
                                                        }
                                                    ],
                                                    "expression": {
                                                        "id": 12981,
                                                        "name": "abi",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 4294967295,
                                                        "src": "1297:3:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_magic_abi",
                                                            "typeString": "abi"
                                                        }
                                                    },
                                                    "id": 12982,
                                                    "isConstant": false,
                                                    "isLValue": false,
                                                    "isPure": true,
                                                    "lValueRequested": false,
                                                    "memberName": "encodeWithSignature",
                                                    "nodeType": "MemberAccess",
                                                    "src": "1297:23:62",
                                                    "typeDescriptions": {
                                                        "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$",
                                                        "typeString": "function (string memory) pure returns (bytes memory)"
                                                    }
                                                },
                                                "id": 12985,
                                                "isConstant": false,
                                                "isLValue": false,
                                                "isPure": false,
                                                "kind": "functionCall",
                                                "lValueRequested": false,
                                                "names": [],
                                                "nodeType": "FunctionCall",
                                                "src": "1297:42:62",
                                                "tryCall": false,
                                                "typeDescriptions": {
                                                    "typeIdentifier": "t_bytes_memory_ptr",
                                                    "typeString": "bytes memory"
                                                }
                                            }
                                        ],
                                        "expression": {
                                            "argumentTypes": [
                                                {
                                                    "typeIdentifier": "t_bytes_memory_ptr",
                                                    "typeString": "bytes memory"
                                                }
                                            ],
                                            "id": 12980,
                                            "name": "_sendLogPayload",
                                            "nodeType": "Identifier",
                                            "overloadedDeclarations": [],
                                            "referencedDeclaration": 12880,
                                            "src": "1281:15:62",
                                            "typeDescriptions": {
                                                "typeIdentifier": "t_function_internal_view$_t_bytes_memory_ptr_$returns$__$",
                                                "typeString": "function (bytes memory) view"
                                            }
                                        },
                                        "id": 12986,
                                        "isConstant": false,
                                        "isLValue": false,
                                        "isPure": false,
                                        "kind": "functionCall",
                                        "lValueRequested": false,
                                        "names": [],
                                        "nodeType": "FunctionCall",
                                        "src": "1281:59:62",
                                        "tryCall": false,
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_tuple$__$",
                                            "typeString": "tuple()"
                                        }
                                    },
                                    "id": 12987,
                                    "nodeType": "ExpressionStatement",
                                    "src": "1281:59:62"
                                }
                            ]
                        },
                        "id": 12989,
                        "implemented": true,
                        "kind": "function",
                        "modifiers": [],
                        "name": "logBytes1",
                        "nameLocation": "1242:9:62",
                        "nodeType": "FunctionDefinition",
                        "parameters": {
                            "id": 12978,
                            "nodeType": "ParameterList",
                            "parameters": [
                                {
                                    "constant": false,
                                    "id": 12977,
                                    "mutability": "mutable",
                                    "name": "p0",
                                    "nameLocation": "1259:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 12989,
                                    "src": "1252:9:62",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_bytes1",
                                        "typeString": "bytes1"
                                    },
                                    "typeName": {
                                        "id": 12976,
                                        "name": "bytes1",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "1252:6:62",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_bytes1",
                                            "typeString": "bytes1"
                                        }
                                    },
                                    "visibility": "internal"
                                }
                            ],
                            "src": "1251:11:62"
                        },
                        "returnParameters": {
                            "id": 12979,
                            "nodeType": "ParameterList",
                            "parameters": [],
                            "src": "1277:0:62"
                        },
                        "scope": 20920,
                        "src": "1233:111:62",
                        "stateMutability": "view",
                        "virtual": false,
                        "visibility": "internal"
                    },
                    {
                        "body": {
                            "id": 13002,
                            "nodeType": "Block",
                            "src": "1391:67:62",
                            "statements": [
                                {
                                    "expression": {
                                        "arguments": [
                                            {
                                                "arguments": [
                                                    {
                                                        "hexValue": "6c6f672862797465733229",
                                                        "id": 12997,
                                                        "isConstant": false,
                                                        "isLValue": false,
                                                        "isPure": true,
                                                        "kind": "string",
                                                        "lValueRequested": false,
                                                        "nodeType": "Literal",
                                                        "src": "1435:13:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_stringliteral_e9b622960ff3a0e86d35e876bfeba445fab6c5686604aa116c47c1e106921224",
                                                            "typeString": "literal_string \"log(bytes2)\""
                                                        },
                                                        "value": "log(bytes2)"
                                                    },
                                                    {
                                                        "id": 12998,
                                                        "name": "p0",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 12991,
                                                        "src": "1450:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_bytes2",
                                                            "typeString": "bytes2"
                                                        }
                                                    }
                                                ],
                                                "expression": {
                                                    "argumentTypes": [
                                                        {
                                                            "typeIdentifier": "t_stringliteral_e9b622960ff3a0e86d35e876bfeba445fab6c5686604aa116c47c1e106921224",
                                                            "typeString": "literal_string \"log(bytes2)\""
                                                        },
                                                        {
                                                            "typeIdentifier": "t_bytes2",
                                                            "typeString": "bytes2"
                                                        }
                                                    ],
                                                    "expression": {
                                                        "id": 12995,
                                                        "name": "abi",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 4294967295,
                                                        "src": "1411:3:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_magic_abi",
                                                            "typeString": "abi"
                                                        }
                                                    },
                                                    "id": 12996,
                                                    "isConstant": false,
                                                    "isLValue": false,
                                                    "isPure": true,
                                                    "lValueRequested": false,
                                                    "memberName": "encodeWithSignature",
                                                    "nodeType": "MemberAccess",
                                                    "src": "1411:23:62",
                                                    "typeDescriptions": {
                                                        "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$",
                                                        "typeString": "function (string memory) pure returns (bytes memory)"
                                                    }
                                                },
                                                "id": 12999,
                                                "isConstant": false,
                                                "isLValue": false,
                                                "isPure": false,
                                                "kind": "functionCall",
                                                "lValueRequested": false,
                                                "names": [],
                                                "nodeType": "FunctionCall",
                                                "src": "1411:42:62",
                                                "tryCall": false,
                                                "typeDescriptions": {
                                                    "typeIdentifier": "t_bytes_memory_ptr",
                                                    "typeString": "bytes memory"
                                                }
                                            }
                                        ],
                                        "expression": {
                                            "argumentTypes": [
                                                {
                                                    "typeIdentifier": "t_bytes_memory_ptr",
                                                    "typeString": "bytes memory"
                                                }
                                            ],
                                            "id": 12994,
                                            "name": "_sendLogPayload",
                                            "nodeType": "Identifier",
                                            "overloadedDeclarations": [],
                                            "referencedDeclaration": 12880,
                                            "src": "1395:15:62",
                                            "typeDescriptions": {
                                                "typeIdentifier": "t_function_internal_view$_t_bytes_memory_ptr_$returns$__$",
                                                "typeString": "function (bytes memory) view"
                                            }
                                        },
                                        "id": 13000,
                                        "isConstant": false,
                                        "isLValue": false,
                                        "isPure": false,
                                        "kind": "functionCall",
                                        "lValueRequested": false,
                                        "names": [],
                                        "nodeType": "FunctionCall",
                                        "src": "1395:59:62",
                                        "tryCall": false,
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_tuple$__$",
                                            "typeString": "tuple()"
                                        }
                                    },
                                    "id": 13001,
                                    "nodeType": "ExpressionStatement",
                                    "src": "1395:59:62"
                                }
                            ]
                        },
                        "id": 13003,
                        "implemented": true,
                        "kind": "function",
                        "modifiers": [],
                        "name": "logBytes2",
                        "nameLocation": "1356:9:62",
                        "nodeType": "FunctionDefinition",
                        "parameters": {
                            "id": 12992,
                            "nodeType": "ParameterList",
                            "parameters": [
                                {
                                    "constant": false,
                                    "id": 12991,
                                    "mutability": "mutable",
                                    "name": "p0",
                                    "nameLocation": "1373:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 13003,
                                    "src": "1366:9:62",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_bytes2",
                                        "typeString": "bytes2"
                                    },
                                    "typeName": {
                                        "id": 12990,
                                        "name": "bytes2",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "1366:6:62",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_bytes2",
                                            "typeString": "bytes2"
                                        }
                                    },
                                    "visibility": "internal"
                                }
                            ],
                            "src": "1365:11:62"
                        },
                        "returnParameters": {
                            "id": 12993,
                            "nodeType": "ParameterList",
                            "parameters": [],
                            "src": "1391:0:62"
                        },
                        "scope": 20920,
                        "src": "1347:111:62",
                        "stateMutability": "view",
                        "virtual": false,
                        "visibility": "internal"
                    },
                    {
                        "body": {
                            "id": 13016,
                            "nodeType": "Block",
                            "src": "1505:67:62",
                            "statements": [
                                {
                                    "expression": {
                                        "arguments": [
                                            {
                                                "arguments": [
                                                    {
                                                        "hexValue": "6c6f672862797465733329",
                                                        "id": 13011,
                                                        "isConstant": false,
                                                        "isLValue": false,
                                                        "isPure": true,
                                                        "kind": "string",
                                                        "lValueRequested": false,
                                                        "nodeType": "Literal",
                                                        "src": "1549:13:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_stringliteral_2d8349266851a1d92746f90a9696920643311d6bf462d9fa11e69718a636cbee",
                                                            "typeString": "literal_string \"log(bytes3)\""
                                                        },
                                                        "value": "log(bytes3)"
                                                    },
                                                    {
                                                        "id": 13012,
                                                        "name": "p0",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 13005,
                                                        "src": "1564:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_bytes3",
                                                            "typeString": "bytes3"
                                                        }
                                                    }
                                                ],
                                                "expression": {
                                                    "argumentTypes": [
                                                        {
                                                            "typeIdentifier": "t_stringliteral_2d8349266851a1d92746f90a9696920643311d6bf462d9fa11e69718a636cbee",
                                                            "typeString": "literal_string \"log(bytes3)\""
                                                        },
                                                        {
                                                            "typeIdentifier": "t_bytes3",
                                                            "typeString": "bytes3"
                                                        }
                                                    ],
                                                    "expression": {
                                                        "id": 13009,
                                                        "name": "abi",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 4294967295,
                                                        "src": "1525:3:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_magic_abi",
                                                            "typeString": "abi"
                                                        }
                                                    },
                                                    "id": 13010,
                                                    "isConstant": false,
                                                    "isLValue": false,
                                                    "isPure": true,
                                                    "lValueRequested": false,
                                                    "memberName": "encodeWithSignature",
                                                    "nodeType": "MemberAccess",
                                                    "src": "1525:23:62",
                                                    "typeDescriptions": {
                                                        "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$",
                                                        "typeString": "function (string memory) pure returns (bytes memory)"
                                                    }
                                                },
                                                "id": 13013,
                                                "isConstant": false,
                                                "isLValue": false,
                                                "isPure": false,
                                                "kind": "functionCall",
                                                "lValueRequested": false,
                                                "names": [],
                                                "nodeType": "FunctionCall",
                                                "src": "1525:42:62",
                                                "tryCall": false,
                                                "typeDescriptions": {
                                                    "typeIdentifier": "t_bytes_memory_ptr",
                                                    "typeString": "bytes memory"
                                                }
                                            }
                                        ],
                                        "expression": {
                                            "argumentTypes": [
                                                {
                                                    "typeIdentifier": "t_bytes_memory_ptr",
                                                    "typeString": "bytes memory"
                                                }
                                            ],
                                            "id": 13008,
                                            "name": "_sendLogPayload",
                                            "nodeType": "Identifier",
                                            "overloadedDeclarations": [],
                                            "referencedDeclaration": 12880,
                                            "src": "1509:15:62",
                                            "typeDescriptions": {
                                                "typeIdentifier": "t_function_internal_view$_t_bytes_memory_ptr_$returns$__$",
                                                "typeString": "function (bytes memory) view"
                                            }
                                        },
                                        "id": 13014,
                                        "isConstant": false,
                                        "isLValue": false,
                                        "isPure": false,
                                        "kind": "functionCall",
                                        "lValueRequested": false,
                                        "names": [],
                                        "nodeType": "FunctionCall",
                                        "src": "1509:59:62",
                                        "tryCall": false,
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_tuple$__$",
                                            "typeString": "tuple()"
                                        }
                                    },
                                    "id": 13015,
                                    "nodeType": "ExpressionStatement",
                                    "src": "1509:59:62"
                                }
                            ]
                        },
                        "id": 13017,
                        "implemented": true,
                        "kind": "function",
                        "modifiers": [],
                        "name": "logBytes3",
                        "nameLocation": "1470:9:62",
                        "nodeType": "FunctionDefinition",
                        "parameters": {
                            "id": 13006,
                            "nodeType": "ParameterList",
                            "parameters": [
                                {
                                    "constant": false,
                                    "id": 13005,
                                    "mutability": "mutable",
                                    "name": "p0",
                                    "nameLocation": "1487:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 13017,
                                    "src": "1480:9:62",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_bytes3",
                                        "typeString": "bytes3"
                                    },
                                    "typeName": {
                                        "id": 13004,
                                        "name": "bytes3",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "1480:6:62",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_bytes3",
                                            "typeString": "bytes3"
                                        }
                                    },
                                    "visibility": "internal"
                                }
                            ],
                            "src": "1479:11:62"
                        },
                        "returnParameters": {
                            "id": 13007,
                            "nodeType": "ParameterList",
                            "parameters": [],
                            "src": "1505:0:62"
                        },
                        "scope": 20920,
                        "src": "1461:111:62",
                        "stateMutability": "view",
                        "virtual": false,
                        "visibility": "internal"
                    },
                    {
                        "body": {
                            "id": 13030,
                            "nodeType": "Block",
                            "src": "1619:67:62",
                            "statements": [
                                {
                                    "expression": {
                                        "arguments": [
                                            {
                                                "arguments": [
                                                    {
                                                        "hexValue": "6c6f672862797465733429",
                                                        "id": 13025,
                                                        "isConstant": false,
                                                        "isLValue": false,
                                                        "isPure": true,
                                                        "kind": "string",
                                                        "lValueRequested": false,
                                                        "nodeType": "Literal",
                                                        "src": "1663:13:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_stringliteral_e05f48d17f80c0f06e82dc14f4be9f0f654dde2e722a8d8796ad7e07f5308d55",
                                                            "typeString": "literal_string \"log(bytes4)\""
                                                        },
                                                        "value": "log(bytes4)"
                                                    },
                                                    {
                                                        "id": 13026,
                                                        "name": "p0",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 13019,
                                                        "src": "1678:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_bytes4",
                                                            "typeString": "bytes4"
                                                        }
                                                    }
                                                ],
                                                "expression": {
                                                    "argumentTypes": [
                                                        {
                                                            "typeIdentifier": "t_stringliteral_e05f48d17f80c0f06e82dc14f4be9f0f654dde2e722a8d8796ad7e07f5308d55",
                                                            "typeString": "literal_string \"log(bytes4)\""
                                                        },
                                                        {
                                                            "typeIdentifier": "t_bytes4",
                                                            "typeString": "bytes4"
                                                        }
                                                    ],
                                                    "expression": {
                                                        "id": 13023,
                                                        "name": "abi",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 4294967295,
                                                        "src": "1639:3:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_magic_abi",
                                                            "typeString": "abi"
                                                        }
                                                    },
                                                    "id": 13024,
                                                    "isConstant": false,
                                                    "isLValue": false,
                                                    "isPure": true,
                                                    "lValueRequested": false,
                                                    "memberName": "encodeWithSignature",
                                                    "nodeType": "MemberAccess",
                                                    "src": "1639:23:62",
                                                    "typeDescriptions": {
                                                        "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$",
                                                        "typeString": "function (string memory) pure returns (bytes memory)"
                                                    }
                                                },
                                                "id": 13027,
                                                "isConstant": false,
                                                "isLValue": false,
                                                "isPure": false,
                                                "kind": "functionCall",
                                                "lValueRequested": false,
                                                "names": [],
                                                "nodeType": "FunctionCall",
                                                "src": "1639:42:62",
                                                "tryCall": false,
                                                "typeDescriptions": {
                                                    "typeIdentifier": "t_bytes_memory_ptr",
                                                    "typeString": "bytes memory"
                                                }
                                            }
                                        ],
                                        "expression": {
                                            "argumentTypes": [
                                                {
                                                    "typeIdentifier": "t_bytes_memory_ptr",
                                                    "typeString": "bytes memory"
                                                }
                                            ],
                                            "id": 13022,
                                            "name": "_sendLogPayload",
                                            "nodeType": "Identifier",
                                            "overloadedDeclarations": [],
                                            "referencedDeclaration": 12880,
                                            "src": "1623:15:62",
                                            "typeDescriptions": {
                                                "typeIdentifier": "t_function_internal_view$_t_bytes_memory_ptr_$returns$__$",
                                                "typeString": "function (bytes memory) view"
                                            }
                                        },
                                        "id": 13028,
                                        "isConstant": false,
                                        "isLValue": false,
                                        "isPure": false,
                                        "kind": "functionCall",
                                        "lValueRequested": false,
                                        "names": [],
                                        "nodeType": "FunctionCall",
                                        "src": "1623:59:62",
                                        "tryCall": false,
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_tuple$__$",
                                            "typeString": "tuple()"
                                        }
                                    },
                                    "id": 13029,
                                    "nodeType": "ExpressionStatement",
                                    "src": "1623:59:62"
                                }
                            ]
                        },
                        "id": 13031,
                        "implemented": true,
                        "kind": "function",
                        "modifiers": [],
                        "name": "logBytes4",
                        "nameLocation": "1584:9:62",
                        "nodeType": "FunctionDefinition",
                        "parameters": {
                            "id": 13020,
                            "nodeType": "ParameterList",
                            "parameters": [
                                {
                                    "constant": false,
                                    "id": 13019,
                                    "mutability": "mutable",
                                    "name": "p0",
                                    "nameLocation": "1601:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 13031,
                                    "src": "1594:9:62",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_bytes4",
                                        "typeString": "bytes4"
                                    },
                                    "typeName": {
                                        "id": 13018,
                                        "name": "bytes4",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "1594:6:62",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_bytes4",
                                            "typeString": "bytes4"
                                        }
                                    },
                                    "visibility": "internal"
                                }
                            ],
                            "src": "1593:11:62"
                        },
                        "returnParameters": {
                            "id": 13021,
                            "nodeType": "ParameterList",
                            "parameters": [],
                            "src": "1619:0:62"
                        },
                        "scope": 20920,
                        "src": "1575:111:62",
                        "stateMutability": "view",
                        "virtual": false,
                        "visibility": "internal"
                    },
                    {
                        "body": {
                            "id": 13044,
                            "nodeType": "Block",
                            "src": "1733:67:62",
                            "statements": [
                                {
                                    "expression": {
                                        "arguments": [
                                            {
                                                "arguments": [
                                                    {
                                                        "hexValue": "6c6f672862797465733529",
                                                        "id": 13039,
                                                        "isConstant": false,
                                                        "isLValue": false,
                                                        "isPure": true,
                                                        "kind": "string",
                                                        "lValueRequested": false,
                                                        "nodeType": "Literal",
                                                        "src": "1777:13:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_stringliteral_a684808d222f8a67c08dd13085391d5e9d1825d9fb6e2da44a91b1a07d07401a",
                                                            "typeString": "literal_string \"log(bytes5)\""
                                                        },
                                                        "value": "log(bytes5)"
                                                    },
                                                    {
                                                        "id": 13040,
                                                        "name": "p0",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 13033,
                                                        "src": "1792:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_bytes5",
                                                            "typeString": "bytes5"
                                                        }
                                                    }
                                                ],
                                                "expression": {
                                                    "argumentTypes": [
                                                        {
                                                            "typeIdentifier": "t_stringliteral_a684808d222f8a67c08dd13085391d5e9d1825d9fb6e2da44a91b1a07d07401a",
                                                            "typeString": "literal_string \"log(bytes5)\""
                                                        },
                                                        {
                                                            "typeIdentifier": "t_bytes5",
                                                            "typeString": "bytes5"
                                                        }
                                                    ],
                                                    "expression": {
                                                        "id": 13037,
                                                        "name": "abi",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 4294967295,
                                                        "src": "1753:3:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_magic_abi",
                                                            "typeString": "abi"
                                                        }
                                                    },
                                                    "id": 13038,
                                                    "isConstant": false,
                                                    "isLValue": false,
                                                    "isPure": true,
                                                    "lValueRequested": false,
                                                    "memberName": "encodeWithSignature",
                                                    "nodeType": "MemberAccess",
                                                    "src": "1753:23:62",
                                                    "typeDescriptions": {
                                                        "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$",
                                                        "typeString": "function (string memory) pure returns (bytes memory)"
                                                    }
                                                },
                                                "id": 13041,
                                                "isConstant": false,
                                                "isLValue": false,
                                                "isPure": false,
                                                "kind": "functionCall",
                                                "lValueRequested": false,
                                                "names": [],
                                                "nodeType": "FunctionCall",
                                                "src": "1753:42:62",
                                                "tryCall": false,
                                                "typeDescriptions": {
                                                    "typeIdentifier": "t_bytes_memory_ptr",
                                                    "typeString": "bytes memory"
                                                }
                                            }
                                        ],
                                        "expression": {
                                            "argumentTypes": [
                                                {
                                                    "typeIdentifier": "t_bytes_memory_ptr",
                                                    "typeString": "bytes memory"
                                                }
                                            ],
                                            "id": 13036,
                                            "name": "_sendLogPayload",
                                            "nodeType": "Identifier",
                                            "overloadedDeclarations": [],
                                            "referencedDeclaration": 12880,
                                            "src": "1737:15:62",
                                            "typeDescriptions": {
                                                "typeIdentifier": "t_function_internal_view$_t_bytes_memory_ptr_$returns$__$",
                                                "typeString": "function (bytes memory) view"
                                            }
                                        },
                                        "id": 13042,
                                        "isConstant": false,
                                        "isLValue": false,
                                        "isPure": false,
                                        "kind": "functionCall",
                                        "lValueRequested": false,
                                        "names": [],
                                        "nodeType": "FunctionCall",
                                        "src": "1737:59:62",
                                        "tryCall": false,
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_tuple$__$",
                                            "typeString": "tuple()"
                                        }
                                    },
                                    "id": 13043,
                                    "nodeType": "ExpressionStatement",
                                    "src": "1737:59:62"
                                }
                            ]
                        },
                        "id": 13045,
                        "implemented": true,
                        "kind": "function",
                        "modifiers": [],
                        "name": "logBytes5",
                        "nameLocation": "1698:9:62",
                        "nodeType": "FunctionDefinition",
                        "parameters": {
                            "id": 13034,
                            "nodeType": "ParameterList",
                            "parameters": [
                                {
                                    "constant": false,
                                    "id": 13033,
                                    "mutability": "mutable",
                                    "name": "p0",
                                    "nameLocation": "1715:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 13045,
                                    "src": "1708:9:62",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_bytes5",
                                        "typeString": "bytes5"
                                    },
                                    "typeName": {
                                        "id": 13032,
                                        "name": "bytes5",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "1708:6:62",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_bytes5",
                                            "typeString": "bytes5"
                                        }
                                    },
                                    "visibility": "internal"
                                }
                            ],
                            "src": "1707:11:62"
                        },
                        "returnParameters": {
                            "id": 13035,
                            "nodeType": "ParameterList",
                            "parameters": [],
                            "src": "1733:0:62"
                        },
                        "scope": 20920,
                        "src": "1689:111:62",
                        "stateMutability": "view",
                        "virtual": false,
                        "visibility": "internal"
                    },
                    {
                        "body": {
                            "id": 13058,
                            "nodeType": "Block",
                            "src": "1847:67:62",
                            "statements": [
                                {
                                    "expression": {
                                        "arguments": [
                                            {
                                                "arguments": [
                                                    {
                                                        "hexValue": "6c6f672862797465733629",
                                                        "id": 13053,
                                                        "isConstant": false,
                                                        "isLValue": false,
                                                        "isPure": true,
                                                        "kind": "string",
                                                        "lValueRequested": false,
                                                        "nodeType": "Literal",
                                                        "src": "1891:13:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_stringliteral_ae84a5910824668818be6031303edf0f6f3694b35d5e6f9683950d57ef12d330",
                                                            "typeString": "literal_string \"log(bytes6)\""
                                                        },
                                                        "value": "log(bytes6)"
                                                    },
                                                    {
                                                        "id": 13054,
                                                        "name": "p0",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 13047,
                                                        "src": "1906:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_bytes6",
                                                            "typeString": "bytes6"
                                                        }
                                                    }
                                                ],
                                                "expression": {
                                                    "argumentTypes": [
                                                        {
                                                            "typeIdentifier": "t_stringliteral_ae84a5910824668818be6031303edf0f6f3694b35d5e6f9683950d57ef12d330",
                                                            "typeString": "literal_string \"log(bytes6)\""
                                                        },
                                                        {
                                                            "typeIdentifier": "t_bytes6",
                                                            "typeString": "bytes6"
                                                        }
                                                    ],
                                                    "expression": {
                                                        "id": 13051,
                                                        "name": "abi",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 4294967295,
                                                        "src": "1867:3:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_magic_abi",
                                                            "typeString": "abi"
                                                        }
                                                    },
                                                    "id": 13052,
                                                    "isConstant": false,
                                                    "isLValue": false,
                                                    "isPure": true,
                                                    "lValueRequested": false,
                                                    "memberName": "encodeWithSignature",
                                                    "nodeType": "MemberAccess",
                                                    "src": "1867:23:62",
                                                    "typeDescriptions": {
                                                        "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$",
                                                        "typeString": "function (string memory) pure returns (bytes memory)"
                                                    }
                                                },
                                                "id": 13055,
                                                "isConstant": false,
                                                "isLValue": false,
                                                "isPure": false,
                                                "kind": "functionCall",
                                                "lValueRequested": false,
                                                "names": [],
                                                "nodeType": "FunctionCall",
                                                "src": "1867:42:62",
                                                "tryCall": false,
                                                "typeDescriptions": {
                                                    "typeIdentifier": "t_bytes_memory_ptr",
                                                    "typeString": "bytes memory"
                                                }
                                            }
                                        ],
                                        "expression": {
                                            "argumentTypes": [
                                                {
                                                    "typeIdentifier": "t_bytes_memory_ptr",
                                                    "typeString": "bytes memory"
                                                }
                                            ],
                                            "id": 13050,
                                            "name": "_sendLogPayload",
                                            "nodeType": "Identifier",
                                            "overloadedDeclarations": [],
                                            "referencedDeclaration": 12880,
                                            "src": "1851:15:62",
                                            "typeDescriptions": {
                                                "typeIdentifier": "t_function_internal_view$_t_bytes_memory_ptr_$returns$__$",
                                                "typeString": "function (bytes memory) view"
                                            }
                                        },
                                        "id": 13056,
                                        "isConstant": false,
                                        "isLValue": false,
                                        "isPure": false,
                                        "kind": "functionCall",
                                        "lValueRequested": false,
                                        "names": [],
                                        "nodeType": "FunctionCall",
                                        "src": "1851:59:62",
                                        "tryCall": false,
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_tuple$__$",
                                            "typeString": "tuple()"
                                        }
                                    },
                                    "id": 13057,
                                    "nodeType": "ExpressionStatement",
                                    "src": "1851:59:62"
                                }
                            ]
                        },
                        "id": 13059,
                        "implemented": true,
                        "kind": "function",
                        "modifiers": [],
                        "name": "logBytes6",
                        "nameLocation": "1812:9:62",
                        "nodeType": "FunctionDefinition",
                        "parameters": {
                            "id": 13048,
                            "nodeType": "ParameterList",
                            "parameters": [
                                {
                                    "constant": false,
                                    "id": 13047,
                                    "mutability": "mutable",
                                    "name": "p0",
                                    "nameLocation": "1829:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 13059,
                                    "src": "1822:9:62",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_bytes6",
                                        "typeString": "bytes6"
                                    },
                                    "typeName": {
                                        "id": 13046,
                                        "name": "bytes6",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "1822:6:62",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_bytes6",
                                            "typeString": "bytes6"
                                        }
                                    },
                                    "visibility": "internal"
                                }
                            ],
                            "src": "1821:11:62"
                        },
                        "returnParameters": {
                            "id": 13049,
                            "nodeType": "ParameterList",
                            "parameters": [],
                            "src": "1847:0:62"
                        },
                        "scope": 20920,
                        "src": "1803:111:62",
                        "stateMutability": "view",
                        "virtual": false,
                        "visibility": "internal"
                    },
                    {
                        "body": {
                            "id": 13072,
                            "nodeType": "Block",
                            "src": "1961:67:62",
                            "statements": [
                                {
                                    "expression": {
                                        "arguments": [
                                            {
                                                "arguments": [
                                                    {
                                                        "hexValue": "6c6f672862797465733729",
                                                        "id": 13067,
                                                        "isConstant": false,
                                                        "isLValue": false,
                                                        "isPure": true,
                                                        "kind": "string",
                                                        "lValueRequested": false,
                                                        "nodeType": "Literal",
                                                        "src": "2005:13:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_stringliteral_4ed57e28813457436949e4ec0a834b3c8262cd6cebd21953ee0da3400ce2de29",
                                                            "typeString": "literal_string \"log(bytes7)\""
                                                        },
                                                        "value": "log(bytes7)"
                                                    },
                                                    {
                                                        "id": 13068,
                                                        "name": "p0",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 13061,
                                                        "src": "2020:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_bytes7",
                                                            "typeString": "bytes7"
                                                        }
                                                    }
                                                ],
                                                "expression": {
                                                    "argumentTypes": [
                                                        {
                                                            "typeIdentifier": "t_stringliteral_4ed57e28813457436949e4ec0a834b3c8262cd6cebd21953ee0da3400ce2de29",
                                                            "typeString": "literal_string \"log(bytes7)\""
                                                        },
                                                        {
                                                            "typeIdentifier": "t_bytes7",
                                                            "typeString": "bytes7"
                                                        }
                                                    ],
                                                    "expression": {
                                                        "id": 13065,
                                                        "name": "abi",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 4294967295,
                                                        "src": "1981:3:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_magic_abi",
                                                            "typeString": "abi"
                                                        }
                                                    },
                                                    "id": 13066,
                                                    "isConstant": false,
                                                    "isLValue": false,
                                                    "isPure": true,
                                                    "lValueRequested": false,
                                                    "memberName": "encodeWithSignature",
                                                    "nodeType": "MemberAccess",
                                                    "src": "1981:23:62",
                                                    "typeDescriptions": {
                                                        "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$",
                                                        "typeString": "function (string memory) pure returns (bytes memory)"
                                                    }
                                                },
                                                "id": 13069,
                                                "isConstant": false,
                                                "isLValue": false,
                                                "isPure": false,
                                                "kind": "functionCall",
                                                "lValueRequested": false,
                                                "names": [],
                                                "nodeType": "FunctionCall",
                                                "src": "1981:42:62",
                                                "tryCall": false,
                                                "typeDescriptions": {
                                                    "typeIdentifier": "t_bytes_memory_ptr",
                                                    "typeString": "bytes memory"
                                                }
                                            }
                                        ],
                                        "expression": {
                                            "argumentTypes": [
                                                {
                                                    "typeIdentifier": "t_bytes_memory_ptr",
                                                    "typeString": "bytes memory"
                                                }
                                            ],
                                            "id": 13064,
                                            "name": "_sendLogPayload",
                                            "nodeType": "Identifier",
                                            "overloadedDeclarations": [],
                                            "referencedDeclaration": 12880,
                                            "src": "1965:15:62",
                                            "typeDescriptions": {
                                                "typeIdentifier": "t_function_internal_view$_t_bytes_memory_ptr_$returns$__$",
                                                "typeString": "function (bytes memory) view"
                                            }
                                        },
                                        "id": 13070,
                                        "isConstant": false,
                                        "isLValue": false,
                                        "isPure": false,
                                        "kind": "functionCall",
                                        "lValueRequested": false,
                                        "names": [],
                                        "nodeType": "FunctionCall",
                                        "src": "1965:59:62",
                                        "tryCall": false,
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_tuple$__$",
                                            "typeString": "tuple()"
                                        }
                                    },
                                    "id": 13071,
                                    "nodeType": "ExpressionStatement",
                                    "src": "1965:59:62"
                                }
                            ]
                        },
                        "id": 13073,
                        "implemented": true,
                        "kind": "function",
                        "modifiers": [],
                        "name": "logBytes7",
                        "nameLocation": "1926:9:62",
                        "nodeType": "FunctionDefinition",
                        "parameters": {
                            "id": 13062,
                            "nodeType": "ParameterList",
                            "parameters": [
                                {
                                    "constant": false,
                                    "id": 13061,
                                    "mutability": "mutable",
                                    "name": "p0",
                                    "nameLocation": "1943:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 13073,
                                    "src": "1936:9:62",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_bytes7",
                                        "typeString": "bytes7"
                                    },
                                    "typeName": {
                                        "id": 13060,
                                        "name": "bytes7",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "1936:6:62",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_bytes7",
                                            "typeString": "bytes7"
                                        }
                                    },
                                    "visibility": "internal"
                                }
                            ],
                            "src": "1935:11:62"
                        },
                        "returnParameters": {
                            "id": 13063,
                            "nodeType": "ParameterList",
                            "parameters": [],
                            "src": "1961:0:62"
                        },
                        "scope": 20920,
                        "src": "1917:111:62",
                        "stateMutability": "view",
                        "virtual": false,
                        "visibility": "internal"
                    },
                    {
                        "body": {
                            "id": 13086,
                            "nodeType": "Block",
                            "src": "2075:67:62",
                            "statements": [
                                {
                                    "expression": {
                                        "arguments": [
                                            {
                                                "arguments": [
                                                    {
                                                        "hexValue": "6c6f672862797465733829",
                                                        "id": 13081,
                                                        "isConstant": false,
                                                        "isLValue": false,
                                                        "isPure": true,
                                                        "kind": "string",
                                                        "lValueRequested": false,
                                                        "nodeType": "Literal",
                                                        "src": "2119:13:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_stringliteral_4f84252e5b28e1a0064346c7cd13650e2dd6020728ca468281bb2a28b42654b3",
                                                            "typeString": "literal_string \"log(bytes8)\""
                                                        },
                                                        "value": "log(bytes8)"
                                                    },
                                                    {
                                                        "id": 13082,
                                                        "name": "p0",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 13075,
                                                        "src": "2134:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_bytes8",
                                                            "typeString": "bytes8"
                                                        }
                                                    }
                                                ],
                                                "expression": {
                                                    "argumentTypes": [
                                                        {
                                                            "typeIdentifier": "t_stringliteral_4f84252e5b28e1a0064346c7cd13650e2dd6020728ca468281bb2a28b42654b3",
                                                            "typeString": "literal_string \"log(bytes8)\""
                                                        },
                                                        {
                                                            "typeIdentifier": "t_bytes8",
                                                            "typeString": "bytes8"
                                                        }
                                                    ],
                                                    "expression": {
                                                        "id": 13079,
                                                        "name": "abi",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 4294967295,
                                                        "src": "2095:3:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_magic_abi",
                                                            "typeString": "abi"
                                                        }
                                                    },
                                                    "id": 13080,
                                                    "isConstant": false,
                                                    "isLValue": false,
                                                    "isPure": true,
                                                    "lValueRequested": false,
                                                    "memberName": "encodeWithSignature",
                                                    "nodeType": "MemberAccess",
                                                    "src": "2095:23:62",
                                                    "typeDescriptions": {
                                                        "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$",
                                                        "typeString": "function (string memory) pure returns (bytes memory)"
                                                    }
                                                },
                                                "id": 13083,
                                                "isConstant": false,
                                                "isLValue": false,
                                                "isPure": false,
                                                "kind": "functionCall",
                                                "lValueRequested": false,
                                                "names": [],
                                                "nodeType": "FunctionCall",
                                                "src": "2095:42:62",
                                                "tryCall": false,
                                                "typeDescriptions": {
                                                    "typeIdentifier": "t_bytes_memory_ptr",
                                                    "typeString": "bytes memory"
                                                }
                                            }
                                        ],
                                        "expression": {
                                            "argumentTypes": [
                                                {
                                                    "typeIdentifier": "t_bytes_memory_ptr",
                                                    "typeString": "bytes memory"
                                                }
                                            ],
                                            "id": 13078,
                                            "name": "_sendLogPayload",
                                            "nodeType": "Identifier",
                                            "overloadedDeclarations": [],
                                            "referencedDeclaration": 12880,
                                            "src": "2079:15:62",
                                            "typeDescriptions": {
                                                "typeIdentifier": "t_function_internal_view$_t_bytes_memory_ptr_$returns$__$",
                                                "typeString": "function (bytes memory) view"
                                            }
                                        },
                                        "id": 13084,
                                        "isConstant": false,
                                        "isLValue": false,
                                        "isPure": false,
                                        "kind": "functionCall",
                                        "lValueRequested": false,
                                        "names": [],
                                        "nodeType": "FunctionCall",
                                        "src": "2079:59:62",
                                        "tryCall": false,
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_tuple$__$",
                                            "typeString": "tuple()"
                                        }
                                    },
                                    "id": 13085,
                                    "nodeType": "ExpressionStatement",
                                    "src": "2079:59:62"
                                }
                            ]
                        },
                        "id": 13087,
                        "implemented": true,
                        "kind": "function",
                        "modifiers": [],
                        "name": "logBytes8",
                        "nameLocation": "2040:9:62",
                        "nodeType": "FunctionDefinition",
                        "parameters": {
                            "id": 13076,
                            "nodeType": "ParameterList",
                            "parameters": [
                                {
                                    "constant": false,
                                    "id": 13075,
                                    "mutability": "mutable",
                                    "name": "p0",
                                    "nameLocation": "2057:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 13087,
                                    "src": "2050:9:62",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_bytes8",
                                        "typeString": "bytes8"
                                    },
                                    "typeName": {
                                        "id": 13074,
                                        "name": "bytes8",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "2050:6:62",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_bytes8",
                                            "typeString": "bytes8"
                                        }
                                    },
                                    "visibility": "internal"
                                }
                            ],
                            "src": "2049:11:62"
                        },
                        "returnParameters": {
                            "id": 13077,
                            "nodeType": "ParameterList",
                            "parameters": [],
                            "src": "2075:0:62"
                        },
                        "scope": 20920,
                        "src": "2031:111:62",
                        "stateMutability": "view",
                        "virtual": false,
                        "visibility": "internal"
                    },
                    {
                        "body": {
                            "id": 13100,
                            "nodeType": "Block",
                            "src": "2189:67:62",
                            "statements": [
                                {
                                    "expression": {
                                        "arguments": [
                                            {
                                                "arguments": [
                                                    {
                                                        "hexValue": "6c6f672862797465733929",
                                                        "id": 13095,
                                                        "isConstant": false,
                                                        "isLValue": false,
                                                        "isPure": true,
                                                        "kind": "string",
                                                        "lValueRequested": false,
                                                        "nodeType": "Literal",
                                                        "src": "2233:13:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_stringliteral_90bd8cd0463fe91d31e59db57ee4cf8d778374c422b4b50e841266d9c2cc6667",
                                                            "typeString": "literal_string \"log(bytes9)\""
                                                        },
                                                        "value": "log(bytes9)"
                                                    },
                                                    {
                                                        "id": 13096,
                                                        "name": "p0",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 13089,
                                                        "src": "2248:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_bytes9",
                                                            "typeString": "bytes9"
                                                        }
                                                    }
                                                ],
                                                "expression": {
                                                    "argumentTypes": [
                                                        {
                                                            "typeIdentifier": "t_stringliteral_90bd8cd0463fe91d31e59db57ee4cf8d778374c422b4b50e841266d9c2cc6667",
                                                            "typeString": "literal_string \"log(bytes9)\""
                                                        },
                                                        {
                                                            "typeIdentifier": "t_bytes9",
                                                            "typeString": "bytes9"
                                                        }
                                                    ],
                                                    "expression": {
                                                        "id": 13093,
                                                        "name": "abi",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 4294967295,
                                                        "src": "2209:3:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_magic_abi",
                                                            "typeString": "abi"
                                                        }
                                                    },
                                                    "id": 13094,
                                                    "isConstant": false,
                                                    "isLValue": false,
                                                    "isPure": true,
                                                    "lValueRequested": false,
                                                    "memberName": "encodeWithSignature",
                                                    "nodeType": "MemberAccess",
                                                    "src": "2209:23:62",
                                                    "typeDescriptions": {
                                                        "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$",
                                                        "typeString": "function (string memory) pure returns (bytes memory)"
                                                    }
                                                },
                                                "id": 13097,
                                                "isConstant": false,
                                                "isLValue": false,
                                                "isPure": false,
                                                "kind": "functionCall",
                                                "lValueRequested": false,
                                                "names": [],
                                                "nodeType": "FunctionCall",
                                                "src": "2209:42:62",
                                                "tryCall": false,
                                                "typeDescriptions": {
                                                    "typeIdentifier": "t_bytes_memory_ptr",
                                                    "typeString": "bytes memory"
                                                }
                                            }
                                        ],
                                        "expression": {
                                            "argumentTypes": [
                                                {
                                                    "typeIdentifier": "t_bytes_memory_ptr",
                                                    "typeString": "bytes memory"
                                                }
                                            ],
                                            "id": 13092,
                                            "name": "_sendLogPayload",
                                            "nodeType": "Identifier",
                                            "overloadedDeclarations": [],
                                            "referencedDeclaration": 12880,
                                            "src": "2193:15:62",
                                            "typeDescriptions": {
                                                "typeIdentifier": "t_function_internal_view$_t_bytes_memory_ptr_$returns$__$",
                                                "typeString": "function (bytes memory) view"
                                            }
                                        },
                                        "id": 13098,
                                        "isConstant": false,
                                        "isLValue": false,
                                        "isPure": false,
                                        "kind": "functionCall",
                                        "lValueRequested": false,
                                        "names": [],
                                        "nodeType": "FunctionCall",
                                        "src": "2193:59:62",
                                        "tryCall": false,
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_tuple$__$",
                                            "typeString": "tuple()"
                                        }
                                    },
                                    "id": 13099,
                                    "nodeType": "ExpressionStatement",
                                    "src": "2193:59:62"
                                }
                            ]
                        },
                        "id": 13101,
                        "implemented": true,
                        "kind": "function",
                        "modifiers": [],
                        "name": "logBytes9",
                        "nameLocation": "2154:9:62",
                        "nodeType": "FunctionDefinition",
                        "parameters": {
                            "id": 13090,
                            "nodeType": "ParameterList",
                            "parameters": [
                                {
                                    "constant": false,
                                    "id": 13089,
                                    "mutability": "mutable",
                                    "name": "p0",
                                    "nameLocation": "2171:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 13101,
                                    "src": "2164:9:62",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_bytes9",
                                        "typeString": "bytes9"
                                    },
                                    "typeName": {
                                        "id": 13088,
                                        "name": "bytes9",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "2164:6:62",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_bytes9",
                                            "typeString": "bytes9"
                                        }
                                    },
                                    "visibility": "internal"
                                }
                            ],
                            "src": "2163:11:62"
                        },
                        "returnParameters": {
                            "id": 13091,
                            "nodeType": "ParameterList",
                            "parameters": [],
                            "src": "2189:0:62"
                        },
                        "scope": 20920,
                        "src": "2145:111:62",
                        "stateMutability": "view",
                        "virtual": false,
                        "visibility": "internal"
                    },
                    {
                        "body": {
                            "id": 13114,
                            "nodeType": "Block",
                            "src": "2305:68:62",
                            "statements": [
                                {
                                    "expression": {
                                        "arguments": [
                                            {
                                                "arguments": [
                                                    {
                                                        "hexValue": "6c6f67286279746573313029",
                                                        "id": 13109,
                                                        "isConstant": false,
                                                        "isLValue": false,
                                                        "isPure": true,
                                                        "kind": "string",
                                                        "lValueRequested": false,
                                                        "nodeType": "Literal",
                                                        "src": "2349:14:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_stringliteral_013d178bb749cf32d0f7243763667360eb91576261efe5ed9be72b4a2800fd66",
                                                            "typeString": "literal_string \"log(bytes10)\""
                                                        },
                                                        "value": "log(bytes10)"
                                                    },
                                                    {
                                                        "id": 13110,
                                                        "name": "p0",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 13103,
                                                        "src": "2365:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_bytes10",
                                                            "typeString": "bytes10"
                                                        }
                                                    }
                                                ],
                                                "expression": {
                                                    "argumentTypes": [
                                                        {
                                                            "typeIdentifier": "t_stringliteral_013d178bb749cf32d0f7243763667360eb91576261efe5ed9be72b4a2800fd66",
                                                            "typeString": "literal_string \"log(bytes10)\""
                                                        },
                                                        {
                                                            "typeIdentifier": "t_bytes10",
                                                            "typeString": "bytes10"
                                                        }
                                                    ],
                                                    "expression": {
                                                        "id": 13107,
                                                        "name": "abi",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 4294967295,
                                                        "src": "2325:3:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_magic_abi",
                                                            "typeString": "abi"
                                                        }
                                                    },
                                                    "id": 13108,
                                                    "isConstant": false,
                                                    "isLValue": false,
                                                    "isPure": true,
                                                    "lValueRequested": false,
                                                    "memberName": "encodeWithSignature",
                                                    "nodeType": "MemberAccess",
                                                    "src": "2325:23:62",
                                                    "typeDescriptions": {
                                                        "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$",
                                                        "typeString": "function (string memory) pure returns (bytes memory)"
                                                    }
                                                },
                                                "id": 13111,
                                                "isConstant": false,
                                                "isLValue": false,
                                                "isPure": false,
                                                "kind": "functionCall",
                                                "lValueRequested": false,
                                                "names": [],
                                                "nodeType": "FunctionCall",
                                                "src": "2325:43:62",
                                                "tryCall": false,
                                                "typeDescriptions": {
                                                    "typeIdentifier": "t_bytes_memory_ptr",
                                                    "typeString": "bytes memory"
                                                }
                                            }
                                        ],
                                        "expression": {
                                            "argumentTypes": [
                                                {
                                                    "typeIdentifier": "t_bytes_memory_ptr",
                                                    "typeString": "bytes memory"
                                                }
                                            ],
                                            "id": 13106,
                                            "name": "_sendLogPayload",
                                            "nodeType": "Identifier",
                                            "overloadedDeclarations": [],
                                            "referencedDeclaration": 12880,
                                            "src": "2309:15:62",
                                            "typeDescriptions": {
                                                "typeIdentifier": "t_function_internal_view$_t_bytes_memory_ptr_$returns$__$",
                                                "typeString": "function (bytes memory) view"
                                            }
                                        },
                                        "id": 13112,
                                        "isConstant": false,
                                        "isLValue": false,
                                        "isPure": false,
                                        "kind": "functionCall",
                                        "lValueRequested": false,
                                        "names": [],
                                        "nodeType": "FunctionCall",
                                        "src": "2309:60:62",
                                        "tryCall": false,
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_tuple$__$",
                                            "typeString": "tuple()"
                                        }
                                    },
                                    "id": 13113,
                                    "nodeType": "ExpressionStatement",
                                    "src": "2309:60:62"
                                }
                            ]
                        },
                        "id": 13115,
                        "implemented": true,
                        "kind": "function",
                        "modifiers": [],
                        "name": "logBytes10",
                        "nameLocation": "2268:10:62",
                        "nodeType": "FunctionDefinition",
                        "parameters": {
                            "id": 13104,
                            "nodeType": "ParameterList",
                            "parameters": [
                                {
                                    "constant": false,
                                    "id": 13103,
                                    "mutability": "mutable",
                                    "name": "p0",
                                    "nameLocation": "2287:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 13115,
                                    "src": "2279:10:62",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_bytes10",
                                        "typeString": "bytes10"
                                    },
                                    "typeName": {
                                        "id": 13102,
                                        "name": "bytes10",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "2279:7:62",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_bytes10",
                                            "typeString": "bytes10"
                                        }
                                    },
                                    "visibility": "internal"
                                }
                            ],
                            "src": "2278:12:62"
                        },
                        "returnParameters": {
                            "id": 13105,
                            "nodeType": "ParameterList",
                            "parameters": [],
                            "src": "2305:0:62"
                        },
                        "scope": 20920,
                        "src": "2259:114:62",
                        "stateMutability": "view",
                        "virtual": false,
                        "visibility": "internal"
                    },
                    {
                        "body": {
                            "id": 13128,
                            "nodeType": "Block",
                            "src": "2422:68:62",
                            "statements": [
                                {
                                    "expression": {
                                        "arguments": [
                                            {
                                                "arguments": [
                                                    {
                                                        "hexValue": "6c6f67286279746573313129",
                                                        "id": 13123,
                                                        "isConstant": false,
                                                        "isLValue": false,
                                                        "isPure": true,
                                                        "kind": "string",
                                                        "lValueRequested": false,
                                                        "nodeType": "Literal",
                                                        "src": "2466:14:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_stringliteral_04004a2e5bef8ca2e7ffd661b519aec3d9c1b8d0aa1e11656aab73b2726922d9",
                                                            "typeString": "literal_string \"log(bytes11)\""
                                                        },
                                                        "value": "log(bytes11)"
                                                    },
                                                    {
                                                        "id": 13124,
                                                        "name": "p0",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 13117,
                                                        "src": "2482:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_bytes11",
                                                            "typeString": "bytes11"
                                                        }
                                                    }
                                                ],
                                                "expression": {
                                                    "argumentTypes": [
                                                        {
                                                            "typeIdentifier": "t_stringliteral_04004a2e5bef8ca2e7ffd661b519aec3d9c1b8d0aa1e11656aab73b2726922d9",
                                                            "typeString": "literal_string \"log(bytes11)\""
                                                        },
                                                        {
                                                            "typeIdentifier": "t_bytes11",
                                                            "typeString": "bytes11"
                                                        }
                                                    ],
                                                    "expression": {
                                                        "id": 13121,
                                                        "name": "abi",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 4294967295,
                                                        "src": "2442:3:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_magic_abi",
                                                            "typeString": "abi"
                                                        }
                                                    },
                                                    "id": 13122,
                                                    "isConstant": false,
                                                    "isLValue": false,
                                                    "isPure": true,
                                                    "lValueRequested": false,
                                                    "memberName": "encodeWithSignature",
                                                    "nodeType": "MemberAccess",
                                                    "src": "2442:23:62",
                                                    "typeDescriptions": {
                                                        "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$",
                                                        "typeString": "function (string memory) pure returns (bytes memory)"
                                                    }
                                                },
                                                "id": 13125,
                                                "isConstant": false,
                                                "isLValue": false,
                                                "isPure": false,
                                                "kind": "functionCall",
                                                "lValueRequested": false,
                                                "names": [],
                                                "nodeType": "FunctionCall",
                                                "src": "2442:43:62",
                                                "tryCall": false,
                                                "typeDescriptions": {
                                                    "typeIdentifier": "t_bytes_memory_ptr",
                                                    "typeString": "bytes memory"
                                                }
                                            }
                                        ],
                                        "expression": {
                                            "argumentTypes": [
                                                {
                                                    "typeIdentifier": "t_bytes_memory_ptr",
                                                    "typeString": "bytes memory"
                                                }
                                            ],
                                            "id": 13120,
                                            "name": "_sendLogPayload",
                                            "nodeType": "Identifier",
                                            "overloadedDeclarations": [],
                                            "referencedDeclaration": 12880,
                                            "src": "2426:15:62",
                                            "typeDescriptions": {
                                                "typeIdentifier": "t_function_internal_view$_t_bytes_memory_ptr_$returns$__$",
                                                "typeString": "function (bytes memory) view"
                                            }
                                        },
                                        "id": 13126,
                                        "isConstant": false,
                                        "isLValue": false,
                                        "isPure": false,
                                        "kind": "functionCall",
                                        "lValueRequested": false,
                                        "names": [],
                                        "nodeType": "FunctionCall",
                                        "src": "2426:60:62",
                                        "tryCall": false,
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_tuple$__$",
                                            "typeString": "tuple()"
                                        }
                                    },
                                    "id": 13127,
                                    "nodeType": "ExpressionStatement",
                                    "src": "2426:60:62"
                                }
                            ]
                        },
                        "id": 13129,
                        "implemented": true,
                        "kind": "function",
                        "modifiers": [],
                        "name": "logBytes11",
                        "nameLocation": "2385:10:62",
                        "nodeType": "FunctionDefinition",
                        "parameters": {
                            "id": 13118,
                            "nodeType": "ParameterList",
                            "parameters": [
                                {
                                    "constant": false,
                                    "id": 13117,
                                    "mutability": "mutable",
                                    "name": "p0",
                                    "nameLocation": "2404:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 13129,
                                    "src": "2396:10:62",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_bytes11",
                                        "typeString": "bytes11"
                                    },
                                    "typeName": {
                                        "id": 13116,
                                        "name": "bytes11",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "2396:7:62",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_bytes11",
                                            "typeString": "bytes11"
                                        }
                                    },
                                    "visibility": "internal"
                                }
                            ],
                            "src": "2395:12:62"
                        },
                        "returnParameters": {
                            "id": 13119,
                            "nodeType": "ParameterList",
                            "parameters": [],
                            "src": "2422:0:62"
                        },
                        "scope": 20920,
                        "src": "2376:114:62",
                        "stateMutability": "view",
                        "virtual": false,
                        "visibility": "internal"
                    },
                    {
                        "body": {
                            "id": 13142,
                            "nodeType": "Block",
                            "src": "2539:68:62",
                            "statements": [
                                {
                                    "expression": {
                                        "arguments": [
                                            {
                                                "arguments": [
                                                    {
                                                        "hexValue": "6c6f67286279746573313229",
                                                        "id": 13137,
                                                        "isConstant": false,
                                                        "isLValue": false,
                                                        "isPure": true,
                                                        "kind": "string",
                                                        "lValueRequested": false,
                                                        "nodeType": "Literal",
                                                        "src": "2583:14:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_stringliteral_86a06abd704b9e5bab2216d456863046355f2def5304d8276c140d0d454fddf2",
                                                            "typeString": "literal_string \"log(bytes12)\""
                                                        },
                                                        "value": "log(bytes12)"
                                                    },
                                                    {
                                                        "id": 13138,
                                                        "name": "p0",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 13131,
                                                        "src": "2599:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_bytes12",
                                                            "typeString": "bytes12"
                                                        }
                                                    }
                                                ],
                                                "expression": {
                                                    "argumentTypes": [
                                                        {
                                                            "typeIdentifier": "t_stringliteral_86a06abd704b9e5bab2216d456863046355f2def5304d8276c140d0d454fddf2",
                                                            "typeString": "literal_string \"log(bytes12)\""
                                                        },
                                                        {
                                                            "typeIdentifier": "t_bytes12",
                                                            "typeString": "bytes12"
                                                        }
                                                    ],
                                                    "expression": {
                                                        "id": 13135,
                                                        "name": "abi",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 4294967295,
                                                        "src": "2559:3:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_magic_abi",
                                                            "typeString": "abi"
                                                        }
                                                    },
                                                    "id": 13136,
                                                    "isConstant": false,
                                                    "isLValue": false,
                                                    "isPure": true,
                                                    "lValueRequested": false,
                                                    "memberName": "encodeWithSignature",
                                                    "nodeType": "MemberAccess",
                                                    "src": "2559:23:62",
                                                    "typeDescriptions": {
                                                        "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$",
                                                        "typeString": "function (string memory) pure returns (bytes memory)"
                                                    }
                                                },
                                                "id": 13139,
                                                "isConstant": false,
                                                "isLValue": false,
                                                "isPure": false,
                                                "kind": "functionCall",
                                                "lValueRequested": false,
                                                "names": [],
                                                "nodeType": "FunctionCall",
                                                "src": "2559:43:62",
                                                "tryCall": false,
                                                "typeDescriptions": {
                                                    "typeIdentifier": "t_bytes_memory_ptr",
                                                    "typeString": "bytes memory"
                                                }
                                            }
                                        ],
                                        "expression": {
                                            "argumentTypes": [
                                                {
                                                    "typeIdentifier": "t_bytes_memory_ptr",
                                                    "typeString": "bytes memory"
                                                }
                                            ],
                                            "id": 13134,
                                            "name": "_sendLogPayload",
                                            "nodeType": "Identifier",
                                            "overloadedDeclarations": [],
                                            "referencedDeclaration": 12880,
                                            "src": "2543:15:62",
                                            "typeDescriptions": {
                                                "typeIdentifier": "t_function_internal_view$_t_bytes_memory_ptr_$returns$__$",
                                                "typeString": "function (bytes memory) view"
                                            }
                                        },
                                        "id": 13140,
                                        "isConstant": false,
                                        "isLValue": false,
                                        "isPure": false,
                                        "kind": "functionCall",
                                        "lValueRequested": false,
                                        "names": [],
                                        "nodeType": "FunctionCall",
                                        "src": "2543:60:62",
                                        "tryCall": false,
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_tuple$__$",
                                            "typeString": "tuple()"
                                        }
                                    },
                                    "id": 13141,
                                    "nodeType": "ExpressionStatement",
                                    "src": "2543:60:62"
                                }
                            ]
                        },
                        "id": 13143,
                        "implemented": true,
                        "kind": "function",
                        "modifiers": [],
                        "name": "logBytes12",
                        "nameLocation": "2502:10:62",
                        "nodeType": "FunctionDefinition",
                        "parameters": {
                            "id": 13132,
                            "nodeType": "ParameterList",
                            "parameters": [
                                {
                                    "constant": false,
                                    "id": 13131,
                                    "mutability": "mutable",
                                    "name": "p0",
                                    "nameLocation": "2521:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 13143,
                                    "src": "2513:10:62",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_bytes12",
                                        "typeString": "bytes12"
                                    },
                                    "typeName": {
                                        "id": 13130,
                                        "name": "bytes12",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "2513:7:62",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_bytes12",
                                            "typeString": "bytes12"
                                        }
                                    },
                                    "visibility": "internal"
                                }
                            ],
                            "src": "2512:12:62"
                        },
                        "returnParameters": {
                            "id": 13133,
                            "nodeType": "ParameterList",
                            "parameters": [],
                            "src": "2539:0:62"
                        },
                        "scope": 20920,
                        "src": "2493:114:62",
                        "stateMutability": "view",
                        "virtual": false,
                        "visibility": "internal"
                    },
                    {
                        "body": {
                            "id": 13156,
                            "nodeType": "Block",
                            "src": "2656:68:62",
                            "statements": [
                                {
                                    "expression": {
                                        "arguments": [
                                            {
                                                "arguments": [
                                                    {
                                                        "hexValue": "6c6f67286279746573313329",
                                                        "id": 13151,
                                                        "isConstant": false,
                                                        "isLValue": false,
                                                        "isPure": true,
                                                        "kind": "string",
                                                        "lValueRequested": false,
                                                        "nodeType": "Literal",
                                                        "src": "2700:14:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_stringliteral_94529e34a43ac6de2c3a0df402eee6114eb0f2ad065baefde0230cd3cf90e2ec",
                                                            "typeString": "literal_string \"log(bytes13)\""
                                                        },
                                                        "value": "log(bytes13)"
                                                    },
                                                    {
                                                        "id": 13152,
                                                        "name": "p0",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 13145,
                                                        "src": "2716:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_bytes13",
                                                            "typeString": "bytes13"
                                                        }
                                                    }
                                                ],
                                                "expression": {
                                                    "argumentTypes": [
                                                        {
                                                            "typeIdentifier": "t_stringliteral_94529e34a43ac6de2c3a0df402eee6114eb0f2ad065baefde0230cd3cf90e2ec",
                                                            "typeString": "literal_string \"log(bytes13)\""
                                                        },
                                                        {
                                                            "typeIdentifier": "t_bytes13",
                                                            "typeString": "bytes13"
                                                        }
                                                    ],
                                                    "expression": {
                                                        "id": 13149,
                                                        "name": "abi",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 4294967295,
                                                        "src": "2676:3:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_magic_abi",
                                                            "typeString": "abi"
                                                        }
                                                    },
                                                    "id": 13150,
                                                    "isConstant": false,
                                                    "isLValue": false,
                                                    "isPure": true,
                                                    "lValueRequested": false,
                                                    "memberName": "encodeWithSignature",
                                                    "nodeType": "MemberAccess",
                                                    "src": "2676:23:62",
                                                    "typeDescriptions": {
                                                        "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$",
                                                        "typeString": "function (string memory) pure returns (bytes memory)"
                                                    }
                                                },
                                                "id": 13153,
                                                "isConstant": false,
                                                "isLValue": false,
                                                "isPure": false,
                                                "kind": "functionCall",
                                                "lValueRequested": false,
                                                "names": [],
                                                "nodeType": "FunctionCall",
                                                "src": "2676:43:62",
                                                "tryCall": false,
                                                "typeDescriptions": {
                                                    "typeIdentifier": "t_bytes_memory_ptr",
                                                    "typeString": "bytes memory"
                                                }
                                            }
                                        ],
                                        "expression": {
                                            "argumentTypes": [
                                                {
                                                    "typeIdentifier": "t_bytes_memory_ptr",
                                                    "typeString": "bytes memory"
                                                }
                                            ],
                                            "id": 13148,
                                            "name": "_sendLogPayload",
                                            "nodeType": "Identifier",
                                            "overloadedDeclarations": [],
                                            "referencedDeclaration": 12880,
                                            "src": "2660:15:62",
                                            "typeDescriptions": {
                                                "typeIdentifier": "t_function_internal_view$_t_bytes_memory_ptr_$returns$__$",
                                                "typeString": "function (bytes memory) view"
                                            }
                                        },
                                        "id": 13154,
                                        "isConstant": false,
                                        "isLValue": false,
                                        "isPure": false,
                                        "kind": "functionCall",
                                        "lValueRequested": false,
                                        "names": [],
                                        "nodeType": "FunctionCall",
                                        "src": "2660:60:62",
                                        "tryCall": false,
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_tuple$__$",
                                            "typeString": "tuple()"
                                        }
                                    },
                                    "id": 13155,
                                    "nodeType": "ExpressionStatement",
                                    "src": "2660:60:62"
                                }
                            ]
                        },
                        "id": 13157,
                        "implemented": true,
                        "kind": "function",
                        "modifiers": [],
                        "name": "logBytes13",
                        "nameLocation": "2619:10:62",
                        "nodeType": "FunctionDefinition",
                        "parameters": {
                            "id": 13146,
                            "nodeType": "ParameterList",
                            "parameters": [
                                {
                                    "constant": false,
                                    "id": 13145,
                                    "mutability": "mutable",
                                    "name": "p0",
                                    "nameLocation": "2638:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 13157,
                                    "src": "2630:10:62",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_bytes13",
                                        "typeString": "bytes13"
                                    },
                                    "typeName": {
                                        "id": 13144,
                                        "name": "bytes13",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "2630:7:62",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_bytes13",
                                            "typeString": "bytes13"
                                        }
                                    },
                                    "visibility": "internal"
                                }
                            ],
                            "src": "2629:12:62"
                        },
                        "returnParameters": {
                            "id": 13147,
                            "nodeType": "ParameterList",
                            "parameters": [],
                            "src": "2656:0:62"
                        },
                        "scope": 20920,
                        "src": "2610:114:62",
                        "stateMutability": "view",
                        "virtual": false,
                        "visibility": "internal"
                    },
                    {
                        "body": {
                            "id": 13170,
                            "nodeType": "Block",
                            "src": "2773:68:62",
                            "statements": [
                                {
                                    "expression": {
                                        "arguments": [
                                            {
                                                "arguments": [
                                                    {
                                                        "hexValue": "6c6f67286279746573313429",
                                                        "id": 13165,
                                                        "isConstant": false,
                                                        "isLValue": false,
                                                        "isPure": true,
                                                        "kind": "string",
                                                        "lValueRequested": false,
                                                        "nodeType": "Literal",
                                                        "src": "2817:14:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_stringliteral_9266f07faf32c88bbdb01ce418243acbc1c63e15d6e3afa16078186ba711f278",
                                                            "typeString": "literal_string \"log(bytes14)\""
                                                        },
                                                        "value": "log(bytes14)"
                                                    },
                                                    {
                                                        "id": 13166,
                                                        "name": "p0",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 13159,
                                                        "src": "2833:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_bytes14",
                                                            "typeString": "bytes14"
                                                        }
                                                    }
                                                ],
                                                "expression": {
                                                    "argumentTypes": [
                                                        {
                                                            "typeIdentifier": "t_stringliteral_9266f07faf32c88bbdb01ce418243acbc1c63e15d6e3afa16078186ba711f278",
                                                            "typeString": "literal_string \"log(bytes14)\""
                                                        },
                                                        {
                                                            "typeIdentifier": "t_bytes14",
                                                            "typeString": "bytes14"
                                                        }
                                                    ],
                                                    "expression": {
                                                        "id": 13163,
                                                        "name": "abi",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 4294967295,
                                                        "src": "2793:3:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_magic_abi",
                                                            "typeString": "abi"
                                                        }
                                                    },
                                                    "id": 13164,
                                                    "isConstant": false,
                                                    "isLValue": false,
                                                    "isPure": true,
                                                    "lValueRequested": false,
                                                    "memberName": "encodeWithSignature",
                                                    "nodeType": "MemberAccess",
                                                    "src": "2793:23:62",
                                                    "typeDescriptions": {
                                                        "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$",
                                                        "typeString": "function (string memory) pure returns (bytes memory)"
                                                    }
                                                },
                                                "id": 13167,
                                                "isConstant": false,
                                                "isLValue": false,
                                                "isPure": false,
                                                "kind": "functionCall",
                                                "lValueRequested": false,
                                                "names": [],
                                                "nodeType": "FunctionCall",
                                                "src": "2793:43:62",
                                                "tryCall": false,
                                                "typeDescriptions": {
                                                    "typeIdentifier": "t_bytes_memory_ptr",
                                                    "typeString": "bytes memory"
                                                }
                                            }
                                        ],
                                        "expression": {
                                            "argumentTypes": [
                                                {
                                                    "typeIdentifier": "t_bytes_memory_ptr",
                                                    "typeString": "bytes memory"
                                                }
                                            ],
                                            "id": 13162,
                                            "name": "_sendLogPayload",
                                            "nodeType": "Identifier",
                                            "overloadedDeclarations": [],
                                            "referencedDeclaration": 12880,
                                            "src": "2777:15:62",
                                            "typeDescriptions": {
                                                "typeIdentifier": "t_function_internal_view$_t_bytes_memory_ptr_$returns$__$",
                                                "typeString": "function (bytes memory) view"
                                            }
                                        },
                                        "id": 13168,
                                        "isConstant": false,
                                        "isLValue": false,
                                        "isPure": false,
                                        "kind": "functionCall",
                                        "lValueRequested": false,
                                        "names": [],
                                        "nodeType": "FunctionCall",
                                        "src": "2777:60:62",
                                        "tryCall": false,
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_tuple$__$",
                                            "typeString": "tuple()"
                                        }
                                    },
                                    "id": 13169,
                                    "nodeType": "ExpressionStatement",
                                    "src": "2777:60:62"
                                }
                            ]
                        },
                        "id": 13171,
                        "implemented": true,
                        "kind": "function",
                        "modifiers": [],
                        "name": "logBytes14",
                        "nameLocation": "2736:10:62",
                        "nodeType": "FunctionDefinition",
                        "parameters": {
                            "id": 13160,
                            "nodeType": "ParameterList",
                            "parameters": [
                                {
                                    "constant": false,
                                    "id": 13159,
                                    "mutability": "mutable",
                                    "name": "p0",
                                    "nameLocation": "2755:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 13171,
                                    "src": "2747:10:62",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_bytes14",
                                        "typeString": "bytes14"
                                    },
                                    "typeName": {
                                        "id": 13158,
                                        "name": "bytes14",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "2747:7:62",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_bytes14",
                                            "typeString": "bytes14"
                                        }
                                    },
                                    "visibility": "internal"
                                }
                            ],
                            "src": "2746:12:62"
                        },
                        "returnParameters": {
                            "id": 13161,
                            "nodeType": "ParameterList",
                            "parameters": [],
                            "src": "2773:0:62"
                        },
                        "scope": 20920,
                        "src": "2727:114:62",
                        "stateMutability": "view",
                        "virtual": false,
                        "visibility": "internal"
                    },
                    {
                        "body": {
                            "id": 13184,
                            "nodeType": "Block",
                            "src": "2890:68:62",
                            "statements": [
                                {
                                    "expression": {
                                        "arguments": [
                                            {
                                                "arguments": [
                                                    {
                                                        "hexValue": "6c6f67286279746573313529",
                                                        "id": 13179,
                                                        "isConstant": false,
                                                        "isLValue": false,
                                                        "isPure": true,
                                                        "kind": "string",
                                                        "lValueRequested": false,
                                                        "nodeType": "Literal",
                                                        "src": "2934:14:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_stringliteral_da9574e0bf3f23e09c3d85c9f5226065bb36281f2a5d78c7e38f6ffd58919606",
                                                            "typeString": "literal_string \"log(bytes15)\""
                                                        },
                                                        "value": "log(bytes15)"
                                                    },
                                                    {
                                                        "id": 13180,
                                                        "name": "p0",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 13173,
                                                        "src": "2950:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_bytes15",
                                                            "typeString": "bytes15"
                                                        }
                                                    }
                                                ],
                                                "expression": {
                                                    "argumentTypes": [
                                                        {
                                                            "typeIdentifier": "t_stringliteral_da9574e0bf3f23e09c3d85c9f5226065bb36281f2a5d78c7e38f6ffd58919606",
                                                            "typeString": "literal_string \"log(bytes15)\""
                                                        },
                                                        {
                                                            "typeIdentifier": "t_bytes15",
                                                            "typeString": "bytes15"
                                                        }
                                                    ],
                                                    "expression": {
                                                        "id": 13177,
                                                        "name": "abi",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 4294967295,
                                                        "src": "2910:3:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_magic_abi",
                                                            "typeString": "abi"
                                                        }
                                                    },
                                                    "id": 13178,
                                                    "isConstant": false,
                                                    "isLValue": false,
                                                    "isPure": true,
                                                    "lValueRequested": false,
                                                    "memberName": "encodeWithSignature",
                                                    "nodeType": "MemberAccess",
                                                    "src": "2910:23:62",
                                                    "typeDescriptions": {
                                                        "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$",
                                                        "typeString": "function (string memory) pure returns (bytes memory)"
                                                    }
                                                },
                                                "id": 13181,
                                                "isConstant": false,
                                                "isLValue": false,
                                                "isPure": false,
                                                "kind": "functionCall",
                                                "lValueRequested": false,
                                                "names": [],
                                                "nodeType": "FunctionCall",
                                                "src": "2910:43:62",
                                                "tryCall": false,
                                                "typeDescriptions": {
                                                    "typeIdentifier": "t_bytes_memory_ptr",
                                                    "typeString": "bytes memory"
                                                }
                                            }
                                        ],
                                        "expression": {
                                            "argumentTypes": [
                                                {
                                                    "typeIdentifier": "t_bytes_memory_ptr",
                                                    "typeString": "bytes memory"
                                                }
                                            ],
                                            "id": 13176,
                                            "name": "_sendLogPayload",
                                            "nodeType": "Identifier",
                                            "overloadedDeclarations": [],
                                            "referencedDeclaration": 12880,
                                            "src": "2894:15:62",
                                            "typeDescriptions": {
                                                "typeIdentifier": "t_function_internal_view$_t_bytes_memory_ptr_$returns$__$",
                                                "typeString": "function (bytes memory) view"
                                            }
                                        },
                                        "id": 13182,
                                        "isConstant": false,
                                        "isLValue": false,
                                        "isPure": false,
                                        "kind": "functionCall",
                                        "lValueRequested": false,
                                        "names": [],
                                        "nodeType": "FunctionCall",
                                        "src": "2894:60:62",
                                        "tryCall": false,
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_tuple$__$",
                                            "typeString": "tuple()"
                                        }
                                    },
                                    "id": 13183,
                                    "nodeType": "ExpressionStatement",
                                    "src": "2894:60:62"
                                }
                            ]
                        },
                        "id": 13185,
                        "implemented": true,
                        "kind": "function",
                        "modifiers": [],
                        "name": "logBytes15",
                        "nameLocation": "2853:10:62",
                        "nodeType": "FunctionDefinition",
                        "parameters": {
                            "id": 13174,
                            "nodeType": "ParameterList",
                            "parameters": [
                                {
                                    "constant": false,
                                    "id": 13173,
                                    "mutability": "mutable",
                                    "name": "p0",
                                    "nameLocation": "2872:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 13185,
                                    "src": "2864:10:62",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_bytes15",
                                        "typeString": "bytes15"
                                    },
                                    "typeName": {
                                        "id": 13172,
                                        "name": "bytes15",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "2864:7:62",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_bytes15",
                                            "typeString": "bytes15"
                                        }
                                    },
                                    "visibility": "internal"
                                }
                            ],
                            "src": "2863:12:62"
                        },
                        "returnParameters": {
                            "id": 13175,
                            "nodeType": "ParameterList",
                            "parameters": [],
                            "src": "2890:0:62"
                        },
                        "scope": 20920,
                        "src": "2844:114:62",
                        "stateMutability": "view",
                        "virtual": false,
                        "visibility": "internal"
                    },
                    {
                        "body": {
                            "id": 13198,
                            "nodeType": "Block",
                            "src": "3007:68:62",
                            "statements": [
                                {
                                    "expression": {
                                        "arguments": [
                                            {
                                                "arguments": [
                                                    {
                                                        "hexValue": "6c6f67286279746573313629",
                                                        "id": 13193,
                                                        "isConstant": false,
                                                        "isLValue": false,
                                                        "isPure": true,
                                                        "kind": "string",
                                                        "lValueRequested": false,
                                                        "nodeType": "Literal",
                                                        "src": "3051:14:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_stringliteral_665c61046af0adc4969f9d2f111b654775bd58f112b63e5ce7dfff29c000e9f3",
                                                            "typeString": "literal_string \"log(bytes16)\""
                                                        },
                                                        "value": "log(bytes16)"
                                                    },
                                                    {
                                                        "id": 13194,
                                                        "name": "p0",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 13187,
                                                        "src": "3067:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_bytes16",
                                                            "typeString": "bytes16"
                                                        }
                                                    }
                                                ],
                                                "expression": {
                                                    "argumentTypes": [
                                                        {
                                                            "typeIdentifier": "t_stringliteral_665c61046af0adc4969f9d2f111b654775bd58f112b63e5ce7dfff29c000e9f3",
                                                            "typeString": "literal_string \"log(bytes16)\""
                                                        },
                                                        {
                                                            "typeIdentifier": "t_bytes16",
                                                            "typeString": "bytes16"
                                                        }
                                                    ],
                                                    "expression": {
                                                        "id": 13191,
                                                        "name": "abi",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 4294967295,
                                                        "src": "3027:3:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_magic_abi",
                                                            "typeString": "abi"
                                                        }
                                                    },
                                                    "id": 13192,
                                                    "isConstant": false,
                                                    "isLValue": false,
                                                    "isPure": true,
                                                    "lValueRequested": false,
                                                    "memberName": "encodeWithSignature",
                                                    "nodeType": "MemberAccess",
                                                    "src": "3027:23:62",
                                                    "typeDescriptions": {
                                                        "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$",
                                                        "typeString": "function (string memory) pure returns (bytes memory)"
                                                    }
                                                },
                                                "id": 13195,
                                                "isConstant": false,
                                                "isLValue": false,
                                                "isPure": false,
                                                "kind": "functionCall",
                                                "lValueRequested": false,
                                                "names": [],
                                                "nodeType": "FunctionCall",
                                                "src": "3027:43:62",
                                                "tryCall": false,
                                                "typeDescriptions": {
                                                    "typeIdentifier": "t_bytes_memory_ptr",
                                                    "typeString": "bytes memory"
                                                }
                                            }
                                        ],
                                        "expression": {
                                            "argumentTypes": [
                                                {
                                                    "typeIdentifier": "t_bytes_memory_ptr",
                                                    "typeString": "bytes memory"
                                                }
                                            ],
                                            "id": 13190,
                                            "name": "_sendLogPayload",
                                            "nodeType": "Identifier",
                                            "overloadedDeclarations": [],
                                            "referencedDeclaration": 12880,
                                            "src": "3011:15:62",
                                            "typeDescriptions": {
                                                "typeIdentifier": "t_function_internal_view$_t_bytes_memory_ptr_$returns$__$",
                                                "typeString": "function (bytes memory) view"
                                            }
                                        },
                                        "id": 13196,
                                        "isConstant": false,
                                        "isLValue": false,
                                        "isPure": false,
                                        "kind": "functionCall",
                                        "lValueRequested": false,
                                        "names": [],
                                        "nodeType": "FunctionCall",
                                        "src": "3011:60:62",
                                        "tryCall": false,
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_tuple$__$",
                                            "typeString": "tuple()"
                                        }
                                    },
                                    "id": 13197,
                                    "nodeType": "ExpressionStatement",
                                    "src": "3011:60:62"
                                }
                            ]
                        },
                        "id": 13199,
                        "implemented": true,
                        "kind": "function",
                        "modifiers": [],
                        "name": "logBytes16",
                        "nameLocation": "2970:10:62",
                        "nodeType": "FunctionDefinition",
                        "parameters": {
                            "id": 13188,
                            "nodeType": "ParameterList",
                            "parameters": [
                                {
                                    "constant": false,
                                    "id": 13187,
                                    "mutability": "mutable",
                                    "name": "p0",
                                    "nameLocation": "2989:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 13199,
                                    "src": "2981:10:62",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_bytes16",
                                        "typeString": "bytes16"
                                    },
                                    "typeName": {
                                        "id": 13186,
                                        "name": "bytes16",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "2981:7:62",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_bytes16",
                                            "typeString": "bytes16"
                                        }
                                    },
                                    "visibility": "internal"
                                }
                            ],
                            "src": "2980:12:62"
                        },
                        "returnParameters": {
                            "id": 13189,
                            "nodeType": "ParameterList",
                            "parameters": [],
                            "src": "3007:0:62"
                        },
                        "scope": 20920,
                        "src": "2961:114:62",
                        "stateMutability": "view",
                        "virtual": false,
                        "visibility": "internal"
                    },
                    {
                        "body": {
                            "id": 13212,
                            "nodeType": "Block",
                            "src": "3124:68:62",
                            "statements": [
                                {
                                    "expression": {
                                        "arguments": [
                                            {
                                                "arguments": [
                                                    {
                                                        "hexValue": "6c6f67286279746573313729",
                                                        "id": 13207,
                                                        "isConstant": false,
                                                        "isLValue": false,
                                                        "isPure": true,
                                                        "kind": "string",
                                                        "lValueRequested": false,
                                                        "nodeType": "Literal",
                                                        "src": "3168:14:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_stringliteral_339f673a0c008974259a0022c9b150cc5d1af8c58584412fe373d84bd08d4ea3",
                                                            "typeString": "literal_string \"log(bytes17)\""
                                                        },
                                                        "value": "log(bytes17)"
                                                    },
                                                    {
                                                        "id": 13208,
                                                        "name": "p0",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 13201,
                                                        "src": "3184:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_bytes17",
                                                            "typeString": "bytes17"
                                                        }
                                                    }
                                                ],
                                                "expression": {
                                                    "argumentTypes": [
                                                        {
                                                            "typeIdentifier": "t_stringliteral_339f673a0c008974259a0022c9b150cc5d1af8c58584412fe373d84bd08d4ea3",
                                                            "typeString": "literal_string \"log(bytes17)\""
                                                        },
                                                        {
                                                            "typeIdentifier": "t_bytes17",
                                                            "typeString": "bytes17"
                                                        }
                                                    ],
                                                    "expression": {
                                                        "id": 13205,
                                                        "name": "abi",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 4294967295,
                                                        "src": "3144:3:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_magic_abi",
                                                            "typeString": "abi"
                                                        }
                                                    },
                                                    "id": 13206,
                                                    "isConstant": false,
                                                    "isLValue": false,
                                                    "isPure": true,
                                                    "lValueRequested": false,
                                                    "memberName": "encodeWithSignature",
                                                    "nodeType": "MemberAccess",
                                                    "src": "3144:23:62",
                                                    "typeDescriptions": {
                                                        "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$",
                                                        "typeString": "function (string memory) pure returns (bytes memory)"
                                                    }
                                                },
                                                "id": 13209,
                                                "isConstant": false,
                                                "isLValue": false,
                                                "isPure": false,
                                                "kind": "functionCall",
                                                "lValueRequested": false,
                                                "names": [],
                                                "nodeType": "FunctionCall",
                                                "src": "3144:43:62",
                                                "tryCall": false,
                                                "typeDescriptions": {
                                                    "typeIdentifier": "t_bytes_memory_ptr",
                                                    "typeString": "bytes memory"
                                                }
                                            }
                                        ],
                                        "expression": {
                                            "argumentTypes": [
                                                {
                                                    "typeIdentifier": "t_bytes_memory_ptr",
                                                    "typeString": "bytes memory"
                                                }
                                            ],
                                            "id": 13204,
                                            "name": "_sendLogPayload",
                                            "nodeType": "Identifier",
                                            "overloadedDeclarations": [],
                                            "referencedDeclaration": 12880,
                                            "src": "3128:15:62",
                                            "typeDescriptions": {
                                                "typeIdentifier": "t_function_internal_view$_t_bytes_memory_ptr_$returns$__$",
                                                "typeString": "function (bytes memory) view"
                                            }
                                        },
                                        "id": 13210,
                                        "isConstant": false,
                                        "isLValue": false,
                                        "isPure": false,
                                        "kind": "functionCall",
                                        "lValueRequested": false,
                                        "names": [],
                                        "nodeType": "FunctionCall",
                                        "src": "3128:60:62",
                                        "tryCall": false,
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_tuple$__$",
                                            "typeString": "tuple()"
                                        }
                                    },
                                    "id": 13211,
                                    "nodeType": "ExpressionStatement",
                                    "src": "3128:60:62"
                                }
                            ]
                        },
                        "id": 13213,
                        "implemented": true,
                        "kind": "function",
                        "modifiers": [],
                        "name": "logBytes17",
                        "nameLocation": "3087:10:62",
                        "nodeType": "FunctionDefinition",
                        "parameters": {
                            "id": 13202,
                            "nodeType": "ParameterList",
                            "parameters": [
                                {
                                    "constant": false,
                                    "id": 13201,
                                    "mutability": "mutable",
                                    "name": "p0",
                                    "nameLocation": "3106:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 13213,
                                    "src": "3098:10:62",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_bytes17",
                                        "typeString": "bytes17"
                                    },
                                    "typeName": {
                                        "id": 13200,
                                        "name": "bytes17",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "3098:7:62",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_bytes17",
                                            "typeString": "bytes17"
                                        }
                                    },
                                    "visibility": "internal"
                                }
                            ],
                            "src": "3097:12:62"
                        },
                        "returnParameters": {
                            "id": 13203,
                            "nodeType": "ParameterList",
                            "parameters": [],
                            "src": "3124:0:62"
                        },
                        "scope": 20920,
                        "src": "3078:114:62",
                        "stateMutability": "view",
                        "virtual": false,
                        "visibility": "internal"
                    },
                    {
                        "body": {
                            "id": 13226,
                            "nodeType": "Block",
                            "src": "3241:68:62",
                            "statements": [
                                {
                                    "expression": {
                                        "arguments": [
                                            {
                                                "arguments": [
                                                    {
                                                        "hexValue": "6c6f67286279746573313829",
                                                        "id": 13221,
                                                        "isConstant": false,
                                                        "isLValue": false,
                                                        "isPure": true,
                                                        "kind": "string",
                                                        "lValueRequested": false,
                                                        "nodeType": "Literal",
                                                        "src": "3285:14:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_stringliteral_c4d23d9af6458d5ddc7cb8128a2f36bf147c9db4fe277dfe0fe7be41def62116",
                                                            "typeString": "literal_string \"log(bytes18)\""
                                                        },
                                                        "value": "log(bytes18)"
                                                    },
                                                    {
                                                        "id": 13222,
                                                        "name": "p0",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 13215,
                                                        "src": "3301:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_bytes18",
                                                            "typeString": "bytes18"
                                                        }
                                                    }
                                                ],
                                                "expression": {
                                                    "argumentTypes": [
                                                        {
                                                            "typeIdentifier": "t_stringliteral_c4d23d9af6458d5ddc7cb8128a2f36bf147c9db4fe277dfe0fe7be41def62116",
                                                            "typeString": "literal_string \"log(bytes18)\""
                                                        },
                                                        {
                                                            "typeIdentifier": "t_bytes18",
                                                            "typeString": "bytes18"
                                                        }
                                                    ],
                                                    "expression": {
                                                        "id": 13219,
                                                        "name": "abi",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 4294967295,
                                                        "src": "3261:3:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_magic_abi",
                                                            "typeString": "abi"
                                                        }
                                                    },
                                                    "id": 13220,
                                                    "isConstant": false,
                                                    "isLValue": false,
                                                    "isPure": true,
                                                    "lValueRequested": false,
                                                    "memberName": "encodeWithSignature",
                                                    "nodeType": "MemberAccess",
                                                    "src": "3261:23:62",
                                                    "typeDescriptions": {
                                                        "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$",
                                                        "typeString": "function (string memory) pure returns (bytes memory)"
                                                    }
                                                },
                                                "id": 13223,
                                                "isConstant": false,
                                                "isLValue": false,
                                                "isPure": false,
                                                "kind": "functionCall",
                                                "lValueRequested": false,
                                                "names": [],
                                                "nodeType": "FunctionCall",
                                                "src": "3261:43:62",
                                                "tryCall": false,
                                                "typeDescriptions": {
                                                    "typeIdentifier": "t_bytes_memory_ptr",
                                                    "typeString": "bytes memory"
                                                }
                                            }
                                        ],
                                        "expression": {
                                            "argumentTypes": [
                                                {
                                                    "typeIdentifier": "t_bytes_memory_ptr",
                                                    "typeString": "bytes memory"
                                                }
                                            ],
                                            "id": 13218,
                                            "name": "_sendLogPayload",
                                            "nodeType": "Identifier",
                                            "overloadedDeclarations": [],
                                            "referencedDeclaration": 12880,
                                            "src": "3245:15:62",
                                            "typeDescriptions": {
                                                "typeIdentifier": "t_function_internal_view$_t_bytes_memory_ptr_$returns$__$",
                                                "typeString": "function (bytes memory) view"
                                            }
                                        },
                                        "id": 13224,
                                        "isConstant": false,
                                        "isLValue": false,
                                        "isPure": false,
                                        "kind": "functionCall",
                                        "lValueRequested": false,
                                        "names": [],
                                        "nodeType": "FunctionCall",
                                        "src": "3245:60:62",
                                        "tryCall": false,
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_tuple$__$",
                                            "typeString": "tuple()"
                                        }
                                    },
                                    "id": 13225,
                                    "nodeType": "ExpressionStatement",
                                    "src": "3245:60:62"
                                }
                            ]
                        },
                        "id": 13227,
                        "implemented": true,
                        "kind": "function",
                        "modifiers": [],
                        "name": "logBytes18",
                        "nameLocation": "3204:10:62",
                        "nodeType": "FunctionDefinition",
                        "parameters": {
                            "id": 13216,
                            "nodeType": "ParameterList",
                            "parameters": [
                                {
                                    "constant": false,
                                    "id": 13215,
                                    "mutability": "mutable",
                                    "name": "p0",
                                    "nameLocation": "3223:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 13227,
                                    "src": "3215:10:62",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_bytes18",
                                        "typeString": "bytes18"
                                    },
                                    "typeName": {
                                        "id": 13214,
                                        "name": "bytes18",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "3215:7:62",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_bytes18",
                                            "typeString": "bytes18"
                                        }
                                    },
                                    "visibility": "internal"
                                }
                            ],
                            "src": "3214:12:62"
                        },
                        "returnParameters": {
                            "id": 13217,
                            "nodeType": "ParameterList",
                            "parameters": [],
                            "src": "3241:0:62"
                        },
                        "scope": 20920,
                        "src": "3195:114:62",
                        "stateMutability": "view",
                        "virtual": false,
                        "visibility": "internal"
                    },
                    {
                        "body": {
                            "id": 13240,
                            "nodeType": "Block",
                            "src": "3358:68:62",
                            "statements": [
                                {
                                    "expression": {
                                        "arguments": [
                                            {
                                                "arguments": [
                                                    {
                                                        "hexValue": "6c6f67286279746573313929",
                                                        "id": 13235,
                                                        "isConstant": false,
                                                        "isLValue": false,
                                                        "isPure": true,
                                                        "kind": "string",
                                                        "lValueRequested": false,
                                                        "nodeType": "Literal",
                                                        "src": "3402:14:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_stringliteral_5e6b5a33524ca650028e2fad735b4ab50285bba37658119d2da303bee98aeada",
                                                            "typeString": "literal_string \"log(bytes19)\""
                                                        },
                                                        "value": "log(bytes19)"
                                                    },
                                                    {
                                                        "id": 13236,
                                                        "name": "p0",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 13229,
                                                        "src": "3418:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_bytes19",
                                                            "typeString": "bytes19"
                                                        }
                                                    }
                                                ],
                                                "expression": {
                                                    "argumentTypes": [
                                                        {
                                                            "typeIdentifier": "t_stringliteral_5e6b5a33524ca650028e2fad735b4ab50285bba37658119d2da303bee98aeada",
                                                            "typeString": "literal_string \"log(bytes19)\""
                                                        },
                                                        {
                                                            "typeIdentifier": "t_bytes19",
                                                            "typeString": "bytes19"
                                                        }
                                                    ],
                                                    "expression": {
                                                        "id": 13233,
                                                        "name": "abi",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 4294967295,
                                                        "src": "3378:3:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_magic_abi",
                                                            "typeString": "abi"
                                                        }
                                                    },
                                                    "id": 13234,
                                                    "isConstant": false,
                                                    "isLValue": false,
                                                    "isPure": true,
                                                    "lValueRequested": false,
                                                    "memberName": "encodeWithSignature",
                                                    "nodeType": "MemberAccess",
                                                    "src": "3378:23:62",
                                                    "typeDescriptions": {
                                                        "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$",
                                                        "typeString": "function (string memory) pure returns (bytes memory)"
                                                    }
                                                },
                                                "id": 13237,
                                                "isConstant": false,
                                                "isLValue": false,
                                                "isPure": false,
                                                "kind": "functionCall",
                                                "lValueRequested": false,
                                                "names": [],
                                                "nodeType": "FunctionCall",
                                                "src": "3378:43:62",
                                                "tryCall": false,
                                                "typeDescriptions": {
                                                    "typeIdentifier": "t_bytes_memory_ptr",
                                                    "typeString": "bytes memory"
                                                }
                                            }
                                        ],
                                        "expression": {
                                            "argumentTypes": [
                                                {
                                                    "typeIdentifier": "t_bytes_memory_ptr",
                                                    "typeString": "bytes memory"
                                                }
                                            ],
                                            "id": 13232,
                                            "name": "_sendLogPayload",
                                            "nodeType": "Identifier",
                                            "overloadedDeclarations": [],
                                            "referencedDeclaration": 12880,
                                            "src": "3362:15:62",
                                            "typeDescriptions": {
                                                "typeIdentifier": "t_function_internal_view$_t_bytes_memory_ptr_$returns$__$",
                                                "typeString": "function (bytes memory) view"
                                            }
                                        },
                                        "id": 13238,
                                        "isConstant": false,
                                        "isLValue": false,
                                        "isPure": false,
                                        "kind": "functionCall",
                                        "lValueRequested": false,
                                        "names": [],
                                        "nodeType": "FunctionCall",
                                        "src": "3362:60:62",
                                        "tryCall": false,
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_tuple$__$",
                                            "typeString": "tuple()"
                                        }
                                    },
                                    "id": 13239,
                                    "nodeType": "ExpressionStatement",
                                    "src": "3362:60:62"
                                }
                            ]
                        },
                        "id": 13241,
                        "implemented": true,
                        "kind": "function",
                        "modifiers": [],
                        "name": "logBytes19",
                        "nameLocation": "3321:10:62",
                        "nodeType": "FunctionDefinition",
                        "parameters": {
                            "id": 13230,
                            "nodeType": "ParameterList",
                            "parameters": [
                                {
                                    "constant": false,
                                    "id": 13229,
                                    "mutability": "mutable",
                                    "name": "p0",
                                    "nameLocation": "3340:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 13241,
                                    "src": "3332:10:62",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_bytes19",
                                        "typeString": "bytes19"
                                    },
                                    "typeName": {
                                        "id": 13228,
                                        "name": "bytes19",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "3332:7:62",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_bytes19",
                                            "typeString": "bytes19"
                                        }
                                    },
                                    "visibility": "internal"
                                }
                            ],
                            "src": "3331:12:62"
                        },
                        "returnParameters": {
                            "id": 13231,
                            "nodeType": "ParameterList",
                            "parameters": [],
                            "src": "3358:0:62"
                        },
                        "scope": 20920,
                        "src": "3312:114:62",
                        "stateMutability": "view",
                        "virtual": false,
                        "visibility": "internal"
                    },
                    {
                        "body": {
                            "id": 13254,
                            "nodeType": "Block",
                            "src": "3475:68:62",
                            "statements": [
                                {
                                    "expression": {
                                        "arguments": [
                                            {
                                                "arguments": [
                                                    {
                                                        "hexValue": "6c6f67286279746573323029",
                                                        "id": 13249,
                                                        "isConstant": false,
                                                        "isLValue": false,
                                                        "isPure": true,
                                                        "kind": "string",
                                                        "lValueRequested": false,
                                                        "nodeType": "Literal",
                                                        "src": "3519:14:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_stringliteral_5188e3e9b3f117a223e2e428d0e13d089f3a53913e479000b94b85266ecf8231",
                                                            "typeString": "literal_string \"log(bytes20)\""
                                                        },
                                                        "value": "log(bytes20)"
                                                    },
                                                    {
                                                        "id": 13250,
                                                        "name": "p0",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 13243,
                                                        "src": "3535:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_bytes20",
                                                            "typeString": "bytes20"
                                                        }
                                                    }
                                                ],
                                                "expression": {
                                                    "argumentTypes": [
                                                        {
                                                            "typeIdentifier": "t_stringliteral_5188e3e9b3f117a223e2e428d0e13d089f3a53913e479000b94b85266ecf8231",
                                                            "typeString": "literal_string \"log(bytes20)\""
                                                        },
                                                        {
                                                            "typeIdentifier": "t_bytes20",
                                                            "typeString": "bytes20"
                                                        }
                                                    ],
                                                    "expression": {
                                                        "id": 13247,
                                                        "name": "abi",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 4294967295,
                                                        "src": "3495:3:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_magic_abi",
                                                            "typeString": "abi"
                                                        }
                                                    },
                                                    "id": 13248,
                                                    "isConstant": false,
                                                    "isLValue": false,
                                                    "isPure": true,
                                                    "lValueRequested": false,
                                                    "memberName": "encodeWithSignature",
                                                    "nodeType": "MemberAccess",
                                                    "src": "3495:23:62",
                                                    "typeDescriptions": {
                                                        "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$",
                                                        "typeString": "function (string memory) pure returns (bytes memory)"
                                                    }
                                                },
                                                "id": 13251,
                                                "isConstant": false,
                                                "isLValue": false,
                                                "isPure": false,
                                                "kind": "functionCall",
                                                "lValueRequested": false,
                                                "names": [],
                                                "nodeType": "FunctionCall",
                                                "src": "3495:43:62",
                                                "tryCall": false,
                                                "typeDescriptions": {
                                                    "typeIdentifier": "t_bytes_memory_ptr",
                                                    "typeString": "bytes memory"
                                                }
                                            }
                                        ],
                                        "expression": {
                                            "argumentTypes": [
                                                {
                                                    "typeIdentifier": "t_bytes_memory_ptr",
                                                    "typeString": "bytes memory"
                                                }
                                            ],
                                            "id": 13246,
                                            "name": "_sendLogPayload",
                                            "nodeType": "Identifier",
                                            "overloadedDeclarations": [],
                                            "referencedDeclaration": 12880,
                                            "src": "3479:15:62",
                                            "typeDescriptions": {
                                                "typeIdentifier": "t_function_internal_view$_t_bytes_memory_ptr_$returns$__$",
                                                "typeString": "function (bytes memory) view"
                                            }
                                        },
                                        "id": 13252,
                                        "isConstant": false,
                                        "isLValue": false,
                                        "isPure": false,
                                        "kind": "functionCall",
                                        "lValueRequested": false,
                                        "names": [],
                                        "nodeType": "FunctionCall",
                                        "src": "3479:60:62",
                                        "tryCall": false,
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_tuple$__$",
                                            "typeString": "tuple()"
                                        }
                                    },
                                    "id": 13253,
                                    "nodeType": "ExpressionStatement",
                                    "src": "3479:60:62"
                                }
                            ]
                        },
                        "id": 13255,
                        "implemented": true,
                        "kind": "function",
                        "modifiers": [],
                        "name": "logBytes20",
                        "nameLocation": "3438:10:62",
                        "nodeType": "FunctionDefinition",
                        "parameters": {
                            "id": 13244,
                            "nodeType": "ParameterList",
                            "parameters": [
                                {
                                    "constant": false,
                                    "id": 13243,
                                    "mutability": "mutable",
                                    "name": "p0",
                                    "nameLocation": "3457:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 13255,
                                    "src": "3449:10:62",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_bytes20",
                                        "typeString": "bytes20"
                                    },
                                    "typeName": {
                                        "id": 13242,
                                        "name": "bytes20",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "3449:7:62",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_bytes20",
                                            "typeString": "bytes20"
                                        }
                                    },
                                    "visibility": "internal"
                                }
                            ],
                            "src": "3448:12:62"
                        },
                        "returnParameters": {
                            "id": 13245,
                            "nodeType": "ParameterList",
                            "parameters": [],
                            "src": "3475:0:62"
                        },
                        "scope": 20920,
                        "src": "3429:114:62",
                        "stateMutability": "view",
                        "virtual": false,
                        "visibility": "internal"
                    },
                    {
                        "body": {
                            "id": 13268,
                            "nodeType": "Block",
                            "src": "3592:68:62",
                            "statements": [
                                {
                                    "expression": {
                                        "arguments": [
                                            {
                                                "arguments": [
                                                    {
                                                        "hexValue": "6c6f67286279746573323129",
                                                        "id": 13263,
                                                        "isConstant": false,
                                                        "isLValue": false,
                                                        "isPure": true,
                                                        "kind": "string",
                                                        "lValueRequested": false,
                                                        "nodeType": "Literal",
                                                        "src": "3636:14:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_stringliteral_e9da35608192a6b38ad5ef62cf738886973b011b8cdb7e81cdd51b4c3dfe8ad7",
                                                            "typeString": "literal_string \"log(bytes21)\""
                                                        },
                                                        "value": "log(bytes21)"
                                                    },
                                                    {
                                                        "id": 13264,
                                                        "name": "p0",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 13257,
                                                        "src": "3652:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_bytes21",
                                                            "typeString": "bytes21"
                                                        }
                                                    }
                                                ],
                                                "expression": {
                                                    "argumentTypes": [
                                                        {
                                                            "typeIdentifier": "t_stringliteral_e9da35608192a6b38ad5ef62cf738886973b011b8cdb7e81cdd51b4c3dfe8ad7",
                                                            "typeString": "literal_string \"log(bytes21)\""
                                                        },
                                                        {
                                                            "typeIdentifier": "t_bytes21",
                                                            "typeString": "bytes21"
                                                        }
                                                    ],
                                                    "expression": {
                                                        "id": 13261,
                                                        "name": "abi",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 4294967295,
                                                        "src": "3612:3:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_magic_abi",
                                                            "typeString": "abi"
                                                        }
                                                    },
                                                    "id": 13262,
                                                    "isConstant": false,
                                                    "isLValue": false,
                                                    "isPure": true,
                                                    "lValueRequested": false,
                                                    "memberName": "encodeWithSignature",
                                                    "nodeType": "MemberAccess",
                                                    "src": "3612:23:62",
                                                    "typeDescriptions": {
                                                        "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$",
                                                        "typeString": "function (string memory) pure returns (bytes memory)"
                                                    }
                                                },
                                                "id": 13265,
                                                "isConstant": false,
                                                "isLValue": false,
                                                "isPure": false,
                                                "kind": "functionCall",
                                                "lValueRequested": false,
                                                "names": [],
                                                "nodeType": "FunctionCall",
                                                "src": "3612:43:62",
                                                "tryCall": false,
                                                "typeDescriptions": {
                                                    "typeIdentifier": "t_bytes_memory_ptr",
                                                    "typeString": "bytes memory"
                                                }
                                            }
                                        ],
                                        "expression": {
                                            "argumentTypes": [
                                                {
                                                    "typeIdentifier": "t_bytes_memory_ptr",
                                                    "typeString": "bytes memory"
                                                }
                                            ],
                                            "id": 13260,
                                            "name": "_sendLogPayload",
                                            "nodeType": "Identifier",
                                            "overloadedDeclarations": [],
                                            "referencedDeclaration": 12880,
                                            "src": "3596:15:62",
                                            "typeDescriptions": {
                                                "typeIdentifier": "t_function_internal_view$_t_bytes_memory_ptr_$returns$__$",
                                                "typeString": "function (bytes memory) view"
                                            }
                                        },
                                        "id": 13266,
                                        "isConstant": false,
                                        "isLValue": false,
                                        "isPure": false,
                                        "kind": "functionCall",
                                        "lValueRequested": false,
                                        "names": [],
                                        "nodeType": "FunctionCall",
                                        "src": "3596:60:62",
                                        "tryCall": false,
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_tuple$__$",
                                            "typeString": "tuple()"
                                        }
                                    },
                                    "id": 13267,
                                    "nodeType": "ExpressionStatement",
                                    "src": "3596:60:62"
                                }
                            ]
                        },
                        "id": 13269,
                        "implemented": true,
                        "kind": "function",
                        "modifiers": [],
                        "name": "logBytes21",
                        "nameLocation": "3555:10:62",
                        "nodeType": "FunctionDefinition",
                        "parameters": {
                            "id": 13258,
                            "nodeType": "ParameterList",
                            "parameters": [
                                {
                                    "constant": false,
                                    "id": 13257,
                                    "mutability": "mutable",
                                    "name": "p0",
                                    "nameLocation": "3574:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 13269,
                                    "src": "3566:10:62",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_bytes21",
                                        "typeString": "bytes21"
                                    },
                                    "typeName": {
                                        "id": 13256,
                                        "name": "bytes21",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "3566:7:62",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_bytes21",
                                            "typeString": "bytes21"
                                        }
                                    },
                                    "visibility": "internal"
                                }
                            ],
                            "src": "3565:12:62"
                        },
                        "returnParameters": {
                            "id": 13259,
                            "nodeType": "ParameterList",
                            "parameters": [],
                            "src": "3592:0:62"
                        },
                        "scope": 20920,
                        "src": "3546:114:62",
                        "stateMutability": "view",
                        "virtual": false,
                        "visibility": "internal"
                    },
                    {
                        "body": {
                            "id": 13282,
                            "nodeType": "Block",
                            "src": "3709:68:62",
                            "statements": [
                                {
                                    "expression": {
                                        "arguments": [
                                            {
                                                "arguments": [
                                                    {
                                                        "hexValue": "6c6f67286279746573323229",
                                                        "id": 13277,
                                                        "isConstant": false,
                                                        "isLValue": false,
                                                        "isPure": true,
                                                        "kind": "string",
                                                        "lValueRequested": false,
                                                        "nodeType": "Literal",
                                                        "src": "3753:14:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_stringliteral_d5fae89c25bed6f12b105f52db0a0ff6f5c8313613e12eccd3059bb7f7ea6575",
                                                            "typeString": "literal_string \"log(bytes22)\""
                                                        },
                                                        "value": "log(bytes22)"
                                                    },
                                                    {
                                                        "id": 13278,
                                                        "name": "p0",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 13271,
                                                        "src": "3769:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_bytes22",
                                                            "typeString": "bytes22"
                                                        }
                                                    }
                                                ],
                                                "expression": {
                                                    "argumentTypes": [
                                                        {
                                                            "typeIdentifier": "t_stringliteral_d5fae89c25bed6f12b105f52db0a0ff6f5c8313613e12eccd3059bb7f7ea6575",
                                                            "typeString": "literal_string \"log(bytes22)\""
                                                        },
                                                        {
                                                            "typeIdentifier": "t_bytes22",
                                                            "typeString": "bytes22"
                                                        }
                                                    ],
                                                    "expression": {
                                                        "id": 13275,
                                                        "name": "abi",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 4294967295,
                                                        "src": "3729:3:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_magic_abi",
                                                            "typeString": "abi"
                                                        }
                                                    },
                                                    "id": 13276,
                                                    "isConstant": false,
                                                    "isLValue": false,
                                                    "isPure": true,
                                                    "lValueRequested": false,
                                                    "memberName": "encodeWithSignature",
                                                    "nodeType": "MemberAccess",
                                                    "src": "3729:23:62",
                                                    "typeDescriptions": {
                                                        "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$",
                                                        "typeString": "function (string memory) pure returns (bytes memory)"
                                                    }
                                                },
                                                "id": 13279,
                                                "isConstant": false,
                                                "isLValue": false,
                                                "isPure": false,
                                                "kind": "functionCall",
                                                "lValueRequested": false,
                                                "names": [],
                                                "nodeType": "FunctionCall",
                                                "src": "3729:43:62",
                                                "tryCall": false,
                                                "typeDescriptions": {
                                                    "typeIdentifier": "t_bytes_memory_ptr",
                                                    "typeString": "bytes memory"
                                                }
                                            }
                                        ],
                                        "expression": {
                                            "argumentTypes": [
                                                {
                                                    "typeIdentifier": "t_bytes_memory_ptr",
                                                    "typeString": "bytes memory"
                                                }
                                            ],
                                            "id": 13274,
                                            "name": "_sendLogPayload",
                                            "nodeType": "Identifier",
                                            "overloadedDeclarations": [],
                                            "referencedDeclaration": 12880,
                                            "src": "3713:15:62",
                                            "typeDescriptions": {
                                                "typeIdentifier": "t_function_internal_view$_t_bytes_memory_ptr_$returns$__$",
                                                "typeString": "function (bytes memory) view"
                                            }
                                        },
                                        "id": 13280,
                                        "isConstant": false,
                                        "isLValue": false,
                                        "isPure": false,
                                        "kind": "functionCall",
                                        "lValueRequested": false,
                                        "names": [],
                                        "nodeType": "FunctionCall",
                                        "src": "3713:60:62",
                                        "tryCall": false,
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_tuple$__$",
                                            "typeString": "tuple()"
                                        }
                                    },
                                    "id": 13281,
                                    "nodeType": "ExpressionStatement",
                                    "src": "3713:60:62"
                                }
                            ]
                        },
                        "id": 13283,
                        "implemented": true,
                        "kind": "function",
                        "modifiers": [],
                        "name": "logBytes22",
                        "nameLocation": "3672:10:62",
                        "nodeType": "FunctionDefinition",
                        "parameters": {
                            "id": 13272,
                            "nodeType": "ParameterList",
                            "parameters": [
                                {
                                    "constant": false,
                                    "id": 13271,
                                    "mutability": "mutable",
                                    "name": "p0",
                                    "nameLocation": "3691:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 13283,
                                    "src": "3683:10:62",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_bytes22",
                                        "typeString": "bytes22"
                                    },
                                    "typeName": {
                                        "id": 13270,
                                        "name": "bytes22",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "3683:7:62",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_bytes22",
                                            "typeString": "bytes22"
                                        }
                                    },
                                    "visibility": "internal"
                                }
                            ],
                            "src": "3682:12:62"
                        },
                        "returnParameters": {
                            "id": 13273,
                            "nodeType": "ParameterList",
                            "parameters": [],
                            "src": "3709:0:62"
                        },
                        "scope": 20920,
                        "src": "3663:114:62",
                        "stateMutability": "view",
                        "virtual": false,
                        "visibility": "internal"
                    },
                    {
                        "body": {
                            "id": 13296,
                            "nodeType": "Block",
                            "src": "3826:68:62",
                            "statements": [
                                {
                                    "expression": {
                                        "arguments": [
                                            {
                                                "arguments": [
                                                    {
                                                        "hexValue": "6c6f67286279746573323329",
                                                        "id": 13291,
                                                        "isConstant": false,
                                                        "isLValue": false,
                                                        "isPure": true,
                                                        "kind": "string",
                                                        "lValueRequested": false,
                                                        "nodeType": "Literal",
                                                        "src": "3870:14:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_stringliteral_aba1cf0dcd316c862bc06d4cf532375fed11c1e0897ba81a04ee0b22d3f14061",
                                                            "typeString": "literal_string \"log(bytes23)\""
                                                        },
                                                        "value": "log(bytes23)"
                                                    },
                                                    {
                                                        "id": 13292,
                                                        "name": "p0",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 13285,
                                                        "src": "3886:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_bytes23",
                                                            "typeString": "bytes23"
                                                        }
                                                    }
                                                ],
                                                "expression": {
                                                    "argumentTypes": [
                                                        {
                                                            "typeIdentifier": "t_stringliteral_aba1cf0dcd316c862bc06d4cf532375fed11c1e0897ba81a04ee0b22d3f14061",
                                                            "typeString": "literal_string \"log(bytes23)\""
                                                        },
                                                        {
                                                            "typeIdentifier": "t_bytes23",
                                                            "typeString": "bytes23"
                                                        }
                                                    ],
                                                    "expression": {
                                                        "id": 13289,
                                                        "name": "abi",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 4294967295,
                                                        "src": "3846:3:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_magic_abi",
                                                            "typeString": "abi"
                                                        }
                                                    },
                                                    "id": 13290,
                                                    "isConstant": false,
                                                    "isLValue": false,
                                                    "isPure": true,
                                                    "lValueRequested": false,
                                                    "memberName": "encodeWithSignature",
                                                    "nodeType": "MemberAccess",
                                                    "src": "3846:23:62",
                                                    "typeDescriptions": {
                                                        "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$",
                                                        "typeString": "function (string memory) pure returns (bytes memory)"
                                                    }
                                                },
                                                "id": 13293,
                                                "isConstant": false,
                                                "isLValue": false,
                                                "isPure": false,
                                                "kind": "functionCall",
                                                "lValueRequested": false,
                                                "names": [],
                                                "nodeType": "FunctionCall",
                                                "src": "3846:43:62",
                                                "tryCall": false,
                                                "typeDescriptions": {
                                                    "typeIdentifier": "t_bytes_memory_ptr",
                                                    "typeString": "bytes memory"
                                                }
                                            }
                                        ],
                                        "expression": {
                                            "argumentTypes": [
                                                {
                                                    "typeIdentifier": "t_bytes_memory_ptr",
                                                    "typeString": "bytes memory"
                                                }
                                            ],
                                            "id": 13288,
                                            "name": "_sendLogPayload",
                                            "nodeType": "Identifier",
                                            "overloadedDeclarations": [],
                                            "referencedDeclaration": 12880,
                                            "src": "3830:15:62",
                                            "typeDescriptions": {
                                                "typeIdentifier": "t_function_internal_view$_t_bytes_memory_ptr_$returns$__$",
                                                "typeString": "function (bytes memory) view"
                                            }
                                        },
                                        "id": 13294,
                                        "isConstant": false,
                                        "isLValue": false,
                                        "isPure": false,
                                        "kind": "functionCall",
                                        "lValueRequested": false,
                                        "names": [],
                                        "nodeType": "FunctionCall",
                                        "src": "3830:60:62",
                                        "tryCall": false,
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_tuple$__$",
                                            "typeString": "tuple()"
                                        }
                                    },
                                    "id": 13295,
                                    "nodeType": "ExpressionStatement",
                                    "src": "3830:60:62"
                                }
                            ]
                        },
                        "id": 13297,
                        "implemented": true,
                        "kind": "function",
                        "modifiers": [],
                        "name": "logBytes23",
                        "nameLocation": "3789:10:62",
                        "nodeType": "FunctionDefinition",
                        "parameters": {
                            "id": 13286,
                            "nodeType": "ParameterList",
                            "parameters": [
                                {
                                    "constant": false,
                                    "id": 13285,
                                    "mutability": "mutable",
                                    "name": "p0",
                                    "nameLocation": "3808:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 13297,
                                    "src": "3800:10:62",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_bytes23",
                                        "typeString": "bytes23"
                                    },
                                    "typeName": {
                                        "id": 13284,
                                        "name": "bytes23",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "3800:7:62",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_bytes23",
                                            "typeString": "bytes23"
                                        }
                                    },
                                    "visibility": "internal"
                                }
                            ],
                            "src": "3799:12:62"
                        },
                        "returnParameters": {
                            "id": 13287,
                            "nodeType": "ParameterList",
                            "parameters": [],
                            "src": "3826:0:62"
                        },
                        "scope": 20920,
                        "src": "3780:114:62",
                        "stateMutability": "view",
                        "virtual": false,
                        "visibility": "internal"
                    },
                    {
                        "body": {
                            "id": 13310,
                            "nodeType": "Block",
                            "src": "3943:68:62",
                            "statements": [
                                {
                                    "expression": {
                                        "arguments": [
                                            {
                                                "arguments": [
                                                    {
                                                        "hexValue": "6c6f67286279746573323429",
                                                        "id": 13305,
                                                        "isConstant": false,
                                                        "isLValue": false,
                                                        "isPure": true,
                                                        "kind": "string",
                                                        "lValueRequested": false,
                                                        "nodeType": "Literal",
                                                        "src": "3987:14:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_stringliteral_f1b35b3488a5452bceb48624d6ba2a791e58f0e9c0f4b86b8f51186ec7a7edf4",
                                                            "typeString": "literal_string \"log(bytes24)\""
                                                        },
                                                        "value": "log(bytes24)"
                                                    },
                                                    {
                                                        "id": 13306,
                                                        "name": "p0",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 13299,
                                                        "src": "4003:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_bytes24",
                                                            "typeString": "bytes24"
                                                        }
                                                    }
                                                ],
                                                "expression": {
                                                    "argumentTypes": [
                                                        {
                                                            "typeIdentifier": "t_stringliteral_f1b35b3488a5452bceb48624d6ba2a791e58f0e9c0f4b86b8f51186ec7a7edf4",
                                                            "typeString": "literal_string \"log(bytes24)\""
                                                        },
                                                        {
                                                            "typeIdentifier": "t_bytes24",
                                                            "typeString": "bytes24"
                                                        }
                                                    ],
                                                    "expression": {
                                                        "id": 13303,
                                                        "name": "abi",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 4294967295,
                                                        "src": "3963:3:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_magic_abi",
                                                            "typeString": "abi"
                                                        }
                                                    },
                                                    "id": 13304,
                                                    "isConstant": false,
                                                    "isLValue": false,
                                                    "isPure": true,
                                                    "lValueRequested": false,
                                                    "memberName": "encodeWithSignature",
                                                    "nodeType": "MemberAccess",
                                                    "src": "3963:23:62",
                                                    "typeDescriptions": {
                                                        "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$",
                                                        "typeString": "function (string memory) pure returns (bytes memory)"
                                                    }
                                                },
                                                "id": 13307,
                                                "isConstant": false,
                                                "isLValue": false,
                                                "isPure": false,
                                                "kind": "functionCall",
                                                "lValueRequested": false,
                                                "names": [],
                                                "nodeType": "FunctionCall",
                                                "src": "3963:43:62",
                                                "tryCall": false,
                                                "typeDescriptions": {
                                                    "typeIdentifier": "t_bytes_memory_ptr",
                                                    "typeString": "bytes memory"
                                                }
                                            }
                                        ],
                                        "expression": {
                                            "argumentTypes": [
                                                {
                                                    "typeIdentifier": "t_bytes_memory_ptr",
                                                    "typeString": "bytes memory"
                                                }
                                            ],
                                            "id": 13302,
                                            "name": "_sendLogPayload",
                                            "nodeType": "Identifier",
                                            "overloadedDeclarations": [],
                                            "referencedDeclaration": 12880,
                                            "src": "3947:15:62",
                                            "typeDescriptions": {
                                                "typeIdentifier": "t_function_internal_view$_t_bytes_memory_ptr_$returns$__$",
                                                "typeString": "function (bytes memory) view"
                                            }
                                        },
                                        "id": 13308,
                                        "isConstant": false,
                                        "isLValue": false,
                                        "isPure": false,
                                        "kind": "functionCall",
                                        "lValueRequested": false,
                                        "names": [],
                                        "nodeType": "FunctionCall",
                                        "src": "3947:60:62",
                                        "tryCall": false,
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_tuple$__$",
                                            "typeString": "tuple()"
                                        }
                                    },
                                    "id": 13309,
                                    "nodeType": "ExpressionStatement",
                                    "src": "3947:60:62"
                                }
                            ]
                        },
                        "id": 13311,
                        "implemented": true,
                        "kind": "function",
                        "modifiers": [],
                        "name": "logBytes24",
                        "nameLocation": "3906:10:62",
                        "nodeType": "FunctionDefinition",
                        "parameters": {
                            "id": 13300,
                            "nodeType": "ParameterList",
                            "parameters": [
                                {
                                    "constant": false,
                                    "id": 13299,
                                    "mutability": "mutable",
                                    "name": "p0",
                                    "nameLocation": "3925:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 13311,
                                    "src": "3917:10:62",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_bytes24",
                                        "typeString": "bytes24"
                                    },
                                    "typeName": {
                                        "id": 13298,
                                        "name": "bytes24",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "3917:7:62",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_bytes24",
                                            "typeString": "bytes24"
                                        }
                                    },
                                    "visibility": "internal"
                                }
                            ],
                            "src": "3916:12:62"
                        },
                        "returnParameters": {
                            "id": 13301,
                            "nodeType": "ParameterList",
                            "parameters": [],
                            "src": "3943:0:62"
                        },
                        "scope": 20920,
                        "src": "3897:114:62",
                        "stateMutability": "view",
                        "virtual": false,
                        "visibility": "internal"
                    },
                    {
                        "body": {
                            "id": 13324,
                            "nodeType": "Block",
                            "src": "4060:68:62",
                            "statements": [
                                {
                                    "expression": {
                                        "arguments": [
                                            {
                                                "arguments": [
                                                    {
                                                        "hexValue": "6c6f67286279746573323529",
                                                        "id": 13319,
                                                        "isConstant": false,
                                                        "isLValue": false,
                                                        "isPure": true,
                                                        "kind": "string",
                                                        "lValueRequested": false,
                                                        "nodeType": "Literal",
                                                        "src": "4104:14:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_stringliteral_0b84bc580db9be1295ee23dff6122da1f70381c83abf9a74953cca11238eda25",
                                                            "typeString": "literal_string \"log(bytes25)\""
                                                        },
                                                        "value": "log(bytes25)"
                                                    },
                                                    {
                                                        "id": 13320,
                                                        "name": "p0",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 13313,
                                                        "src": "4120:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_bytes25",
                                                            "typeString": "bytes25"
                                                        }
                                                    }
                                                ],
                                                "expression": {
                                                    "argumentTypes": [
                                                        {
                                                            "typeIdentifier": "t_stringliteral_0b84bc580db9be1295ee23dff6122da1f70381c83abf9a74953cca11238eda25",
                                                            "typeString": "literal_string \"log(bytes25)\""
                                                        },
                                                        {
                                                            "typeIdentifier": "t_bytes25",
                                                            "typeString": "bytes25"
                                                        }
                                                    ],
                                                    "expression": {
                                                        "id": 13317,
                                                        "name": "abi",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 4294967295,
                                                        "src": "4080:3:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_magic_abi",
                                                            "typeString": "abi"
                                                        }
                                                    },
                                                    "id": 13318,
                                                    "isConstant": false,
                                                    "isLValue": false,
                                                    "isPure": true,
                                                    "lValueRequested": false,
                                                    "memberName": "encodeWithSignature",
                                                    "nodeType": "MemberAccess",
                                                    "src": "4080:23:62",
                                                    "typeDescriptions": {
                                                        "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$",
                                                        "typeString": "function (string memory) pure returns (bytes memory)"
                                                    }
                                                },
                                                "id": 13321,
                                                "isConstant": false,
                                                "isLValue": false,
                                                "isPure": false,
                                                "kind": "functionCall",
                                                "lValueRequested": false,
                                                "names": [],
                                                "nodeType": "FunctionCall",
                                                "src": "4080:43:62",
                                                "tryCall": false,
                                                "typeDescriptions": {
                                                    "typeIdentifier": "t_bytes_memory_ptr",
                                                    "typeString": "bytes memory"
                                                }
                                            }
                                        ],
                                        "expression": {
                                            "argumentTypes": [
                                                {
                                                    "typeIdentifier": "t_bytes_memory_ptr",
                                                    "typeString": "bytes memory"
                                                }
                                            ],
                                            "id": 13316,
                                            "name": "_sendLogPayload",
                                            "nodeType": "Identifier",
                                            "overloadedDeclarations": [],
                                            "referencedDeclaration": 12880,
                                            "src": "4064:15:62",
                                            "typeDescriptions": {
                                                "typeIdentifier": "t_function_internal_view$_t_bytes_memory_ptr_$returns$__$",
                                                "typeString": "function (bytes memory) view"
                                            }
                                        },
                                        "id": 13322,
                                        "isConstant": false,
                                        "isLValue": false,
                                        "isPure": false,
                                        "kind": "functionCall",
                                        "lValueRequested": false,
                                        "names": [],
                                        "nodeType": "FunctionCall",
                                        "src": "4064:60:62",
                                        "tryCall": false,
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_tuple$__$",
                                            "typeString": "tuple()"
                                        }
                                    },
                                    "id": 13323,
                                    "nodeType": "ExpressionStatement",
                                    "src": "4064:60:62"
                                }
                            ]
                        },
                        "id": 13325,
                        "implemented": true,
                        "kind": "function",
                        "modifiers": [],
                        "name": "logBytes25",
                        "nameLocation": "4023:10:62",
                        "nodeType": "FunctionDefinition",
                        "parameters": {
                            "id": 13314,
                            "nodeType": "ParameterList",
                            "parameters": [
                                {
                                    "constant": false,
                                    "id": 13313,
                                    "mutability": "mutable",
                                    "name": "p0",
                                    "nameLocation": "4042:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 13325,
                                    "src": "4034:10:62",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_bytes25",
                                        "typeString": "bytes25"
                                    },
                                    "typeName": {
                                        "id": 13312,
                                        "name": "bytes25",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "4034:7:62",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_bytes25",
                                            "typeString": "bytes25"
                                        }
                                    },
                                    "visibility": "internal"
                                }
                            ],
                            "src": "4033:12:62"
                        },
                        "returnParameters": {
                            "id": 13315,
                            "nodeType": "ParameterList",
                            "parameters": [],
                            "src": "4060:0:62"
                        },
                        "scope": 20920,
                        "src": "4014:114:62",
                        "stateMutability": "view",
                        "virtual": false,
                        "visibility": "internal"
                    },
                    {
                        "body": {
                            "id": 13338,
                            "nodeType": "Block",
                            "src": "4177:68:62",
                            "statements": [
                                {
                                    "expression": {
                                        "arguments": [
                                            {
                                                "arguments": [
                                                    {
                                                        "hexValue": "6c6f67286279746573323629",
                                                        "id": 13333,
                                                        "isConstant": false,
                                                        "isLValue": false,
                                                        "isPure": true,
                                                        "kind": "string",
                                                        "lValueRequested": false,
                                                        "nodeType": "Literal",
                                                        "src": "4221:14:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_stringliteral_f8b149f18dc341f1a56e26c6c24a5233eec3bbb2ab017e9e86e663aae743965b",
                                                            "typeString": "literal_string \"log(bytes26)\""
                                                        },
                                                        "value": "log(bytes26)"
                                                    },
                                                    {
                                                        "id": 13334,
                                                        "name": "p0",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 13327,
                                                        "src": "4237:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_bytes26",
                                                            "typeString": "bytes26"
                                                        }
                                                    }
                                                ],
                                                "expression": {
                                                    "argumentTypes": [
                                                        {
                                                            "typeIdentifier": "t_stringliteral_f8b149f18dc341f1a56e26c6c24a5233eec3bbb2ab017e9e86e663aae743965b",
                                                            "typeString": "literal_string \"log(bytes26)\""
                                                        },
                                                        {
                                                            "typeIdentifier": "t_bytes26",
                                                            "typeString": "bytes26"
                                                        }
                                                    ],
                                                    "expression": {
                                                        "id": 13331,
                                                        "name": "abi",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 4294967295,
                                                        "src": "4197:3:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_magic_abi",
                                                            "typeString": "abi"
                                                        }
                                                    },
                                                    "id": 13332,
                                                    "isConstant": false,
                                                    "isLValue": false,
                                                    "isPure": true,
                                                    "lValueRequested": false,
                                                    "memberName": "encodeWithSignature",
                                                    "nodeType": "MemberAccess",
                                                    "src": "4197:23:62",
                                                    "typeDescriptions": {
                                                        "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$",
                                                        "typeString": "function (string memory) pure returns (bytes memory)"
                                                    }
                                                },
                                                "id": 13335,
                                                "isConstant": false,
                                                "isLValue": false,
                                                "isPure": false,
                                                "kind": "functionCall",
                                                "lValueRequested": false,
                                                "names": [],
                                                "nodeType": "FunctionCall",
                                                "src": "4197:43:62",
                                                "tryCall": false,
                                                "typeDescriptions": {
                                                    "typeIdentifier": "t_bytes_memory_ptr",
                                                    "typeString": "bytes memory"
                                                }
                                            }
                                        ],
                                        "expression": {
                                            "argumentTypes": [
                                                {
                                                    "typeIdentifier": "t_bytes_memory_ptr",
                                                    "typeString": "bytes memory"
                                                }
                                            ],
                                            "id": 13330,
                                            "name": "_sendLogPayload",
                                            "nodeType": "Identifier",
                                            "overloadedDeclarations": [],
                                            "referencedDeclaration": 12880,
                                            "src": "4181:15:62",
                                            "typeDescriptions": {
                                                "typeIdentifier": "t_function_internal_view$_t_bytes_memory_ptr_$returns$__$",
                                                "typeString": "function (bytes memory) view"
                                            }
                                        },
                                        "id": 13336,
                                        "isConstant": false,
                                        "isLValue": false,
                                        "isPure": false,
                                        "kind": "functionCall",
                                        "lValueRequested": false,
                                        "names": [],
                                        "nodeType": "FunctionCall",
                                        "src": "4181:60:62",
                                        "tryCall": false,
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_tuple$__$",
                                            "typeString": "tuple()"
                                        }
                                    },
                                    "id": 13337,
                                    "nodeType": "ExpressionStatement",
                                    "src": "4181:60:62"
                                }
                            ]
                        },
                        "id": 13339,
                        "implemented": true,
                        "kind": "function",
                        "modifiers": [],
                        "name": "logBytes26",
                        "nameLocation": "4140:10:62",
                        "nodeType": "FunctionDefinition",
                        "parameters": {
                            "id": 13328,
                            "nodeType": "ParameterList",
                            "parameters": [
                                {
                                    "constant": false,
                                    "id": 13327,
                                    "mutability": "mutable",
                                    "name": "p0",
                                    "nameLocation": "4159:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 13339,
                                    "src": "4151:10:62",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_bytes26",
                                        "typeString": "bytes26"
                                    },
                                    "typeName": {
                                        "id": 13326,
                                        "name": "bytes26",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "4151:7:62",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_bytes26",
                                            "typeString": "bytes26"
                                        }
                                    },
                                    "visibility": "internal"
                                }
                            ],
                            "src": "4150:12:62"
                        },
                        "returnParameters": {
                            "id": 13329,
                            "nodeType": "ParameterList",
                            "parameters": [],
                            "src": "4177:0:62"
                        },
                        "scope": 20920,
                        "src": "4131:114:62",
                        "stateMutability": "view",
                        "virtual": false,
                        "visibility": "internal"
                    },
                    {
                        "body": {
                            "id": 13352,
                            "nodeType": "Block",
                            "src": "4294:68:62",
                            "statements": [
                                {
                                    "expression": {
                                        "arguments": [
                                            {
                                                "arguments": [
                                                    {
                                                        "hexValue": "6c6f67286279746573323729",
                                                        "id": 13347,
                                                        "isConstant": false,
                                                        "isLValue": false,
                                                        "isPure": true,
                                                        "kind": "string",
                                                        "lValueRequested": false,
                                                        "nodeType": "Literal",
                                                        "src": "4338:14:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_stringliteral_3a3757dda92e8e238aa23ff7f6f62e31074f6acccca8986ec1286b5a835236b6",
                                                            "typeString": "literal_string \"log(bytes27)\""
                                                        },
                                                        "value": "log(bytes27)"
                                                    },
                                                    {
                                                        "id": 13348,
                                                        "name": "p0",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 13341,
                                                        "src": "4354:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_bytes27",
                                                            "typeString": "bytes27"
                                                        }
                                                    }
                                                ],
                                                "expression": {
                                                    "argumentTypes": [
                                                        {
                                                            "typeIdentifier": "t_stringliteral_3a3757dda92e8e238aa23ff7f6f62e31074f6acccca8986ec1286b5a835236b6",
                                                            "typeString": "literal_string \"log(bytes27)\""
                                                        },
                                                        {
                                                            "typeIdentifier": "t_bytes27",
                                                            "typeString": "bytes27"
                                                        }
                                                    ],
                                                    "expression": {
                                                        "id": 13345,
                                                        "name": "abi",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 4294967295,
                                                        "src": "4314:3:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_magic_abi",
                                                            "typeString": "abi"
                                                        }
                                                    },
                                                    "id": 13346,
                                                    "isConstant": false,
                                                    "isLValue": false,
                                                    "isPure": true,
                                                    "lValueRequested": false,
                                                    "memberName": "encodeWithSignature",
                                                    "nodeType": "MemberAccess",
                                                    "src": "4314:23:62",
                                                    "typeDescriptions": {
                                                        "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$",
                                                        "typeString": "function (string memory) pure returns (bytes memory)"
                                                    }
                                                },
                                                "id": 13349,
                                                "isConstant": false,
                                                "isLValue": false,
                                                "isPure": false,
                                                "kind": "functionCall",
                                                "lValueRequested": false,
                                                "names": [],
                                                "nodeType": "FunctionCall",
                                                "src": "4314:43:62",
                                                "tryCall": false,
                                                "typeDescriptions": {
                                                    "typeIdentifier": "t_bytes_memory_ptr",
                                                    "typeString": "bytes memory"
                                                }
                                            }
                                        ],
                                        "expression": {
                                            "argumentTypes": [
                                                {
                                                    "typeIdentifier": "t_bytes_memory_ptr",
                                                    "typeString": "bytes memory"
                                                }
                                            ],
                                            "id": 13344,
                                            "name": "_sendLogPayload",
                                            "nodeType": "Identifier",
                                            "overloadedDeclarations": [],
                                            "referencedDeclaration": 12880,
                                            "src": "4298:15:62",
                                            "typeDescriptions": {
                                                "typeIdentifier": "t_function_internal_view$_t_bytes_memory_ptr_$returns$__$",
                                                "typeString": "function (bytes memory) view"
                                            }
                                        },
                                        "id": 13350,
                                        "isConstant": false,
                                        "isLValue": false,
                                        "isPure": false,
                                        "kind": "functionCall",
                                        "lValueRequested": false,
                                        "names": [],
                                        "nodeType": "FunctionCall",
                                        "src": "4298:60:62",
                                        "tryCall": false,
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_tuple$__$",
                                            "typeString": "tuple()"
                                        }
                                    },
                                    "id": 13351,
                                    "nodeType": "ExpressionStatement",
                                    "src": "4298:60:62"
                                }
                            ]
                        },
                        "id": 13353,
                        "implemented": true,
                        "kind": "function",
                        "modifiers": [],
                        "name": "logBytes27",
                        "nameLocation": "4257:10:62",
                        "nodeType": "FunctionDefinition",
                        "parameters": {
                            "id": 13342,
                            "nodeType": "ParameterList",
                            "parameters": [
                                {
                                    "constant": false,
                                    "id": 13341,
                                    "mutability": "mutable",
                                    "name": "p0",
                                    "nameLocation": "4276:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 13353,
                                    "src": "4268:10:62",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_bytes27",
                                        "typeString": "bytes27"
                                    },
                                    "typeName": {
                                        "id": 13340,
                                        "name": "bytes27",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "4268:7:62",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_bytes27",
                                            "typeString": "bytes27"
                                        }
                                    },
                                    "visibility": "internal"
                                }
                            ],
                            "src": "4267:12:62"
                        },
                        "returnParameters": {
                            "id": 13343,
                            "nodeType": "ParameterList",
                            "parameters": [],
                            "src": "4294:0:62"
                        },
                        "scope": 20920,
                        "src": "4248:114:62",
                        "stateMutability": "view",
                        "virtual": false,
                        "visibility": "internal"
                    },
                    {
                        "body": {
                            "id": 13366,
                            "nodeType": "Block",
                            "src": "4411:68:62",
                            "statements": [
                                {
                                    "expression": {
                                        "arguments": [
                                            {
                                                "arguments": [
                                                    {
                                                        "hexValue": "6c6f67286279746573323829",
                                                        "id": 13361,
                                                        "isConstant": false,
                                                        "isLValue": false,
                                                        "isPure": true,
                                                        "kind": "string",
                                                        "lValueRequested": false,
                                                        "nodeType": "Literal",
                                                        "src": "4455:14:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_stringliteral_c82aeaee74a6ddec4ccd5cfe60e816752c02c70838f0908bd4a6e82866b3a042",
                                                            "typeString": "literal_string \"log(bytes28)\""
                                                        },
                                                        "value": "log(bytes28)"
                                                    },
                                                    {
                                                        "id": 13362,
                                                        "name": "p0",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 13355,
                                                        "src": "4471:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_bytes28",
                                                            "typeString": "bytes28"
                                                        }
                                                    }
                                                ],
                                                "expression": {
                                                    "argumentTypes": [
                                                        {
                                                            "typeIdentifier": "t_stringliteral_c82aeaee74a6ddec4ccd5cfe60e816752c02c70838f0908bd4a6e82866b3a042",
                                                            "typeString": "literal_string \"log(bytes28)\""
                                                        },
                                                        {
                                                            "typeIdentifier": "t_bytes28",
                                                            "typeString": "bytes28"
                                                        }
                                                    ],
                                                    "expression": {
                                                        "id": 13359,
                                                        "name": "abi",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 4294967295,
                                                        "src": "4431:3:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_magic_abi",
                                                            "typeString": "abi"
                                                        }
                                                    },
                                                    "id": 13360,
                                                    "isConstant": false,
                                                    "isLValue": false,
                                                    "isPure": true,
                                                    "lValueRequested": false,
                                                    "memberName": "encodeWithSignature",
                                                    "nodeType": "MemberAccess",
                                                    "src": "4431:23:62",
                                                    "typeDescriptions": {
                                                        "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$",
                                                        "typeString": "function (string memory) pure returns (bytes memory)"
                                                    }
                                                },
                                                "id": 13363,
                                                "isConstant": false,
                                                "isLValue": false,
                                                "isPure": false,
                                                "kind": "functionCall",
                                                "lValueRequested": false,
                                                "names": [],
                                                "nodeType": "FunctionCall",
                                                "src": "4431:43:62",
                                                "tryCall": false,
                                                "typeDescriptions": {
                                                    "typeIdentifier": "t_bytes_memory_ptr",
                                                    "typeString": "bytes memory"
                                                }
                                            }
                                        ],
                                        "expression": {
                                            "argumentTypes": [
                                                {
                                                    "typeIdentifier": "t_bytes_memory_ptr",
                                                    "typeString": "bytes memory"
                                                }
                                            ],
                                            "id": 13358,
                                            "name": "_sendLogPayload",
                                            "nodeType": "Identifier",
                                            "overloadedDeclarations": [],
                                            "referencedDeclaration": 12880,
                                            "src": "4415:15:62",
                                            "typeDescriptions": {
                                                "typeIdentifier": "t_function_internal_view$_t_bytes_memory_ptr_$returns$__$",
                                                "typeString": "function (bytes memory) view"
                                            }
                                        },
                                        "id": 13364,
                                        "isConstant": false,
                                        "isLValue": false,
                                        "isPure": false,
                                        "kind": "functionCall",
                                        "lValueRequested": false,
                                        "names": [],
                                        "nodeType": "FunctionCall",
                                        "src": "4415:60:62",
                                        "tryCall": false,
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_tuple$__$",
                                            "typeString": "tuple()"
                                        }
                                    },
                                    "id": 13365,
                                    "nodeType": "ExpressionStatement",
                                    "src": "4415:60:62"
                                }
                            ]
                        },
                        "id": 13367,
                        "implemented": true,
                        "kind": "function",
                        "modifiers": [],
                        "name": "logBytes28",
                        "nameLocation": "4374:10:62",
                        "nodeType": "FunctionDefinition",
                        "parameters": {
                            "id": 13356,
                            "nodeType": "ParameterList",
                            "parameters": [
                                {
                                    "constant": false,
                                    "id": 13355,
                                    "mutability": "mutable",
                                    "name": "p0",
                                    "nameLocation": "4393:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 13367,
                                    "src": "4385:10:62",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_bytes28",
                                        "typeString": "bytes28"
                                    },
                                    "typeName": {
                                        "id": 13354,
                                        "name": "bytes28",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "4385:7:62",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_bytes28",
                                            "typeString": "bytes28"
                                        }
                                    },
                                    "visibility": "internal"
                                }
                            ],
                            "src": "4384:12:62"
                        },
                        "returnParameters": {
                            "id": 13357,
                            "nodeType": "ParameterList",
                            "parameters": [],
                            "src": "4411:0:62"
                        },
                        "scope": 20920,
                        "src": "4365:114:62",
                        "stateMutability": "view",
                        "virtual": false,
                        "visibility": "internal"
                    },
                    {
                        "body": {
                            "id": 13380,
                            "nodeType": "Block",
                            "src": "4528:68:62",
                            "statements": [
                                {
                                    "expression": {
                                        "arguments": [
                                            {
                                                "arguments": [
                                                    {
                                                        "hexValue": "6c6f67286279746573323929",
                                                        "id": 13375,
                                                        "isConstant": false,
                                                        "isLValue": false,
                                                        "isPure": true,
                                                        "kind": "string",
                                                        "lValueRequested": false,
                                                        "nodeType": "Literal",
                                                        "src": "4572:14:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_stringliteral_4b69c3d5f782ef1bdb62d5bb42d4987f16799030ba447bb153d465bd3a3a5667",
                                                            "typeString": "literal_string \"log(bytes29)\""
                                                        },
                                                        "value": "log(bytes29)"
                                                    },
                                                    {
                                                        "id": 13376,
                                                        "name": "p0",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 13369,
                                                        "src": "4588:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_bytes29",
                                                            "typeString": "bytes29"
                                                        }
                                                    }
                                                ],
                                                "expression": {
                                                    "argumentTypes": [
                                                        {
                                                            "typeIdentifier": "t_stringliteral_4b69c3d5f782ef1bdb62d5bb42d4987f16799030ba447bb153d465bd3a3a5667",
                                                            "typeString": "literal_string \"log(bytes29)\""
                                                        },
                                                        {
                                                            "typeIdentifier": "t_bytes29",
                                                            "typeString": "bytes29"
                                                        }
                                                    ],
                                                    "expression": {
                                                        "id": 13373,
                                                        "name": "abi",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 4294967295,
                                                        "src": "4548:3:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_magic_abi",
                                                            "typeString": "abi"
                                                        }
                                                    },
                                                    "id": 13374,
                                                    "isConstant": false,
                                                    "isLValue": false,
                                                    "isPure": true,
                                                    "lValueRequested": false,
                                                    "memberName": "encodeWithSignature",
                                                    "nodeType": "MemberAccess",
                                                    "src": "4548:23:62",
                                                    "typeDescriptions": {
                                                        "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$",
                                                        "typeString": "function (string memory) pure returns (bytes memory)"
                                                    }
                                                },
                                                "id": 13377,
                                                "isConstant": false,
                                                "isLValue": false,
                                                "isPure": false,
                                                "kind": "functionCall",
                                                "lValueRequested": false,
                                                "names": [],
                                                "nodeType": "FunctionCall",
                                                "src": "4548:43:62",
                                                "tryCall": false,
                                                "typeDescriptions": {
                                                    "typeIdentifier": "t_bytes_memory_ptr",
                                                    "typeString": "bytes memory"
                                                }
                                            }
                                        ],
                                        "expression": {
                                            "argumentTypes": [
                                                {
                                                    "typeIdentifier": "t_bytes_memory_ptr",
                                                    "typeString": "bytes memory"
                                                }
                                            ],
                                            "id": 13372,
                                            "name": "_sendLogPayload",
                                            "nodeType": "Identifier",
                                            "overloadedDeclarations": [],
                                            "referencedDeclaration": 12880,
                                            "src": "4532:15:62",
                                            "typeDescriptions": {
                                                "typeIdentifier": "t_function_internal_view$_t_bytes_memory_ptr_$returns$__$",
                                                "typeString": "function (bytes memory) view"
                                            }
                                        },
                                        "id": 13378,
                                        "isConstant": false,
                                        "isLValue": false,
                                        "isPure": false,
                                        "kind": "functionCall",
                                        "lValueRequested": false,
                                        "names": [],
                                        "nodeType": "FunctionCall",
                                        "src": "4532:60:62",
                                        "tryCall": false,
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_tuple$__$",
                                            "typeString": "tuple()"
                                        }
                                    },
                                    "id": 13379,
                                    "nodeType": "ExpressionStatement",
                                    "src": "4532:60:62"
                                }
                            ]
                        },
                        "id": 13381,
                        "implemented": true,
                        "kind": "function",
                        "modifiers": [],
                        "name": "logBytes29",
                        "nameLocation": "4491:10:62",
                        "nodeType": "FunctionDefinition",
                        "parameters": {
                            "id": 13370,
                            "nodeType": "ParameterList",
                            "parameters": [
                                {
                                    "constant": false,
                                    "id": 13369,
                                    "mutability": "mutable",
                                    "name": "p0",
                                    "nameLocation": "4510:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 13381,
                                    "src": "4502:10:62",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_bytes29",
                                        "typeString": "bytes29"
                                    },
                                    "typeName": {
                                        "id": 13368,
                                        "name": "bytes29",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "4502:7:62",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_bytes29",
                                            "typeString": "bytes29"
                                        }
                                    },
                                    "visibility": "internal"
                                }
                            ],
                            "src": "4501:12:62"
                        },
                        "returnParameters": {
                            "id": 13371,
                            "nodeType": "ParameterList",
                            "parameters": [],
                            "src": "4528:0:62"
                        },
                        "scope": 20920,
                        "src": "4482:114:62",
                        "stateMutability": "view",
                        "virtual": false,
                        "visibility": "internal"
                    },
                    {
                        "body": {
                            "id": 13394,
                            "nodeType": "Block",
                            "src": "4645:68:62",
                            "statements": [
                                {
                                    "expression": {
                                        "arguments": [
                                            {
                                                "arguments": [
                                                    {
                                                        "hexValue": "6c6f67286279746573333029",
                                                        "id": 13389,
                                                        "isConstant": false,
                                                        "isLValue": false,
                                                        "isPure": true,
                                                        "kind": "string",
                                                        "lValueRequested": false,
                                                        "nodeType": "Literal",
                                                        "src": "4689:14:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_stringliteral_ee12c4edbd73d98174a6bf3454562c4874f59cb381176b662ca65f625f97d6ad",
                                                            "typeString": "literal_string \"log(bytes30)\""
                                                        },
                                                        "value": "log(bytes30)"
                                                    },
                                                    {
                                                        "id": 13390,
                                                        "name": "p0",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 13383,
                                                        "src": "4705:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_bytes30",
                                                            "typeString": "bytes30"
                                                        }
                                                    }
                                                ],
                                                "expression": {
                                                    "argumentTypes": [
                                                        {
                                                            "typeIdentifier": "t_stringliteral_ee12c4edbd73d98174a6bf3454562c4874f59cb381176b662ca65f625f97d6ad",
                                                            "typeString": "literal_string \"log(bytes30)\""
                                                        },
                                                        {
                                                            "typeIdentifier": "t_bytes30",
                                                            "typeString": "bytes30"
                                                        }
                                                    ],
                                                    "expression": {
                                                        "id": 13387,
                                                        "name": "abi",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 4294967295,
                                                        "src": "4665:3:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_magic_abi",
                                                            "typeString": "abi"
                                                        }
                                                    },
                                                    "id": 13388,
                                                    "isConstant": false,
                                                    "isLValue": false,
                                                    "isPure": true,
                                                    "lValueRequested": false,
                                                    "memberName": "encodeWithSignature",
                                                    "nodeType": "MemberAccess",
                                                    "src": "4665:23:62",
                                                    "typeDescriptions": {
                                                        "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$",
                                                        "typeString": "function (string memory) pure returns (bytes memory)"
                                                    }
                                                },
                                                "id": 13391,
                                                "isConstant": false,
                                                "isLValue": false,
                                                "isPure": false,
                                                "kind": "functionCall",
                                                "lValueRequested": false,
                                                "names": [],
                                                "nodeType": "FunctionCall",
                                                "src": "4665:43:62",
                                                "tryCall": false,
                                                "typeDescriptions": {
                                                    "typeIdentifier": "t_bytes_memory_ptr",
                                                    "typeString": "bytes memory"
                                                }
                                            }
                                        ],
                                        "expression": {
                                            "argumentTypes": [
                                                {
                                                    "typeIdentifier": "t_bytes_memory_ptr",
                                                    "typeString": "bytes memory"
                                                }
                                            ],
                                            "id": 13386,
                                            "name": "_sendLogPayload",
                                            "nodeType": "Identifier",
                                            "overloadedDeclarations": [],
                                            "referencedDeclaration": 12880,
                                            "src": "4649:15:62",
                                            "typeDescriptions": {
                                                "typeIdentifier": "t_function_internal_view$_t_bytes_memory_ptr_$returns$__$",
                                                "typeString": "function (bytes memory) view"
                                            }
                                        },
                                        "id": 13392,
                                        "isConstant": false,
                                        "isLValue": false,
                                        "isPure": false,
                                        "kind": "functionCall",
                                        "lValueRequested": false,
                                        "names": [],
                                        "nodeType": "FunctionCall",
                                        "src": "4649:60:62",
                                        "tryCall": false,
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_tuple$__$",
                                            "typeString": "tuple()"
                                        }
                                    },
                                    "id": 13393,
                                    "nodeType": "ExpressionStatement",
                                    "src": "4649:60:62"
                                }
                            ]
                        },
                        "id": 13395,
                        "implemented": true,
                        "kind": "function",
                        "modifiers": [],
                        "name": "logBytes30",
                        "nameLocation": "4608:10:62",
                        "nodeType": "FunctionDefinition",
                        "parameters": {
                            "id": 13384,
                            "nodeType": "ParameterList",
                            "parameters": [
                                {
                                    "constant": false,
                                    "id": 13383,
                                    "mutability": "mutable",
                                    "name": "p0",
                                    "nameLocation": "4627:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 13395,
                                    "src": "4619:10:62",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_bytes30",
                                        "typeString": "bytes30"
                                    },
                                    "typeName": {
                                        "id": 13382,
                                        "name": "bytes30",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "4619:7:62",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_bytes30",
                                            "typeString": "bytes30"
                                        }
                                    },
                                    "visibility": "internal"
                                }
                            ],
                            "src": "4618:12:62"
                        },
                        "returnParameters": {
                            "id": 13385,
                            "nodeType": "ParameterList",
                            "parameters": [],
                            "src": "4645:0:62"
                        },
                        "scope": 20920,
                        "src": "4599:114:62",
                        "stateMutability": "view",
                        "virtual": false,
                        "visibility": "internal"
                    },
                    {
                        "body": {
                            "id": 13408,
                            "nodeType": "Block",
                            "src": "4762:68:62",
                            "statements": [
                                {
                                    "expression": {
                                        "arguments": [
                                            {
                                                "arguments": [
                                                    {
                                                        "hexValue": "6c6f67286279746573333129",
                                                        "id": 13403,
                                                        "isConstant": false,
                                                        "isLValue": false,
                                                        "isPure": true,
                                                        "kind": "string",
                                                        "lValueRequested": false,
                                                        "nodeType": "Literal",
                                                        "src": "4806:14:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_stringliteral_c2854d92a0707e582e2710f9c9d3f148fdcf7e7da3b4270c2cfa3e223a2c50ce",
                                                            "typeString": "literal_string \"log(bytes31)\""
                                                        },
                                                        "value": "log(bytes31)"
                                                    },
                                                    {
                                                        "id": 13404,
                                                        "name": "p0",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 13397,
                                                        "src": "4822:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_bytes31",
                                                            "typeString": "bytes31"
                                                        }
                                                    }
                                                ],
                                                "expression": {
                                                    "argumentTypes": [
                                                        {
                                                            "typeIdentifier": "t_stringliteral_c2854d92a0707e582e2710f9c9d3f148fdcf7e7da3b4270c2cfa3e223a2c50ce",
                                                            "typeString": "literal_string \"log(bytes31)\""
                                                        },
                                                        {
                                                            "typeIdentifier": "t_bytes31",
                                                            "typeString": "bytes31"
                                                        }
                                                    ],
                                                    "expression": {
                                                        "id": 13401,
                                                        "name": "abi",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 4294967295,
                                                        "src": "4782:3:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_magic_abi",
                                                            "typeString": "abi"
                                                        }
                                                    },
                                                    "id": 13402,
                                                    "isConstant": false,
                                                    "isLValue": false,
                                                    "isPure": true,
                                                    "lValueRequested": false,
                                                    "memberName": "encodeWithSignature",
                                                    "nodeType": "MemberAccess",
                                                    "src": "4782:23:62",
                                                    "typeDescriptions": {
                                                        "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$",
                                                        "typeString": "function (string memory) pure returns (bytes memory)"
                                                    }
                                                },
                                                "id": 13405,
                                                "isConstant": false,
                                                "isLValue": false,
                                                "isPure": false,
                                                "kind": "functionCall",
                                                "lValueRequested": false,
                                                "names": [],
                                                "nodeType": "FunctionCall",
                                                "src": "4782:43:62",
                                                "tryCall": false,
                                                "typeDescriptions": {
                                                    "typeIdentifier": "t_bytes_memory_ptr",
                                                    "typeString": "bytes memory"
                                                }
                                            }
                                        ],
                                        "expression": {
                                            "argumentTypes": [
                                                {
                                                    "typeIdentifier": "t_bytes_memory_ptr",
                                                    "typeString": "bytes memory"
                                                }
                                            ],
                                            "id": 13400,
                                            "name": "_sendLogPayload",
                                            "nodeType": "Identifier",
                                            "overloadedDeclarations": [],
                                            "referencedDeclaration": 12880,
                                            "src": "4766:15:62",
                                            "typeDescriptions": {
                                                "typeIdentifier": "t_function_internal_view$_t_bytes_memory_ptr_$returns$__$",
                                                "typeString": "function (bytes memory) view"
                                            }
                                        },
                                        "id": 13406,
                                        "isConstant": false,
                                        "isLValue": false,
                                        "isPure": false,
                                        "kind": "functionCall",
                                        "lValueRequested": false,
                                        "names": [],
                                        "nodeType": "FunctionCall",
                                        "src": "4766:60:62",
                                        "tryCall": false,
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_tuple$__$",
                                            "typeString": "tuple()"
                                        }
                                    },
                                    "id": 13407,
                                    "nodeType": "ExpressionStatement",
                                    "src": "4766:60:62"
                                }
                            ]
                        },
                        "id": 13409,
                        "implemented": true,
                        "kind": "function",
                        "modifiers": [],
                        "name": "logBytes31",
                        "nameLocation": "4725:10:62",
                        "nodeType": "FunctionDefinition",
                        "parameters": {
                            "id": 13398,
                            "nodeType": "ParameterList",
                            "parameters": [
                                {
                                    "constant": false,
                                    "id": 13397,
                                    "mutability": "mutable",
                                    "name": "p0",
                                    "nameLocation": "4744:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 13409,
                                    "src": "4736:10:62",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_bytes31",
                                        "typeString": "bytes31"
                                    },
                                    "typeName": {
                                        "id": 13396,
                                        "name": "bytes31",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "4736:7:62",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_bytes31",
                                            "typeString": "bytes31"
                                        }
                                    },
                                    "visibility": "internal"
                                }
                            ],
                            "src": "4735:12:62"
                        },
                        "returnParameters": {
                            "id": 13399,
                            "nodeType": "ParameterList",
                            "parameters": [],
                            "src": "4762:0:62"
                        },
                        "scope": 20920,
                        "src": "4716:114:62",
                        "stateMutability": "view",
                        "virtual": false,
                        "visibility": "internal"
                    },
                    {
                        "body": {
                            "id": 13422,
                            "nodeType": "Block",
                            "src": "4879:68:62",
                            "statements": [
                                {
                                    "expression": {
                                        "arguments": [
                                            {
                                                "arguments": [
                                                    {
                                                        "hexValue": "6c6f67286279746573333229",
                                                        "id": 13417,
                                                        "isConstant": false,
                                                        "isLValue": false,
                                                        "isPure": true,
                                                        "kind": "string",
                                                        "lValueRequested": false,
                                                        "nodeType": "Literal",
                                                        "src": "4923:14:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_stringliteral_27b7cf8513ac6b65cae720183e1e60e67f8a9d92c01286c19d51d4e30aa269da",
                                                            "typeString": "literal_string \"log(bytes32)\""
                                                        },
                                                        "value": "log(bytes32)"
                                                    },
                                                    {
                                                        "id": 13418,
                                                        "name": "p0",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 13411,
                                                        "src": "4939:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_bytes32",
                                                            "typeString": "bytes32"
                                                        }
                                                    }
                                                ],
                                                "expression": {
                                                    "argumentTypes": [
                                                        {
                                                            "typeIdentifier": "t_stringliteral_27b7cf8513ac6b65cae720183e1e60e67f8a9d92c01286c19d51d4e30aa269da",
                                                            "typeString": "literal_string \"log(bytes32)\""
                                                        },
                                                        {
                                                            "typeIdentifier": "t_bytes32",
                                                            "typeString": "bytes32"
                                                        }
                                                    ],
                                                    "expression": {
                                                        "id": 13415,
                                                        "name": "abi",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 4294967295,
                                                        "src": "4899:3:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_magic_abi",
                                                            "typeString": "abi"
                                                        }
                                                    },
                                                    "id": 13416,
                                                    "isConstant": false,
                                                    "isLValue": false,
                                                    "isPure": true,
                                                    "lValueRequested": false,
                                                    "memberName": "encodeWithSignature",
                                                    "nodeType": "MemberAccess",
                                                    "src": "4899:23:62",
                                                    "typeDescriptions": {
                                                        "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$",
                                                        "typeString": "function (string memory) pure returns (bytes memory)"
                                                    }
                                                },
                                                "id": 13419,
                                                "isConstant": false,
                                                "isLValue": false,
                                                "isPure": false,
                                                "kind": "functionCall",
                                                "lValueRequested": false,
                                                "names": [],
                                                "nodeType": "FunctionCall",
                                                "src": "4899:43:62",
                                                "tryCall": false,
                                                "typeDescriptions": {
                                                    "typeIdentifier": "t_bytes_memory_ptr",
                                                    "typeString": "bytes memory"
                                                }
                                            }
                                        ],
                                        "expression": {
                                            "argumentTypes": [
                                                {
                                                    "typeIdentifier": "t_bytes_memory_ptr",
                                                    "typeString": "bytes memory"
                                                }
                                            ],
                                            "id": 13414,
                                            "name": "_sendLogPayload",
                                            "nodeType": "Identifier",
                                            "overloadedDeclarations": [],
                                            "referencedDeclaration": 12880,
                                            "src": "4883:15:62",
                                            "typeDescriptions": {
                                                "typeIdentifier": "t_function_internal_view$_t_bytes_memory_ptr_$returns$__$",
                                                "typeString": "function (bytes memory) view"
                                            }
                                        },
                                        "id": 13420,
                                        "isConstant": false,
                                        "isLValue": false,
                                        "isPure": false,
                                        "kind": "functionCall",
                                        "lValueRequested": false,
                                        "names": [],
                                        "nodeType": "FunctionCall",
                                        "src": "4883:60:62",
                                        "tryCall": false,
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_tuple$__$",
                                            "typeString": "tuple()"
                                        }
                                    },
                                    "id": 13421,
                                    "nodeType": "ExpressionStatement",
                                    "src": "4883:60:62"
                                }
                            ]
                        },
                        "id": 13423,
                        "implemented": true,
                        "kind": "function",
                        "modifiers": [],
                        "name": "logBytes32",
                        "nameLocation": "4842:10:62",
                        "nodeType": "FunctionDefinition",
                        "parameters": {
                            "id": 13412,
                            "nodeType": "ParameterList",
                            "parameters": [
                                {
                                    "constant": false,
                                    "id": 13411,
                                    "mutability": "mutable",
                                    "name": "p0",
                                    "nameLocation": "4861:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 13423,
                                    "src": "4853:10:62",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_bytes32",
                                        "typeString": "bytes32"
                                    },
                                    "typeName": {
                                        "id": 13410,
                                        "name": "bytes32",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "4853:7:62",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_bytes32",
                                            "typeString": "bytes32"
                                        }
                                    },
                                    "visibility": "internal"
                                }
                            ],
                            "src": "4852:12:62"
                        },
                        "returnParameters": {
                            "id": 13413,
                            "nodeType": "ParameterList",
                            "parameters": [],
                            "src": "4879:0:62"
                        },
                        "scope": 20920,
                        "src": "4833:114:62",
                        "stateMutability": "view",
                        "virtual": false,
                        "visibility": "internal"
                    },
                    {
                        "body": {
                            "id": 13436,
                            "nodeType": "Block",
                            "src": "4986:65:62",
                            "statements": [
                                {
                                    "expression": {
                                        "arguments": [
                                            {
                                                "arguments": [
                                                    {
                                                        "hexValue": "6c6f672875696e7429",
                                                        "id": 13431,
                                                        "isConstant": false,
                                                        "isLValue": false,
                                                        "isPure": true,
                                                        "kind": "string",
                                                        "lValueRequested": false,
                                                        "nodeType": "Literal",
                                                        "src": "5030:11:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_stringliteral_f5b1bba92d8f98cf25e27c94d7fc7cbfbae95a49dfe5ab0cdf64ddd7181bb984",
                                                            "typeString": "literal_string \"log(uint)\""
                                                        },
                                                        "value": "log(uint)"
                                                    },
                                                    {
                                                        "id": 13432,
                                                        "name": "p0",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 13425,
                                                        "src": "5043:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_uint256",
                                                            "typeString": "uint256"
                                                        }
                                                    }
                                                ],
                                                "expression": {
                                                    "argumentTypes": [
                                                        {
                                                            "typeIdentifier": "t_stringliteral_f5b1bba92d8f98cf25e27c94d7fc7cbfbae95a49dfe5ab0cdf64ddd7181bb984",
                                                            "typeString": "literal_string \"log(uint)\""
                                                        },
                                                        {
                                                            "typeIdentifier": "t_uint256",
                                                            "typeString": "uint256"
                                                        }
                                                    ],
                                                    "expression": {
                                                        "id": 13429,
                                                        "name": "abi",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 4294967295,
                                                        "src": "5006:3:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_magic_abi",
                                                            "typeString": "abi"
                                                        }
                                                    },
                                                    "id": 13430,
                                                    "isConstant": false,
                                                    "isLValue": false,
                                                    "isPure": true,
                                                    "lValueRequested": false,
                                                    "memberName": "encodeWithSignature",
                                                    "nodeType": "MemberAccess",
                                                    "src": "5006:23:62",
                                                    "typeDescriptions": {
                                                        "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$",
                                                        "typeString": "function (string memory) pure returns (bytes memory)"
                                                    }
                                                },
                                                "id": 13433,
                                                "isConstant": false,
                                                "isLValue": false,
                                                "isPure": false,
                                                "kind": "functionCall",
                                                "lValueRequested": false,
                                                "names": [],
                                                "nodeType": "FunctionCall",
                                                "src": "5006:40:62",
                                                "tryCall": false,
                                                "typeDescriptions": {
                                                    "typeIdentifier": "t_bytes_memory_ptr",
                                                    "typeString": "bytes memory"
                                                }
                                            }
                                        ],
                                        "expression": {
                                            "argumentTypes": [
                                                {
                                                    "typeIdentifier": "t_bytes_memory_ptr",
                                                    "typeString": "bytes memory"
                                                }
                                            ],
                                            "id": 13428,
                                            "name": "_sendLogPayload",
                                            "nodeType": "Identifier",
                                            "overloadedDeclarations": [],
                                            "referencedDeclaration": 12880,
                                            "src": "4990:15:62",
                                            "typeDescriptions": {
                                                "typeIdentifier": "t_function_internal_view$_t_bytes_memory_ptr_$returns$__$",
                                                "typeString": "function (bytes memory) view"
                                            }
                                        },
                                        "id": 13434,
                                        "isConstant": false,
                                        "isLValue": false,
                                        "isPure": false,
                                        "kind": "functionCall",
                                        "lValueRequested": false,
                                        "names": [],
                                        "nodeType": "FunctionCall",
                                        "src": "4990:57:62",
                                        "tryCall": false,
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_tuple$__$",
                                            "typeString": "tuple()"
                                        }
                                    },
                                    "id": 13435,
                                    "nodeType": "ExpressionStatement",
                                    "src": "4990:57:62"
                                }
                            ]
                        },
                        "id": 13437,
                        "implemented": true,
                        "kind": "function",
                        "modifiers": [],
                        "name": "log",
                        "nameLocation": "4959:3:62",
                        "nodeType": "FunctionDefinition",
                        "parameters": {
                            "id": 13426,
                            "nodeType": "ParameterList",
                            "parameters": [
                                {
                                    "constant": false,
                                    "id": 13425,
                                    "mutability": "mutable",
                                    "name": "p0",
                                    "nameLocation": "4968:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 13437,
                                    "src": "4963:7:62",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_uint256",
                                        "typeString": "uint256"
                                    },
                                    "typeName": {
                                        "id": 13424,
                                        "name": "uint",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "4963:4:62",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_uint256",
                                            "typeString": "uint256"
                                        }
                                    },
                                    "visibility": "internal"
                                }
                            ],
                            "src": "4962:9:62"
                        },
                        "returnParameters": {
                            "id": 13427,
                            "nodeType": "ParameterList",
                            "parameters": [],
                            "src": "4986:0:62"
                        },
                        "scope": 20920,
                        "src": "4950:101:62",
                        "stateMutability": "view",
                        "virtual": false,
                        "visibility": "internal"
                    },
                    {
                        "body": {
                            "id": 13450,
                            "nodeType": "Block",
                            "src": "5099:67:62",
                            "statements": [
                                {
                                    "expression": {
                                        "arguments": [
                                            {
                                                "arguments": [
                                                    {
                                                        "hexValue": "6c6f6728737472696e6729",
                                                        "id": 13445,
                                                        "isConstant": false,
                                                        "isLValue": false,
                                                        "isPure": true,
                                                        "kind": "string",
                                                        "lValueRequested": false,
                                                        "nodeType": "Literal",
                                                        "src": "5143:13:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_stringliteral_41304facd9323d75b11bcdd609cb38effffdb05710f7caf0e9b16c6d9d709f50",
                                                            "typeString": "literal_string \"log(string)\""
                                                        },
                                                        "value": "log(string)"
                                                    },
                                                    {
                                                        "id": 13446,
                                                        "name": "p0",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 13439,
                                                        "src": "5158:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_string_memory_ptr",
                                                            "typeString": "string memory"
                                                        }
                                                    }
                                                ],
                                                "expression": {
                                                    "argumentTypes": [
                                                        {
                                                            "typeIdentifier": "t_stringliteral_41304facd9323d75b11bcdd609cb38effffdb05710f7caf0e9b16c6d9d709f50",
                                                            "typeString": "literal_string \"log(string)\""
                                                        },
                                                        {
                                                            "typeIdentifier": "t_string_memory_ptr",
                                                            "typeString": "string memory"
                                                        }
                                                    ],
                                                    "expression": {
                                                        "id": 13443,
                                                        "name": "abi",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 4294967295,
                                                        "src": "5119:3:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_magic_abi",
                                                            "typeString": "abi"
                                                        }
                                                    },
                                                    "id": 13444,
                                                    "isConstant": false,
                                                    "isLValue": false,
                                                    "isPure": true,
                                                    "lValueRequested": false,
                                                    "memberName": "encodeWithSignature",
                                                    "nodeType": "MemberAccess",
                                                    "src": "5119:23:62",
                                                    "typeDescriptions": {
                                                        "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$",
                                                        "typeString": "function (string memory) pure returns (bytes memory)"
                                                    }
                                                },
                                                "id": 13447,
                                                "isConstant": false,
                                                "isLValue": false,
                                                "isPure": false,
                                                "kind": "functionCall",
                                                "lValueRequested": false,
                                                "names": [],
                                                "nodeType": "FunctionCall",
                                                "src": "5119:42:62",
                                                "tryCall": false,
                                                "typeDescriptions": {
                                                    "typeIdentifier": "t_bytes_memory_ptr",
                                                    "typeString": "bytes memory"
                                                }
                                            }
                                        ],
                                        "expression": {
                                            "argumentTypes": [
                                                {
                                                    "typeIdentifier": "t_bytes_memory_ptr",
                                                    "typeString": "bytes memory"
                                                }
                                            ],
                                            "id": 13442,
                                            "name": "_sendLogPayload",
                                            "nodeType": "Identifier",
                                            "overloadedDeclarations": [],
                                            "referencedDeclaration": 12880,
                                            "src": "5103:15:62",
                                            "typeDescriptions": {
                                                "typeIdentifier": "t_function_internal_view$_t_bytes_memory_ptr_$returns$__$",
                                                "typeString": "function (bytes memory) view"
                                            }
                                        },
                                        "id": 13448,
                                        "isConstant": false,
                                        "isLValue": false,
                                        "isPure": false,
                                        "kind": "functionCall",
                                        "lValueRequested": false,
                                        "names": [],
                                        "nodeType": "FunctionCall",
                                        "src": "5103:59:62",
                                        "tryCall": false,
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_tuple$__$",
                                            "typeString": "tuple()"
                                        }
                                    },
                                    "id": 13449,
                                    "nodeType": "ExpressionStatement",
                                    "src": "5103:59:62"
                                }
                            ]
                        },
                        "id": 13451,
                        "implemented": true,
                        "kind": "function",
                        "modifiers": [],
                        "name": "log",
                        "nameLocation": "5063:3:62",
                        "nodeType": "FunctionDefinition",
                        "parameters": {
                            "id": 13440,
                            "nodeType": "ParameterList",
                            "parameters": [
                                {
                                    "constant": false,
                                    "id": 13439,
                                    "mutability": "mutable",
                                    "name": "p0",
                                    "nameLocation": "5081:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 13451,
                                    "src": "5067:16:62",
                                    "stateVariable": false,
                                    "storageLocation": "memory",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_string_memory_ptr",
                                        "typeString": "string"
                                    },
                                    "typeName": {
                                        "id": 13438,
                                        "name": "string",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "5067:6:62",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_string_storage_ptr",
                                            "typeString": "string"
                                        }
                                    },
                                    "visibility": "internal"
                                }
                            ],
                            "src": "5066:18:62"
                        },
                        "returnParameters": {
                            "id": 13441,
                            "nodeType": "ParameterList",
                            "parameters": [],
                            "src": "5099:0:62"
                        },
                        "scope": 20920,
                        "src": "5054:112:62",
                        "stateMutability": "view",
                        "virtual": false,
                        "visibility": "internal"
                    },
                    {
                        "body": {
                            "id": 13464,
                            "nodeType": "Block",
                            "src": "5205:65:62",
                            "statements": [
                                {
                                    "expression": {
                                        "arguments": [
                                            {
                                                "arguments": [
                                                    {
                                                        "hexValue": "6c6f6728626f6f6c29",
                                                        "id": 13459,
                                                        "isConstant": false,
                                                        "isLValue": false,
                                                        "isPure": true,
                                                        "kind": "string",
                                                        "lValueRequested": false,
                                                        "nodeType": "Literal",
                                                        "src": "5249:11:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_stringliteral_32458eed3feca62a69292a55ca8a755ae4e6cdc57a38d15c298330064467fdd7",
                                                            "typeString": "literal_string \"log(bool)\""
                                                        },
                                                        "value": "log(bool)"
                                                    },
                                                    {
                                                        "id": 13460,
                                                        "name": "p0",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 13453,
                                                        "src": "5262:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_bool",
                                                            "typeString": "bool"
                                                        }
                                                    }
                                                ],
                                                "expression": {
                                                    "argumentTypes": [
                                                        {
                                                            "typeIdentifier": "t_stringliteral_32458eed3feca62a69292a55ca8a755ae4e6cdc57a38d15c298330064467fdd7",
                                                            "typeString": "literal_string \"log(bool)\""
                                                        },
                                                        {
                                                            "typeIdentifier": "t_bool",
                                                            "typeString": "bool"
                                                        }
                                                    ],
                                                    "expression": {
                                                        "id": 13457,
                                                        "name": "abi",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 4294967295,
                                                        "src": "5225:3:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_magic_abi",
                                                            "typeString": "abi"
                                                        }
                                                    },
                                                    "id": 13458,
                                                    "isConstant": false,
                                                    "isLValue": false,
                                                    "isPure": true,
                                                    "lValueRequested": false,
                                                    "memberName": "encodeWithSignature",
                                                    "nodeType": "MemberAccess",
                                                    "src": "5225:23:62",
                                                    "typeDescriptions": {
                                                        "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$",
                                                        "typeString": "function (string memory) pure returns (bytes memory)"
                                                    }
                                                },
                                                "id": 13461,
                                                "isConstant": false,
                                                "isLValue": false,
                                                "isPure": false,
                                                "kind": "functionCall",
                                                "lValueRequested": false,
                                                "names": [],
                                                "nodeType": "FunctionCall",
                                                "src": "5225:40:62",
                                                "tryCall": false,
                                                "typeDescriptions": {
                                                    "typeIdentifier": "t_bytes_memory_ptr",
                                                    "typeString": "bytes memory"
                                                }
                                            }
                                        ],
                                        "expression": {
                                            "argumentTypes": [
                                                {
                                                    "typeIdentifier": "t_bytes_memory_ptr",
                                                    "typeString": "bytes memory"
                                                }
                                            ],
                                            "id": 13456,
                                            "name": "_sendLogPayload",
                                            "nodeType": "Identifier",
                                            "overloadedDeclarations": [],
                                            "referencedDeclaration": 12880,
                                            "src": "5209:15:62",
                                            "typeDescriptions": {
                                                "typeIdentifier": "t_function_internal_view$_t_bytes_memory_ptr_$returns$__$",
                                                "typeString": "function (bytes memory) view"
                                            }
                                        },
                                        "id": 13462,
                                        "isConstant": false,
                                        "isLValue": false,
                                        "isPure": false,
                                        "kind": "functionCall",
                                        "lValueRequested": false,
                                        "names": [],
                                        "nodeType": "FunctionCall",
                                        "src": "5209:57:62",
                                        "tryCall": false,
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_tuple$__$",
                                            "typeString": "tuple()"
                                        }
                                    },
                                    "id": 13463,
                                    "nodeType": "ExpressionStatement",
                                    "src": "5209:57:62"
                                }
                            ]
                        },
                        "id": 13465,
                        "implemented": true,
                        "kind": "function",
                        "modifiers": [],
                        "name": "log",
                        "nameLocation": "5178:3:62",
                        "nodeType": "FunctionDefinition",
                        "parameters": {
                            "id": 13454,
                            "nodeType": "ParameterList",
                            "parameters": [
                                {
                                    "constant": false,
                                    "id": 13453,
                                    "mutability": "mutable",
                                    "name": "p0",
                                    "nameLocation": "5187:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 13465,
                                    "src": "5182:7:62",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_bool",
                                        "typeString": "bool"
                                    },
                                    "typeName": {
                                        "id": 13452,
                                        "name": "bool",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "5182:4:62",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_bool",
                                            "typeString": "bool"
                                        }
                                    },
                                    "visibility": "internal"
                                }
                            ],
                            "src": "5181:9:62"
                        },
                        "returnParameters": {
                            "id": 13455,
                            "nodeType": "ParameterList",
                            "parameters": [],
                            "src": "5205:0:62"
                        },
                        "scope": 20920,
                        "src": "5169:101:62",
                        "stateMutability": "view",
                        "virtual": false,
                        "visibility": "internal"
                    },
                    {
                        "body": {
                            "id": 13478,
                            "nodeType": "Block",
                            "src": "5312:68:62",
                            "statements": [
                                {
                                    "expression": {
                                        "arguments": [
                                            {
                                                "arguments": [
                                                    {
                                                        "hexValue": "6c6f67286164647265737329",
                                                        "id": 13473,
                                                        "isConstant": false,
                                                        "isLValue": false,
                                                        "isPure": true,
                                                        "kind": "string",
                                                        "lValueRequested": false,
                                                        "nodeType": "Literal",
                                                        "src": "5356:14:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_stringliteral_2c2ecbc2212ac38c2f9ec89aa5fcef7f532a5db24dbf7cad1f48bc82843b7428",
                                                            "typeString": "literal_string \"log(address)\""
                                                        },
                                                        "value": "log(address)"
                                                    },
                                                    {
                                                        "id": 13474,
                                                        "name": "p0",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 13467,
                                                        "src": "5372:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_address",
                                                            "typeString": "address"
                                                        }
                                                    }
                                                ],
                                                "expression": {
                                                    "argumentTypes": [
                                                        {
                                                            "typeIdentifier": "t_stringliteral_2c2ecbc2212ac38c2f9ec89aa5fcef7f532a5db24dbf7cad1f48bc82843b7428",
                                                            "typeString": "literal_string \"log(address)\""
                                                        },
                                                        {
                                                            "typeIdentifier": "t_address",
                                                            "typeString": "address"
                                                        }
                                                    ],
                                                    "expression": {
                                                        "id": 13471,
                                                        "name": "abi",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 4294967295,
                                                        "src": "5332:3:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_magic_abi",
                                                            "typeString": "abi"
                                                        }
                                                    },
                                                    "id": 13472,
                                                    "isConstant": false,
                                                    "isLValue": false,
                                                    "isPure": true,
                                                    "lValueRequested": false,
                                                    "memberName": "encodeWithSignature",
                                                    "nodeType": "MemberAccess",
                                                    "src": "5332:23:62",
                                                    "typeDescriptions": {
                                                        "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$",
                                                        "typeString": "function (string memory) pure returns (bytes memory)"
                                                    }
                                                },
                                                "id": 13475,
                                                "isConstant": false,
                                                "isLValue": false,
                                                "isPure": false,
                                                "kind": "functionCall",
                                                "lValueRequested": false,
                                                "names": [],
                                                "nodeType": "FunctionCall",
                                                "src": "5332:43:62",
                                                "tryCall": false,
                                                "typeDescriptions": {
                                                    "typeIdentifier": "t_bytes_memory_ptr",
                                                    "typeString": "bytes memory"
                                                }
                                            }
                                        ],
                                        "expression": {
                                            "argumentTypes": [
                                                {
                                                    "typeIdentifier": "t_bytes_memory_ptr",
                                                    "typeString": "bytes memory"
                                                }
                                            ],
                                            "id": 13470,
                                            "name": "_sendLogPayload",
                                            "nodeType": "Identifier",
                                            "overloadedDeclarations": [],
                                            "referencedDeclaration": 12880,
                                            "src": "5316:15:62",
                                            "typeDescriptions": {
                                                "typeIdentifier": "t_function_internal_view$_t_bytes_memory_ptr_$returns$__$",
                                                "typeString": "function (bytes memory) view"
                                            }
                                        },
                                        "id": 13476,
                                        "isConstant": false,
                                        "isLValue": false,
                                        "isPure": false,
                                        "kind": "functionCall",
                                        "lValueRequested": false,
                                        "names": [],
                                        "nodeType": "FunctionCall",
                                        "src": "5316:60:62",
                                        "tryCall": false,
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_tuple$__$",
                                            "typeString": "tuple()"
                                        }
                                    },
                                    "id": 13477,
                                    "nodeType": "ExpressionStatement",
                                    "src": "5316:60:62"
                                }
                            ]
                        },
                        "id": 13479,
                        "implemented": true,
                        "kind": "function",
                        "modifiers": [],
                        "name": "log",
                        "nameLocation": "5282:3:62",
                        "nodeType": "FunctionDefinition",
                        "parameters": {
                            "id": 13468,
                            "nodeType": "ParameterList",
                            "parameters": [
                                {
                                    "constant": false,
                                    "id": 13467,
                                    "mutability": "mutable",
                                    "name": "p0",
                                    "nameLocation": "5294:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 13479,
                                    "src": "5286:10:62",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_address",
                                        "typeString": "address"
                                    },
                                    "typeName": {
                                        "id": 13466,
                                        "name": "address",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "5286:7:62",
                                        "stateMutability": "nonpayable",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_address",
                                            "typeString": "address"
                                        }
                                    },
                                    "visibility": "internal"
                                }
                            ],
                            "src": "5285:12:62"
                        },
                        "returnParameters": {
                            "id": 13469,
                            "nodeType": "ParameterList",
                            "parameters": [],
                            "src": "5312:0:62"
                        },
                        "scope": 20920,
                        "src": "5273:107:62",
                        "stateMutability": "view",
                        "virtual": false,
                        "visibility": "internal"
                    },
                    {
                        "body": {
                            "id": 13495,
                            "nodeType": "Block",
                            "src": "5428:74:62",
                            "statements": [
                                {
                                    "expression": {
                                        "arguments": [
                                            {
                                                "arguments": [
                                                    {
                                                        "hexValue": "6c6f672875696e742c75696e7429",
                                                        "id": 13489,
                                                        "isConstant": false,
                                                        "isLValue": false,
                                                        "isPure": true,
                                                        "kind": "string",
                                                        "lValueRequested": false,
                                                        "nodeType": "Literal",
                                                        "src": "5472:16:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_stringliteral_6c0f69806b714804c91bc48c3b408dde7373841a86e55c9ea3ee0c5945b4bc32",
                                                            "typeString": "literal_string \"log(uint,uint)\""
                                                        },
                                                        "value": "log(uint,uint)"
                                                    },
                                                    {
                                                        "id": 13490,
                                                        "name": "p0",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 13481,
                                                        "src": "5490:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_uint256",
                                                            "typeString": "uint256"
                                                        }
                                                    },
                                                    {
                                                        "id": 13491,
                                                        "name": "p1",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 13483,
                                                        "src": "5494:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_uint256",
                                                            "typeString": "uint256"
                                                        }
                                                    }
                                                ],
                                                "expression": {
                                                    "argumentTypes": [
                                                        {
                                                            "typeIdentifier": "t_stringliteral_6c0f69806b714804c91bc48c3b408dde7373841a86e55c9ea3ee0c5945b4bc32",
                                                            "typeString": "literal_string \"log(uint,uint)\""
                                                        },
                                                        {
                                                            "typeIdentifier": "t_uint256",
                                                            "typeString": "uint256"
                                                        },
                                                        {
                                                            "typeIdentifier": "t_uint256",
                                                            "typeString": "uint256"
                                                        }
                                                    ],
                                                    "expression": {
                                                        "id": 13487,
                                                        "name": "abi",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 4294967295,
                                                        "src": "5448:3:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_magic_abi",
                                                            "typeString": "abi"
                                                        }
                                                    },
                                                    "id": 13488,
                                                    "isConstant": false,
                                                    "isLValue": false,
                                                    "isPure": true,
                                                    "lValueRequested": false,
                                                    "memberName": "encodeWithSignature",
                                                    "nodeType": "MemberAccess",
                                                    "src": "5448:23:62",
                                                    "typeDescriptions": {
                                                        "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$",
                                                        "typeString": "function (string memory) pure returns (bytes memory)"
                                                    }
                                                },
                                                "id": 13492,
                                                "isConstant": false,
                                                "isLValue": false,
                                                "isPure": false,
                                                "kind": "functionCall",
                                                "lValueRequested": false,
                                                "names": [],
                                                "nodeType": "FunctionCall",
                                                "src": "5448:49:62",
                                                "tryCall": false,
                                                "typeDescriptions": {
                                                    "typeIdentifier": "t_bytes_memory_ptr",
                                                    "typeString": "bytes memory"
                                                }
                                            }
                                        ],
                                        "expression": {
                                            "argumentTypes": [
                                                {
                                                    "typeIdentifier": "t_bytes_memory_ptr",
                                                    "typeString": "bytes memory"
                                                }
                                            ],
                                            "id": 13486,
                                            "name": "_sendLogPayload",
                                            "nodeType": "Identifier",
                                            "overloadedDeclarations": [],
                                            "referencedDeclaration": 12880,
                                            "src": "5432:15:62",
                                            "typeDescriptions": {
                                                "typeIdentifier": "t_function_internal_view$_t_bytes_memory_ptr_$returns$__$",
                                                "typeString": "function (bytes memory) view"
                                            }
                                        },
                                        "id": 13493,
                                        "isConstant": false,
                                        "isLValue": false,
                                        "isPure": false,
                                        "kind": "functionCall",
                                        "lValueRequested": false,
                                        "names": [],
                                        "nodeType": "FunctionCall",
                                        "src": "5432:66:62",
                                        "tryCall": false,
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_tuple$__$",
                                            "typeString": "tuple()"
                                        }
                                    },
                                    "id": 13494,
                                    "nodeType": "ExpressionStatement",
                                    "src": "5432:66:62"
                                }
                            ]
                        },
                        "id": 13496,
                        "implemented": true,
                        "kind": "function",
                        "modifiers": [],
                        "name": "log",
                        "nameLocation": "5392:3:62",
                        "nodeType": "FunctionDefinition",
                        "parameters": {
                            "id": 13484,
                            "nodeType": "ParameterList",
                            "parameters": [
                                {
                                    "constant": false,
                                    "id": 13481,
                                    "mutability": "mutable",
                                    "name": "p0",
                                    "nameLocation": "5401:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 13496,
                                    "src": "5396:7:62",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_uint256",
                                        "typeString": "uint256"
                                    },
                                    "typeName": {
                                        "id": 13480,
                                        "name": "uint",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "5396:4:62",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_uint256",
                                            "typeString": "uint256"
                                        }
                                    },
                                    "visibility": "internal"
                                },
                                {
                                    "constant": false,
                                    "id": 13483,
                                    "mutability": "mutable",
                                    "name": "p1",
                                    "nameLocation": "5410:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 13496,
                                    "src": "5405:7:62",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_uint256",
                                        "typeString": "uint256"
                                    },
                                    "typeName": {
                                        "id": 13482,
                                        "name": "uint",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "5405:4:62",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_uint256",
                                            "typeString": "uint256"
                                        }
                                    },
                                    "visibility": "internal"
                                }
                            ],
                            "src": "5395:18:62"
                        },
                        "returnParameters": {
                            "id": 13485,
                            "nodeType": "ParameterList",
                            "parameters": [],
                            "src": "5428:0:62"
                        },
                        "scope": 20920,
                        "src": "5383:119:62",
                        "stateMutability": "view",
                        "virtual": false,
                        "visibility": "internal"
                    },
                    {
                        "body": {
                            "id": 13512,
                            "nodeType": "Block",
                            "src": "5559:76:62",
                            "statements": [
                                {
                                    "expression": {
                                        "arguments": [
                                            {
                                                "arguments": [
                                                    {
                                                        "hexValue": "6c6f672875696e742c737472696e6729",
                                                        "id": 13506,
                                                        "isConstant": false,
                                                        "isLValue": false,
                                                        "isPure": true,
                                                        "kind": "string",
                                                        "lValueRequested": false,
                                                        "nodeType": "Literal",
                                                        "src": "5603:18:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_stringliteral_0fa3f345ed69310615f27bede4ec80a963e2134dd287fa93c82b0c1eefe029a8",
                                                            "typeString": "literal_string \"log(uint,string)\""
                                                        },
                                                        "value": "log(uint,string)"
                                                    },
                                                    {
                                                        "id": 13507,
                                                        "name": "p0",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 13498,
                                                        "src": "5623:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_uint256",
                                                            "typeString": "uint256"
                                                        }
                                                    },
                                                    {
                                                        "id": 13508,
                                                        "name": "p1",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 13500,
                                                        "src": "5627:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_string_memory_ptr",
                                                            "typeString": "string memory"
                                                        }
                                                    }
                                                ],
                                                "expression": {
                                                    "argumentTypes": [
                                                        {
                                                            "typeIdentifier": "t_stringliteral_0fa3f345ed69310615f27bede4ec80a963e2134dd287fa93c82b0c1eefe029a8",
                                                            "typeString": "literal_string \"log(uint,string)\""
                                                        },
                                                        {
                                                            "typeIdentifier": "t_uint256",
                                                            "typeString": "uint256"
                                                        },
                                                        {
                                                            "typeIdentifier": "t_string_memory_ptr",
                                                            "typeString": "string memory"
                                                        }
                                                    ],
                                                    "expression": {
                                                        "id": 13504,
                                                        "name": "abi",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 4294967295,
                                                        "src": "5579:3:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_magic_abi",
                                                            "typeString": "abi"
                                                        }
                                                    },
                                                    "id": 13505,
                                                    "isConstant": false,
                                                    "isLValue": false,
                                                    "isPure": true,
                                                    "lValueRequested": false,
                                                    "memberName": "encodeWithSignature",
                                                    "nodeType": "MemberAccess",
                                                    "src": "5579:23:62",
                                                    "typeDescriptions": {
                                                        "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$",
                                                        "typeString": "function (string memory) pure returns (bytes memory)"
                                                    }
                                                },
                                                "id": 13509,
                                                "isConstant": false,
                                                "isLValue": false,
                                                "isPure": false,
                                                "kind": "functionCall",
                                                "lValueRequested": false,
                                                "names": [],
                                                "nodeType": "FunctionCall",
                                                "src": "5579:51:62",
                                                "tryCall": false,
                                                "typeDescriptions": {
                                                    "typeIdentifier": "t_bytes_memory_ptr",
                                                    "typeString": "bytes memory"
                                                }
                                            }
                                        ],
                                        "expression": {
                                            "argumentTypes": [
                                                {
                                                    "typeIdentifier": "t_bytes_memory_ptr",
                                                    "typeString": "bytes memory"
                                                }
                                            ],
                                            "id": 13503,
                                            "name": "_sendLogPayload",
                                            "nodeType": "Identifier",
                                            "overloadedDeclarations": [],
                                            "referencedDeclaration": 12880,
                                            "src": "5563:15:62",
                                            "typeDescriptions": {
                                                "typeIdentifier": "t_function_internal_view$_t_bytes_memory_ptr_$returns$__$",
                                                "typeString": "function (bytes memory) view"
                                            }
                                        },
                                        "id": 13510,
                                        "isConstant": false,
                                        "isLValue": false,
                                        "isPure": false,
                                        "kind": "functionCall",
                                        "lValueRequested": false,
                                        "names": [],
                                        "nodeType": "FunctionCall",
                                        "src": "5563:68:62",
                                        "tryCall": false,
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_tuple$__$",
                                            "typeString": "tuple()"
                                        }
                                    },
                                    "id": 13511,
                                    "nodeType": "ExpressionStatement",
                                    "src": "5563:68:62"
                                }
                            ]
                        },
                        "id": 13513,
                        "implemented": true,
                        "kind": "function",
                        "modifiers": [],
                        "name": "log",
                        "nameLocation": "5514:3:62",
                        "nodeType": "FunctionDefinition",
                        "parameters": {
                            "id": 13501,
                            "nodeType": "ParameterList",
                            "parameters": [
                                {
                                    "constant": false,
                                    "id": 13498,
                                    "mutability": "mutable",
                                    "name": "p0",
                                    "nameLocation": "5523:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 13513,
                                    "src": "5518:7:62",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_uint256",
                                        "typeString": "uint256"
                                    },
                                    "typeName": {
                                        "id": 13497,
                                        "name": "uint",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "5518:4:62",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_uint256",
                                            "typeString": "uint256"
                                        }
                                    },
                                    "visibility": "internal"
                                },
                                {
                                    "constant": false,
                                    "id": 13500,
                                    "mutability": "mutable",
                                    "name": "p1",
                                    "nameLocation": "5541:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 13513,
                                    "src": "5527:16:62",
                                    "stateVariable": false,
                                    "storageLocation": "memory",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_string_memory_ptr",
                                        "typeString": "string"
                                    },
                                    "typeName": {
                                        "id": 13499,
                                        "name": "string",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "5527:6:62",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_string_storage_ptr",
                                            "typeString": "string"
                                        }
                                    },
                                    "visibility": "internal"
                                }
                            ],
                            "src": "5517:27:62"
                        },
                        "returnParameters": {
                            "id": 13502,
                            "nodeType": "ParameterList",
                            "parameters": [],
                            "src": "5559:0:62"
                        },
                        "scope": 20920,
                        "src": "5505:130:62",
                        "stateMutability": "view",
                        "virtual": false,
                        "visibility": "internal"
                    },
                    {
                        "body": {
                            "id": 13529,
                            "nodeType": "Block",
                            "src": "5683:74:62",
                            "statements": [
                                {
                                    "expression": {
                                        "arguments": [
                                            {
                                                "arguments": [
                                                    {
                                                        "hexValue": "6c6f672875696e742c626f6f6c29",
                                                        "id": 13523,
                                                        "isConstant": false,
                                                        "isLValue": false,
                                                        "isPure": true,
                                                        "kind": "string",
                                                        "lValueRequested": false,
                                                        "nodeType": "Literal",
                                                        "src": "5727:16:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_stringliteral_1e6dd4ecaf57d2ec6eb02f2f993c53040200a16451fba718b7e8b170825fd172",
                                                            "typeString": "literal_string \"log(uint,bool)\""
                                                        },
                                                        "value": "log(uint,bool)"
                                                    },
                                                    {
                                                        "id": 13524,
                                                        "name": "p0",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 13515,
                                                        "src": "5745:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_uint256",
                                                            "typeString": "uint256"
                                                        }
                                                    },
                                                    {
                                                        "id": 13525,
                                                        "name": "p1",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 13517,
                                                        "src": "5749:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_bool",
                                                            "typeString": "bool"
                                                        }
                                                    }
                                                ],
                                                "expression": {
                                                    "argumentTypes": [
                                                        {
                                                            "typeIdentifier": "t_stringliteral_1e6dd4ecaf57d2ec6eb02f2f993c53040200a16451fba718b7e8b170825fd172",
                                                            "typeString": "literal_string \"log(uint,bool)\""
                                                        },
                                                        {
                                                            "typeIdentifier": "t_uint256",
                                                            "typeString": "uint256"
                                                        },
                                                        {
                                                            "typeIdentifier": "t_bool",
                                                            "typeString": "bool"
                                                        }
                                                    ],
                                                    "expression": {
                                                        "id": 13521,
                                                        "name": "abi",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 4294967295,
                                                        "src": "5703:3:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_magic_abi",
                                                            "typeString": "abi"
                                                        }
                                                    },
                                                    "id": 13522,
                                                    "isConstant": false,
                                                    "isLValue": false,
                                                    "isPure": true,
                                                    "lValueRequested": false,
                                                    "memberName": "encodeWithSignature",
                                                    "nodeType": "MemberAccess",
                                                    "src": "5703:23:62",
                                                    "typeDescriptions": {
                                                        "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$",
                                                        "typeString": "function (string memory) pure returns (bytes memory)"
                                                    }
                                                },
                                                "id": 13526,
                                                "isConstant": false,
                                                "isLValue": false,
                                                "isPure": false,
                                                "kind": "functionCall",
                                                "lValueRequested": false,
                                                "names": [],
                                                "nodeType": "FunctionCall",
                                                "src": "5703:49:62",
                                                "tryCall": false,
                                                "typeDescriptions": {
                                                    "typeIdentifier": "t_bytes_memory_ptr",
                                                    "typeString": "bytes memory"
                                                }
                                            }
                                        ],
                                        "expression": {
                                            "argumentTypes": [
                                                {
                                                    "typeIdentifier": "t_bytes_memory_ptr",
                                                    "typeString": "bytes memory"
                                                }
                                            ],
                                            "id": 13520,
                                            "name": "_sendLogPayload",
                                            "nodeType": "Identifier",
                                            "overloadedDeclarations": [],
                                            "referencedDeclaration": 12880,
                                            "src": "5687:15:62",
                                            "typeDescriptions": {
                                                "typeIdentifier": "t_function_internal_view$_t_bytes_memory_ptr_$returns$__$",
                                                "typeString": "function (bytes memory) view"
                                            }
                                        },
                                        "id": 13527,
                                        "isConstant": false,
                                        "isLValue": false,
                                        "isPure": false,
                                        "kind": "functionCall",
                                        "lValueRequested": false,
                                        "names": [],
                                        "nodeType": "FunctionCall",
                                        "src": "5687:66:62",
                                        "tryCall": false,
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_tuple$__$",
                                            "typeString": "tuple()"
                                        }
                                    },
                                    "id": 13528,
                                    "nodeType": "ExpressionStatement",
                                    "src": "5687:66:62"
                                }
                            ]
                        },
                        "id": 13530,
                        "implemented": true,
                        "kind": "function",
                        "modifiers": [],
                        "name": "log",
                        "nameLocation": "5647:3:62",
                        "nodeType": "FunctionDefinition",
                        "parameters": {
                            "id": 13518,
                            "nodeType": "ParameterList",
                            "parameters": [
                                {
                                    "constant": false,
                                    "id": 13515,
                                    "mutability": "mutable",
                                    "name": "p0",
                                    "nameLocation": "5656:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 13530,
                                    "src": "5651:7:62",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_uint256",
                                        "typeString": "uint256"
                                    },
                                    "typeName": {
                                        "id": 13514,
                                        "name": "uint",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "5651:4:62",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_uint256",
                                            "typeString": "uint256"
                                        }
                                    },
                                    "visibility": "internal"
                                },
                                {
                                    "constant": false,
                                    "id": 13517,
                                    "mutability": "mutable",
                                    "name": "p1",
                                    "nameLocation": "5665:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 13530,
                                    "src": "5660:7:62",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_bool",
                                        "typeString": "bool"
                                    },
                                    "typeName": {
                                        "id": 13516,
                                        "name": "bool",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "5660:4:62",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_bool",
                                            "typeString": "bool"
                                        }
                                    },
                                    "visibility": "internal"
                                }
                            ],
                            "src": "5650:18:62"
                        },
                        "returnParameters": {
                            "id": 13519,
                            "nodeType": "ParameterList",
                            "parameters": [],
                            "src": "5683:0:62"
                        },
                        "scope": 20920,
                        "src": "5638:119:62",
                        "stateMutability": "view",
                        "virtual": false,
                        "visibility": "internal"
                    },
                    {
                        "body": {
                            "id": 13546,
                            "nodeType": "Block",
                            "src": "5808:77:62",
                            "statements": [
                                {
                                    "expression": {
                                        "arguments": [
                                            {
                                                "arguments": [
                                                    {
                                                        "hexValue": "6c6f672875696e742c6164647265737329",
                                                        "id": 13540,
                                                        "isConstant": false,
                                                        "isLValue": false,
                                                        "isPure": true,
                                                        "kind": "string",
                                                        "lValueRequested": false,
                                                        "nodeType": "Literal",
                                                        "src": "5852:19:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_stringliteral_58eb860cb5df2c2db83667a7ce62ef14d1323e0f3e304ea316fb64cd2c6fd3b2",
                                                            "typeString": "literal_string \"log(uint,address)\""
                                                        },
                                                        "value": "log(uint,address)"
                                                    },
                                                    {
                                                        "id": 13541,
                                                        "name": "p0",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 13532,
                                                        "src": "5873:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_uint256",
                                                            "typeString": "uint256"
                                                        }
                                                    },
                                                    {
                                                        "id": 13542,
                                                        "name": "p1",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 13534,
                                                        "src": "5877:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_address",
                                                            "typeString": "address"
                                                        }
                                                    }
                                                ],
                                                "expression": {
                                                    "argumentTypes": [
                                                        {
                                                            "typeIdentifier": "t_stringliteral_58eb860cb5df2c2db83667a7ce62ef14d1323e0f3e304ea316fb64cd2c6fd3b2",
                                                            "typeString": "literal_string \"log(uint,address)\""
                                                        },
                                                        {
                                                            "typeIdentifier": "t_uint256",
                                                            "typeString": "uint256"
                                                        },
                                                        {
                                                            "typeIdentifier": "t_address",
                                                            "typeString": "address"
                                                        }
                                                    ],
                                                    "expression": {
                                                        "id": 13538,
                                                        "name": "abi",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 4294967295,
                                                        "src": "5828:3:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_magic_abi",
                                                            "typeString": "abi"
                                                        }
                                                    },
                                                    "id": 13539,
                                                    "isConstant": false,
                                                    "isLValue": false,
                                                    "isPure": true,
                                                    "lValueRequested": false,
                                                    "memberName": "encodeWithSignature",
                                                    "nodeType": "MemberAccess",
                                                    "src": "5828:23:62",
                                                    "typeDescriptions": {
                                                        "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$",
                                                        "typeString": "function (string memory) pure returns (bytes memory)"
                                                    }
                                                },
                                                "id": 13543,
                                                "isConstant": false,
                                                "isLValue": false,
                                                "isPure": false,
                                                "kind": "functionCall",
                                                "lValueRequested": false,
                                                "names": [],
                                                "nodeType": "FunctionCall",
                                                "src": "5828:52:62",
                                                "tryCall": false,
                                                "typeDescriptions": {
                                                    "typeIdentifier": "t_bytes_memory_ptr",
                                                    "typeString": "bytes memory"
                                                }
                                            }
                                        ],
                                        "expression": {
                                            "argumentTypes": [
                                                {
                                                    "typeIdentifier": "t_bytes_memory_ptr",
                                                    "typeString": "bytes memory"
                                                }
                                            ],
                                            "id": 13537,
                                            "name": "_sendLogPayload",
                                            "nodeType": "Identifier",
                                            "overloadedDeclarations": [],
                                            "referencedDeclaration": 12880,
                                            "src": "5812:15:62",
                                            "typeDescriptions": {
                                                "typeIdentifier": "t_function_internal_view$_t_bytes_memory_ptr_$returns$__$",
                                                "typeString": "function (bytes memory) view"
                                            }
                                        },
                                        "id": 13544,
                                        "isConstant": false,
                                        "isLValue": false,
                                        "isPure": false,
                                        "kind": "functionCall",
                                        "lValueRequested": false,
                                        "names": [],
                                        "nodeType": "FunctionCall",
                                        "src": "5812:69:62",
                                        "tryCall": false,
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_tuple$__$",
                                            "typeString": "tuple()"
                                        }
                                    },
                                    "id": 13545,
                                    "nodeType": "ExpressionStatement",
                                    "src": "5812:69:62"
                                }
                            ]
                        },
                        "id": 13547,
                        "implemented": true,
                        "kind": "function",
                        "modifiers": [],
                        "name": "log",
                        "nameLocation": "5769:3:62",
                        "nodeType": "FunctionDefinition",
                        "parameters": {
                            "id": 13535,
                            "nodeType": "ParameterList",
                            "parameters": [
                                {
                                    "constant": false,
                                    "id": 13532,
                                    "mutability": "mutable",
                                    "name": "p0",
                                    "nameLocation": "5778:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 13547,
                                    "src": "5773:7:62",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_uint256",
                                        "typeString": "uint256"
                                    },
                                    "typeName": {
                                        "id": 13531,
                                        "name": "uint",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "5773:4:62",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_uint256",
                                            "typeString": "uint256"
                                        }
                                    },
                                    "visibility": "internal"
                                },
                                {
                                    "constant": false,
                                    "id": 13534,
                                    "mutability": "mutable",
                                    "name": "p1",
                                    "nameLocation": "5790:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 13547,
                                    "src": "5782:10:62",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_address",
                                        "typeString": "address"
                                    },
                                    "typeName": {
                                        "id": 13533,
                                        "name": "address",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "5782:7:62",
                                        "stateMutability": "nonpayable",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_address",
                                            "typeString": "address"
                                        }
                                    },
                                    "visibility": "internal"
                                }
                            ],
                            "src": "5772:21:62"
                        },
                        "returnParameters": {
                            "id": 13536,
                            "nodeType": "ParameterList",
                            "parameters": [],
                            "src": "5808:0:62"
                        },
                        "scope": 20920,
                        "src": "5760:125:62",
                        "stateMutability": "view",
                        "virtual": false,
                        "visibility": "internal"
                    },
                    {
                        "body": {
                            "id": 13563,
                            "nodeType": "Block",
                            "src": "5942:76:62",
                            "statements": [
                                {
                                    "expression": {
                                        "arguments": [
                                            {
                                                "arguments": [
                                                    {
                                                        "hexValue": "6c6f6728737472696e672c75696e7429",
                                                        "id": 13557,
                                                        "isConstant": false,
                                                        "isLValue": false,
                                                        "isPure": true,
                                                        "kind": "string",
                                                        "lValueRequested": false,
                                                        "nodeType": "Literal",
                                                        "src": "5986:18:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_stringliteral_9710a9d00d210736b1ce918b483e56000e2885769da8118b2fbf9fe33949d3bd",
                                                            "typeString": "literal_string \"log(string,uint)\""
                                                        },
                                                        "value": "log(string,uint)"
                                                    },
                                                    {
                                                        "id": 13558,
                                                        "name": "p0",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 13549,
                                                        "src": "6006:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_string_memory_ptr",
                                                            "typeString": "string memory"
                                                        }
                                                    },
                                                    {
                                                        "id": 13559,
                                                        "name": "p1",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 13551,
                                                        "src": "6010:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_uint256",
                                                            "typeString": "uint256"
                                                        }
                                                    }
                                                ],
                                                "expression": {
                                                    "argumentTypes": [
                                                        {
                                                            "typeIdentifier": "t_stringliteral_9710a9d00d210736b1ce918b483e56000e2885769da8118b2fbf9fe33949d3bd",
                                                            "typeString": "literal_string \"log(string,uint)\""
                                                        },
                                                        {
                                                            "typeIdentifier": "t_string_memory_ptr",
                                                            "typeString": "string memory"
                                                        },
                                                        {
                                                            "typeIdentifier": "t_uint256",
                                                            "typeString": "uint256"
                                                        }
                                                    ],
                                                    "expression": {
                                                        "id": 13555,
                                                        "name": "abi",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 4294967295,
                                                        "src": "5962:3:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_magic_abi",
                                                            "typeString": "abi"
                                                        }
                                                    },
                                                    "id": 13556,
                                                    "isConstant": false,
                                                    "isLValue": false,
                                                    "isPure": true,
                                                    "lValueRequested": false,
                                                    "memberName": "encodeWithSignature",
                                                    "nodeType": "MemberAccess",
                                                    "src": "5962:23:62",
                                                    "typeDescriptions": {
                                                        "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$",
                                                        "typeString": "function (string memory) pure returns (bytes memory)"
                                                    }
                                                },
                                                "id": 13560,
                                                "isConstant": false,
                                                "isLValue": false,
                                                "isPure": false,
                                                "kind": "functionCall",
                                                "lValueRequested": false,
                                                "names": [],
                                                "nodeType": "FunctionCall",
                                                "src": "5962:51:62",
                                                "tryCall": false,
                                                "typeDescriptions": {
                                                    "typeIdentifier": "t_bytes_memory_ptr",
                                                    "typeString": "bytes memory"
                                                }
                                            }
                                        ],
                                        "expression": {
                                            "argumentTypes": [
                                                {
                                                    "typeIdentifier": "t_bytes_memory_ptr",
                                                    "typeString": "bytes memory"
                                                }
                                            ],
                                            "id": 13554,
                                            "name": "_sendLogPayload",
                                            "nodeType": "Identifier",
                                            "overloadedDeclarations": [],
                                            "referencedDeclaration": 12880,
                                            "src": "5946:15:62",
                                            "typeDescriptions": {
                                                "typeIdentifier": "t_function_internal_view$_t_bytes_memory_ptr_$returns$__$",
                                                "typeString": "function (bytes memory) view"
                                            }
                                        },
                                        "id": 13561,
                                        "isConstant": false,
                                        "isLValue": false,
                                        "isPure": false,
                                        "kind": "functionCall",
                                        "lValueRequested": false,
                                        "names": [],
                                        "nodeType": "FunctionCall",
                                        "src": "5946:68:62",
                                        "tryCall": false,
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_tuple$__$",
                                            "typeString": "tuple()"
                                        }
                                    },
                                    "id": 13562,
                                    "nodeType": "ExpressionStatement",
                                    "src": "5946:68:62"
                                }
                            ]
                        },
                        "id": 13564,
                        "implemented": true,
                        "kind": "function",
                        "modifiers": [],
                        "name": "log",
                        "nameLocation": "5897:3:62",
                        "nodeType": "FunctionDefinition",
                        "parameters": {
                            "id": 13552,
                            "nodeType": "ParameterList",
                            "parameters": [
                                {
                                    "constant": false,
                                    "id": 13549,
                                    "mutability": "mutable",
                                    "name": "p0",
                                    "nameLocation": "5915:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 13564,
                                    "src": "5901:16:62",
                                    "stateVariable": false,
                                    "storageLocation": "memory",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_string_memory_ptr",
                                        "typeString": "string"
                                    },
                                    "typeName": {
                                        "id": 13548,
                                        "name": "string",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "5901:6:62",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_string_storage_ptr",
                                            "typeString": "string"
                                        }
                                    },
                                    "visibility": "internal"
                                },
                                {
                                    "constant": false,
                                    "id": 13551,
                                    "mutability": "mutable",
                                    "name": "p1",
                                    "nameLocation": "5924:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 13564,
                                    "src": "5919:7:62",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_uint256",
                                        "typeString": "uint256"
                                    },
                                    "typeName": {
                                        "id": 13550,
                                        "name": "uint",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "5919:4:62",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_uint256",
                                            "typeString": "uint256"
                                        }
                                    },
                                    "visibility": "internal"
                                }
                            ],
                            "src": "5900:27:62"
                        },
                        "returnParameters": {
                            "id": 13553,
                            "nodeType": "ParameterList",
                            "parameters": [],
                            "src": "5942:0:62"
                        },
                        "scope": 20920,
                        "src": "5888:130:62",
                        "stateMutability": "view",
                        "virtual": false,
                        "visibility": "internal"
                    },
                    {
                        "body": {
                            "id": 13580,
                            "nodeType": "Block",
                            "src": "6084:78:62",
                            "statements": [
                                {
                                    "expression": {
                                        "arguments": [
                                            {
                                                "arguments": [
                                                    {
                                                        "hexValue": "6c6f6728737472696e672c737472696e6729",
                                                        "id": 13574,
                                                        "isConstant": false,
                                                        "isLValue": false,
                                                        "isPure": true,
                                                        "kind": "string",
                                                        "lValueRequested": false,
                                                        "nodeType": "Literal",
                                                        "src": "6128:20:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_stringliteral_4b5c4277d556d03fbf5ee534fba41dc13982b44f2fa82f1d48fdd8b5b5b692ac",
                                                            "typeString": "literal_string \"log(string,string)\""
                                                        },
                                                        "value": "log(string,string)"
                                                    },
                                                    {
                                                        "id": 13575,
                                                        "name": "p0",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 13566,
                                                        "src": "6150:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_string_memory_ptr",
                                                            "typeString": "string memory"
                                                        }
                                                    },
                                                    {
                                                        "id": 13576,
                                                        "name": "p1",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 13568,
                                                        "src": "6154:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_string_memory_ptr",
                                                            "typeString": "string memory"
                                                        }
                                                    }
                                                ],
                                                "expression": {
                                                    "argumentTypes": [
                                                        {
                                                            "typeIdentifier": "t_stringliteral_4b5c4277d556d03fbf5ee534fba41dc13982b44f2fa82f1d48fdd8b5b5b692ac",
                                                            "typeString": "literal_string \"log(string,string)\""
                                                        },
                                                        {
                                                            "typeIdentifier": "t_string_memory_ptr",
                                                            "typeString": "string memory"
                                                        },
                                                        {
                                                            "typeIdentifier": "t_string_memory_ptr",
                                                            "typeString": "string memory"
                                                        }
                                                    ],
                                                    "expression": {
                                                        "id": 13572,
                                                        "name": "abi",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 4294967295,
                                                        "src": "6104:3:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_magic_abi",
                                                            "typeString": "abi"
                                                        }
                                                    },
                                                    "id": 13573,
                                                    "isConstant": false,
                                                    "isLValue": false,
                                                    "isPure": true,
                                                    "lValueRequested": false,
                                                    "memberName": "encodeWithSignature",
                                                    "nodeType": "MemberAccess",
                                                    "src": "6104:23:62",
                                                    "typeDescriptions": {
                                                        "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$",
                                                        "typeString": "function (string memory) pure returns (bytes memory)"
                                                    }
                                                },
                                                "id": 13577,
                                                "isConstant": false,
                                                "isLValue": false,
                                                "isPure": false,
                                                "kind": "functionCall",
                                                "lValueRequested": false,
                                                "names": [],
                                                "nodeType": "FunctionCall",
                                                "src": "6104:53:62",
                                                "tryCall": false,
                                                "typeDescriptions": {
                                                    "typeIdentifier": "t_bytes_memory_ptr",
                                                    "typeString": "bytes memory"
                                                }
                                            }
                                        ],
                                        "expression": {
                                            "argumentTypes": [
                                                {
                                                    "typeIdentifier": "t_bytes_memory_ptr",
                                                    "typeString": "bytes memory"
                                                }
                                            ],
                                            "id": 13571,
                                            "name": "_sendLogPayload",
                                            "nodeType": "Identifier",
                                            "overloadedDeclarations": [],
                                            "referencedDeclaration": 12880,
                                            "src": "6088:15:62",
                                            "typeDescriptions": {
                                                "typeIdentifier": "t_function_internal_view$_t_bytes_memory_ptr_$returns$__$",
                                                "typeString": "function (bytes memory) view"
                                            }
                                        },
                                        "id": 13578,
                                        "isConstant": false,
                                        "isLValue": false,
                                        "isPure": false,
                                        "kind": "functionCall",
                                        "lValueRequested": false,
                                        "names": [],
                                        "nodeType": "FunctionCall",
                                        "src": "6088:70:62",
                                        "tryCall": false,
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_tuple$__$",
                                            "typeString": "tuple()"
                                        }
                                    },
                                    "id": 13579,
                                    "nodeType": "ExpressionStatement",
                                    "src": "6088:70:62"
                                }
                            ]
                        },
                        "id": 13581,
                        "implemented": true,
                        "kind": "function",
                        "modifiers": [],
                        "name": "log",
                        "nameLocation": "6030:3:62",
                        "nodeType": "FunctionDefinition",
                        "parameters": {
                            "id": 13569,
                            "nodeType": "ParameterList",
                            "parameters": [
                                {
                                    "constant": false,
                                    "id": 13566,
                                    "mutability": "mutable",
                                    "name": "p0",
                                    "nameLocation": "6048:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 13581,
                                    "src": "6034:16:62",
                                    "stateVariable": false,
                                    "storageLocation": "memory",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_string_memory_ptr",
                                        "typeString": "string"
                                    },
                                    "typeName": {
                                        "id": 13565,
                                        "name": "string",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "6034:6:62",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_string_storage_ptr",
                                            "typeString": "string"
                                        }
                                    },
                                    "visibility": "internal"
                                },
                                {
                                    "constant": false,
                                    "id": 13568,
                                    "mutability": "mutable",
                                    "name": "p1",
                                    "nameLocation": "6066:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 13581,
                                    "src": "6052:16:62",
                                    "stateVariable": false,
                                    "storageLocation": "memory",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_string_memory_ptr",
                                        "typeString": "string"
                                    },
                                    "typeName": {
                                        "id": 13567,
                                        "name": "string",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "6052:6:62",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_string_storage_ptr",
                                            "typeString": "string"
                                        }
                                    },
                                    "visibility": "internal"
                                }
                            ],
                            "src": "6033:36:62"
                        },
                        "returnParameters": {
                            "id": 13570,
                            "nodeType": "ParameterList",
                            "parameters": [],
                            "src": "6084:0:62"
                        },
                        "scope": 20920,
                        "src": "6021:141:62",
                        "stateMutability": "view",
                        "virtual": false,
                        "visibility": "internal"
                    },
                    {
                        "body": {
                            "id": 13597,
                            "nodeType": "Block",
                            "src": "6219:76:62",
                            "statements": [
                                {
                                    "expression": {
                                        "arguments": [
                                            {
                                                "arguments": [
                                                    {
                                                        "hexValue": "6c6f6728737472696e672c626f6f6c29",
                                                        "id": 13591,
                                                        "isConstant": false,
                                                        "isLValue": false,
                                                        "isPure": true,
                                                        "kind": "string",
                                                        "lValueRequested": false,
                                                        "nodeType": "Literal",
                                                        "src": "6263:18:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_stringliteral_c3b556354c088fbb43886eb83c2a04bc7089663f964d22be308197a236f5b870",
                                                            "typeString": "literal_string \"log(string,bool)\""
                                                        },
                                                        "value": "log(string,bool)"
                                                    },
                                                    {
                                                        "id": 13592,
                                                        "name": "p0",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 13583,
                                                        "src": "6283:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_string_memory_ptr",
                                                            "typeString": "string memory"
                                                        }
                                                    },
                                                    {
                                                        "id": 13593,
                                                        "name": "p1",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 13585,
                                                        "src": "6287:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_bool",
                                                            "typeString": "bool"
                                                        }
                                                    }
                                                ],
                                                "expression": {
                                                    "argumentTypes": [
                                                        {
                                                            "typeIdentifier": "t_stringliteral_c3b556354c088fbb43886eb83c2a04bc7089663f964d22be308197a236f5b870",
                                                            "typeString": "literal_string \"log(string,bool)\""
                                                        },
                                                        {
                                                            "typeIdentifier": "t_string_memory_ptr",
                                                            "typeString": "string memory"
                                                        },
                                                        {
                                                            "typeIdentifier": "t_bool",
                                                            "typeString": "bool"
                                                        }
                                                    ],
                                                    "expression": {
                                                        "id": 13589,
                                                        "name": "abi",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 4294967295,
                                                        "src": "6239:3:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_magic_abi",
                                                            "typeString": "abi"
                                                        }
                                                    },
                                                    "id": 13590,
                                                    "isConstant": false,
                                                    "isLValue": false,
                                                    "isPure": true,
                                                    "lValueRequested": false,
                                                    "memberName": "encodeWithSignature",
                                                    "nodeType": "MemberAccess",
                                                    "src": "6239:23:62",
                                                    "typeDescriptions": {
                                                        "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$",
                                                        "typeString": "function (string memory) pure returns (bytes memory)"
                                                    }
                                                },
                                                "id": 13594,
                                                "isConstant": false,
                                                "isLValue": false,
                                                "isPure": false,
                                                "kind": "functionCall",
                                                "lValueRequested": false,
                                                "names": [],
                                                "nodeType": "FunctionCall",
                                                "src": "6239:51:62",
                                                "tryCall": false,
                                                "typeDescriptions": {
                                                    "typeIdentifier": "t_bytes_memory_ptr",
                                                    "typeString": "bytes memory"
                                                }
                                            }
                                        ],
                                        "expression": {
                                            "argumentTypes": [
                                                {
                                                    "typeIdentifier": "t_bytes_memory_ptr",
                                                    "typeString": "bytes memory"
                                                }
                                            ],
                                            "id": 13588,
                                            "name": "_sendLogPayload",
                                            "nodeType": "Identifier",
                                            "overloadedDeclarations": [],
                                            "referencedDeclaration": 12880,
                                            "src": "6223:15:62",
                                            "typeDescriptions": {
                                                "typeIdentifier": "t_function_internal_view$_t_bytes_memory_ptr_$returns$__$",
                                                "typeString": "function (bytes memory) view"
                                            }
                                        },
                                        "id": 13595,
                                        "isConstant": false,
                                        "isLValue": false,
                                        "isPure": false,
                                        "kind": "functionCall",
                                        "lValueRequested": false,
                                        "names": [],
                                        "nodeType": "FunctionCall",
                                        "src": "6223:68:62",
                                        "tryCall": false,
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_tuple$__$",
                                            "typeString": "tuple()"
                                        }
                                    },
                                    "id": 13596,
                                    "nodeType": "ExpressionStatement",
                                    "src": "6223:68:62"
                                }
                            ]
                        },
                        "id": 13598,
                        "implemented": true,
                        "kind": "function",
                        "modifiers": [],
                        "name": "log",
                        "nameLocation": "6174:3:62",
                        "nodeType": "FunctionDefinition",
                        "parameters": {
                            "id": 13586,
                            "nodeType": "ParameterList",
                            "parameters": [
                                {
                                    "constant": false,
                                    "id": 13583,
                                    "mutability": "mutable",
                                    "name": "p0",
                                    "nameLocation": "6192:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 13598,
                                    "src": "6178:16:62",
                                    "stateVariable": false,
                                    "storageLocation": "memory",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_string_memory_ptr",
                                        "typeString": "string"
                                    },
                                    "typeName": {
                                        "id": 13582,
                                        "name": "string",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "6178:6:62",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_string_storage_ptr",
                                            "typeString": "string"
                                        }
                                    },
                                    "visibility": "internal"
                                },
                                {
                                    "constant": false,
                                    "id": 13585,
                                    "mutability": "mutable",
                                    "name": "p1",
                                    "nameLocation": "6201:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 13598,
                                    "src": "6196:7:62",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_bool",
                                        "typeString": "bool"
                                    },
                                    "typeName": {
                                        "id": 13584,
                                        "name": "bool",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "6196:4:62",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_bool",
                                            "typeString": "bool"
                                        }
                                    },
                                    "visibility": "internal"
                                }
                            ],
                            "src": "6177:27:62"
                        },
                        "returnParameters": {
                            "id": 13587,
                            "nodeType": "ParameterList",
                            "parameters": [],
                            "src": "6219:0:62"
                        },
                        "scope": 20920,
                        "src": "6165:130:62",
                        "stateMutability": "view",
                        "virtual": false,
                        "visibility": "internal"
                    },
                    {
                        "body": {
                            "id": 13614,
                            "nodeType": "Block",
                            "src": "6355:79:62",
                            "statements": [
                                {
                                    "expression": {
                                        "arguments": [
                                            {
                                                "arguments": [
                                                    {
                                                        "hexValue": "6c6f6728737472696e672c6164647265737329",
                                                        "id": 13608,
                                                        "isConstant": false,
                                                        "isLValue": false,
                                                        "isPure": true,
                                                        "kind": "string",
                                                        "lValueRequested": false,
                                                        "nodeType": "Literal",
                                                        "src": "6399:21:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_stringliteral_319af333460570a1937bf195dd33445c0d0951c59127da6f1f038b9fdce3fd72",
                                                            "typeString": "literal_string \"log(string,address)\""
                                                        },
                                                        "value": "log(string,address)"
                                                    },
                                                    {
                                                        "id": 13609,
                                                        "name": "p0",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 13600,
                                                        "src": "6422:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_string_memory_ptr",
                                                            "typeString": "string memory"
                                                        }
                                                    },
                                                    {
                                                        "id": 13610,
                                                        "name": "p1",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 13602,
                                                        "src": "6426:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_address",
                                                            "typeString": "address"
                                                        }
                                                    }
                                                ],
                                                "expression": {
                                                    "argumentTypes": [
                                                        {
                                                            "typeIdentifier": "t_stringliteral_319af333460570a1937bf195dd33445c0d0951c59127da6f1f038b9fdce3fd72",
                                                            "typeString": "literal_string \"log(string,address)\""
                                                        },
                                                        {
                                                            "typeIdentifier": "t_string_memory_ptr",
                                                            "typeString": "string memory"
                                                        },
                                                        {
                                                            "typeIdentifier": "t_address",
                                                            "typeString": "address"
                                                        }
                                                    ],
                                                    "expression": {
                                                        "id": 13606,
                                                        "name": "abi",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 4294967295,
                                                        "src": "6375:3:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_magic_abi",
                                                            "typeString": "abi"
                                                        }
                                                    },
                                                    "id": 13607,
                                                    "isConstant": false,
                                                    "isLValue": false,
                                                    "isPure": true,
                                                    "lValueRequested": false,
                                                    "memberName": "encodeWithSignature",
                                                    "nodeType": "MemberAccess",
                                                    "src": "6375:23:62",
                                                    "typeDescriptions": {
                                                        "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$",
                                                        "typeString": "function (string memory) pure returns (bytes memory)"
                                                    }
                                                },
                                                "id": 13611,
                                                "isConstant": false,
                                                "isLValue": false,
                                                "isPure": false,
                                                "kind": "functionCall",
                                                "lValueRequested": false,
                                                "names": [],
                                                "nodeType": "FunctionCall",
                                                "src": "6375:54:62",
                                                "tryCall": false,
                                                "typeDescriptions": {
                                                    "typeIdentifier": "t_bytes_memory_ptr",
                                                    "typeString": "bytes memory"
                                                }
                                            }
                                        ],
                                        "expression": {
                                            "argumentTypes": [
                                                {
                                                    "typeIdentifier": "t_bytes_memory_ptr",
                                                    "typeString": "bytes memory"
                                                }
                                            ],
                                            "id": 13605,
                                            "name": "_sendLogPayload",
                                            "nodeType": "Identifier",
                                            "overloadedDeclarations": [],
                                            "referencedDeclaration": 12880,
                                            "src": "6359:15:62",
                                            "typeDescriptions": {
                                                "typeIdentifier": "t_function_internal_view$_t_bytes_memory_ptr_$returns$__$",
                                                "typeString": "function (bytes memory) view"
                                            }
                                        },
                                        "id": 13612,
                                        "isConstant": false,
                                        "isLValue": false,
                                        "isPure": false,
                                        "kind": "functionCall",
                                        "lValueRequested": false,
                                        "names": [],
                                        "nodeType": "FunctionCall",
                                        "src": "6359:71:62",
                                        "tryCall": false,
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_tuple$__$",
                                            "typeString": "tuple()"
                                        }
                                    },
                                    "id": 13613,
                                    "nodeType": "ExpressionStatement",
                                    "src": "6359:71:62"
                                }
                            ]
                        },
                        "id": 13615,
                        "implemented": true,
                        "kind": "function",
                        "modifiers": [],
                        "name": "log",
                        "nameLocation": "6307:3:62",
                        "nodeType": "FunctionDefinition",
                        "parameters": {
                            "id": 13603,
                            "nodeType": "ParameterList",
                            "parameters": [
                                {
                                    "constant": false,
                                    "id": 13600,
                                    "mutability": "mutable",
                                    "name": "p0",
                                    "nameLocation": "6325:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 13615,
                                    "src": "6311:16:62",
                                    "stateVariable": false,
                                    "storageLocation": "memory",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_string_memory_ptr",
                                        "typeString": "string"
                                    },
                                    "typeName": {
                                        "id": 13599,
                                        "name": "string",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "6311:6:62",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_string_storage_ptr",
                                            "typeString": "string"
                                        }
                                    },
                                    "visibility": "internal"
                                },
                                {
                                    "constant": false,
                                    "id": 13602,
                                    "mutability": "mutable",
                                    "name": "p1",
                                    "nameLocation": "6337:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 13615,
                                    "src": "6329:10:62",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_address",
                                        "typeString": "address"
                                    },
                                    "typeName": {
                                        "id": 13601,
                                        "name": "address",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "6329:7:62",
                                        "stateMutability": "nonpayable",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_address",
                                            "typeString": "address"
                                        }
                                    },
                                    "visibility": "internal"
                                }
                            ],
                            "src": "6310:30:62"
                        },
                        "returnParameters": {
                            "id": 13604,
                            "nodeType": "ParameterList",
                            "parameters": [],
                            "src": "6355:0:62"
                        },
                        "scope": 20920,
                        "src": "6298:136:62",
                        "stateMutability": "view",
                        "virtual": false,
                        "visibility": "internal"
                    },
                    {
                        "body": {
                            "id": 13631,
                            "nodeType": "Block",
                            "src": "6482:74:62",
                            "statements": [
                                {
                                    "expression": {
                                        "arguments": [
                                            {
                                                "arguments": [
                                                    {
                                                        "hexValue": "6c6f6728626f6f6c2c75696e7429",
                                                        "id": 13625,
                                                        "isConstant": false,
                                                        "isLValue": false,
                                                        "isPure": true,
                                                        "kind": "string",
                                                        "lValueRequested": false,
                                                        "nodeType": "Literal",
                                                        "src": "6526:16:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_stringliteral_364b6a921e139cbe48176ce2b1f6700c7e568330bc5da26f60350cc33cf2a299",
                                                            "typeString": "literal_string \"log(bool,uint)\""
                                                        },
                                                        "value": "log(bool,uint)"
                                                    },
                                                    {
                                                        "id": 13626,
                                                        "name": "p0",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 13617,
                                                        "src": "6544:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_bool",
                                                            "typeString": "bool"
                                                        }
                                                    },
                                                    {
                                                        "id": 13627,
                                                        "name": "p1",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 13619,
                                                        "src": "6548:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_uint256",
                                                            "typeString": "uint256"
                                                        }
                                                    }
                                                ],
                                                "expression": {
                                                    "argumentTypes": [
                                                        {
                                                            "typeIdentifier": "t_stringliteral_364b6a921e139cbe48176ce2b1f6700c7e568330bc5da26f60350cc33cf2a299",
                                                            "typeString": "literal_string \"log(bool,uint)\""
                                                        },
                                                        {
                                                            "typeIdentifier": "t_bool",
                                                            "typeString": "bool"
                                                        },
                                                        {
                                                            "typeIdentifier": "t_uint256",
                                                            "typeString": "uint256"
                                                        }
                                                    ],
                                                    "expression": {
                                                        "id": 13623,
                                                        "name": "abi",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 4294967295,
                                                        "src": "6502:3:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_magic_abi",
                                                            "typeString": "abi"
                                                        }
                                                    },
                                                    "id": 13624,
                                                    "isConstant": false,
                                                    "isLValue": false,
                                                    "isPure": true,
                                                    "lValueRequested": false,
                                                    "memberName": "encodeWithSignature",
                                                    "nodeType": "MemberAccess",
                                                    "src": "6502:23:62",
                                                    "typeDescriptions": {
                                                        "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$",
                                                        "typeString": "function (string memory) pure returns (bytes memory)"
                                                    }
                                                },
                                                "id": 13628,
                                                "isConstant": false,
                                                "isLValue": false,
                                                "isPure": false,
                                                "kind": "functionCall",
                                                "lValueRequested": false,
                                                "names": [],
                                                "nodeType": "FunctionCall",
                                                "src": "6502:49:62",
                                                "tryCall": false,
                                                "typeDescriptions": {
                                                    "typeIdentifier": "t_bytes_memory_ptr",
                                                    "typeString": "bytes memory"
                                                }
                                            }
                                        ],
                                        "expression": {
                                            "argumentTypes": [
                                                {
                                                    "typeIdentifier": "t_bytes_memory_ptr",
                                                    "typeString": "bytes memory"
                                                }
                                            ],
                                            "id": 13622,
                                            "name": "_sendLogPayload",
                                            "nodeType": "Identifier",
                                            "overloadedDeclarations": [],
                                            "referencedDeclaration": 12880,
                                            "src": "6486:15:62",
                                            "typeDescriptions": {
                                                "typeIdentifier": "t_function_internal_view$_t_bytes_memory_ptr_$returns$__$",
                                                "typeString": "function (bytes memory) view"
                                            }
                                        },
                                        "id": 13629,
                                        "isConstant": false,
                                        "isLValue": false,
                                        "isPure": false,
                                        "kind": "functionCall",
                                        "lValueRequested": false,
                                        "names": [],
                                        "nodeType": "FunctionCall",
                                        "src": "6486:66:62",
                                        "tryCall": false,
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_tuple$__$",
                                            "typeString": "tuple()"
                                        }
                                    },
                                    "id": 13630,
                                    "nodeType": "ExpressionStatement",
                                    "src": "6486:66:62"
                                }
                            ]
                        },
                        "id": 13632,
                        "implemented": true,
                        "kind": "function",
                        "modifiers": [],
                        "name": "log",
                        "nameLocation": "6446:3:62",
                        "nodeType": "FunctionDefinition",
                        "parameters": {
                            "id": 13620,
                            "nodeType": "ParameterList",
                            "parameters": [
                                {
                                    "constant": false,
                                    "id": 13617,
                                    "mutability": "mutable",
                                    "name": "p0",
                                    "nameLocation": "6455:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 13632,
                                    "src": "6450:7:62",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_bool",
                                        "typeString": "bool"
                                    },
                                    "typeName": {
                                        "id": 13616,
                                        "name": "bool",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "6450:4:62",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_bool",
                                            "typeString": "bool"
                                        }
                                    },
                                    "visibility": "internal"
                                },
                                {
                                    "constant": false,
                                    "id": 13619,
                                    "mutability": "mutable",
                                    "name": "p1",
                                    "nameLocation": "6464:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 13632,
                                    "src": "6459:7:62",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_uint256",
                                        "typeString": "uint256"
                                    },
                                    "typeName": {
                                        "id": 13618,
                                        "name": "uint",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "6459:4:62",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_uint256",
                                            "typeString": "uint256"
                                        }
                                    },
                                    "visibility": "internal"
                                }
                            ],
                            "src": "6449:18:62"
                        },
                        "returnParameters": {
                            "id": 13621,
                            "nodeType": "ParameterList",
                            "parameters": [],
                            "src": "6482:0:62"
                        },
                        "scope": 20920,
                        "src": "6437:119:62",
                        "stateMutability": "view",
                        "virtual": false,
                        "visibility": "internal"
                    },
                    {
                        "body": {
                            "id": 13648,
                            "nodeType": "Block",
                            "src": "6613:76:62",
                            "statements": [
                                {
                                    "expression": {
                                        "arguments": [
                                            {
                                                "arguments": [
                                                    {
                                                        "hexValue": "6c6f6728626f6f6c2c737472696e6729",
                                                        "id": 13642,
                                                        "isConstant": false,
                                                        "isLValue": false,
                                                        "isPure": true,
                                                        "kind": "string",
                                                        "lValueRequested": false,
                                                        "nodeType": "Literal",
                                                        "src": "6657:18:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_stringliteral_8feac5256a5b88d7ca0173065b796567ecbc9d75ec022fa0f044eb427f962b84",
                                                            "typeString": "literal_string \"log(bool,string)\""
                                                        },
                                                        "value": "log(bool,string)"
                                                    },
                                                    {
                                                        "id": 13643,
                                                        "name": "p0",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 13634,
                                                        "src": "6677:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_bool",
                                                            "typeString": "bool"
                                                        }
                                                    },
                                                    {
                                                        "id": 13644,
                                                        "name": "p1",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 13636,
                                                        "src": "6681:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_string_memory_ptr",
                                                            "typeString": "string memory"
                                                        }
                                                    }
                                                ],
                                                "expression": {
                                                    "argumentTypes": [
                                                        {
                                                            "typeIdentifier": "t_stringliteral_8feac5256a5b88d7ca0173065b796567ecbc9d75ec022fa0f044eb427f962b84",
                                                            "typeString": "literal_string \"log(bool,string)\""
                                                        },
                                                        {
                                                            "typeIdentifier": "t_bool",
                                                            "typeString": "bool"
                                                        },
                                                        {
                                                            "typeIdentifier": "t_string_memory_ptr",
                                                            "typeString": "string memory"
                                                        }
                                                    ],
                                                    "expression": {
                                                        "id": 13640,
                                                        "name": "abi",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 4294967295,
                                                        "src": "6633:3:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_magic_abi",
                                                            "typeString": "abi"
                                                        }
                                                    },
                                                    "id": 13641,
                                                    "isConstant": false,
                                                    "isLValue": false,
                                                    "isPure": true,
                                                    "lValueRequested": false,
                                                    "memberName": "encodeWithSignature",
                                                    "nodeType": "MemberAccess",
                                                    "src": "6633:23:62",
                                                    "typeDescriptions": {
                                                        "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$",
                                                        "typeString": "function (string memory) pure returns (bytes memory)"
                                                    }
                                                },
                                                "id": 13645,
                                                "isConstant": false,
                                                "isLValue": false,
                                                "isPure": false,
                                                "kind": "functionCall",
                                                "lValueRequested": false,
                                                "names": [],
                                                "nodeType": "FunctionCall",
                                                "src": "6633:51:62",
                                                "tryCall": false,
                                                "typeDescriptions": {
                                                    "typeIdentifier": "t_bytes_memory_ptr",
                                                    "typeString": "bytes memory"
                                                }
                                            }
                                        ],
                                        "expression": {
                                            "argumentTypes": [
                                                {
                                                    "typeIdentifier": "t_bytes_memory_ptr",
                                                    "typeString": "bytes memory"
                                                }
                                            ],
                                            "id": 13639,
                                            "name": "_sendLogPayload",
                                            "nodeType": "Identifier",
                                            "overloadedDeclarations": [],
                                            "referencedDeclaration": 12880,
                                            "src": "6617:15:62",
                                            "typeDescriptions": {
                                                "typeIdentifier": "t_function_internal_view$_t_bytes_memory_ptr_$returns$__$",
                                                "typeString": "function (bytes memory) view"
                                            }
                                        },
                                        "id": 13646,
                                        "isConstant": false,
                                        "isLValue": false,
                                        "isPure": false,
                                        "kind": "functionCall",
                                        "lValueRequested": false,
                                        "names": [],
                                        "nodeType": "FunctionCall",
                                        "src": "6617:68:62",
                                        "tryCall": false,
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_tuple$__$",
                                            "typeString": "tuple()"
                                        }
                                    },
                                    "id": 13647,
                                    "nodeType": "ExpressionStatement",
                                    "src": "6617:68:62"
                                }
                            ]
                        },
                        "id": 13649,
                        "implemented": true,
                        "kind": "function",
                        "modifiers": [],
                        "name": "log",
                        "nameLocation": "6568:3:62",
                        "nodeType": "FunctionDefinition",
                        "parameters": {
                            "id": 13637,
                            "nodeType": "ParameterList",
                            "parameters": [
                                {
                                    "constant": false,
                                    "id": 13634,
                                    "mutability": "mutable",
                                    "name": "p0",
                                    "nameLocation": "6577:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 13649,
                                    "src": "6572:7:62",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_bool",
                                        "typeString": "bool"
                                    },
                                    "typeName": {
                                        "id": 13633,
                                        "name": "bool",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "6572:4:62",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_bool",
                                            "typeString": "bool"
                                        }
                                    },
                                    "visibility": "internal"
                                },
                                {
                                    "constant": false,
                                    "id": 13636,
                                    "mutability": "mutable",
                                    "name": "p1",
                                    "nameLocation": "6595:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 13649,
                                    "src": "6581:16:62",
                                    "stateVariable": false,
                                    "storageLocation": "memory",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_string_memory_ptr",
                                        "typeString": "string"
                                    },
                                    "typeName": {
                                        "id": 13635,
                                        "name": "string",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "6581:6:62",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_string_storage_ptr",
                                            "typeString": "string"
                                        }
                                    },
                                    "visibility": "internal"
                                }
                            ],
                            "src": "6571:27:62"
                        },
                        "returnParameters": {
                            "id": 13638,
                            "nodeType": "ParameterList",
                            "parameters": [],
                            "src": "6613:0:62"
                        },
                        "scope": 20920,
                        "src": "6559:130:62",
                        "stateMutability": "view",
                        "virtual": false,
                        "visibility": "internal"
                    },
                    {
                        "body": {
                            "id": 13665,
                            "nodeType": "Block",
                            "src": "6737:74:62",
                            "statements": [
                                {
                                    "expression": {
                                        "arguments": [
                                            {
                                                "arguments": [
                                                    {
                                                        "hexValue": "6c6f6728626f6f6c2c626f6f6c29",
                                                        "id": 13659,
                                                        "isConstant": false,
                                                        "isLValue": false,
                                                        "isPure": true,
                                                        "kind": "string",
                                                        "lValueRequested": false,
                                                        "nodeType": "Literal",
                                                        "src": "6781:16:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_stringliteral_2a110e83227fbe26ff7524076f2091da3e9aa01d70b93677da53b41d22f4fb15",
                                                            "typeString": "literal_string \"log(bool,bool)\""
                                                        },
                                                        "value": "log(bool,bool)"
                                                    },
                                                    {
                                                        "id": 13660,
                                                        "name": "p0",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 13651,
                                                        "src": "6799:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_bool",
                                                            "typeString": "bool"
                                                        }
                                                    },
                                                    {
                                                        "id": 13661,
                                                        "name": "p1",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 13653,
                                                        "src": "6803:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_bool",
                                                            "typeString": "bool"
                                                        }
                                                    }
                                                ],
                                                "expression": {
                                                    "argumentTypes": [
                                                        {
                                                            "typeIdentifier": "t_stringliteral_2a110e83227fbe26ff7524076f2091da3e9aa01d70b93677da53b41d22f4fb15",
                                                            "typeString": "literal_string \"log(bool,bool)\""
                                                        },
                                                        {
                                                            "typeIdentifier": "t_bool",
                                                            "typeString": "bool"
                                                        },
                                                        {
                                                            "typeIdentifier": "t_bool",
                                                            "typeString": "bool"
                                                        }
                                                    ],
                                                    "expression": {
                                                        "id": 13657,
                                                        "name": "abi",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 4294967295,
                                                        "src": "6757:3:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_magic_abi",
                                                            "typeString": "abi"
                                                        }
                                                    },
                                                    "id": 13658,
                                                    "isConstant": false,
                                                    "isLValue": false,
                                                    "isPure": true,
                                                    "lValueRequested": false,
                                                    "memberName": "encodeWithSignature",
                                                    "nodeType": "MemberAccess",
                                                    "src": "6757:23:62",
                                                    "typeDescriptions": {
                                                        "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$",
                                                        "typeString": "function (string memory) pure returns (bytes memory)"
                                                    }
                                                },
                                                "id": 13662,
                                                "isConstant": false,
                                                "isLValue": false,
                                                "isPure": false,
                                                "kind": "functionCall",
                                                "lValueRequested": false,
                                                "names": [],
                                                "nodeType": "FunctionCall",
                                                "src": "6757:49:62",
                                                "tryCall": false,
                                                "typeDescriptions": {
                                                    "typeIdentifier": "t_bytes_memory_ptr",
                                                    "typeString": "bytes memory"
                                                }
                                            }
                                        ],
                                        "expression": {
                                            "argumentTypes": [
                                                {
                                                    "typeIdentifier": "t_bytes_memory_ptr",
                                                    "typeString": "bytes memory"
                                                }
                                            ],
                                            "id": 13656,
                                            "name": "_sendLogPayload",
                                            "nodeType": "Identifier",
                                            "overloadedDeclarations": [],
                                            "referencedDeclaration": 12880,
                                            "src": "6741:15:62",
                                            "typeDescriptions": {
                                                "typeIdentifier": "t_function_internal_view$_t_bytes_memory_ptr_$returns$__$",
                                                "typeString": "function (bytes memory) view"
                                            }
                                        },
                                        "id": 13663,
                                        "isConstant": false,
                                        "isLValue": false,
                                        "isPure": false,
                                        "kind": "functionCall",
                                        "lValueRequested": false,
                                        "names": [],
                                        "nodeType": "FunctionCall",
                                        "src": "6741:66:62",
                                        "tryCall": false,
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_tuple$__$",
                                            "typeString": "tuple()"
                                        }
                                    },
                                    "id": 13664,
                                    "nodeType": "ExpressionStatement",
                                    "src": "6741:66:62"
                                }
                            ]
                        },
                        "id": 13666,
                        "implemented": true,
                        "kind": "function",
                        "modifiers": [],
                        "name": "log",
                        "nameLocation": "6701:3:62",
                        "nodeType": "FunctionDefinition",
                        "parameters": {
                            "id": 13654,
                            "nodeType": "ParameterList",
                            "parameters": [
                                {
                                    "constant": false,
                                    "id": 13651,
                                    "mutability": "mutable",
                                    "name": "p0",
                                    "nameLocation": "6710:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 13666,
                                    "src": "6705:7:62",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_bool",
                                        "typeString": "bool"
                                    },
                                    "typeName": {
                                        "id": 13650,
                                        "name": "bool",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "6705:4:62",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_bool",
                                            "typeString": "bool"
                                        }
                                    },
                                    "visibility": "internal"
                                },
                                {
                                    "constant": false,
                                    "id": 13653,
                                    "mutability": "mutable",
                                    "name": "p1",
                                    "nameLocation": "6719:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 13666,
                                    "src": "6714:7:62",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_bool",
                                        "typeString": "bool"
                                    },
                                    "typeName": {
                                        "id": 13652,
                                        "name": "bool",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "6714:4:62",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_bool",
                                            "typeString": "bool"
                                        }
                                    },
                                    "visibility": "internal"
                                }
                            ],
                            "src": "6704:18:62"
                        },
                        "returnParameters": {
                            "id": 13655,
                            "nodeType": "ParameterList",
                            "parameters": [],
                            "src": "6737:0:62"
                        },
                        "scope": 20920,
                        "src": "6692:119:62",
                        "stateMutability": "view",
                        "virtual": false,
                        "visibility": "internal"
                    },
                    {
                        "body": {
                            "id": 13682,
                            "nodeType": "Block",
                            "src": "6862:77:62",
                            "statements": [
                                {
                                    "expression": {
                                        "arguments": [
                                            {
                                                "arguments": [
                                                    {
                                                        "hexValue": "6c6f6728626f6f6c2c6164647265737329",
                                                        "id": 13676,
                                                        "isConstant": false,
                                                        "isLValue": false,
                                                        "isPure": true,
                                                        "kind": "string",
                                                        "lValueRequested": false,
                                                        "nodeType": "Literal",
                                                        "src": "6906:19:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_stringliteral_853c4849443241e2249adafa4f69c8bb738b0f17c7a0a9d9997450cd71db4d55",
                                                            "typeString": "literal_string \"log(bool,address)\""
                                                        },
                                                        "value": "log(bool,address)"
                                                    },
                                                    {
                                                        "id": 13677,
                                                        "name": "p0",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 13668,
                                                        "src": "6927:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_bool",
                                                            "typeString": "bool"
                                                        }
                                                    },
                                                    {
                                                        "id": 13678,
                                                        "name": "p1",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 13670,
                                                        "src": "6931:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_address",
                                                            "typeString": "address"
                                                        }
                                                    }
                                                ],
                                                "expression": {
                                                    "argumentTypes": [
                                                        {
                                                            "typeIdentifier": "t_stringliteral_853c4849443241e2249adafa4f69c8bb738b0f17c7a0a9d9997450cd71db4d55",
                                                            "typeString": "literal_string \"log(bool,address)\""
                                                        },
                                                        {
                                                            "typeIdentifier": "t_bool",
                                                            "typeString": "bool"
                                                        },
                                                        {
                                                            "typeIdentifier": "t_address",
                                                            "typeString": "address"
                                                        }
                                                    ],
                                                    "expression": {
                                                        "id": 13674,
                                                        "name": "abi",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 4294967295,
                                                        "src": "6882:3:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_magic_abi",
                                                            "typeString": "abi"
                                                        }
                                                    },
                                                    "id": 13675,
                                                    "isConstant": false,
                                                    "isLValue": false,
                                                    "isPure": true,
                                                    "lValueRequested": false,
                                                    "memberName": "encodeWithSignature",
                                                    "nodeType": "MemberAccess",
                                                    "src": "6882:23:62",
                                                    "typeDescriptions": {
                                                        "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$",
                                                        "typeString": "function (string memory) pure returns (bytes memory)"
                                                    }
                                                },
                                                "id": 13679,
                                                "isConstant": false,
                                                "isLValue": false,
                                                "isPure": false,
                                                "kind": "functionCall",
                                                "lValueRequested": false,
                                                "names": [],
                                                "nodeType": "FunctionCall",
                                                "src": "6882:52:62",
                                                "tryCall": false,
                                                "typeDescriptions": {
                                                    "typeIdentifier": "t_bytes_memory_ptr",
                                                    "typeString": "bytes memory"
                                                }
                                            }
                                        ],
                                        "expression": {
                                            "argumentTypes": [
                                                {
                                                    "typeIdentifier": "t_bytes_memory_ptr",
                                                    "typeString": "bytes memory"
                                                }
                                            ],
                                            "id": 13673,
                                            "name": "_sendLogPayload",
                                            "nodeType": "Identifier",
                                            "overloadedDeclarations": [],
                                            "referencedDeclaration": 12880,
                                            "src": "6866:15:62",
                                            "typeDescriptions": {
                                                "typeIdentifier": "t_function_internal_view$_t_bytes_memory_ptr_$returns$__$",
                                                "typeString": "function (bytes memory) view"
                                            }
                                        },
                                        "id": 13680,
                                        "isConstant": false,
                                        "isLValue": false,
                                        "isPure": false,
                                        "kind": "functionCall",
                                        "lValueRequested": false,
                                        "names": [],
                                        "nodeType": "FunctionCall",
                                        "src": "6866:69:62",
                                        "tryCall": false,
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_tuple$__$",
                                            "typeString": "tuple()"
                                        }
                                    },
                                    "id": 13681,
                                    "nodeType": "ExpressionStatement",
                                    "src": "6866:69:62"
                                }
                            ]
                        },
                        "id": 13683,
                        "implemented": true,
                        "kind": "function",
                        "modifiers": [],
                        "name": "log",
                        "nameLocation": "6823:3:62",
                        "nodeType": "FunctionDefinition",
                        "parameters": {
                            "id": 13671,
                            "nodeType": "ParameterList",
                            "parameters": [
                                {
                                    "constant": false,
                                    "id": 13668,
                                    "mutability": "mutable",
                                    "name": "p0",
                                    "nameLocation": "6832:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 13683,
                                    "src": "6827:7:62",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_bool",
                                        "typeString": "bool"
                                    },
                                    "typeName": {
                                        "id": 13667,
                                        "name": "bool",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "6827:4:62",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_bool",
                                            "typeString": "bool"
                                        }
                                    },
                                    "visibility": "internal"
                                },
                                {
                                    "constant": false,
                                    "id": 13670,
                                    "mutability": "mutable",
                                    "name": "p1",
                                    "nameLocation": "6844:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 13683,
                                    "src": "6836:10:62",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_address",
                                        "typeString": "address"
                                    },
                                    "typeName": {
                                        "id": 13669,
                                        "name": "address",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "6836:7:62",
                                        "stateMutability": "nonpayable",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_address",
                                            "typeString": "address"
                                        }
                                    },
                                    "visibility": "internal"
                                }
                            ],
                            "src": "6826:21:62"
                        },
                        "returnParameters": {
                            "id": 13672,
                            "nodeType": "ParameterList",
                            "parameters": [],
                            "src": "6862:0:62"
                        },
                        "scope": 20920,
                        "src": "6814:125:62",
                        "stateMutability": "view",
                        "virtual": false,
                        "visibility": "internal"
                    },
                    {
                        "body": {
                            "id": 13699,
                            "nodeType": "Block",
                            "src": "6990:77:62",
                            "statements": [
                                {
                                    "expression": {
                                        "arguments": [
                                            {
                                                "arguments": [
                                                    {
                                                        "hexValue": "6c6f6728616464726573732c75696e7429",
                                                        "id": 13693,
                                                        "isConstant": false,
                                                        "isLValue": false,
                                                        "isPure": true,
                                                        "kind": "string",
                                                        "lValueRequested": false,
                                                        "nodeType": "Literal",
                                                        "src": "7034:19:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_stringliteral_2243cfa3a64f0f85afef83b08ba731ebd8a4b1053fdc66eb414b069452c9f133",
                                                            "typeString": "literal_string \"log(address,uint)\""
                                                        },
                                                        "value": "log(address,uint)"
                                                    },
                                                    {
                                                        "id": 13694,
                                                        "name": "p0",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 13685,
                                                        "src": "7055:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_address",
                                                            "typeString": "address"
                                                        }
                                                    },
                                                    {
                                                        "id": 13695,
                                                        "name": "p1",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 13687,
                                                        "src": "7059:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_uint256",
                                                            "typeString": "uint256"
                                                        }
                                                    }
                                                ],
                                                "expression": {
                                                    "argumentTypes": [
                                                        {
                                                            "typeIdentifier": "t_stringliteral_2243cfa3a64f0f85afef83b08ba731ebd8a4b1053fdc66eb414b069452c9f133",
                                                            "typeString": "literal_string \"log(address,uint)\""
                                                        },
                                                        {
                                                            "typeIdentifier": "t_address",
                                                            "typeString": "address"
                                                        },
                                                        {
                                                            "typeIdentifier": "t_uint256",
                                                            "typeString": "uint256"
                                                        }
                                                    ],
                                                    "expression": {
                                                        "id": 13691,
                                                        "name": "abi",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 4294967295,
                                                        "src": "7010:3:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_magic_abi",
                                                            "typeString": "abi"
                                                        }
                                                    },
                                                    "id": 13692,
                                                    "isConstant": false,
                                                    "isLValue": false,
                                                    "isPure": true,
                                                    "lValueRequested": false,
                                                    "memberName": "encodeWithSignature",
                                                    "nodeType": "MemberAccess",
                                                    "src": "7010:23:62",
                                                    "typeDescriptions": {
                                                        "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$",
                                                        "typeString": "function (string memory) pure returns (bytes memory)"
                                                    }
                                                },
                                                "id": 13696,
                                                "isConstant": false,
                                                "isLValue": false,
                                                "isPure": false,
                                                "kind": "functionCall",
                                                "lValueRequested": false,
                                                "names": [],
                                                "nodeType": "FunctionCall",
                                                "src": "7010:52:62",
                                                "tryCall": false,
                                                "typeDescriptions": {
                                                    "typeIdentifier": "t_bytes_memory_ptr",
                                                    "typeString": "bytes memory"
                                                }
                                            }
                                        ],
                                        "expression": {
                                            "argumentTypes": [
                                                {
                                                    "typeIdentifier": "t_bytes_memory_ptr",
                                                    "typeString": "bytes memory"
                                                }
                                            ],
                                            "id": 13690,
                                            "name": "_sendLogPayload",
                                            "nodeType": "Identifier",
                                            "overloadedDeclarations": [],
                                            "referencedDeclaration": 12880,
                                            "src": "6994:15:62",
                                            "typeDescriptions": {
                                                "typeIdentifier": "t_function_internal_view$_t_bytes_memory_ptr_$returns$__$",
                                                "typeString": "function (bytes memory) view"
                                            }
                                        },
                                        "id": 13697,
                                        "isConstant": false,
                                        "isLValue": false,
                                        "isPure": false,
                                        "kind": "functionCall",
                                        "lValueRequested": false,
                                        "names": [],
                                        "nodeType": "FunctionCall",
                                        "src": "6994:69:62",
                                        "tryCall": false,
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_tuple$__$",
                                            "typeString": "tuple()"
                                        }
                                    },
                                    "id": 13698,
                                    "nodeType": "ExpressionStatement",
                                    "src": "6994:69:62"
                                }
                            ]
                        },
                        "id": 13700,
                        "implemented": true,
                        "kind": "function",
                        "modifiers": [],
                        "name": "log",
                        "nameLocation": "6951:3:62",
                        "nodeType": "FunctionDefinition",
                        "parameters": {
                            "id": 13688,
                            "nodeType": "ParameterList",
                            "parameters": [
                                {
                                    "constant": false,
                                    "id": 13685,
                                    "mutability": "mutable",
                                    "name": "p0",
                                    "nameLocation": "6963:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 13700,
                                    "src": "6955:10:62",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_address",
                                        "typeString": "address"
                                    },
                                    "typeName": {
                                        "id": 13684,
                                        "name": "address",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "6955:7:62",
                                        "stateMutability": "nonpayable",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_address",
                                            "typeString": "address"
                                        }
                                    },
                                    "visibility": "internal"
                                },
                                {
                                    "constant": false,
                                    "id": 13687,
                                    "mutability": "mutable",
                                    "name": "p1",
                                    "nameLocation": "6972:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 13700,
                                    "src": "6967:7:62",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_uint256",
                                        "typeString": "uint256"
                                    },
                                    "typeName": {
                                        "id": 13686,
                                        "name": "uint",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "6967:4:62",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_uint256",
                                            "typeString": "uint256"
                                        }
                                    },
                                    "visibility": "internal"
                                }
                            ],
                            "src": "6954:21:62"
                        },
                        "returnParameters": {
                            "id": 13689,
                            "nodeType": "ParameterList",
                            "parameters": [],
                            "src": "6990:0:62"
                        },
                        "scope": 20920,
                        "src": "6942:125:62",
                        "stateMutability": "view",
                        "virtual": false,
                        "visibility": "internal"
                    },
                    {
                        "body": {
                            "id": 13716,
                            "nodeType": "Block",
                            "src": "7127:79:62",
                            "statements": [
                                {
                                    "expression": {
                                        "arguments": [
                                            {
                                                "arguments": [
                                                    {
                                                        "hexValue": "6c6f6728616464726573732c737472696e6729",
                                                        "id": 13710,
                                                        "isConstant": false,
                                                        "isLValue": false,
                                                        "isPure": true,
                                                        "kind": "string",
                                                        "lValueRequested": false,
                                                        "nodeType": "Literal",
                                                        "src": "7171:21:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_stringliteral_759f86bbdd0758679ecefbd32ea620068b2339dddd9e45ee0fa567ee6c81f0ab",
                                                            "typeString": "literal_string \"log(address,string)\""
                                                        },
                                                        "value": "log(address,string)"
                                                    },
                                                    {
                                                        "id": 13711,
                                                        "name": "p0",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 13702,
                                                        "src": "7194:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_address",
                                                            "typeString": "address"
                                                        }
                                                    },
                                                    {
                                                        "id": 13712,
                                                        "name": "p1",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 13704,
                                                        "src": "7198:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_string_memory_ptr",
                                                            "typeString": "string memory"
                                                        }
                                                    }
                                                ],
                                                "expression": {
                                                    "argumentTypes": [
                                                        {
                                                            "typeIdentifier": "t_stringliteral_759f86bbdd0758679ecefbd32ea620068b2339dddd9e45ee0fa567ee6c81f0ab",
                                                            "typeString": "literal_string \"log(address,string)\""
                                                        },
                                                        {
                                                            "typeIdentifier": "t_address",
                                                            "typeString": "address"
                                                        },
                                                        {
                                                            "typeIdentifier": "t_string_memory_ptr",
                                                            "typeString": "string memory"
                                                        }
                                                    ],
                                                    "expression": {
                                                        "id": 13708,
                                                        "name": "abi",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 4294967295,
                                                        "src": "7147:3:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_magic_abi",
                                                            "typeString": "abi"
                                                        }
                                                    },
                                                    "id": 13709,
                                                    "isConstant": false,
                                                    "isLValue": false,
                                                    "isPure": true,
                                                    "lValueRequested": false,
                                                    "memberName": "encodeWithSignature",
                                                    "nodeType": "MemberAccess",
                                                    "src": "7147:23:62",
                                                    "typeDescriptions": {
                                                        "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$",
                                                        "typeString": "function (string memory) pure returns (bytes memory)"
                                                    }
                                                },
                                                "id": 13713,
                                                "isConstant": false,
                                                "isLValue": false,
                                                "isPure": false,
                                                "kind": "functionCall",
                                                "lValueRequested": false,
                                                "names": [],
                                                "nodeType": "FunctionCall",
                                                "src": "7147:54:62",
                                                "tryCall": false,
                                                "typeDescriptions": {
                                                    "typeIdentifier": "t_bytes_memory_ptr",
                                                    "typeString": "bytes memory"
                                                }
                                            }
                                        ],
                                        "expression": {
                                            "argumentTypes": [
                                                {
                                                    "typeIdentifier": "t_bytes_memory_ptr",
                                                    "typeString": "bytes memory"
                                                }
                                            ],
                                            "id": 13707,
                                            "name": "_sendLogPayload",
                                            "nodeType": "Identifier",
                                            "overloadedDeclarations": [],
                                            "referencedDeclaration": 12880,
                                            "src": "7131:15:62",
                                            "typeDescriptions": {
                                                "typeIdentifier": "t_function_internal_view$_t_bytes_memory_ptr_$returns$__$",
                                                "typeString": "function (bytes memory) view"
                                            }
                                        },
                                        "id": 13714,
                                        "isConstant": false,
                                        "isLValue": false,
                                        "isPure": false,
                                        "kind": "functionCall",
                                        "lValueRequested": false,
                                        "names": [],
                                        "nodeType": "FunctionCall",
                                        "src": "7131:71:62",
                                        "tryCall": false,
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_tuple$__$",
                                            "typeString": "tuple()"
                                        }
                                    },
                                    "id": 13715,
                                    "nodeType": "ExpressionStatement",
                                    "src": "7131:71:62"
                                }
                            ]
                        },
                        "id": 13717,
                        "implemented": true,
                        "kind": "function",
                        "modifiers": [],
                        "name": "log",
                        "nameLocation": "7079:3:62",
                        "nodeType": "FunctionDefinition",
                        "parameters": {
                            "id": 13705,
                            "nodeType": "ParameterList",
                            "parameters": [
                                {
                                    "constant": false,
                                    "id": 13702,
                                    "mutability": "mutable",
                                    "name": "p0",
                                    "nameLocation": "7091:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 13717,
                                    "src": "7083:10:62",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_address",
                                        "typeString": "address"
                                    },
                                    "typeName": {
                                        "id": 13701,
                                        "name": "address",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "7083:7:62",
                                        "stateMutability": "nonpayable",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_address",
                                            "typeString": "address"
                                        }
                                    },
                                    "visibility": "internal"
                                },
                                {
                                    "constant": false,
                                    "id": 13704,
                                    "mutability": "mutable",
                                    "name": "p1",
                                    "nameLocation": "7109:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 13717,
                                    "src": "7095:16:62",
                                    "stateVariable": false,
                                    "storageLocation": "memory",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_string_memory_ptr",
                                        "typeString": "string"
                                    },
                                    "typeName": {
                                        "id": 13703,
                                        "name": "string",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "7095:6:62",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_string_storage_ptr",
                                            "typeString": "string"
                                        }
                                    },
                                    "visibility": "internal"
                                }
                            ],
                            "src": "7082:30:62"
                        },
                        "returnParameters": {
                            "id": 13706,
                            "nodeType": "ParameterList",
                            "parameters": [],
                            "src": "7127:0:62"
                        },
                        "scope": 20920,
                        "src": "7070:136:62",
                        "stateMutability": "view",
                        "virtual": false,
                        "visibility": "internal"
                    },
                    {
                        "body": {
                            "id": 13733,
                            "nodeType": "Block",
                            "src": "7257:77:62",
                            "statements": [
                                {
                                    "expression": {
                                        "arguments": [
                                            {
                                                "arguments": [
                                                    {
                                                        "hexValue": "6c6f6728616464726573732c626f6f6c29",
                                                        "id": 13727,
                                                        "isConstant": false,
                                                        "isLValue": false,
                                                        "isPure": true,
                                                        "kind": "string",
                                                        "lValueRequested": false,
                                                        "nodeType": "Literal",
                                                        "src": "7301:19:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_stringliteral_75b605d31a3bf49c8d814696c7c66216d3a7e81348c450078f032e425592f72b",
                                                            "typeString": "literal_string \"log(address,bool)\""
                                                        },
                                                        "value": "log(address,bool)"
                                                    },
                                                    {
                                                        "id": 13728,
                                                        "name": "p0",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 13719,
                                                        "src": "7322:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_address",
                                                            "typeString": "address"
                                                        }
                                                    },
                                                    {
                                                        "id": 13729,
                                                        "name": "p1",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 13721,
                                                        "src": "7326:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_bool",
                                                            "typeString": "bool"
                                                        }
                                                    }
                                                ],
                                                "expression": {
                                                    "argumentTypes": [
                                                        {
                                                            "typeIdentifier": "t_stringliteral_75b605d31a3bf49c8d814696c7c66216d3a7e81348c450078f032e425592f72b",
                                                            "typeString": "literal_string \"log(address,bool)\""
                                                        },
                                                        {
                                                            "typeIdentifier": "t_address",
                                                            "typeString": "address"
                                                        },
                                                        {
                                                            "typeIdentifier": "t_bool",
                                                            "typeString": "bool"
                                                        }
                                                    ],
                                                    "expression": {
                                                        "id": 13725,
                                                        "name": "abi",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 4294967295,
                                                        "src": "7277:3:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_magic_abi",
                                                            "typeString": "abi"
                                                        }
                                                    },
                                                    "id": 13726,
                                                    "isConstant": false,
                                                    "isLValue": false,
                                                    "isPure": true,
                                                    "lValueRequested": false,
                                                    "memberName": "encodeWithSignature",
                                                    "nodeType": "MemberAccess",
                                                    "src": "7277:23:62",
                                                    "typeDescriptions": {
                                                        "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$",
                                                        "typeString": "function (string memory) pure returns (bytes memory)"
                                                    }
                                                },
                                                "id": 13730,
                                                "isConstant": false,
                                                "isLValue": false,
                                                "isPure": false,
                                                "kind": "functionCall",
                                                "lValueRequested": false,
                                                "names": [],
                                                "nodeType": "FunctionCall",
                                                "src": "7277:52:62",
                                                "tryCall": false,
                                                "typeDescriptions": {
                                                    "typeIdentifier": "t_bytes_memory_ptr",
                                                    "typeString": "bytes memory"
                                                }
                                            }
                                        ],
                                        "expression": {
                                            "argumentTypes": [
                                                {
                                                    "typeIdentifier": "t_bytes_memory_ptr",
                                                    "typeString": "bytes memory"
                                                }
                                            ],
                                            "id": 13724,
                                            "name": "_sendLogPayload",
                                            "nodeType": "Identifier",
                                            "overloadedDeclarations": [],
                                            "referencedDeclaration": 12880,
                                            "src": "7261:15:62",
                                            "typeDescriptions": {
                                                "typeIdentifier": "t_function_internal_view$_t_bytes_memory_ptr_$returns$__$",
                                                "typeString": "function (bytes memory) view"
                                            }
                                        },
                                        "id": 13731,
                                        "isConstant": false,
                                        "isLValue": false,
                                        "isPure": false,
                                        "kind": "functionCall",
                                        "lValueRequested": false,
                                        "names": [],
                                        "nodeType": "FunctionCall",
                                        "src": "7261:69:62",
                                        "tryCall": false,
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_tuple$__$",
                                            "typeString": "tuple()"
                                        }
                                    },
                                    "id": 13732,
                                    "nodeType": "ExpressionStatement",
                                    "src": "7261:69:62"
                                }
                            ]
                        },
                        "id": 13734,
                        "implemented": true,
                        "kind": "function",
                        "modifiers": [],
                        "name": "log",
                        "nameLocation": "7218:3:62",
                        "nodeType": "FunctionDefinition",
                        "parameters": {
                            "id": 13722,
                            "nodeType": "ParameterList",
                            "parameters": [
                                {
                                    "constant": false,
                                    "id": 13719,
                                    "mutability": "mutable",
                                    "name": "p0",
                                    "nameLocation": "7230:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 13734,
                                    "src": "7222:10:62",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_address",
                                        "typeString": "address"
                                    },
                                    "typeName": {
                                        "id": 13718,
                                        "name": "address",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "7222:7:62",
                                        "stateMutability": "nonpayable",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_address",
                                            "typeString": "address"
                                        }
                                    },
                                    "visibility": "internal"
                                },
                                {
                                    "constant": false,
                                    "id": 13721,
                                    "mutability": "mutable",
                                    "name": "p1",
                                    "nameLocation": "7239:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 13734,
                                    "src": "7234:7:62",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_bool",
                                        "typeString": "bool"
                                    },
                                    "typeName": {
                                        "id": 13720,
                                        "name": "bool",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "7234:4:62",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_bool",
                                            "typeString": "bool"
                                        }
                                    },
                                    "visibility": "internal"
                                }
                            ],
                            "src": "7221:21:62"
                        },
                        "returnParameters": {
                            "id": 13723,
                            "nodeType": "ParameterList",
                            "parameters": [],
                            "src": "7257:0:62"
                        },
                        "scope": 20920,
                        "src": "7209:125:62",
                        "stateMutability": "view",
                        "virtual": false,
                        "visibility": "internal"
                    },
                    {
                        "body": {
                            "id": 13750,
                            "nodeType": "Block",
                            "src": "7388:80:62",
                            "statements": [
                                {
                                    "expression": {
                                        "arguments": [
                                            {
                                                "arguments": [
                                                    {
                                                        "hexValue": "6c6f6728616464726573732c6164647265737329",
                                                        "id": 13744,
                                                        "isConstant": false,
                                                        "isLValue": false,
                                                        "isPure": true,
                                                        "kind": "string",
                                                        "lValueRequested": false,
                                                        "nodeType": "Literal",
                                                        "src": "7432:22:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_stringliteral_daf0d4aa9a5679e832ac921da67b43572b4326ee2565442d3ed255b48cfb5161",
                                                            "typeString": "literal_string \"log(address,address)\""
                                                        },
                                                        "value": "log(address,address)"
                                                    },
                                                    {
                                                        "id": 13745,
                                                        "name": "p0",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 13736,
                                                        "src": "7456:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_address",
                                                            "typeString": "address"
                                                        }
                                                    },
                                                    {
                                                        "id": 13746,
                                                        "name": "p1",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 13738,
                                                        "src": "7460:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_address",
                                                            "typeString": "address"
                                                        }
                                                    }
                                                ],
                                                "expression": {
                                                    "argumentTypes": [
                                                        {
                                                            "typeIdentifier": "t_stringliteral_daf0d4aa9a5679e832ac921da67b43572b4326ee2565442d3ed255b48cfb5161",
                                                            "typeString": "literal_string \"log(address,address)\""
                                                        },
                                                        {
                                                            "typeIdentifier": "t_address",
                                                            "typeString": "address"
                                                        },
                                                        {
                                                            "typeIdentifier": "t_address",
                                                            "typeString": "address"
                                                        }
                                                    ],
                                                    "expression": {
                                                        "id": 13742,
                                                        "name": "abi",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 4294967295,
                                                        "src": "7408:3:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_magic_abi",
                                                            "typeString": "abi"
                                                        }
                                                    },
                                                    "id": 13743,
                                                    "isConstant": false,
                                                    "isLValue": false,
                                                    "isPure": true,
                                                    "lValueRequested": false,
                                                    "memberName": "encodeWithSignature",
                                                    "nodeType": "MemberAccess",
                                                    "src": "7408:23:62",
                                                    "typeDescriptions": {
                                                        "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$",
                                                        "typeString": "function (string memory) pure returns (bytes memory)"
                                                    }
                                                },
                                                "id": 13747,
                                                "isConstant": false,
                                                "isLValue": false,
                                                "isPure": false,
                                                "kind": "functionCall",
                                                "lValueRequested": false,
                                                "names": [],
                                                "nodeType": "FunctionCall",
                                                "src": "7408:55:62",
                                                "tryCall": false,
                                                "typeDescriptions": {
                                                    "typeIdentifier": "t_bytes_memory_ptr",
                                                    "typeString": "bytes memory"
                                                }
                                            }
                                        ],
                                        "expression": {
                                            "argumentTypes": [
                                                {
                                                    "typeIdentifier": "t_bytes_memory_ptr",
                                                    "typeString": "bytes memory"
                                                }
                                            ],
                                            "id": 13741,
                                            "name": "_sendLogPayload",
                                            "nodeType": "Identifier",
                                            "overloadedDeclarations": [],
                                            "referencedDeclaration": 12880,
                                            "src": "7392:15:62",
                                            "typeDescriptions": {
                                                "typeIdentifier": "t_function_internal_view$_t_bytes_memory_ptr_$returns$__$",
                                                "typeString": "function (bytes memory) view"
                                            }
                                        },
                                        "id": 13748,
                                        "isConstant": false,
                                        "isLValue": false,
                                        "isPure": false,
                                        "kind": "functionCall",
                                        "lValueRequested": false,
                                        "names": [],
                                        "nodeType": "FunctionCall",
                                        "src": "7392:72:62",
                                        "tryCall": false,
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_tuple$__$",
                                            "typeString": "tuple()"
                                        }
                                    },
                                    "id": 13749,
                                    "nodeType": "ExpressionStatement",
                                    "src": "7392:72:62"
                                }
                            ]
                        },
                        "id": 13751,
                        "implemented": true,
                        "kind": "function",
                        "modifiers": [],
                        "name": "log",
                        "nameLocation": "7346:3:62",
                        "nodeType": "FunctionDefinition",
                        "parameters": {
                            "id": 13739,
                            "nodeType": "ParameterList",
                            "parameters": [
                                {
                                    "constant": false,
                                    "id": 13736,
                                    "mutability": "mutable",
                                    "name": "p0",
                                    "nameLocation": "7358:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 13751,
                                    "src": "7350:10:62",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_address",
                                        "typeString": "address"
                                    },
                                    "typeName": {
                                        "id": 13735,
                                        "name": "address",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "7350:7:62",
                                        "stateMutability": "nonpayable",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_address",
                                            "typeString": "address"
                                        }
                                    },
                                    "visibility": "internal"
                                },
                                {
                                    "constant": false,
                                    "id": 13738,
                                    "mutability": "mutable",
                                    "name": "p1",
                                    "nameLocation": "7370:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 13751,
                                    "src": "7362:10:62",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_address",
                                        "typeString": "address"
                                    },
                                    "typeName": {
                                        "id": 13737,
                                        "name": "address",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "7362:7:62",
                                        "stateMutability": "nonpayable",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_address",
                                            "typeString": "address"
                                        }
                                    },
                                    "visibility": "internal"
                                }
                            ],
                            "src": "7349:24:62"
                        },
                        "returnParameters": {
                            "id": 13740,
                            "nodeType": "ParameterList",
                            "parameters": [],
                            "src": "7388:0:62"
                        },
                        "scope": 20920,
                        "src": "7337:131:62",
                        "stateMutability": "view",
                        "virtual": false,
                        "visibility": "internal"
                    },
                    {
                        "body": {
                            "id": 13770,
                            "nodeType": "Block",
                            "src": "7525:83:62",
                            "statements": [
                                {
                                    "expression": {
                                        "arguments": [
                                            {
                                                "arguments": [
                                                    {
                                                        "hexValue": "6c6f672875696e742c75696e742c75696e7429",
                                                        "id": 13763,
                                                        "isConstant": false,
                                                        "isLValue": false,
                                                        "isPure": true,
                                                        "kind": "string",
                                                        "lValueRequested": false,
                                                        "nodeType": "Literal",
                                                        "src": "7569:21:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_stringliteral_e7820a7400e33a94b0ae6f00adee99b97ebef8b77c9e38dd555c2f6b541dee17",
                                                            "typeString": "literal_string \"log(uint,uint,uint)\""
                                                        },
                                                        "value": "log(uint,uint,uint)"
                                                    },
                                                    {
                                                        "id": 13764,
                                                        "name": "p0",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 13753,
                                                        "src": "7592:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_uint256",
                                                            "typeString": "uint256"
                                                        }
                                                    },
                                                    {
                                                        "id": 13765,
                                                        "name": "p1",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 13755,
                                                        "src": "7596:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_uint256",
                                                            "typeString": "uint256"
                                                        }
                                                    },
                                                    {
                                                        "id": 13766,
                                                        "name": "p2",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 13757,
                                                        "src": "7600:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_uint256",
                                                            "typeString": "uint256"
                                                        }
                                                    }
                                                ],
                                                "expression": {
                                                    "argumentTypes": [
                                                        {
                                                            "typeIdentifier": "t_stringliteral_e7820a7400e33a94b0ae6f00adee99b97ebef8b77c9e38dd555c2f6b541dee17",
                                                            "typeString": "literal_string \"log(uint,uint,uint)\""
                                                        },
                                                        {
                                                            "typeIdentifier": "t_uint256",
                                                            "typeString": "uint256"
                                                        },
                                                        {
                                                            "typeIdentifier": "t_uint256",
                                                            "typeString": "uint256"
                                                        },
                                                        {
                                                            "typeIdentifier": "t_uint256",
                                                            "typeString": "uint256"
                                                        }
                                                    ],
                                                    "expression": {
                                                        "id": 13761,
                                                        "name": "abi",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 4294967295,
                                                        "src": "7545:3:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_magic_abi",
                                                            "typeString": "abi"
                                                        }
                                                    },
                                                    "id": 13762,
                                                    "isConstant": false,
                                                    "isLValue": false,
                                                    "isPure": true,
                                                    "lValueRequested": false,
                                                    "memberName": "encodeWithSignature",
                                                    "nodeType": "MemberAccess",
                                                    "src": "7545:23:62",
                                                    "typeDescriptions": {
                                                        "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$",
                                                        "typeString": "function (string memory) pure returns (bytes memory)"
                                                    }
                                                },
                                                "id": 13767,
                                                "isConstant": false,
                                                "isLValue": false,
                                                "isPure": false,
                                                "kind": "functionCall",
                                                "lValueRequested": false,
                                                "names": [],
                                                "nodeType": "FunctionCall",
                                                "src": "7545:58:62",
                                                "tryCall": false,
                                                "typeDescriptions": {
                                                    "typeIdentifier": "t_bytes_memory_ptr",
                                                    "typeString": "bytes memory"
                                                }
                                            }
                                        ],
                                        "expression": {
                                            "argumentTypes": [
                                                {
                                                    "typeIdentifier": "t_bytes_memory_ptr",
                                                    "typeString": "bytes memory"
                                                }
                                            ],
                                            "id": 13760,
                                            "name": "_sendLogPayload",
                                            "nodeType": "Identifier",
                                            "overloadedDeclarations": [],
                                            "referencedDeclaration": 12880,
                                            "src": "7529:15:62",
                                            "typeDescriptions": {
                                                "typeIdentifier": "t_function_internal_view$_t_bytes_memory_ptr_$returns$__$",
                                                "typeString": "function (bytes memory) view"
                                            }
                                        },
                                        "id": 13768,
                                        "isConstant": false,
                                        "isLValue": false,
                                        "isPure": false,
                                        "kind": "functionCall",
                                        "lValueRequested": false,
                                        "names": [],
                                        "nodeType": "FunctionCall",
                                        "src": "7529:75:62",
                                        "tryCall": false,
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_tuple$__$",
                                            "typeString": "tuple()"
                                        }
                                    },
                                    "id": 13769,
                                    "nodeType": "ExpressionStatement",
                                    "src": "7529:75:62"
                                }
                            ]
                        },
                        "id": 13771,
                        "implemented": true,
                        "kind": "function",
                        "modifiers": [],
                        "name": "log",
                        "nameLocation": "7480:3:62",
                        "nodeType": "FunctionDefinition",
                        "parameters": {
                            "id": 13758,
                            "nodeType": "ParameterList",
                            "parameters": [
                                {
                                    "constant": false,
                                    "id": 13753,
                                    "mutability": "mutable",
                                    "name": "p0",
                                    "nameLocation": "7489:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 13771,
                                    "src": "7484:7:62",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_uint256",
                                        "typeString": "uint256"
                                    },
                                    "typeName": {
                                        "id": 13752,
                                        "name": "uint",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "7484:4:62",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_uint256",
                                            "typeString": "uint256"
                                        }
                                    },
                                    "visibility": "internal"
                                },
                                {
                                    "constant": false,
                                    "id": 13755,
                                    "mutability": "mutable",
                                    "name": "p1",
                                    "nameLocation": "7498:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 13771,
                                    "src": "7493:7:62",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_uint256",
                                        "typeString": "uint256"
                                    },
                                    "typeName": {
                                        "id": 13754,
                                        "name": "uint",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "7493:4:62",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_uint256",
                                            "typeString": "uint256"
                                        }
                                    },
                                    "visibility": "internal"
                                },
                                {
                                    "constant": false,
                                    "id": 13757,
                                    "mutability": "mutable",
                                    "name": "p2",
                                    "nameLocation": "7507:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 13771,
                                    "src": "7502:7:62",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_uint256",
                                        "typeString": "uint256"
                                    },
                                    "typeName": {
                                        "id": 13756,
                                        "name": "uint",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "7502:4:62",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_uint256",
                                            "typeString": "uint256"
                                        }
                                    },
                                    "visibility": "internal"
                                }
                            ],
                            "src": "7483:27:62"
                        },
                        "returnParameters": {
                            "id": 13759,
                            "nodeType": "ParameterList",
                            "parameters": [],
                            "src": "7525:0:62"
                        },
                        "scope": 20920,
                        "src": "7471:137:62",
                        "stateMutability": "view",
                        "virtual": false,
                        "visibility": "internal"
                    },
                    {
                        "body": {
                            "id": 13790,
                            "nodeType": "Block",
                            "src": "7674:85:62",
                            "statements": [
                                {
                                    "expression": {
                                        "arguments": [
                                            {
                                                "arguments": [
                                                    {
                                                        "hexValue": "6c6f672875696e742c75696e742c737472696e6729",
                                                        "id": 13783,
                                                        "isConstant": false,
                                                        "isLValue": false,
                                                        "isPure": true,
                                                        "kind": "string",
                                                        "lValueRequested": false,
                                                        "nodeType": "Literal",
                                                        "src": "7718:23:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_stringliteral_7d690ee617a4217569e96b85c815115b0eee15407adaa46490ed719a45458699",
                                                            "typeString": "literal_string \"log(uint,uint,string)\""
                                                        },
                                                        "value": "log(uint,uint,string)"
                                                    },
                                                    {
                                                        "id": 13784,
                                                        "name": "p0",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 13773,
                                                        "src": "7743:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_uint256",
                                                            "typeString": "uint256"
                                                        }
                                                    },
                                                    {
                                                        "id": 13785,
                                                        "name": "p1",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 13775,
                                                        "src": "7747:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_uint256",
                                                            "typeString": "uint256"
                                                        }
                                                    },
                                                    {
                                                        "id": 13786,
                                                        "name": "p2",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 13777,
                                                        "src": "7751:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_string_memory_ptr",
                                                            "typeString": "string memory"
                                                        }
                                                    }
                                                ],
                                                "expression": {
                                                    "argumentTypes": [
                                                        {
                                                            "typeIdentifier": "t_stringliteral_7d690ee617a4217569e96b85c815115b0eee15407adaa46490ed719a45458699",
                                                            "typeString": "literal_string \"log(uint,uint,string)\""
                                                        },
                                                        {
                                                            "typeIdentifier": "t_uint256",
                                                            "typeString": "uint256"
                                                        },
                                                        {
                                                            "typeIdentifier": "t_uint256",
                                                            "typeString": "uint256"
                                                        },
                                                        {
                                                            "typeIdentifier": "t_string_memory_ptr",
                                                            "typeString": "string memory"
                                                        }
                                                    ],
                                                    "expression": {
                                                        "id": 13781,
                                                        "name": "abi",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 4294967295,
                                                        "src": "7694:3:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_magic_abi",
                                                            "typeString": "abi"
                                                        }
                                                    },
                                                    "id": 13782,
                                                    "isConstant": false,
                                                    "isLValue": false,
                                                    "isPure": true,
                                                    "lValueRequested": false,
                                                    "memberName": "encodeWithSignature",
                                                    "nodeType": "MemberAccess",
                                                    "src": "7694:23:62",
                                                    "typeDescriptions": {
                                                        "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$",
                                                        "typeString": "function (string memory) pure returns (bytes memory)"
                                                    }
                                                },
                                                "id": 13787,
                                                "isConstant": false,
                                                "isLValue": false,
                                                "isPure": false,
                                                "kind": "functionCall",
                                                "lValueRequested": false,
                                                "names": [],
                                                "nodeType": "FunctionCall",
                                                "src": "7694:60:62",
                                                "tryCall": false,
                                                "typeDescriptions": {
                                                    "typeIdentifier": "t_bytes_memory_ptr",
                                                    "typeString": "bytes memory"
                                                }
                                            }
                                        ],
                                        "expression": {
                                            "argumentTypes": [
                                                {
                                                    "typeIdentifier": "t_bytes_memory_ptr",
                                                    "typeString": "bytes memory"
                                                }
                                            ],
                                            "id": 13780,
                                            "name": "_sendLogPayload",
                                            "nodeType": "Identifier",
                                            "overloadedDeclarations": [],
                                            "referencedDeclaration": 12880,
                                            "src": "7678:15:62",
                                            "typeDescriptions": {
                                                "typeIdentifier": "t_function_internal_view$_t_bytes_memory_ptr_$returns$__$",
                                                "typeString": "function (bytes memory) view"
                                            }
                                        },
                                        "id": 13788,
                                        "isConstant": false,
                                        "isLValue": false,
                                        "isPure": false,
                                        "kind": "functionCall",
                                        "lValueRequested": false,
                                        "names": [],
                                        "nodeType": "FunctionCall",
                                        "src": "7678:77:62",
                                        "tryCall": false,
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_tuple$__$",
                                            "typeString": "tuple()"
                                        }
                                    },
                                    "id": 13789,
                                    "nodeType": "ExpressionStatement",
                                    "src": "7678:77:62"
                                }
                            ]
                        },
                        "id": 13791,
                        "implemented": true,
                        "kind": "function",
                        "modifiers": [],
                        "name": "log",
                        "nameLocation": "7620:3:62",
                        "nodeType": "FunctionDefinition",
                        "parameters": {
                            "id": 13778,
                            "nodeType": "ParameterList",
                            "parameters": [
                                {
                                    "constant": false,
                                    "id": 13773,
                                    "mutability": "mutable",
                                    "name": "p0",
                                    "nameLocation": "7629:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 13791,
                                    "src": "7624:7:62",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_uint256",
                                        "typeString": "uint256"
                                    },
                                    "typeName": {
                                        "id": 13772,
                                        "name": "uint",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "7624:4:62",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_uint256",
                                            "typeString": "uint256"
                                        }
                                    },
                                    "visibility": "internal"
                                },
                                {
                                    "constant": false,
                                    "id": 13775,
                                    "mutability": "mutable",
                                    "name": "p1",
                                    "nameLocation": "7638:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 13791,
                                    "src": "7633:7:62",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_uint256",
                                        "typeString": "uint256"
                                    },
                                    "typeName": {
                                        "id": 13774,
                                        "name": "uint",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "7633:4:62",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_uint256",
                                            "typeString": "uint256"
                                        }
                                    },
                                    "visibility": "internal"
                                },
                                {
                                    "constant": false,
                                    "id": 13777,
                                    "mutability": "mutable",
                                    "name": "p2",
                                    "nameLocation": "7656:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 13791,
                                    "src": "7642:16:62",
                                    "stateVariable": false,
                                    "storageLocation": "memory",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_string_memory_ptr",
                                        "typeString": "string"
                                    },
                                    "typeName": {
                                        "id": 13776,
                                        "name": "string",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "7642:6:62",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_string_storage_ptr",
                                            "typeString": "string"
                                        }
                                    },
                                    "visibility": "internal"
                                }
                            ],
                            "src": "7623:36:62"
                        },
                        "returnParameters": {
                            "id": 13779,
                            "nodeType": "ParameterList",
                            "parameters": [],
                            "src": "7674:0:62"
                        },
                        "scope": 20920,
                        "src": "7611:148:62",
                        "stateMutability": "view",
                        "virtual": false,
                        "visibility": "internal"
                    },
                    {
                        "body": {
                            "id": 13810,
                            "nodeType": "Block",
                            "src": "7816:83:62",
                            "statements": [
                                {
                                    "expression": {
                                        "arguments": [
                                            {
                                                "arguments": [
                                                    {
                                                        "hexValue": "6c6f672875696e742c75696e742c626f6f6c29",
                                                        "id": 13803,
                                                        "isConstant": false,
                                                        "isLValue": false,
                                                        "isPure": true,
                                                        "kind": "string",
                                                        "lValueRequested": false,
                                                        "nodeType": "Literal",
                                                        "src": "7860:21:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_stringliteral_67570ff704783f5d282b26317dc28aeb4fe23c085020ec6e580604c709916fa8",
                                                            "typeString": "literal_string \"log(uint,uint,bool)\""
                                                        },
                                                        "value": "log(uint,uint,bool)"
                                                    },
                                                    {
                                                        "id": 13804,
                                                        "name": "p0",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 13793,
                                                        "src": "7883:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_uint256",
                                                            "typeString": "uint256"
                                                        }
                                                    },
                                                    {
                                                        "id": 13805,
                                                        "name": "p1",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 13795,
                                                        "src": "7887:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_uint256",
                                                            "typeString": "uint256"
                                                        }
                                                    },
                                                    {
                                                        "id": 13806,
                                                        "name": "p2",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 13797,
                                                        "src": "7891:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_bool",
                                                            "typeString": "bool"
                                                        }
                                                    }
                                                ],
                                                "expression": {
                                                    "argumentTypes": [
                                                        {
                                                            "typeIdentifier": "t_stringliteral_67570ff704783f5d282b26317dc28aeb4fe23c085020ec6e580604c709916fa8",
                                                            "typeString": "literal_string \"log(uint,uint,bool)\""
                                                        },
                                                        {
                                                            "typeIdentifier": "t_uint256",
                                                            "typeString": "uint256"
                                                        },
                                                        {
                                                            "typeIdentifier": "t_uint256",
                                                            "typeString": "uint256"
                                                        },
                                                        {
                                                            "typeIdentifier": "t_bool",
                                                            "typeString": "bool"
                                                        }
                                                    ],
                                                    "expression": {
                                                        "id": 13801,
                                                        "name": "abi",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 4294967295,
                                                        "src": "7836:3:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_magic_abi",
                                                            "typeString": "abi"
                                                        }
                                                    },
                                                    "id": 13802,
                                                    "isConstant": false,
                                                    "isLValue": false,
                                                    "isPure": true,
                                                    "lValueRequested": false,
                                                    "memberName": "encodeWithSignature",
                                                    "nodeType": "MemberAccess",
                                                    "src": "7836:23:62",
                                                    "typeDescriptions": {
                                                        "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$",
                                                        "typeString": "function (string memory) pure returns (bytes memory)"
                                                    }
                                                },
                                                "id": 13807,
                                                "isConstant": false,
                                                "isLValue": false,
                                                "isPure": false,
                                                "kind": "functionCall",
                                                "lValueRequested": false,
                                                "names": [],
                                                "nodeType": "FunctionCall",
                                                "src": "7836:58:62",
                                                "tryCall": false,
                                                "typeDescriptions": {
                                                    "typeIdentifier": "t_bytes_memory_ptr",
                                                    "typeString": "bytes memory"
                                                }
                                            }
                                        ],
                                        "expression": {
                                            "argumentTypes": [
                                                {
                                                    "typeIdentifier": "t_bytes_memory_ptr",
                                                    "typeString": "bytes memory"
                                                }
                                            ],
                                            "id": 13800,
                                            "name": "_sendLogPayload",
                                            "nodeType": "Identifier",
                                            "overloadedDeclarations": [],
                                            "referencedDeclaration": 12880,
                                            "src": "7820:15:62",
                                            "typeDescriptions": {
                                                "typeIdentifier": "t_function_internal_view$_t_bytes_memory_ptr_$returns$__$",
                                                "typeString": "function (bytes memory) view"
                                            }
                                        },
                                        "id": 13808,
                                        "isConstant": false,
                                        "isLValue": false,
                                        "isPure": false,
                                        "kind": "functionCall",
                                        "lValueRequested": false,
                                        "names": [],
                                        "nodeType": "FunctionCall",
                                        "src": "7820:75:62",
                                        "tryCall": false,
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_tuple$__$",
                                            "typeString": "tuple()"
                                        }
                                    },
                                    "id": 13809,
                                    "nodeType": "ExpressionStatement",
                                    "src": "7820:75:62"
                                }
                            ]
                        },
                        "id": 13811,
                        "implemented": true,
                        "kind": "function",
                        "modifiers": [],
                        "name": "log",
                        "nameLocation": "7771:3:62",
                        "nodeType": "FunctionDefinition",
                        "parameters": {
                            "id": 13798,
                            "nodeType": "ParameterList",
                            "parameters": [
                                {
                                    "constant": false,
                                    "id": 13793,
                                    "mutability": "mutable",
                                    "name": "p0",
                                    "nameLocation": "7780:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 13811,
                                    "src": "7775:7:62",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_uint256",
                                        "typeString": "uint256"
                                    },
                                    "typeName": {
                                        "id": 13792,
                                        "name": "uint",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "7775:4:62",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_uint256",
                                            "typeString": "uint256"
                                        }
                                    },
                                    "visibility": "internal"
                                },
                                {
                                    "constant": false,
                                    "id": 13795,
                                    "mutability": "mutable",
                                    "name": "p1",
                                    "nameLocation": "7789:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 13811,
                                    "src": "7784:7:62",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_uint256",
                                        "typeString": "uint256"
                                    },
                                    "typeName": {
                                        "id": 13794,
                                        "name": "uint",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "7784:4:62",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_uint256",
                                            "typeString": "uint256"
                                        }
                                    },
                                    "visibility": "internal"
                                },
                                {
                                    "constant": false,
                                    "id": 13797,
                                    "mutability": "mutable",
                                    "name": "p2",
                                    "nameLocation": "7798:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 13811,
                                    "src": "7793:7:62",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_bool",
                                        "typeString": "bool"
                                    },
                                    "typeName": {
                                        "id": 13796,
                                        "name": "bool",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "7793:4:62",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_bool",
                                            "typeString": "bool"
                                        }
                                    },
                                    "visibility": "internal"
                                }
                            ],
                            "src": "7774:27:62"
                        },
                        "returnParameters": {
                            "id": 13799,
                            "nodeType": "ParameterList",
                            "parameters": [],
                            "src": "7816:0:62"
                        },
                        "scope": 20920,
                        "src": "7762:137:62",
                        "stateMutability": "view",
                        "virtual": false,
                        "visibility": "internal"
                    },
                    {
                        "body": {
                            "id": 13830,
                            "nodeType": "Block",
                            "src": "7959:86:62",
                            "statements": [
                                {
                                    "expression": {
                                        "arguments": [
                                            {
                                                "arguments": [
                                                    {
                                                        "hexValue": "6c6f672875696e742c75696e742c6164647265737329",
                                                        "id": 13823,
                                                        "isConstant": false,
                                                        "isLValue": false,
                                                        "isPure": true,
                                                        "kind": "string",
                                                        "lValueRequested": false,
                                                        "nodeType": "Literal",
                                                        "src": "8003:24:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_stringliteral_be33491b8b53b7f3deae2959d1f4b0a22e6967a778c50f03dc188de84a207616",
                                                            "typeString": "literal_string \"log(uint,uint,address)\""
                                                        },
                                                        "value": "log(uint,uint,address)"
                                                    },
                                                    {
                                                        "id": 13824,
                                                        "name": "p0",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 13813,
                                                        "src": "8029:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_uint256",
                                                            "typeString": "uint256"
                                                        }
                                                    },
                                                    {
                                                        "id": 13825,
                                                        "name": "p1",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 13815,
                                                        "src": "8033:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_uint256",
                                                            "typeString": "uint256"
                                                        }
                                                    },
                                                    {
                                                        "id": 13826,
                                                        "name": "p2",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 13817,
                                                        "src": "8037:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_address",
                                                            "typeString": "address"
                                                        }
                                                    }
                                                ],
                                                "expression": {
                                                    "argumentTypes": [
                                                        {
                                                            "typeIdentifier": "t_stringliteral_be33491b8b53b7f3deae2959d1f4b0a22e6967a778c50f03dc188de84a207616",
                                                            "typeString": "literal_string \"log(uint,uint,address)\""
                                                        },
                                                        {
                                                            "typeIdentifier": "t_uint256",
                                                            "typeString": "uint256"
                                                        },
                                                        {
                                                            "typeIdentifier": "t_uint256",
                                                            "typeString": "uint256"
                                                        },
                                                        {
                                                            "typeIdentifier": "t_address",
                                                            "typeString": "address"
                                                        }
                                                    ],
                                                    "expression": {
                                                        "id": 13821,
                                                        "name": "abi",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 4294967295,
                                                        "src": "7979:3:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_magic_abi",
                                                            "typeString": "abi"
                                                        }
                                                    },
                                                    "id": 13822,
                                                    "isConstant": false,
                                                    "isLValue": false,
                                                    "isPure": true,
                                                    "lValueRequested": false,
                                                    "memberName": "encodeWithSignature",
                                                    "nodeType": "MemberAccess",
                                                    "src": "7979:23:62",
                                                    "typeDescriptions": {
                                                        "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$",
                                                        "typeString": "function (string memory) pure returns (bytes memory)"
                                                    }
                                                },
                                                "id": 13827,
                                                "isConstant": false,
                                                "isLValue": false,
                                                "isPure": false,
                                                "kind": "functionCall",
                                                "lValueRequested": false,
                                                "names": [],
                                                "nodeType": "FunctionCall",
                                                "src": "7979:61:62",
                                                "tryCall": false,
                                                "typeDescriptions": {
                                                    "typeIdentifier": "t_bytes_memory_ptr",
                                                    "typeString": "bytes memory"
                                                }
                                            }
                                        ],
                                        "expression": {
                                            "argumentTypes": [
                                                {
                                                    "typeIdentifier": "t_bytes_memory_ptr",
                                                    "typeString": "bytes memory"
                                                }
                                            ],
                                            "id": 13820,
                                            "name": "_sendLogPayload",
                                            "nodeType": "Identifier",
                                            "overloadedDeclarations": [],
                                            "referencedDeclaration": 12880,
                                            "src": "7963:15:62",
                                            "typeDescriptions": {
                                                "typeIdentifier": "t_function_internal_view$_t_bytes_memory_ptr_$returns$__$",
                                                "typeString": "function (bytes memory) view"
                                            }
                                        },
                                        "id": 13828,
                                        "isConstant": false,
                                        "isLValue": false,
                                        "isPure": false,
                                        "kind": "functionCall",
                                        "lValueRequested": false,
                                        "names": [],
                                        "nodeType": "FunctionCall",
                                        "src": "7963:78:62",
                                        "tryCall": false,
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_tuple$__$",
                                            "typeString": "tuple()"
                                        }
                                    },
                                    "id": 13829,
                                    "nodeType": "ExpressionStatement",
                                    "src": "7963:78:62"
                                }
                            ]
                        },
                        "id": 13831,
                        "implemented": true,
                        "kind": "function",
                        "modifiers": [],
                        "name": "log",
                        "nameLocation": "7911:3:62",
                        "nodeType": "FunctionDefinition",
                        "parameters": {
                            "id": 13818,
                            "nodeType": "ParameterList",
                            "parameters": [
                                {
                                    "constant": false,
                                    "id": 13813,
                                    "mutability": "mutable",
                                    "name": "p0",
                                    "nameLocation": "7920:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 13831,
                                    "src": "7915:7:62",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_uint256",
                                        "typeString": "uint256"
                                    },
                                    "typeName": {
                                        "id": 13812,
                                        "name": "uint",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "7915:4:62",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_uint256",
                                            "typeString": "uint256"
                                        }
                                    },
                                    "visibility": "internal"
                                },
                                {
                                    "constant": false,
                                    "id": 13815,
                                    "mutability": "mutable",
                                    "name": "p1",
                                    "nameLocation": "7929:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 13831,
                                    "src": "7924:7:62",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_uint256",
                                        "typeString": "uint256"
                                    },
                                    "typeName": {
                                        "id": 13814,
                                        "name": "uint",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "7924:4:62",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_uint256",
                                            "typeString": "uint256"
                                        }
                                    },
                                    "visibility": "internal"
                                },
                                {
                                    "constant": false,
                                    "id": 13817,
                                    "mutability": "mutable",
                                    "name": "p2",
                                    "nameLocation": "7941:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 13831,
                                    "src": "7933:10:62",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_address",
                                        "typeString": "address"
                                    },
                                    "typeName": {
                                        "id": 13816,
                                        "name": "address",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "7933:7:62",
                                        "stateMutability": "nonpayable",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_address",
                                            "typeString": "address"
                                        }
                                    },
                                    "visibility": "internal"
                                }
                            ],
                            "src": "7914:30:62"
                        },
                        "returnParameters": {
                            "id": 13819,
                            "nodeType": "ParameterList",
                            "parameters": [],
                            "src": "7959:0:62"
                        },
                        "scope": 20920,
                        "src": "7902:143:62",
                        "stateMutability": "view",
                        "virtual": false,
                        "visibility": "internal"
                    },
                    {
                        "body": {
                            "id": 13850,
                            "nodeType": "Block",
                            "src": "8111:85:62",
                            "statements": [
                                {
                                    "expression": {
                                        "arguments": [
                                            {
                                                "arguments": [
                                                    {
                                                        "hexValue": "6c6f672875696e742c737472696e672c75696e7429",
                                                        "id": 13843,
                                                        "isConstant": false,
                                                        "isLValue": false,
                                                        "isPure": true,
                                                        "kind": "string",
                                                        "lValueRequested": false,
                                                        "nodeType": "Literal",
                                                        "src": "8155:23:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_stringliteral_5b6de83ff0d95cd44df8bb8bfd95aa0a6291cab3b8502d85b1dcfd35a64c81cd",
                                                            "typeString": "literal_string \"log(uint,string,uint)\""
                                                        },
                                                        "value": "log(uint,string,uint)"
                                                    },
                                                    {
                                                        "id": 13844,
                                                        "name": "p0",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 13833,
                                                        "src": "8180:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_uint256",
                                                            "typeString": "uint256"
                                                        }
                                                    },
                                                    {
                                                        "id": 13845,
                                                        "name": "p1",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 13835,
                                                        "src": "8184:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_string_memory_ptr",
                                                            "typeString": "string memory"
                                                        }
                                                    },
                                                    {
                                                        "id": 13846,
                                                        "name": "p2",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 13837,
                                                        "src": "8188:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_uint256",
                                                            "typeString": "uint256"
                                                        }
                                                    }
                                                ],
                                                "expression": {
                                                    "argumentTypes": [
                                                        {
                                                            "typeIdentifier": "t_stringliteral_5b6de83ff0d95cd44df8bb8bfd95aa0a6291cab3b8502d85b1dcfd35a64c81cd",
                                                            "typeString": "literal_string \"log(uint,string,uint)\""
                                                        },
                                                        {
                                                            "typeIdentifier": "t_uint256",
                                                            "typeString": "uint256"
                                                        },
                                                        {
                                                            "typeIdentifier": "t_string_memory_ptr",
                                                            "typeString": "string memory"
                                                        },
                                                        {
                                                            "typeIdentifier": "t_uint256",
                                                            "typeString": "uint256"
                                                        }
                                                    ],
                                                    "expression": {
                                                        "id": 13841,
                                                        "name": "abi",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 4294967295,
                                                        "src": "8131:3:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_magic_abi",
                                                            "typeString": "abi"
                                                        }
                                                    },
                                                    "id": 13842,
                                                    "isConstant": false,
                                                    "isLValue": false,
                                                    "isPure": true,
                                                    "lValueRequested": false,
                                                    "memberName": "encodeWithSignature",
                                                    "nodeType": "MemberAccess",
                                                    "src": "8131:23:62",
                                                    "typeDescriptions": {
                                                        "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$",
                                                        "typeString": "function (string memory) pure returns (bytes memory)"
                                                    }
                                                },
                                                "id": 13847,
                                                "isConstant": false,
                                                "isLValue": false,
                                                "isPure": false,
                                                "kind": "functionCall",
                                                "lValueRequested": false,
                                                "names": [],
                                                "nodeType": "FunctionCall",
                                                "src": "8131:60:62",
                                                "tryCall": false,
                                                "typeDescriptions": {
                                                    "typeIdentifier": "t_bytes_memory_ptr",
                                                    "typeString": "bytes memory"
                                                }
                                            }
                                        ],
                                        "expression": {
                                            "argumentTypes": [
                                                {
                                                    "typeIdentifier": "t_bytes_memory_ptr",
                                                    "typeString": "bytes memory"
                                                }
                                            ],
                                            "id": 13840,
                                            "name": "_sendLogPayload",
                                            "nodeType": "Identifier",
                                            "overloadedDeclarations": [],
                                            "referencedDeclaration": 12880,
                                            "src": "8115:15:62",
                                            "typeDescriptions": {
                                                "typeIdentifier": "t_function_internal_view$_t_bytes_memory_ptr_$returns$__$",
                                                "typeString": "function (bytes memory) view"
                                            }
                                        },
                                        "id": 13848,
                                        "isConstant": false,
                                        "isLValue": false,
                                        "isPure": false,
                                        "kind": "functionCall",
                                        "lValueRequested": false,
                                        "names": [],
                                        "nodeType": "FunctionCall",
                                        "src": "8115:77:62",
                                        "tryCall": false,
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_tuple$__$",
                                            "typeString": "tuple()"
                                        }
                                    },
                                    "id": 13849,
                                    "nodeType": "ExpressionStatement",
                                    "src": "8115:77:62"
                                }
                            ]
                        },
                        "id": 13851,
                        "implemented": true,
                        "kind": "function",
                        "modifiers": [],
                        "name": "log",
                        "nameLocation": "8057:3:62",
                        "nodeType": "FunctionDefinition",
                        "parameters": {
                            "id": 13838,
                            "nodeType": "ParameterList",
                            "parameters": [
                                {
                                    "constant": false,
                                    "id": 13833,
                                    "mutability": "mutable",
                                    "name": "p0",
                                    "nameLocation": "8066:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 13851,
                                    "src": "8061:7:62",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_uint256",
                                        "typeString": "uint256"
                                    },
                                    "typeName": {
                                        "id": 13832,
                                        "name": "uint",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "8061:4:62",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_uint256",
                                            "typeString": "uint256"
                                        }
                                    },
                                    "visibility": "internal"
                                },
                                {
                                    "constant": false,
                                    "id": 13835,
                                    "mutability": "mutable",
                                    "name": "p1",
                                    "nameLocation": "8084:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 13851,
                                    "src": "8070:16:62",
                                    "stateVariable": false,
                                    "storageLocation": "memory",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_string_memory_ptr",
                                        "typeString": "string"
                                    },
                                    "typeName": {
                                        "id": 13834,
                                        "name": "string",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "8070:6:62",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_string_storage_ptr",
                                            "typeString": "string"
                                        }
                                    },
                                    "visibility": "internal"
                                },
                                {
                                    "constant": false,
                                    "id": 13837,
                                    "mutability": "mutable",
                                    "name": "p2",
                                    "nameLocation": "8093:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 13851,
                                    "src": "8088:7:62",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_uint256",
                                        "typeString": "uint256"
                                    },
                                    "typeName": {
                                        "id": 13836,
                                        "name": "uint",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "8088:4:62",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_uint256",
                                            "typeString": "uint256"
                                        }
                                    },
                                    "visibility": "internal"
                                }
                            ],
                            "src": "8060:36:62"
                        },
                        "returnParameters": {
                            "id": 13839,
                            "nodeType": "ParameterList",
                            "parameters": [],
                            "src": "8111:0:62"
                        },
                        "scope": 20920,
                        "src": "8048:148:62",
                        "stateMutability": "view",
                        "virtual": false,
                        "visibility": "internal"
                    },
                    {
                        "body": {
                            "id": 13870,
                            "nodeType": "Block",
                            "src": "8271:87:62",
                            "statements": [
                                {
                                    "expression": {
                                        "arguments": [
                                            {
                                                "arguments": [
                                                    {
                                                        "hexValue": "6c6f672875696e742c737472696e672c737472696e6729",
                                                        "id": 13863,
                                                        "isConstant": false,
                                                        "isLValue": false,
                                                        "isPure": true,
                                                        "kind": "string",
                                                        "lValueRequested": false,
                                                        "nodeType": "Literal",
                                                        "src": "8315:25:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_stringliteral_3f57c295245f8891b303347a08039155dde08dde601649242724a0ce876bcc65",
                                                            "typeString": "literal_string \"log(uint,string,string)\""
                                                        },
                                                        "value": "log(uint,string,string)"
                                                    },
                                                    {
                                                        "id": 13864,
                                                        "name": "p0",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 13853,
                                                        "src": "8342:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_uint256",
                                                            "typeString": "uint256"
                                                        }
                                                    },
                                                    {
                                                        "id": 13865,
                                                        "name": "p1",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 13855,
                                                        "src": "8346:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_string_memory_ptr",
                                                            "typeString": "string memory"
                                                        }
                                                    },
                                                    {
                                                        "id": 13866,
                                                        "name": "p2",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 13857,
                                                        "src": "8350:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_string_memory_ptr",
                                                            "typeString": "string memory"
                                                        }
                                                    }
                                                ],
                                                "expression": {
                                                    "argumentTypes": [
                                                        {
                                                            "typeIdentifier": "t_stringliteral_3f57c295245f8891b303347a08039155dde08dde601649242724a0ce876bcc65",
                                                            "typeString": "literal_string \"log(uint,string,string)\""
                                                        },
                                                        {
                                                            "typeIdentifier": "t_uint256",
                                                            "typeString": "uint256"
                                                        },
                                                        {
                                                            "typeIdentifier": "t_string_memory_ptr",
                                                            "typeString": "string memory"
                                                        },
                                                        {
                                                            "typeIdentifier": "t_string_memory_ptr",
                                                            "typeString": "string memory"
                                                        }
                                                    ],
                                                    "expression": {
                                                        "id": 13861,
                                                        "name": "abi",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 4294967295,
                                                        "src": "8291:3:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_magic_abi",
                                                            "typeString": "abi"
                                                        }
                                                    },
                                                    "id": 13862,
                                                    "isConstant": false,
                                                    "isLValue": false,
                                                    "isPure": true,
                                                    "lValueRequested": false,
                                                    "memberName": "encodeWithSignature",
                                                    "nodeType": "MemberAccess",
                                                    "src": "8291:23:62",
                                                    "typeDescriptions": {
                                                        "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$",
                                                        "typeString": "function (string memory) pure returns (bytes memory)"
                                                    }
                                                },
                                                "id": 13867,
                                                "isConstant": false,
                                                "isLValue": false,
                                                "isPure": false,
                                                "kind": "functionCall",
                                                "lValueRequested": false,
                                                "names": [],
                                                "nodeType": "FunctionCall",
                                                "src": "8291:62:62",
                                                "tryCall": false,
                                                "typeDescriptions": {
                                                    "typeIdentifier": "t_bytes_memory_ptr",
                                                    "typeString": "bytes memory"
                                                }
                                            }
                                        ],
                                        "expression": {
                                            "argumentTypes": [
                                                {
                                                    "typeIdentifier": "t_bytes_memory_ptr",
                                                    "typeString": "bytes memory"
                                                }
                                            ],
                                            "id": 13860,
                                            "name": "_sendLogPayload",
                                            "nodeType": "Identifier",
                                            "overloadedDeclarations": [],
                                            "referencedDeclaration": 12880,
                                            "src": "8275:15:62",
                                            "typeDescriptions": {
                                                "typeIdentifier": "t_function_internal_view$_t_bytes_memory_ptr_$returns$__$",
                                                "typeString": "function (bytes memory) view"
                                            }
                                        },
                                        "id": 13868,
                                        "isConstant": false,
                                        "isLValue": false,
                                        "isPure": false,
                                        "kind": "functionCall",
                                        "lValueRequested": false,
                                        "names": [],
                                        "nodeType": "FunctionCall",
                                        "src": "8275:79:62",
                                        "tryCall": false,
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_tuple$__$",
                                            "typeString": "tuple()"
                                        }
                                    },
                                    "id": 13869,
                                    "nodeType": "ExpressionStatement",
                                    "src": "8275:79:62"
                                }
                            ]
                        },
                        "id": 13871,
                        "implemented": true,
                        "kind": "function",
                        "modifiers": [],
                        "name": "log",
                        "nameLocation": "8208:3:62",
                        "nodeType": "FunctionDefinition",
                        "parameters": {
                            "id": 13858,
                            "nodeType": "ParameterList",
                            "parameters": [
                                {
                                    "constant": false,
                                    "id": 13853,
                                    "mutability": "mutable",
                                    "name": "p0",
                                    "nameLocation": "8217:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 13871,
                                    "src": "8212:7:62",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_uint256",
                                        "typeString": "uint256"
                                    },
                                    "typeName": {
                                        "id": 13852,
                                        "name": "uint",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "8212:4:62",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_uint256",
                                            "typeString": "uint256"
                                        }
                                    },
                                    "visibility": "internal"
                                },
                                {
                                    "constant": false,
                                    "id": 13855,
                                    "mutability": "mutable",
                                    "name": "p1",
                                    "nameLocation": "8235:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 13871,
                                    "src": "8221:16:62",
                                    "stateVariable": false,
                                    "storageLocation": "memory",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_string_memory_ptr",
                                        "typeString": "string"
                                    },
                                    "typeName": {
                                        "id": 13854,
                                        "name": "string",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "8221:6:62",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_string_storage_ptr",
                                            "typeString": "string"
                                        }
                                    },
                                    "visibility": "internal"
                                },
                                {
                                    "constant": false,
                                    "id": 13857,
                                    "mutability": "mutable",
                                    "name": "p2",
                                    "nameLocation": "8253:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 13871,
                                    "src": "8239:16:62",
                                    "stateVariable": false,
                                    "storageLocation": "memory",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_string_memory_ptr",
                                        "typeString": "string"
                                    },
                                    "typeName": {
                                        "id": 13856,
                                        "name": "string",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "8239:6:62",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_string_storage_ptr",
                                            "typeString": "string"
                                        }
                                    },
                                    "visibility": "internal"
                                }
                            ],
                            "src": "8211:45:62"
                        },
                        "returnParameters": {
                            "id": 13859,
                            "nodeType": "ParameterList",
                            "parameters": [],
                            "src": "8271:0:62"
                        },
                        "scope": 20920,
                        "src": "8199:159:62",
                        "stateMutability": "view",
                        "virtual": false,
                        "visibility": "internal"
                    },
                    {
                        "body": {
                            "id": 13890,
                            "nodeType": "Block",
                            "src": "8424:85:62",
                            "statements": [
                                {
                                    "expression": {
                                        "arguments": [
                                            {
                                                "arguments": [
                                                    {
                                                        "hexValue": "6c6f672875696e742c737472696e672c626f6f6c29",
                                                        "id": 13883,
                                                        "isConstant": false,
                                                        "isLValue": false,
                                                        "isPure": true,
                                                        "kind": "string",
                                                        "lValueRequested": false,
                                                        "nodeType": "Literal",
                                                        "src": "8468:23:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_stringliteral_46a7d0ce13c2c26d158d9defa8ce488dbeb81d3c852592fb370bd45953199485",
                                                            "typeString": "literal_string \"log(uint,string,bool)\""
                                                        },
                                                        "value": "log(uint,string,bool)"
                                                    },
                                                    {
                                                        "id": 13884,
                                                        "name": "p0",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 13873,
                                                        "src": "8493:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_uint256",
                                                            "typeString": "uint256"
                                                        }
                                                    },
                                                    {
                                                        "id": 13885,
                                                        "name": "p1",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 13875,
                                                        "src": "8497:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_string_memory_ptr",
                                                            "typeString": "string memory"
                                                        }
                                                    },
                                                    {
                                                        "id": 13886,
                                                        "name": "p2",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 13877,
                                                        "src": "8501:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_bool",
                                                            "typeString": "bool"
                                                        }
                                                    }
                                                ],
                                                "expression": {
                                                    "argumentTypes": [
                                                        {
                                                            "typeIdentifier": "t_stringliteral_46a7d0ce13c2c26d158d9defa8ce488dbeb81d3c852592fb370bd45953199485",
                                                            "typeString": "literal_string \"log(uint,string,bool)\""
                                                        },
                                                        {
                                                            "typeIdentifier": "t_uint256",
                                                            "typeString": "uint256"
                                                        },
                                                        {
                                                            "typeIdentifier": "t_string_memory_ptr",
                                                            "typeString": "string memory"
                                                        },
                                                        {
                                                            "typeIdentifier": "t_bool",
                                                            "typeString": "bool"
                                                        }
                                                    ],
                                                    "expression": {
                                                        "id": 13881,
                                                        "name": "abi",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 4294967295,
                                                        "src": "8444:3:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_magic_abi",
                                                            "typeString": "abi"
                                                        }
                                                    },
                                                    "id": 13882,
                                                    "isConstant": false,
                                                    "isLValue": false,
                                                    "isPure": true,
                                                    "lValueRequested": false,
                                                    "memberName": "encodeWithSignature",
                                                    "nodeType": "MemberAccess",
                                                    "src": "8444:23:62",
                                                    "typeDescriptions": {
                                                        "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$",
                                                        "typeString": "function (string memory) pure returns (bytes memory)"
                                                    }
                                                },
                                                "id": 13887,
                                                "isConstant": false,
                                                "isLValue": false,
                                                "isPure": false,
                                                "kind": "functionCall",
                                                "lValueRequested": false,
                                                "names": [],
                                                "nodeType": "FunctionCall",
                                                "src": "8444:60:62",
                                                "tryCall": false,
                                                "typeDescriptions": {
                                                    "typeIdentifier": "t_bytes_memory_ptr",
                                                    "typeString": "bytes memory"
                                                }
                                            }
                                        ],
                                        "expression": {
                                            "argumentTypes": [
                                                {
                                                    "typeIdentifier": "t_bytes_memory_ptr",
                                                    "typeString": "bytes memory"
                                                }
                                            ],
                                            "id": 13880,
                                            "name": "_sendLogPayload",
                                            "nodeType": "Identifier",
                                            "overloadedDeclarations": [],
                                            "referencedDeclaration": 12880,
                                            "src": "8428:15:62",
                                            "typeDescriptions": {
                                                "typeIdentifier": "t_function_internal_view$_t_bytes_memory_ptr_$returns$__$",
                                                "typeString": "function (bytes memory) view"
                                            }
                                        },
                                        "id": 13888,
                                        "isConstant": false,
                                        "isLValue": false,
                                        "isPure": false,
                                        "kind": "functionCall",
                                        "lValueRequested": false,
                                        "names": [],
                                        "nodeType": "FunctionCall",
                                        "src": "8428:77:62",
                                        "tryCall": false,
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_tuple$__$",
                                            "typeString": "tuple()"
                                        }
                                    },
                                    "id": 13889,
                                    "nodeType": "ExpressionStatement",
                                    "src": "8428:77:62"
                                }
                            ]
                        },
                        "id": 13891,
                        "implemented": true,
                        "kind": "function",
                        "modifiers": [],
                        "name": "log",
                        "nameLocation": "8370:3:62",
                        "nodeType": "FunctionDefinition",
                        "parameters": {
                            "id": 13878,
                            "nodeType": "ParameterList",
                            "parameters": [
                                {
                                    "constant": false,
                                    "id": 13873,
                                    "mutability": "mutable",
                                    "name": "p0",
                                    "nameLocation": "8379:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 13891,
                                    "src": "8374:7:62",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_uint256",
                                        "typeString": "uint256"
                                    },
                                    "typeName": {
                                        "id": 13872,
                                        "name": "uint",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "8374:4:62",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_uint256",
                                            "typeString": "uint256"
                                        }
                                    },
                                    "visibility": "internal"
                                },
                                {
                                    "constant": false,
                                    "id": 13875,
                                    "mutability": "mutable",
                                    "name": "p1",
                                    "nameLocation": "8397:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 13891,
                                    "src": "8383:16:62",
                                    "stateVariable": false,
                                    "storageLocation": "memory",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_string_memory_ptr",
                                        "typeString": "string"
                                    },
                                    "typeName": {
                                        "id": 13874,
                                        "name": "string",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "8383:6:62",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_string_storage_ptr",
                                            "typeString": "string"
                                        }
                                    },
                                    "visibility": "internal"
                                },
                                {
                                    "constant": false,
                                    "id": 13877,
                                    "mutability": "mutable",
                                    "name": "p2",
                                    "nameLocation": "8406:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 13891,
                                    "src": "8401:7:62",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_bool",
                                        "typeString": "bool"
                                    },
                                    "typeName": {
                                        "id": 13876,
                                        "name": "bool",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "8401:4:62",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_bool",
                                            "typeString": "bool"
                                        }
                                    },
                                    "visibility": "internal"
                                }
                            ],
                            "src": "8373:36:62"
                        },
                        "returnParameters": {
                            "id": 13879,
                            "nodeType": "ParameterList",
                            "parameters": [],
                            "src": "8424:0:62"
                        },
                        "scope": 20920,
                        "src": "8361:148:62",
                        "stateMutability": "view",
                        "virtual": false,
                        "visibility": "internal"
                    },
                    {
                        "body": {
                            "id": 13910,
                            "nodeType": "Block",
                            "src": "8578:88:62",
                            "statements": [
                                {
                                    "expression": {
                                        "arguments": [
                                            {
                                                "arguments": [
                                                    {
                                                        "hexValue": "6c6f672875696e742c737472696e672c6164647265737329",
                                                        "id": 13903,
                                                        "isConstant": false,
                                                        "isLValue": false,
                                                        "isPure": true,
                                                        "kind": "string",
                                                        "lValueRequested": false,
                                                        "nodeType": "Literal",
                                                        "src": "8622:26:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_stringliteral_1f90f24a472e5198a9eef41600323c8a476ef0a1db1496125f7d053a74d474ac",
                                                            "typeString": "literal_string \"log(uint,string,address)\""
                                                        },
                                                        "value": "log(uint,string,address)"
                                                    },
                                                    {
                                                        "id": 13904,
                                                        "name": "p0",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 13893,
                                                        "src": "8650:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_uint256",
                                                            "typeString": "uint256"
                                                        }
                                                    },
                                                    {
                                                        "id": 13905,
                                                        "name": "p1",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 13895,
                                                        "src": "8654:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_string_memory_ptr",
                                                            "typeString": "string memory"
                                                        }
                                                    },
                                                    {
                                                        "id": 13906,
                                                        "name": "p2",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 13897,
                                                        "src": "8658:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_address",
                                                            "typeString": "address"
                                                        }
                                                    }
                                                ],
                                                "expression": {
                                                    "argumentTypes": [
                                                        {
                                                            "typeIdentifier": "t_stringliteral_1f90f24a472e5198a9eef41600323c8a476ef0a1db1496125f7d053a74d474ac",
                                                            "typeString": "literal_string \"log(uint,string,address)\""
                                                        },
                                                        {
                                                            "typeIdentifier": "t_uint256",
                                                            "typeString": "uint256"
                                                        },
                                                        {
                                                            "typeIdentifier": "t_string_memory_ptr",
                                                            "typeString": "string memory"
                                                        },
                                                        {
                                                            "typeIdentifier": "t_address",
                                                            "typeString": "address"
                                                        }
                                                    ],
                                                    "expression": {
                                                        "id": 13901,
                                                        "name": "abi",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 4294967295,
                                                        "src": "8598:3:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_magic_abi",
                                                            "typeString": "abi"
                                                        }
                                                    },
                                                    "id": 13902,
                                                    "isConstant": false,
                                                    "isLValue": false,
                                                    "isPure": true,
                                                    "lValueRequested": false,
                                                    "memberName": "encodeWithSignature",
                                                    "nodeType": "MemberAccess",
                                                    "src": "8598:23:62",
                                                    "typeDescriptions": {
                                                        "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$",
                                                        "typeString": "function (string memory) pure returns (bytes memory)"
                                                    }
                                                },
                                                "id": 13907,
                                                "isConstant": false,
                                                "isLValue": false,
                                                "isPure": false,
                                                "kind": "functionCall",
                                                "lValueRequested": false,
                                                "names": [],
                                                "nodeType": "FunctionCall",
                                                "src": "8598:63:62",
                                                "tryCall": false,
                                                "typeDescriptions": {
                                                    "typeIdentifier": "t_bytes_memory_ptr",
                                                    "typeString": "bytes memory"
                                                }
                                            }
                                        ],
                                        "expression": {
                                            "argumentTypes": [
                                                {
                                                    "typeIdentifier": "t_bytes_memory_ptr",
                                                    "typeString": "bytes memory"
                                                }
                                            ],
                                            "id": 13900,
                                            "name": "_sendLogPayload",
                                            "nodeType": "Identifier",
                                            "overloadedDeclarations": [],
                                            "referencedDeclaration": 12880,
                                            "src": "8582:15:62",
                                            "typeDescriptions": {
                                                "typeIdentifier": "t_function_internal_view$_t_bytes_memory_ptr_$returns$__$",
                                                "typeString": "function (bytes memory) view"
                                            }
                                        },
                                        "id": 13908,
                                        "isConstant": false,
                                        "isLValue": false,
                                        "isPure": false,
                                        "kind": "functionCall",
                                        "lValueRequested": false,
                                        "names": [],
                                        "nodeType": "FunctionCall",
                                        "src": "8582:80:62",
                                        "tryCall": false,
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_tuple$__$",
                                            "typeString": "tuple()"
                                        }
                                    },
                                    "id": 13909,
                                    "nodeType": "ExpressionStatement",
                                    "src": "8582:80:62"
                                }
                            ]
                        },
                        "id": 13911,
                        "implemented": true,
                        "kind": "function",
                        "modifiers": [],
                        "name": "log",
                        "nameLocation": "8521:3:62",
                        "nodeType": "FunctionDefinition",
                        "parameters": {
                            "id": 13898,
                            "nodeType": "ParameterList",
                            "parameters": [
                                {
                                    "constant": false,
                                    "id": 13893,
                                    "mutability": "mutable",
                                    "name": "p0",
                                    "nameLocation": "8530:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 13911,
                                    "src": "8525:7:62",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_uint256",
                                        "typeString": "uint256"
                                    },
                                    "typeName": {
                                        "id": 13892,
                                        "name": "uint",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "8525:4:62",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_uint256",
                                            "typeString": "uint256"
                                        }
                                    },
                                    "visibility": "internal"
                                },
                                {
                                    "constant": false,
                                    "id": 13895,
                                    "mutability": "mutable",
                                    "name": "p1",
                                    "nameLocation": "8548:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 13911,
                                    "src": "8534:16:62",
                                    "stateVariable": false,
                                    "storageLocation": "memory",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_string_memory_ptr",
                                        "typeString": "string"
                                    },
                                    "typeName": {
                                        "id": 13894,
                                        "name": "string",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "8534:6:62",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_string_storage_ptr",
                                            "typeString": "string"
                                        }
                                    },
                                    "visibility": "internal"
                                },
                                {
                                    "constant": false,
                                    "id": 13897,
                                    "mutability": "mutable",
                                    "name": "p2",
                                    "nameLocation": "8560:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 13911,
                                    "src": "8552:10:62",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_address",
                                        "typeString": "address"
                                    },
                                    "typeName": {
                                        "id": 13896,
                                        "name": "address",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "8552:7:62",
                                        "stateMutability": "nonpayable",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_address",
                                            "typeString": "address"
                                        }
                                    },
                                    "visibility": "internal"
                                }
                            ],
                            "src": "8524:39:62"
                        },
                        "returnParameters": {
                            "id": 13899,
                            "nodeType": "ParameterList",
                            "parameters": [],
                            "src": "8578:0:62"
                        },
                        "scope": 20920,
                        "src": "8512:154:62",
                        "stateMutability": "view",
                        "virtual": false,
                        "visibility": "internal"
                    },
                    {
                        "body": {
                            "id": 13930,
                            "nodeType": "Block",
                            "src": "8723:83:62",
                            "statements": [
                                {
                                    "expression": {
                                        "arguments": [
                                            {
                                                "arguments": [
                                                    {
                                                        "hexValue": "6c6f672875696e742c626f6f6c2c75696e7429",
                                                        "id": 13923,
                                                        "isConstant": false,
                                                        "isLValue": false,
                                                        "isPure": true,
                                                        "kind": "string",
                                                        "lValueRequested": false,
                                                        "nodeType": "Literal",
                                                        "src": "8767:21:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_stringliteral_5a4d9922ab81f1126dafac21c1ce3fb483db2e4898341fe0758315eb5f3054d6",
                                                            "typeString": "literal_string \"log(uint,bool,uint)\""
                                                        },
                                                        "value": "log(uint,bool,uint)"
                                                    },
                                                    {
                                                        "id": 13924,
                                                        "name": "p0",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 13913,
                                                        "src": "8790:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_uint256",
                                                            "typeString": "uint256"
                                                        }
                                                    },
                                                    {
                                                        "id": 13925,
                                                        "name": "p1",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 13915,
                                                        "src": "8794:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_bool",
                                                            "typeString": "bool"
                                                        }
                                                    },
                                                    {
                                                        "id": 13926,
                                                        "name": "p2",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 13917,
                                                        "src": "8798:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_uint256",
                                                            "typeString": "uint256"
                                                        }
                                                    }
                                                ],
                                                "expression": {
                                                    "argumentTypes": [
                                                        {
                                                            "typeIdentifier": "t_stringliteral_5a4d9922ab81f1126dafac21c1ce3fb483db2e4898341fe0758315eb5f3054d6",
                                                            "typeString": "literal_string \"log(uint,bool,uint)\""
                                                        },
                                                        {
                                                            "typeIdentifier": "t_uint256",
                                                            "typeString": "uint256"
                                                        },
                                                        {
                                                            "typeIdentifier": "t_bool",
                                                            "typeString": "bool"
                                                        },
                                                        {
                                                            "typeIdentifier": "t_uint256",
                                                            "typeString": "uint256"
                                                        }
                                                    ],
                                                    "expression": {
                                                        "id": 13921,
                                                        "name": "abi",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 4294967295,
                                                        "src": "8743:3:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_magic_abi",
                                                            "typeString": "abi"
                                                        }
                                                    },
                                                    "id": 13922,
                                                    "isConstant": false,
                                                    "isLValue": false,
                                                    "isPure": true,
                                                    "lValueRequested": false,
                                                    "memberName": "encodeWithSignature",
                                                    "nodeType": "MemberAccess",
                                                    "src": "8743:23:62",
                                                    "typeDescriptions": {
                                                        "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$",
                                                        "typeString": "function (string memory) pure returns (bytes memory)"
                                                    }
                                                },
                                                "id": 13927,
                                                "isConstant": false,
                                                "isLValue": false,
                                                "isPure": false,
                                                "kind": "functionCall",
                                                "lValueRequested": false,
                                                "names": [],
                                                "nodeType": "FunctionCall",
                                                "src": "8743:58:62",
                                                "tryCall": false,
                                                "typeDescriptions": {
                                                    "typeIdentifier": "t_bytes_memory_ptr",
                                                    "typeString": "bytes memory"
                                                }
                                            }
                                        ],
                                        "expression": {
                                            "argumentTypes": [
                                                {
                                                    "typeIdentifier": "t_bytes_memory_ptr",
                                                    "typeString": "bytes memory"
                                                }
                                            ],
                                            "id": 13920,
                                            "name": "_sendLogPayload",
                                            "nodeType": "Identifier",
                                            "overloadedDeclarations": [],
                                            "referencedDeclaration": 12880,
                                            "src": "8727:15:62",
                                            "typeDescriptions": {
                                                "typeIdentifier": "t_function_internal_view$_t_bytes_memory_ptr_$returns$__$",
                                                "typeString": "function (bytes memory) view"
                                            }
                                        },
                                        "id": 13928,
                                        "isConstant": false,
                                        "isLValue": false,
                                        "isPure": false,
                                        "kind": "functionCall",
                                        "lValueRequested": false,
                                        "names": [],
                                        "nodeType": "FunctionCall",
                                        "src": "8727:75:62",
                                        "tryCall": false,
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_tuple$__$",
                                            "typeString": "tuple()"
                                        }
                                    },
                                    "id": 13929,
                                    "nodeType": "ExpressionStatement",
                                    "src": "8727:75:62"
                                }
                            ]
                        },
                        "id": 13931,
                        "implemented": true,
                        "kind": "function",
                        "modifiers": [],
                        "name": "log",
                        "nameLocation": "8678:3:62",
                        "nodeType": "FunctionDefinition",
                        "parameters": {
                            "id": 13918,
                            "nodeType": "ParameterList",
                            "parameters": [
                                {
                                    "constant": false,
                                    "id": 13913,
                                    "mutability": "mutable",
                                    "name": "p0",
                                    "nameLocation": "8687:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 13931,
                                    "src": "8682:7:62",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_uint256",
                                        "typeString": "uint256"
                                    },
                                    "typeName": {
                                        "id": 13912,
                                        "name": "uint",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "8682:4:62",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_uint256",
                                            "typeString": "uint256"
                                        }
                                    },
                                    "visibility": "internal"
                                },
                                {
                                    "constant": false,
                                    "id": 13915,
                                    "mutability": "mutable",
                                    "name": "p1",
                                    "nameLocation": "8696:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 13931,
                                    "src": "8691:7:62",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_bool",
                                        "typeString": "bool"
                                    },
                                    "typeName": {
                                        "id": 13914,
                                        "name": "bool",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "8691:4:62",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_bool",
                                            "typeString": "bool"
                                        }
                                    },
                                    "visibility": "internal"
                                },
                                {
                                    "constant": false,
                                    "id": 13917,
                                    "mutability": "mutable",
                                    "name": "p2",
                                    "nameLocation": "8705:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 13931,
                                    "src": "8700:7:62",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_uint256",
                                        "typeString": "uint256"
                                    },
                                    "typeName": {
                                        "id": 13916,
                                        "name": "uint",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "8700:4:62",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_uint256",
                                            "typeString": "uint256"
                                        }
                                    },
                                    "visibility": "internal"
                                }
                            ],
                            "src": "8681:27:62"
                        },
                        "returnParameters": {
                            "id": 13919,
                            "nodeType": "ParameterList",
                            "parameters": [],
                            "src": "8723:0:62"
                        },
                        "scope": 20920,
                        "src": "8669:137:62",
                        "stateMutability": "view",
                        "virtual": false,
                        "visibility": "internal"
                    },
                    {
                        "body": {
                            "id": 13950,
                            "nodeType": "Block",
                            "src": "8872:85:62",
                            "statements": [
                                {
                                    "expression": {
                                        "arguments": [
                                            {
                                                "arguments": [
                                                    {
                                                        "hexValue": "6c6f672875696e742c626f6f6c2c737472696e6729",
                                                        "id": 13943,
                                                        "isConstant": false,
                                                        "isLValue": false,
                                                        "isPure": true,
                                                        "kind": "string",
                                                        "lValueRequested": false,
                                                        "nodeType": "Literal",
                                                        "src": "8916:23:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_stringliteral_8b0e14fe247223cbba6a19a2fac250db70b4f126d0f3f63ac9c3f080885b9f82",
                                                            "typeString": "literal_string \"log(uint,bool,string)\""
                                                        },
                                                        "value": "log(uint,bool,string)"
                                                    },
                                                    {
                                                        "id": 13944,
                                                        "name": "p0",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 13933,
                                                        "src": "8941:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_uint256",
                                                            "typeString": "uint256"
                                                        }
                                                    },
                                                    {
                                                        "id": 13945,
                                                        "name": "p1",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 13935,
                                                        "src": "8945:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_bool",
                                                            "typeString": "bool"
                                                        }
                                                    },
                                                    {
                                                        "id": 13946,
                                                        "name": "p2",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 13937,
                                                        "src": "8949:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_string_memory_ptr",
                                                            "typeString": "string memory"
                                                        }
                                                    }
                                                ],
                                                "expression": {
                                                    "argumentTypes": [
                                                        {
                                                            "typeIdentifier": "t_stringliteral_8b0e14fe247223cbba6a19a2fac250db70b4f126d0f3f63ac9c3f080885b9f82",
                                                            "typeString": "literal_string \"log(uint,bool,string)\""
                                                        },
                                                        {
                                                            "typeIdentifier": "t_uint256",
                                                            "typeString": "uint256"
                                                        },
                                                        {
                                                            "typeIdentifier": "t_bool",
                                                            "typeString": "bool"
                                                        },
                                                        {
                                                            "typeIdentifier": "t_string_memory_ptr",
                                                            "typeString": "string memory"
                                                        }
                                                    ],
                                                    "expression": {
                                                        "id": 13941,
                                                        "name": "abi",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 4294967295,
                                                        "src": "8892:3:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_magic_abi",
                                                            "typeString": "abi"
                                                        }
                                                    },
                                                    "id": 13942,
                                                    "isConstant": false,
                                                    "isLValue": false,
                                                    "isPure": true,
                                                    "lValueRequested": false,
                                                    "memberName": "encodeWithSignature",
                                                    "nodeType": "MemberAccess",
                                                    "src": "8892:23:62",
                                                    "typeDescriptions": {
                                                        "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$",
                                                        "typeString": "function (string memory) pure returns (bytes memory)"
                                                    }
                                                },
                                                "id": 13947,
                                                "isConstant": false,
                                                "isLValue": false,
                                                "isPure": false,
                                                "kind": "functionCall",
                                                "lValueRequested": false,
                                                "names": [],
                                                "nodeType": "FunctionCall",
                                                "src": "8892:60:62",
                                                "tryCall": false,
                                                "typeDescriptions": {
                                                    "typeIdentifier": "t_bytes_memory_ptr",
                                                    "typeString": "bytes memory"
                                                }
                                            }
                                        ],
                                        "expression": {
                                            "argumentTypes": [
                                                {
                                                    "typeIdentifier": "t_bytes_memory_ptr",
                                                    "typeString": "bytes memory"
                                                }
                                            ],
                                            "id": 13940,
                                            "name": "_sendLogPayload",
                                            "nodeType": "Identifier",
                                            "overloadedDeclarations": [],
                                            "referencedDeclaration": 12880,
                                            "src": "8876:15:62",
                                            "typeDescriptions": {
                                                "typeIdentifier": "t_function_internal_view$_t_bytes_memory_ptr_$returns$__$",
                                                "typeString": "function (bytes memory) view"
                                            }
                                        },
                                        "id": 13948,
                                        "isConstant": false,
                                        "isLValue": false,
                                        "isPure": false,
                                        "kind": "functionCall",
                                        "lValueRequested": false,
                                        "names": [],
                                        "nodeType": "FunctionCall",
                                        "src": "8876:77:62",
                                        "tryCall": false,
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_tuple$__$",
                                            "typeString": "tuple()"
                                        }
                                    },
                                    "id": 13949,
                                    "nodeType": "ExpressionStatement",
                                    "src": "8876:77:62"
                                }
                            ]
                        },
                        "id": 13951,
                        "implemented": true,
                        "kind": "function",
                        "modifiers": [],
                        "name": "log",
                        "nameLocation": "8818:3:62",
                        "nodeType": "FunctionDefinition",
                        "parameters": {
                            "id": 13938,
                            "nodeType": "ParameterList",
                            "parameters": [
                                {
                                    "constant": false,
                                    "id": 13933,
                                    "mutability": "mutable",
                                    "name": "p0",
                                    "nameLocation": "8827:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 13951,
                                    "src": "8822:7:62",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_uint256",
                                        "typeString": "uint256"
                                    },
                                    "typeName": {
                                        "id": 13932,
                                        "name": "uint",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "8822:4:62",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_uint256",
                                            "typeString": "uint256"
                                        }
                                    },
                                    "visibility": "internal"
                                },
                                {
                                    "constant": false,
                                    "id": 13935,
                                    "mutability": "mutable",
                                    "name": "p1",
                                    "nameLocation": "8836:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 13951,
                                    "src": "8831:7:62",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_bool",
                                        "typeString": "bool"
                                    },
                                    "typeName": {
                                        "id": 13934,
                                        "name": "bool",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "8831:4:62",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_bool",
                                            "typeString": "bool"
                                        }
                                    },
                                    "visibility": "internal"
                                },
                                {
                                    "constant": false,
                                    "id": 13937,
                                    "mutability": "mutable",
                                    "name": "p2",
                                    "nameLocation": "8854:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 13951,
                                    "src": "8840:16:62",
                                    "stateVariable": false,
                                    "storageLocation": "memory",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_string_memory_ptr",
                                        "typeString": "string"
                                    },
                                    "typeName": {
                                        "id": 13936,
                                        "name": "string",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "8840:6:62",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_string_storage_ptr",
                                            "typeString": "string"
                                        }
                                    },
                                    "visibility": "internal"
                                }
                            ],
                            "src": "8821:36:62"
                        },
                        "returnParameters": {
                            "id": 13939,
                            "nodeType": "ParameterList",
                            "parameters": [],
                            "src": "8872:0:62"
                        },
                        "scope": 20920,
                        "src": "8809:148:62",
                        "stateMutability": "view",
                        "virtual": false,
                        "visibility": "internal"
                    },
                    {
                        "body": {
                            "id": 13970,
                            "nodeType": "Block",
                            "src": "9014:83:62",
                            "statements": [
                                {
                                    "expression": {
                                        "arguments": [
                                            {
                                                "arguments": [
                                                    {
                                                        "hexValue": "6c6f672875696e742c626f6f6c2c626f6f6c29",
                                                        "id": 13963,
                                                        "isConstant": false,
                                                        "isLValue": false,
                                                        "isPure": true,
                                                        "kind": "string",
                                                        "lValueRequested": false,
                                                        "nodeType": "Literal",
                                                        "src": "9058:21:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_stringliteral_d5ceace024d24c243571d0b2393ca9fb37aa961a0e028332e72cd7dfb84c0971",
                                                            "typeString": "literal_string \"log(uint,bool,bool)\""
                                                        },
                                                        "value": "log(uint,bool,bool)"
                                                    },
                                                    {
                                                        "id": 13964,
                                                        "name": "p0",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 13953,
                                                        "src": "9081:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_uint256",
                                                            "typeString": "uint256"
                                                        }
                                                    },
                                                    {
                                                        "id": 13965,
                                                        "name": "p1",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 13955,
                                                        "src": "9085:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_bool",
                                                            "typeString": "bool"
                                                        }
                                                    },
                                                    {
                                                        "id": 13966,
                                                        "name": "p2",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 13957,
                                                        "src": "9089:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_bool",
                                                            "typeString": "bool"
                                                        }
                                                    }
                                                ],
                                                "expression": {
                                                    "argumentTypes": [
                                                        {
                                                            "typeIdentifier": "t_stringliteral_d5ceace024d24c243571d0b2393ca9fb37aa961a0e028332e72cd7dfb84c0971",
                                                            "typeString": "literal_string \"log(uint,bool,bool)\""
                                                        },
                                                        {
                                                            "typeIdentifier": "t_uint256",
                                                            "typeString": "uint256"
                                                        },
                                                        {
                                                            "typeIdentifier": "t_bool",
                                                            "typeString": "bool"
                                                        },
                                                        {
                                                            "typeIdentifier": "t_bool",
                                                            "typeString": "bool"
                                                        }
                                                    ],
                                                    "expression": {
                                                        "id": 13961,
                                                        "name": "abi",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 4294967295,
                                                        "src": "9034:3:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_magic_abi",
                                                            "typeString": "abi"
                                                        }
                                                    },
                                                    "id": 13962,
                                                    "isConstant": false,
                                                    "isLValue": false,
                                                    "isPure": true,
                                                    "lValueRequested": false,
                                                    "memberName": "encodeWithSignature",
                                                    "nodeType": "MemberAccess",
                                                    "src": "9034:23:62",
                                                    "typeDescriptions": {
                                                        "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$",
                                                        "typeString": "function (string memory) pure returns (bytes memory)"
                                                    }
                                                },
                                                "id": 13967,
                                                "isConstant": false,
                                                "isLValue": false,
                                                "isPure": false,
                                                "kind": "functionCall",
                                                "lValueRequested": false,
                                                "names": [],
                                                "nodeType": "FunctionCall",
                                                "src": "9034:58:62",
                                                "tryCall": false,
                                                "typeDescriptions": {
                                                    "typeIdentifier": "t_bytes_memory_ptr",
                                                    "typeString": "bytes memory"
                                                }
                                            }
                                        ],
                                        "expression": {
                                            "argumentTypes": [
                                                {
                                                    "typeIdentifier": "t_bytes_memory_ptr",
                                                    "typeString": "bytes memory"
                                                }
                                            ],
                                            "id": 13960,
                                            "name": "_sendLogPayload",
                                            "nodeType": "Identifier",
                                            "overloadedDeclarations": [],
                                            "referencedDeclaration": 12880,
                                            "src": "9018:15:62",
                                            "typeDescriptions": {
                                                "typeIdentifier": "t_function_internal_view$_t_bytes_memory_ptr_$returns$__$",
                                                "typeString": "function (bytes memory) view"
                                            }
                                        },
                                        "id": 13968,
                                        "isConstant": false,
                                        "isLValue": false,
                                        "isPure": false,
                                        "kind": "functionCall",
                                        "lValueRequested": false,
                                        "names": [],
                                        "nodeType": "FunctionCall",
                                        "src": "9018:75:62",
                                        "tryCall": false,
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_tuple$__$",
                                            "typeString": "tuple()"
                                        }
                                    },
                                    "id": 13969,
                                    "nodeType": "ExpressionStatement",
                                    "src": "9018:75:62"
                                }
                            ]
                        },
                        "id": 13971,
                        "implemented": true,
                        "kind": "function",
                        "modifiers": [],
                        "name": "log",
                        "nameLocation": "8969:3:62",
                        "nodeType": "FunctionDefinition",
                        "parameters": {
                            "id": 13958,
                            "nodeType": "ParameterList",
                            "parameters": [
                                {
                                    "constant": false,
                                    "id": 13953,
                                    "mutability": "mutable",
                                    "name": "p0",
                                    "nameLocation": "8978:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 13971,
                                    "src": "8973:7:62",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_uint256",
                                        "typeString": "uint256"
                                    },
                                    "typeName": {
                                        "id": 13952,
                                        "name": "uint",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "8973:4:62",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_uint256",
                                            "typeString": "uint256"
                                        }
                                    },
                                    "visibility": "internal"
                                },
                                {
                                    "constant": false,
                                    "id": 13955,
                                    "mutability": "mutable",
                                    "name": "p1",
                                    "nameLocation": "8987:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 13971,
                                    "src": "8982:7:62",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_bool",
                                        "typeString": "bool"
                                    },
                                    "typeName": {
                                        "id": 13954,
                                        "name": "bool",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "8982:4:62",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_bool",
                                            "typeString": "bool"
                                        }
                                    },
                                    "visibility": "internal"
                                },
                                {
                                    "constant": false,
                                    "id": 13957,
                                    "mutability": "mutable",
                                    "name": "p2",
                                    "nameLocation": "8996:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 13971,
                                    "src": "8991:7:62",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_bool",
                                        "typeString": "bool"
                                    },
                                    "typeName": {
                                        "id": 13956,
                                        "name": "bool",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "8991:4:62",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_bool",
                                            "typeString": "bool"
                                        }
                                    },
                                    "visibility": "internal"
                                }
                            ],
                            "src": "8972:27:62"
                        },
                        "returnParameters": {
                            "id": 13959,
                            "nodeType": "ParameterList",
                            "parameters": [],
                            "src": "9014:0:62"
                        },
                        "scope": 20920,
                        "src": "8960:137:62",
                        "stateMutability": "view",
                        "virtual": false,
                        "visibility": "internal"
                    },
                    {
                        "body": {
                            "id": 13990,
                            "nodeType": "Block",
                            "src": "9157:86:62",
                            "statements": [
                                {
                                    "expression": {
                                        "arguments": [
                                            {
                                                "arguments": [
                                                    {
                                                        "hexValue": "6c6f672875696e742c626f6f6c2c6164647265737329",
                                                        "id": 13983,
                                                        "isConstant": false,
                                                        "isLValue": false,
                                                        "isPure": true,
                                                        "kind": "string",
                                                        "lValueRequested": false,
                                                        "nodeType": "Literal",
                                                        "src": "9201:24:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_stringliteral_424effbf6346b3a7c79debdbad20f804c7961e0193d509136d2bb7c09c7ff9b2",
                                                            "typeString": "literal_string \"log(uint,bool,address)\""
                                                        },
                                                        "value": "log(uint,bool,address)"
                                                    },
                                                    {
                                                        "id": 13984,
                                                        "name": "p0",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 13973,
                                                        "src": "9227:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_uint256",
                                                            "typeString": "uint256"
                                                        }
                                                    },
                                                    {
                                                        "id": 13985,
                                                        "name": "p1",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 13975,
                                                        "src": "9231:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_bool",
                                                            "typeString": "bool"
                                                        }
                                                    },
                                                    {
                                                        "id": 13986,
                                                        "name": "p2",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 13977,
                                                        "src": "9235:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_address",
                                                            "typeString": "address"
                                                        }
                                                    }
                                                ],
                                                "expression": {
                                                    "argumentTypes": [
                                                        {
                                                            "typeIdentifier": "t_stringliteral_424effbf6346b3a7c79debdbad20f804c7961e0193d509136d2bb7c09c7ff9b2",
                                                            "typeString": "literal_string \"log(uint,bool,address)\""
                                                        },
                                                        {
                                                            "typeIdentifier": "t_uint256",
                                                            "typeString": "uint256"
                                                        },
                                                        {
                                                            "typeIdentifier": "t_bool",
                                                            "typeString": "bool"
                                                        },
                                                        {
                                                            "typeIdentifier": "t_address",
                                                            "typeString": "address"
                                                        }
                                                    ],
                                                    "expression": {
                                                        "id": 13981,
                                                        "name": "abi",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 4294967295,
                                                        "src": "9177:3:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_magic_abi",
                                                            "typeString": "abi"
                                                        }
                                                    },
                                                    "id": 13982,
                                                    "isConstant": false,
                                                    "isLValue": false,
                                                    "isPure": true,
                                                    "lValueRequested": false,
                                                    "memberName": "encodeWithSignature",
                                                    "nodeType": "MemberAccess",
                                                    "src": "9177:23:62",
                                                    "typeDescriptions": {
                                                        "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$",
                                                        "typeString": "function (string memory) pure returns (bytes memory)"
                                                    }
                                                },
                                                "id": 13987,
                                                "isConstant": false,
                                                "isLValue": false,
                                                "isPure": false,
                                                "kind": "functionCall",
                                                "lValueRequested": false,
                                                "names": [],
                                                "nodeType": "FunctionCall",
                                                "src": "9177:61:62",
                                                "tryCall": false,
                                                "typeDescriptions": {
                                                    "typeIdentifier": "t_bytes_memory_ptr",
                                                    "typeString": "bytes memory"
                                                }
                                            }
                                        ],
                                        "expression": {
                                            "argumentTypes": [
                                                {
                                                    "typeIdentifier": "t_bytes_memory_ptr",
                                                    "typeString": "bytes memory"
                                                }
                                            ],
                                            "id": 13980,
                                            "name": "_sendLogPayload",
                                            "nodeType": "Identifier",
                                            "overloadedDeclarations": [],
                                            "referencedDeclaration": 12880,
                                            "src": "9161:15:62",
                                            "typeDescriptions": {
                                                "typeIdentifier": "t_function_internal_view$_t_bytes_memory_ptr_$returns$__$",
                                                "typeString": "function (bytes memory) view"
                                            }
                                        },
                                        "id": 13988,
                                        "isConstant": false,
                                        "isLValue": false,
                                        "isPure": false,
                                        "kind": "functionCall",
                                        "lValueRequested": false,
                                        "names": [],
                                        "nodeType": "FunctionCall",
                                        "src": "9161:78:62",
                                        "tryCall": false,
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_tuple$__$",
                                            "typeString": "tuple()"
                                        }
                                    },
                                    "id": 13989,
                                    "nodeType": "ExpressionStatement",
                                    "src": "9161:78:62"
                                }
                            ]
                        },
                        "id": 13991,
                        "implemented": true,
                        "kind": "function",
                        "modifiers": [],
                        "name": "log",
                        "nameLocation": "9109:3:62",
                        "nodeType": "FunctionDefinition",
                        "parameters": {
                            "id": 13978,
                            "nodeType": "ParameterList",
                            "parameters": [
                                {
                                    "constant": false,
                                    "id": 13973,
                                    "mutability": "mutable",
                                    "name": "p0",
                                    "nameLocation": "9118:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 13991,
                                    "src": "9113:7:62",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_uint256",
                                        "typeString": "uint256"
                                    },
                                    "typeName": {
                                        "id": 13972,
                                        "name": "uint",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "9113:4:62",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_uint256",
                                            "typeString": "uint256"
                                        }
                                    },
                                    "visibility": "internal"
                                },
                                {
                                    "constant": false,
                                    "id": 13975,
                                    "mutability": "mutable",
                                    "name": "p1",
                                    "nameLocation": "9127:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 13991,
                                    "src": "9122:7:62",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_bool",
                                        "typeString": "bool"
                                    },
                                    "typeName": {
                                        "id": 13974,
                                        "name": "bool",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "9122:4:62",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_bool",
                                            "typeString": "bool"
                                        }
                                    },
                                    "visibility": "internal"
                                },
                                {
                                    "constant": false,
                                    "id": 13977,
                                    "mutability": "mutable",
                                    "name": "p2",
                                    "nameLocation": "9139:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 13991,
                                    "src": "9131:10:62",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_address",
                                        "typeString": "address"
                                    },
                                    "typeName": {
                                        "id": 13976,
                                        "name": "address",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "9131:7:62",
                                        "stateMutability": "nonpayable",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_address",
                                            "typeString": "address"
                                        }
                                    },
                                    "visibility": "internal"
                                }
                            ],
                            "src": "9112:30:62"
                        },
                        "returnParameters": {
                            "id": 13979,
                            "nodeType": "ParameterList",
                            "parameters": [],
                            "src": "9157:0:62"
                        },
                        "scope": 20920,
                        "src": "9100:143:62",
                        "stateMutability": "view",
                        "virtual": false,
                        "visibility": "internal"
                    },
                    {
                        "body": {
                            "id": 14010,
                            "nodeType": "Block",
                            "src": "9303:86:62",
                            "statements": [
                                {
                                    "expression": {
                                        "arguments": [
                                            {
                                                "arguments": [
                                                    {
                                                        "hexValue": "6c6f672875696e742c616464726573732c75696e7429",
                                                        "id": 14003,
                                                        "isConstant": false,
                                                        "isLValue": false,
                                                        "isPure": true,
                                                        "kind": "string",
                                                        "lValueRequested": false,
                                                        "nodeType": "Literal",
                                                        "src": "9347:24:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_stringliteral_884343aaf095a99f79852cd574543144a9a04148c5eb5687826e5e86a2554617",
                                                            "typeString": "literal_string \"log(uint,address,uint)\""
                                                        },
                                                        "value": "log(uint,address,uint)"
                                                    },
                                                    {
                                                        "id": 14004,
                                                        "name": "p0",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 13993,
                                                        "src": "9373:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_uint256",
                                                            "typeString": "uint256"
                                                        }
                                                    },
                                                    {
                                                        "id": 14005,
                                                        "name": "p1",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 13995,
                                                        "src": "9377:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_address",
                                                            "typeString": "address"
                                                        }
                                                    },
                                                    {
                                                        "id": 14006,
                                                        "name": "p2",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 13997,
                                                        "src": "9381:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_uint256",
                                                            "typeString": "uint256"
                                                        }
                                                    }
                                                ],
                                                "expression": {
                                                    "argumentTypes": [
                                                        {
                                                            "typeIdentifier": "t_stringliteral_884343aaf095a99f79852cd574543144a9a04148c5eb5687826e5e86a2554617",
                                                            "typeString": "literal_string \"log(uint,address,uint)\""
                                                        },
                                                        {
                                                            "typeIdentifier": "t_uint256",
                                                            "typeString": "uint256"
                                                        },
                                                        {
                                                            "typeIdentifier": "t_address",
                                                            "typeString": "address"
                                                        },
                                                        {
                                                            "typeIdentifier": "t_uint256",
                                                            "typeString": "uint256"
                                                        }
                                                    ],
                                                    "expression": {
                                                        "id": 14001,
                                                        "name": "abi",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 4294967295,
                                                        "src": "9323:3:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_magic_abi",
                                                            "typeString": "abi"
                                                        }
                                                    },
                                                    "id": 14002,
                                                    "isConstant": false,
                                                    "isLValue": false,
                                                    "isPure": true,
                                                    "lValueRequested": false,
                                                    "memberName": "encodeWithSignature",
                                                    "nodeType": "MemberAccess",
                                                    "src": "9323:23:62",
                                                    "typeDescriptions": {
                                                        "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$",
                                                        "typeString": "function (string memory) pure returns (bytes memory)"
                                                    }
                                                },
                                                "id": 14007,
                                                "isConstant": false,
                                                "isLValue": false,
                                                "isPure": false,
                                                "kind": "functionCall",
                                                "lValueRequested": false,
                                                "names": [],
                                                "nodeType": "FunctionCall",
                                                "src": "9323:61:62",
                                                "tryCall": false,
                                                "typeDescriptions": {
                                                    "typeIdentifier": "t_bytes_memory_ptr",
                                                    "typeString": "bytes memory"
                                                }
                                            }
                                        ],
                                        "expression": {
                                            "argumentTypes": [
                                                {
                                                    "typeIdentifier": "t_bytes_memory_ptr",
                                                    "typeString": "bytes memory"
                                                }
                                            ],
                                            "id": 14000,
                                            "name": "_sendLogPayload",
                                            "nodeType": "Identifier",
                                            "overloadedDeclarations": [],
                                            "referencedDeclaration": 12880,
                                            "src": "9307:15:62",
                                            "typeDescriptions": {
                                                "typeIdentifier": "t_function_internal_view$_t_bytes_memory_ptr_$returns$__$",
                                                "typeString": "function (bytes memory) view"
                                            }
                                        },
                                        "id": 14008,
                                        "isConstant": false,
                                        "isLValue": false,
                                        "isPure": false,
                                        "kind": "functionCall",
                                        "lValueRequested": false,
                                        "names": [],
                                        "nodeType": "FunctionCall",
                                        "src": "9307:78:62",
                                        "tryCall": false,
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_tuple$__$",
                                            "typeString": "tuple()"
                                        }
                                    },
                                    "id": 14009,
                                    "nodeType": "ExpressionStatement",
                                    "src": "9307:78:62"
                                }
                            ]
                        },
                        "id": 14011,
                        "implemented": true,
                        "kind": "function",
                        "modifiers": [],
                        "name": "log",
                        "nameLocation": "9255:3:62",
                        "nodeType": "FunctionDefinition",
                        "parameters": {
                            "id": 13998,
                            "nodeType": "ParameterList",
                            "parameters": [
                                {
                                    "constant": false,
                                    "id": 13993,
                                    "mutability": "mutable",
                                    "name": "p0",
                                    "nameLocation": "9264:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 14011,
                                    "src": "9259:7:62",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_uint256",
                                        "typeString": "uint256"
                                    },
                                    "typeName": {
                                        "id": 13992,
                                        "name": "uint",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "9259:4:62",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_uint256",
                                            "typeString": "uint256"
                                        }
                                    },
                                    "visibility": "internal"
                                },
                                {
                                    "constant": false,
                                    "id": 13995,
                                    "mutability": "mutable",
                                    "name": "p1",
                                    "nameLocation": "9276:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 14011,
                                    "src": "9268:10:62",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_address",
                                        "typeString": "address"
                                    },
                                    "typeName": {
                                        "id": 13994,
                                        "name": "address",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "9268:7:62",
                                        "stateMutability": "nonpayable",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_address",
                                            "typeString": "address"
                                        }
                                    },
                                    "visibility": "internal"
                                },
                                {
                                    "constant": false,
                                    "id": 13997,
                                    "mutability": "mutable",
                                    "name": "p2",
                                    "nameLocation": "9285:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 14011,
                                    "src": "9280:7:62",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_uint256",
                                        "typeString": "uint256"
                                    },
                                    "typeName": {
                                        "id": 13996,
                                        "name": "uint",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "9280:4:62",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_uint256",
                                            "typeString": "uint256"
                                        }
                                    },
                                    "visibility": "internal"
                                }
                            ],
                            "src": "9258:30:62"
                        },
                        "returnParameters": {
                            "id": 13999,
                            "nodeType": "ParameterList",
                            "parameters": [],
                            "src": "9303:0:62"
                        },
                        "scope": 20920,
                        "src": "9246:143:62",
                        "stateMutability": "view",
                        "virtual": false,
                        "visibility": "internal"
                    },
                    {
                        "body": {
                            "id": 14030,
                            "nodeType": "Block",
                            "src": "9458:88:62",
                            "statements": [
                                {
                                    "expression": {
                                        "arguments": [
                                            {
                                                "arguments": [
                                                    {
                                                        "hexValue": "6c6f672875696e742c616464726573732c737472696e6729",
                                                        "id": 14023,
                                                        "isConstant": false,
                                                        "isLValue": false,
                                                        "isPure": true,
                                                        "kind": "string",
                                                        "lValueRequested": false,
                                                        "nodeType": "Literal",
                                                        "src": "9502:26:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_stringliteral_ce83047b6eeeca52b57db5064e316bb4dc615477077814d1a191d68a4818cbed",
                                                            "typeString": "literal_string \"log(uint,address,string)\""
                                                        },
                                                        "value": "log(uint,address,string)"
                                                    },
                                                    {
                                                        "id": 14024,
                                                        "name": "p0",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 14013,
                                                        "src": "9530:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_uint256",
                                                            "typeString": "uint256"
                                                        }
                                                    },
                                                    {
                                                        "id": 14025,
                                                        "name": "p1",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 14015,
                                                        "src": "9534:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_address",
                                                            "typeString": "address"
                                                        }
                                                    },
                                                    {
                                                        "id": 14026,
                                                        "name": "p2",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 14017,
                                                        "src": "9538:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_string_memory_ptr",
                                                            "typeString": "string memory"
                                                        }
                                                    }
                                                ],
                                                "expression": {
                                                    "argumentTypes": [
                                                        {
                                                            "typeIdentifier": "t_stringliteral_ce83047b6eeeca52b57db5064e316bb4dc615477077814d1a191d68a4818cbed",
                                                            "typeString": "literal_string \"log(uint,address,string)\""
                                                        },
                                                        {
                                                            "typeIdentifier": "t_uint256",
                                                            "typeString": "uint256"
                                                        },
                                                        {
                                                            "typeIdentifier": "t_address",
                                                            "typeString": "address"
                                                        },
                                                        {
                                                            "typeIdentifier": "t_string_memory_ptr",
                                                            "typeString": "string memory"
                                                        }
                                                    ],
                                                    "expression": {
                                                        "id": 14021,
                                                        "name": "abi",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 4294967295,
                                                        "src": "9478:3:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_magic_abi",
                                                            "typeString": "abi"
                                                        }
                                                    },
                                                    "id": 14022,
                                                    "isConstant": false,
                                                    "isLValue": false,
                                                    "isPure": true,
                                                    "lValueRequested": false,
                                                    "memberName": "encodeWithSignature",
                                                    "nodeType": "MemberAccess",
                                                    "src": "9478:23:62",
                                                    "typeDescriptions": {
                                                        "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$",
                                                        "typeString": "function (string memory) pure returns (bytes memory)"
                                                    }
                                                },
                                                "id": 14027,
                                                "isConstant": false,
                                                "isLValue": false,
                                                "isPure": false,
                                                "kind": "functionCall",
                                                "lValueRequested": false,
                                                "names": [],
                                                "nodeType": "FunctionCall",
                                                "src": "9478:63:62",
                                                "tryCall": false,
                                                "typeDescriptions": {
                                                    "typeIdentifier": "t_bytes_memory_ptr",
                                                    "typeString": "bytes memory"
                                                }
                                            }
                                        ],
                                        "expression": {
                                            "argumentTypes": [
                                                {
                                                    "typeIdentifier": "t_bytes_memory_ptr",
                                                    "typeString": "bytes memory"
                                                }
                                            ],
                                            "id": 14020,
                                            "name": "_sendLogPayload",
                                            "nodeType": "Identifier",
                                            "overloadedDeclarations": [],
                                            "referencedDeclaration": 12880,
                                            "src": "9462:15:62",
                                            "typeDescriptions": {
                                                "typeIdentifier": "t_function_internal_view$_t_bytes_memory_ptr_$returns$__$",
                                                "typeString": "function (bytes memory) view"
                                            }
                                        },
                                        "id": 14028,
                                        "isConstant": false,
                                        "isLValue": false,
                                        "isPure": false,
                                        "kind": "functionCall",
                                        "lValueRequested": false,
                                        "names": [],
                                        "nodeType": "FunctionCall",
                                        "src": "9462:80:62",
                                        "tryCall": false,
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_tuple$__$",
                                            "typeString": "tuple()"
                                        }
                                    },
                                    "id": 14029,
                                    "nodeType": "ExpressionStatement",
                                    "src": "9462:80:62"
                                }
                            ]
                        },
                        "id": 14031,
                        "implemented": true,
                        "kind": "function",
                        "modifiers": [],
                        "name": "log",
                        "nameLocation": "9401:3:62",
                        "nodeType": "FunctionDefinition",
                        "parameters": {
                            "id": 14018,
                            "nodeType": "ParameterList",
                            "parameters": [
                                {
                                    "constant": false,
                                    "id": 14013,
                                    "mutability": "mutable",
                                    "name": "p0",
                                    "nameLocation": "9410:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 14031,
                                    "src": "9405:7:62",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_uint256",
                                        "typeString": "uint256"
                                    },
                                    "typeName": {
                                        "id": 14012,
                                        "name": "uint",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "9405:4:62",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_uint256",
                                            "typeString": "uint256"
                                        }
                                    },
                                    "visibility": "internal"
                                },
                                {
                                    "constant": false,
                                    "id": 14015,
                                    "mutability": "mutable",
                                    "name": "p1",
                                    "nameLocation": "9422:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 14031,
                                    "src": "9414:10:62",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_address",
                                        "typeString": "address"
                                    },
                                    "typeName": {
                                        "id": 14014,
                                        "name": "address",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "9414:7:62",
                                        "stateMutability": "nonpayable",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_address",
                                            "typeString": "address"
                                        }
                                    },
                                    "visibility": "internal"
                                },
                                {
                                    "constant": false,
                                    "id": 14017,
                                    "mutability": "mutable",
                                    "name": "p2",
                                    "nameLocation": "9440:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 14031,
                                    "src": "9426:16:62",
                                    "stateVariable": false,
                                    "storageLocation": "memory",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_string_memory_ptr",
                                        "typeString": "string"
                                    },
                                    "typeName": {
                                        "id": 14016,
                                        "name": "string",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "9426:6:62",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_string_storage_ptr",
                                            "typeString": "string"
                                        }
                                    },
                                    "visibility": "internal"
                                }
                            ],
                            "src": "9404:39:62"
                        },
                        "returnParameters": {
                            "id": 14019,
                            "nodeType": "ParameterList",
                            "parameters": [],
                            "src": "9458:0:62"
                        },
                        "scope": 20920,
                        "src": "9392:154:62",
                        "stateMutability": "view",
                        "virtual": false,
                        "visibility": "internal"
                    },
                    {
                        "body": {
                            "id": 14050,
                            "nodeType": "Block",
                            "src": "9606:86:62",
                            "statements": [
                                {
                                    "expression": {
                                        "arguments": [
                                            {
                                                "arguments": [
                                                    {
                                                        "hexValue": "6c6f672875696e742c616464726573732c626f6f6c29",
                                                        "id": 14043,
                                                        "isConstant": false,
                                                        "isLValue": false,
                                                        "isPure": true,
                                                        "kind": "string",
                                                        "lValueRequested": false,
                                                        "nodeType": "Literal",
                                                        "src": "9650:24:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_stringliteral_7ad0128e41690364edd967a051c6d9cea9f7c322246c5ed2ebc0083265828a80",
                                                            "typeString": "literal_string \"log(uint,address,bool)\""
                                                        },
                                                        "value": "log(uint,address,bool)"
                                                    },
                                                    {
                                                        "id": 14044,
                                                        "name": "p0",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 14033,
                                                        "src": "9676:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_uint256",
                                                            "typeString": "uint256"
                                                        }
                                                    },
                                                    {
                                                        "id": 14045,
                                                        "name": "p1",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 14035,
                                                        "src": "9680:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_address",
                                                            "typeString": "address"
                                                        }
                                                    },
                                                    {
                                                        "id": 14046,
                                                        "name": "p2",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 14037,
                                                        "src": "9684:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_bool",
                                                            "typeString": "bool"
                                                        }
                                                    }
                                                ],
                                                "expression": {
                                                    "argumentTypes": [
                                                        {
                                                            "typeIdentifier": "t_stringliteral_7ad0128e41690364edd967a051c6d9cea9f7c322246c5ed2ebc0083265828a80",
                                                            "typeString": "literal_string \"log(uint,address,bool)\""
                                                        },
                                                        {
                                                            "typeIdentifier": "t_uint256",
                                                            "typeString": "uint256"
                                                        },
                                                        {
                                                            "typeIdentifier": "t_address",
                                                            "typeString": "address"
                                                        },
                                                        {
                                                            "typeIdentifier": "t_bool",
                                                            "typeString": "bool"
                                                        }
                                                    ],
                                                    "expression": {
                                                        "id": 14041,
                                                        "name": "abi",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 4294967295,
                                                        "src": "9626:3:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_magic_abi",
                                                            "typeString": "abi"
                                                        }
                                                    },
                                                    "id": 14042,
                                                    "isConstant": false,
                                                    "isLValue": false,
                                                    "isPure": true,
                                                    "lValueRequested": false,
                                                    "memberName": "encodeWithSignature",
                                                    "nodeType": "MemberAccess",
                                                    "src": "9626:23:62",
                                                    "typeDescriptions": {
                                                        "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$",
                                                        "typeString": "function (string memory) pure returns (bytes memory)"
                                                    }
                                                },
                                                "id": 14047,
                                                "isConstant": false,
                                                "isLValue": false,
                                                "isPure": false,
                                                "kind": "functionCall",
                                                "lValueRequested": false,
                                                "names": [],
                                                "nodeType": "FunctionCall",
                                                "src": "9626:61:62",
                                                "tryCall": false,
                                                "typeDescriptions": {
                                                    "typeIdentifier": "t_bytes_memory_ptr",
                                                    "typeString": "bytes memory"
                                                }
                                            }
                                        ],
                                        "expression": {
                                            "argumentTypes": [
                                                {
                                                    "typeIdentifier": "t_bytes_memory_ptr",
                                                    "typeString": "bytes memory"
                                                }
                                            ],
                                            "id": 14040,
                                            "name": "_sendLogPayload",
                                            "nodeType": "Identifier",
                                            "overloadedDeclarations": [],
                                            "referencedDeclaration": 12880,
                                            "src": "9610:15:62",
                                            "typeDescriptions": {
                                                "typeIdentifier": "t_function_internal_view$_t_bytes_memory_ptr_$returns$__$",
                                                "typeString": "function (bytes memory) view"
                                            }
                                        },
                                        "id": 14048,
                                        "isConstant": false,
                                        "isLValue": false,
                                        "isPure": false,
                                        "kind": "functionCall",
                                        "lValueRequested": false,
                                        "names": [],
                                        "nodeType": "FunctionCall",
                                        "src": "9610:78:62",
                                        "tryCall": false,
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_tuple$__$",
                                            "typeString": "tuple()"
                                        }
                                    },
                                    "id": 14049,
                                    "nodeType": "ExpressionStatement",
                                    "src": "9610:78:62"
                                }
                            ]
                        },
                        "id": 14051,
                        "implemented": true,
                        "kind": "function",
                        "modifiers": [],
                        "name": "log",
                        "nameLocation": "9558:3:62",
                        "nodeType": "FunctionDefinition",
                        "parameters": {
                            "id": 14038,
                            "nodeType": "ParameterList",
                            "parameters": [
                                {
                                    "constant": false,
                                    "id": 14033,
                                    "mutability": "mutable",
                                    "name": "p0",
                                    "nameLocation": "9567:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 14051,
                                    "src": "9562:7:62",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_uint256",
                                        "typeString": "uint256"
                                    },
                                    "typeName": {
                                        "id": 14032,
                                        "name": "uint",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "9562:4:62",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_uint256",
                                            "typeString": "uint256"
                                        }
                                    },
                                    "visibility": "internal"
                                },
                                {
                                    "constant": false,
                                    "id": 14035,
                                    "mutability": "mutable",
                                    "name": "p1",
                                    "nameLocation": "9579:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 14051,
                                    "src": "9571:10:62",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_address",
                                        "typeString": "address"
                                    },
                                    "typeName": {
                                        "id": 14034,
                                        "name": "address",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "9571:7:62",
                                        "stateMutability": "nonpayable",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_address",
                                            "typeString": "address"
                                        }
                                    },
                                    "visibility": "internal"
                                },
                                {
                                    "constant": false,
                                    "id": 14037,
                                    "mutability": "mutable",
                                    "name": "p2",
                                    "nameLocation": "9588:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 14051,
                                    "src": "9583:7:62",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_bool",
                                        "typeString": "bool"
                                    },
                                    "typeName": {
                                        "id": 14036,
                                        "name": "bool",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "9583:4:62",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_bool",
                                            "typeString": "bool"
                                        }
                                    },
                                    "visibility": "internal"
                                }
                            ],
                            "src": "9561:30:62"
                        },
                        "returnParameters": {
                            "id": 14039,
                            "nodeType": "ParameterList",
                            "parameters": [],
                            "src": "9606:0:62"
                        },
                        "scope": 20920,
                        "src": "9549:143:62",
                        "stateMutability": "view",
                        "virtual": false,
                        "visibility": "internal"
                    },
                    {
                        "body": {
                            "id": 14070,
                            "nodeType": "Block",
                            "src": "9755:89:62",
                            "statements": [
                                {
                                    "expression": {
                                        "arguments": [
                                            {
                                                "arguments": [
                                                    {
                                                        "hexValue": "6c6f672875696e742c616464726573732c6164647265737329",
                                                        "id": 14063,
                                                        "isConstant": false,
                                                        "isLValue": false,
                                                        "isPure": true,
                                                        "kind": "string",
                                                        "lValueRequested": false,
                                                        "nodeType": "Literal",
                                                        "src": "9799:27:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_stringliteral_7d77a61be18c592527fe1ce89d591c1badea18ef3198dacc513c5ba08449fd7b",
                                                            "typeString": "literal_string \"log(uint,address,address)\""
                                                        },
                                                        "value": "log(uint,address,address)"
                                                    },
                                                    {
                                                        "id": 14064,
                                                        "name": "p0",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 14053,
                                                        "src": "9828:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_uint256",
                                                            "typeString": "uint256"
                                                        }
                                                    },
                                                    {
                                                        "id": 14065,
                                                        "name": "p1",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 14055,
                                                        "src": "9832:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_address",
                                                            "typeString": "address"
                                                        }
                                                    },
                                                    {
                                                        "id": 14066,
                                                        "name": "p2",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 14057,
                                                        "src": "9836:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_address",
                                                            "typeString": "address"
                                                        }
                                                    }
                                                ],
                                                "expression": {
                                                    "argumentTypes": [
                                                        {
                                                            "typeIdentifier": "t_stringliteral_7d77a61be18c592527fe1ce89d591c1badea18ef3198dacc513c5ba08449fd7b",
                                                            "typeString": "literal_string \"log(uint,address,address)\""
                                                        },
                                                        {
                                                            "typeIdentifier": "t_uint256",
                                                            "typeString": "uint256"
                                                        },
                                                        {
                                                            "typeIdentifier": "t_address",
                                                            "typeString": "address"
                                                        },
                                                        {
                                                            "typeIdentifier": "t_address",
                                                            "typeString": "address"
                                                        }
                                                    ],
                                                    "expression": {
                                                        "id": 14061,
                                                        "name": "abi",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 4294967295,
                                                        "src": "9775:3:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_magic_abi",
                                                            "typeString": "abi"
                                                        }
                                                    },
                                                    "id": 14062,
                                                    "isConstant": false,
                                                    "isLValue": false,
                                                    "isPure": true,
                                                    "lValueRequested": false,
                                                    "memberName": "encodeWithSignature",
                                                    "nodeType": "MemberAccess",
                                                    "src": "9775:23:62",
                                                    "typeDescriptions": {
                                                        "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$",
                                                        "typeString": "function (string memory) pure returns (bytes memory)"
                                                    }
                                                },
                                                "id": 14067,
                                                "isConstant": false,
                                                "isLValue": false,
                                                "isPure": false,
                                                "kind": "functionCall",
                                                "lValueRequested": false,
                                                "names": [],
                                                "nodeType": "FunctionCall",
                                                "src": "9775:64:62",
                                                "tryCall": false,
                                                "typeDescriptions": {
                                                    "typeIdentifier": "t_bytes_memory_ptr",
                                                    "typeString": "bytes memory"
                                                }
                                            }
                                        ],
                                        "expression": {
                                            "argumentTypes": [
                                                {
                                                    "typeIdentifier": "t_bytes_memory_ptr",
                                                    "typeString": "bytes memory"
                                                }
                                            ],
                                            "id": 14060,
                                            "name": "_sendLogPayload",
                                            "nodeType": "Identifier",
                                            "overloadedDeclarations": [],
                                            "referencedDeclaration": 12880,
                                            "src": "9759:15:62",
                                            "typeDescriptions": {
                                                "typeIdentifier": "t_function_internal_view$_t_bytes_memory_ptr_$returns$__$",
                                                "typeString": "function (bytes memory) view"
                                            }
                                        },
                                        "id": 14068,
                                        "isConstant": false,
                                        "isLValue": false,
                                        "isPure": false,
                                        "kind": "functionCall",
                                        "lValueRequested": false,
                                        "names": [],
                                        "nodeType": "FunctionCall",
                                        "src": "9759:81:62",
                                        "tryCall": false,
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_tuple$__$",
                                            "typeString": "tuple()"
                                        }
                                    },
                                    "id": 14069,
                                    "nodeType": "ExpressionStatement",
                                    "src": "9759:81:62"
                                }
                            ]
                        },
                        "id": 14071,
                        "implemented": true,
                        "kind": "function",
                        "modifiers": [],
                        "name": "log",
                        "nameLocation": "9704:3:62",
                        "nodeType": "FunctionDefinition",
                        "parameters": {
                            "id": 14058,
                            "nodeType": "ParameterList",
                            "parameters": [
                                {
                                    "constant": false,
                                    "id": 14053,
                                    "mutability": "mutable",
                                    "name": "p0",
                                    "nameLocation": "9713:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 14071,
                                    "src": "9708:7:62",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_uint256",
                                        "typeString": "uint256"
                                    },
                                    "typeName": {
                                        "id": 14052,
                                        "name": "uint",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "9708:4:62",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_uint256",
                                            "typeString": "uint256"
                                        }
                                    },
                                    "visibility": "internal"
                                },
                                {
                                    "constant": false,
                                    "id": 14055,
                                    "mutability": "mutable",
                                    "name": "p1",
                                    "nameLocation": "9725:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 14071,
                                    "src": "9717:10:62",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_address",
                                        "typeString": "address"
                                    },
                                    "typeName": {
                                        "id": 14054,
                                        "name": "address",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "9717:7:62",
                                        "stateMutability": "nonpayable",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_address",
                                            "typeString": "address"
                                        }
                                    },
                                    "visibility": "internal"
                                },
                                {
                                    "constant": false,
                                    "id": 14057,
                                    "mutability": "mutable",
                                    "name": "p2",
                                    "nameLocation": "9737:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 14071,
                                    "src": "9729:10:62",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_address",
                                        "typeString": "address"
                                    },
                                    "typeName": {
                                        "id": 14056,
                                        "name": "address",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "9729:7:62",
                                        "stateMutability": "nonpayable",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_address",
                                            "typeString": "address"
                                        }
                                    },
                                    "visibility": "internal"
                                }
                            ],
                            "src": "9707:33:62"
                        },
                        "returnParameters": {
                            "id": 14059,
                            "nodeType": "ParameterList",
                            "parameters": [],
                            "src": "9755:0:62"
                        },
                        "scope": 20920,
                        "src": "9695:149:62",
                        "stateMutability": "view",
                        "virtual": false,
                        "visibility": "internal"
                    },
                    {
                        "body": {
                            "id": 14090,
                            "nodeType": "Block",
                            "src": "9910:85:62",
                            "statements": [
                                {
                                    "expression": {
                                        "arguments": [
                                            {
                                                "arguments": [
                                                    {
                                                        "hexValue": "6c6f6728737472696e672c75696e742c75696e7429",
                                                        "id": 14083,
                                                        "isConstant": false,
                                                        "isLValue": false,
                                                        "isPure": true,
                                                        "kind": "string",
                                                        "lValueRequested": false,
                                                        "nodeType": "Literal",
                                                        "src": "9954:23:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_stringliteral_969cdd03749f5aa30c7fce9178272cdca616cb2cc28128d3b9824be8046f827e",
                                                            "typeString": "literal_string \"log(string,uint,uint)\""
                                                        },
                                                        "value": "log(string,uint,uint)"
                                                    },
                                                    {
                                                        "id": 14084,
                                                        "name": "p0",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 14073,
                                                        "src": "9979:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_string_memory_ptr",
                                                            "typeString": "string memory"
                                                        }
                                                    },
                                                    {
                                                        "id": 14085,
                                                        "name": "p1",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 14075,
                                                        "src": "9983:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_uint256",
                                                            "typeString": "uint256"
                                                        }
                                                    },
                                                    {
                                                        "id": 14086,
                                                        "name": "p2",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 14077,
                                                        "src": "9987:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_uint256",
                                                            "typeString": "uint256"
                                                        }
                                                    }
                                                ],
                                                "expression": {
                                                    "argumentTypes": [
                                                        {
                                                            "typeIdentifier": "t_stringliteral_969cdd03749f5aa30c7fce9178272cdca616cb2cc28128d3b9824be8046f827e",
                                                            "typeString": "literal_string \"log(string,uint,uint)\""
                                                        },
                                                        {
                                                            "typeIdentifier": "t_string_memory_ptr",
                                                            "typeString": "string memory"
                                                        },
                                                        {
                                                            "typeIdentifier": "t_uint256",
                                                            "typeString": "uint256"
                                                        },
                                                        {
                                                            "typeIdentifier": "t_uint256",
                                                            "typeString": "uint256"
                                                        }
                                                    ],
                                                    "expression": {
                                                        "id": 14081,
                                                        "name": "abi",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 4294967295,
                                                        "src": "9930:3:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_magic_abi",
                                                            "typeString": "abi"
                                                        }
                                                    },
                                                    "id": 14082,
                                                    "isConstant": false,
                                                    "isLValue": false,
                                                    "isPure": true,
                                                    "lValueRequested": false,
                                                    "memberName": "encodeWithSignature",
                                                    "nodeType": "MemberAccess",
                                                    "src": "9930:23:62",
                                                    "typeDescriptions": {
                                                        "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$",
                                                        "typeString": "function (string memory) pure returns (bytes memory)"
                                                    }
                                                },
                                                "id": 14087,
                                                "isConstant": false,
                                                "isLValue": false,
                                                "isPure": false,
                                                "kind": "functionCall",
                                                "lValueRequested": false,
                                                "names": [],
                                                "nodeType": "FunctionCall",
                                                "src": "9930:60:62",
                                                "tryCall": false,
                                                "typeDescriptions": {
                                                    "typeIdentifier": "t_bytes_memory_ptr",
                                                    "typeString": "bytes memory"
                                                }
                                            }
                                        ],
                                        "expression": {
                                            "argumentTypes": [
                                                {
                                                    "typeIdentifier": "t_bytes_memory_ptr",
                                                    "typeString": "bytes memory"
                                                }
                                            ],
                                            "id": 14080,
                                            "name": "_sendLogPayload",
                                            "nodeType": "Identifier",
                                            "overloadedDeclarations": [],
                                            "referencedDeclaration": 12880,
                                            "src": "9914:15:62",
                                            "typeDescriptions": {
                                                "typeIdentifier": "t_function_internal_view$_t_bytes_memory_ptr_$returns$__$",
                                                "typeString": "function (bytes memory) view"
                                            }
                                        },
                                        "id": 14088,
                                        "isConstant": false,
                                        "isLValue": false,
                                        "isPure": false,
                                        "kind": "functionCall",
                                        "lValueRequested": false,
                                        "names": [],
                                        "nodeType": "FunctionCall",
                                        "src": "9914:77:62",
                                        "tryCall": false,
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_tuple$__$",
                                            "typeString": "tuple()"
                                        }
                                    },
                                    "id": 14089,
                                    "nodeType": "ExpressionStatement",
                                    "src": "9914:77:62"
                                }
                            ]
                        },
                        "id": 14091,
                        "implemented": true,
                        "kind": "function",
                        "modifiers": [],
                        "name": "log",
                        "nameLocation": "9856:3:62",
                        "nodeType": "FunctionDefinition",
                        "parameters": {
                            "id": 14078,
                            "nodeType": "ParameterList",
                            "parameters": [
                                {
                                    "constant": false,
                                    "id": 14073,
                                    "mutability": "mutable",
                                    "name": "p0",
                                    "nameLocation": "9874:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 14091,
                                    "src": "9860:16:62",
                                    "stateVariable": false,
                                    "storageLocation": "memory",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_string_memory_ptr",
                                        "typeString": "string"
                                    },
                                    "typeName": {
                                        "id": 14072,
                                        "name": "string",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "9860:6:62",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_string_storage_ptr",
                                            "typeString": "string"
                                        }
                                    },
                                    "visibility": "internal"
                                },
                                {
                                    "constant": false,
                                    "id": 14075,
                                    "mutability": "mutable",
                                    "name": "p1",
                                    "nameLocation": "9883:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 14091,
                                    "src": "9878:7:62",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_uint256",
                                        "typeString": "uint256"
                                    },
                                    "typeName": {
                                        "id": 14074,
                                        "name": "uint",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "9878:4:62",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_uint256",
                                            "typeString": "uint256"
                                        }
                                    },
                                    "visibility": "internal"
                                },
                                {
                                    "constant": false,
                                    "id": 14077,
                                    "mutability": "mutable",
                                    "name": "p2",
                                    "nameLocation": "9892:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 14091,
                                    "src": "9887:7:62",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_uint256",
                                        "typeString": "uint256"
                                    },
                                    "typeName": {
                                        "id": 14076,
                                        "name": "uint",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "9887:4:62",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_uint256",
                                            "typeString": "uint256"
                                        }
                                    },
                                    "visibility": "internal"
                                }
                            ],
                            "src": "9859:36:62"
                        },
                        "returnParameters": {
                            "id": 14079,
                            "nodeType": "ParameterList",
                            "parameters": [],
                            "src": "9910:0:62"
                        },
                        "scope": 20920,
                        "src": "9847:148:62",
                        "stateMutability": "view",
                        "virtual": false,
                        "visibility": "internal"
                    },
                    {
                        "body": {
                            "id": 14110,
                            "nodeType": "Block",
                            "src": "10070:87:62",
                            "statements": [
                                {
                                    "expression": {
                                        "arguments": [
                                            {
                                                "arguments": [
                                                    {
                                                        "hexValue": "6c6f6728737472696e672c75696e742c737472696e6729",
                                                        "id": 14103,
                                                        "isConstant": false,
                                                        "isLValue": false,
                                                        "isPure": true,
                                                        "kind": "string",
                                                        "lValueRequested": false,
                                                        "nodeType": "Literal",
                                                        "src": "10114:25:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_stringliteral_a3f5c739d439f7a3912e960230088fb752539d00203d48771c643a12b26892ec",
                                                            "typeString": "literal_string \"log(string,uint,string)\""
                                                        },
                                                        "value": "log(string,uint,string)"
                                                    },
                                                    {
                                                        "id": 14104,
                                                        "name": "p0",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 14093,
                                                        "src": "10141:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_string_memory_ptr",
                                                            "typeString": "string memory"
                                                        }
                                                    },
                                                    {
                                                        "id": 14105,
                                                        "name": "p1",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 14095,
                                                        "src": "10145:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_uint256",
                                                            "typeString": "uint256"
                                                        }
                                                    },
                                                    {
                                                        "id": 14106,
                                                        "name": "p2",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 14097,
                                                        "src": "10149:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_string_memory_ptr",
                                                            "typeString": "string memory"
                                                        }
                                                    }
                                                ],
                                                "expression": {
                                                    "argumentTypes": [
                                                        {
                                                            "typeIdentifier": "t_stringliteral_a3f5c739d439f7a3912e960230088fb752539d00203d48771c643a12b26892ec",
                                                            "typeString": "literal_string \"log(string,uint,string)\""
                                                        },
                                                        {
                                                            "typeIdentifier": "t_string_memory_ptr",
                                                            "typeString": "string memory"
                                                        },
                                                        {
                                                            "typeIdentifier": "t_uint256",
                                                            "typeString": "uint256"
                                                        },
                                                        {
                                                            "typeIdentifier": "t_string_memory_ptr",
                                                            "typeString": "string memory"
                                                        }
                                                    ],
                                                    "expression": {
                                                        "id": 14101,
                                                        "name": "abi",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 4294967295,
                                                        "src": "10090:3:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_magic_abi",
                                                            "typeString": "abi"
                                                        }
                                                    },
                                                    "id": 14102,
                                                    "isConstant": false,
                                                    "isLValue": false,
                                                    "isPure": true,
                                                    "lValueRequested": false,
                                                    "memberName": "encodeWithSignature",
                                                    "nodeType": "MemberAccess",
                                                    "src": "10090:23:62",
                                                    "typeDescriptions": {
                                                        "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$",
                                                        "typeString": "function (string memory) pure returns (bytes memory)"
                                                    }
                                                },
                                                "id": 14107,
                                                "isConstant": false,
                                                "isLValue": false,
                                                "isPure": false,
                                                "kind": "functionCall",
                                                "lValueRequested": false,
                                                "names": [],
                                                "nodeType": "FunctionCall",
                                                "src": "10090:62:62",
                                                "tryCall": false,
                                                "typeDescriptions": {
                                                    "typeIdentifier": "t_bytes_memory_ptr",
                                                    "typeString": "bytes memory"
                                                }
                                            }
                                        ],
                                        "expression": {
                                            "argumentTypes": [
                                                {
                                                    "typeIdentifier": "t_bytes_memory_ptr",
                                                    "typeString": "bytes memory"
                                                }
                                            ],
                                            "id": 14100,
                                            "name": "_sendLogPayload",
                                            "nodeType": "Identifier",
                                            "overloadedDeclarations": [],
                                            "referencedDeclaration": 12880,
                                            "src": "10074:15:62",
                                            "typeDescriptions": {
                                                "typeIdentifier": "t_function_internal_view$_t_bytes_memory_ptr_$returns$__$",
                                                "typeString": "function (bytes memory) view"
                                            }
                                        },
                                        "id": 14108,
                                        "isConstant": false,
                                        "isLValue": false,
                                        "isPure": false,
                                        "kind": "functionCall",
                                        "lValueRequested": false,
                                        "names": [],
                                        "nodeType": "FunctionCall",
                                        "src": "10074:79:62",
                                        "tryCall": false,
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_tuple$__$",
                                            "typeString": "tuple()"
                                        }
                                    },
                                    "id": 14109,
                                    "nodeType": "ExpressionStatement",
                                    "src": "10074:79:62"
                                }
                            ]
                        },
                        "id": 14111,
                        "implemented": true,
                        "kind": "function",
                        "modifiers": [],
                        "name": "log",
                        "nameLocation": "10007:3:62",
                        "nodeType": "FunctionDefinition",
                        "parameters": {
                            "id": 14098,
                            "nodeType": "ParameterList",
                            "parameters": [
                                {
                                    "constant": false,
                                    "id": 14093,
                                    "mutability": "mutable",
                                    "name": "p0",
                                    "nameLocation": "10025:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 14111,
                                    "src": "10011:16:62",
                                    "stateVariable": false,
                                    "storageLocation": "memory",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_string_memory_ptr",
                                        "typeString": "string"
                                    },
                                    "typeName": {
                                        "id": 14092,
                                        "name": "string",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "10011:6:62",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_string_storage_ptr",
                                            "typeString": "string"
                                        }
                                    },
                                    "visibility": "internal"
                                },
                                {
                                    "constant": false,
                                    "id": 14095,
                                    "mutability": "mutable",
                                    "name": "p1",
                                    "nameLocation": "10034:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 14111,
                                    "src": "10029:7:62",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_uint256",
                                        "typeString": "uint256"
                                    },
                                    "typeName": {
                                        "id": 14094,
                                        "name": "uint",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "10029:4:62",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_uint256",
                                            "typeString": "uint256"
                                        }
                                    },
                                    "visibility": "internal"
                                },
                                {
                                    "constant": false,
                                    "id": 14097,
                                    "mutability": "mutable",
                                    "name": "p2",
                                    "nameLocation": "10052:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 14111,
                                    "src": "10038:16:62",
                                    "stateVariable": false,
                                    "storageLocation": "memory",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_string_memory_ptr",
                                        "typeString": "string"
                                    },
                                    "typeName": {
                                        "id": 14096,
                                        "name": "string",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "10038:6:62",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_string_storage_ptr",
                                            "typeString": "string"
                                        }
                                    },
                                    "visibility": "internal"
                                }
                            ],
                            "src": "10010:45:62"
                        },
                        "returnParameters": {
                            "id": 14099,
                            "nodeType": "ParameterList",
                            "parameters": [],
                            "src": "10070:0:62"
                        },
                        "scope": 20920,
                        "src": "9998:159:62",
                        "stateMutability": "view",
                        "virtual": false,
                        "visibility": "internal"
                    },
                    {
                        "body": {
                            "id": 14130,
                            "nodeType": "Block",
                            "src": "10223:85:62",
                            "statements": [
                                {
                                    "expression": {
                                        "arguments": [
                                            {
                                                "arguments": [
                                                    {
                                                        "hexValue": "6c6f6728737472696e672c75696e742c626f6f6c29",
                                                        "id": 14123,
                                                        "isConstant": false,
                                                        "isLValue": false,
                                                        "isPure": true,
                                                        "kind": "string",
                                                        "lValueRequested": false,
                                                        "nodeType": "Literal",
                                                        "src": "10267:23:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_stringliteral_f102ee05f3b79d3bc2ba0350401e35479d9f95705fb40abfaeb49d12355695b3",
                                                            "typeString": "literal_string \"log(string,uint,bool)\""
                                                        },
                                                        "value": "log(string,uint,bool)"
                                                    },
                                                    {
                                                        "id": 14124,
                                                        "name": "p0",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 14113,
                                                        "src": "10292:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_string_memory_ptr",
                                                            "typeString": "string memory"
                                                        }
                                                    },
                                                    {
                                                        "id": 14125,
                                                        "name": "p1",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 14115,
                                                        "src": "10296:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_uint256",
                                                            "typeString": "uint256"
                                                        }
                                                    },
                                                    {
                                                        "id": 14126,
                                                        "name": "p2",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 14117,
                                                        "src": "10300:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_bool",
                                                            "typeString": "bool"
                                                        }
                                                    }
                                                ],
                                                "expression": {
                                                    "argumentTypes": [
                                                        {
                                                            "typeIdentifier": "t_stringliteral_f102ee05f3b79d3bc2ba0350401e35479d9f95705fb40abfaeb49d12355695b3",
                                                            "typeString": "literal_string \"log(string,uint,bool)\""
                                                        },
                                                        {
                                                            "typeIdentifier": "t_string_memory_ptr",
                                                            "typeString": "string memory"
                                                        },
                                                        {
                                                            "typeIdentifier": "t_uint256",
                                                            "typeString": "uint256"
                                                        },
                                                        {
                                                            "typeIdentifier": "t_bool",
                                                            "typeString": "bool"
                                                        }
                                                    ],
                                                    "expression": {
                                                        "id": 14121,
                                                        "name": "abi",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 4294967295,
                                                        "src": "10243:3:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_magic_abi",
                                                            "typeString": "abi"
                                                        }
                                                    },
                                                    "id": 14122,
                                                    "isConstant": false,
                                                    "isLValue": false,
                                                    "isPure": true,
                                                    "lValueRequested": false,
                                                    "memberName": "encodeWithSignature",
                                                    "nodeType": "MemberAccess",
                                                    "src": "10243:23:62",
                                                    "typeDescriptions": {
                                                        "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$",
                                                        "typeString": "function (string memory) pure returns (bytes memory)"
                                                    }
                                                },
                                                "id": 14127,
                                                "isConstant": false,
                                                "isLValue": false,
                                                "isPure": false,
                                                "kind": "functionCall",
                                                "lValueRequested": false,
                                                "names": [],
                                                "nodeType": "FunctionCall",
                                                "src": "10243:60:62",
                                                "tryCall": false,
                                                "typeDescriptions": {
                                                    "typeIdentifier": "t_bytes_memory_ptr",
                                                    "typeString": "bytes memory"
                                                }
                                            }
                                        ],
                                        "expression": {
                                            "argumentTypes": [
                                                {
                                                    "typeIdentifier": "t_bytes_memory_ptr",
                                                    "typeString": "bytes memory"
                                                }
                                            ],
                                            "id": 14120,
                                            "name": "_sendLogPayload",
                                            "nodeType": "Identifier",
                                            "overloadedDeclarations": [],
                                            "referencedDeclaration": 12880,
                                            "src": "10227:15:62",
                                            "typeDescriptions": {
                                                "typeIdentifier": "t_function_internal_view$_t_bytes_memory_ptr_$returns$__$",
                                                "typeString": "function (bytes memory) view"
                                            }
                                        },
                                        "id": 14128,
                                        "isConstant": false,
                                        "isLValue": false,
                                        "isPure": false,
                                        "kind": "functionCall",
                                        "lValueRequested": false,
                                        "names": [],
                                        "nodeType": "FunctionCall",
                                        "src": "10227:77:62",
                                        "tryCall": false,
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_tuple$__$",
                                            "typeString": "tuple()"
                                        }
                                    },
                                    "id": 14129,
                                    "nodeType": "ExpressionStatement",
                                    "src": "10227:77:62"
                                }
                            ]
                        },
                        "id": 14131,
                        "implemented": true,
                        "kind": "function",
                        "modifiers": [],
                        "name": "log",
                        "nameLocation": "10169:3:62",
                        "nodeType": "FunctionDefinition",
                        "parameters": {
                            "id": 14118,
                            "nodeType": "ParameterList",
                            "parameters": [
                                {
                                    "constant": false,
                                    "id": 14113,
                                    "mutability": "mutable",
                                    "name": "p0",
                                    "nameLocation": "10187:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 14131,
                                    "src": "10173:16:62",
                                    "stateVariable": false,
                                    "storageLocation": "memory",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_string_memory_ptr",
                                        "typeString": "string"
                                    },
                                    "typeName": {
                                        "id": 14112,
                                        "name": "string",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "10173:6:62",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_string_storage_ptr",
                                            "typeString": "string"
                                        }
                                    },
                                    "visibility": "internal"
                                },
                                {
                                    "constant": false,
                                    "id": 14115,
                                    "mutability": "mutable",
                                    "name": "p1",
                                    "nameLocation": "10196:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 14131,
                                    "src": "10191:7:62",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_uint256",
                                        "typeString": "uint256"
                                    },
                                    "typeName": {
                                        "id": 14114,
                                        "name": "uint",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "10191:4:62",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_uint256",
                                            "typeString": "uint256"
                                        }
                                    },
                                    "visibility": "internal"
                                },
                                {
                                    "constant": false,
                                    "id": 14117,
                                    "mutability": "mutable",
                                    "name": "p2",
                                    "nameLocation": "10205:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 14131,
                                    "src": "10200:7:62",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_bool",
                                        "typeString": "bool"
                                    },
                                    "typeName": {
                                        "id": 14116,
                                        "name": "bool",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "10200:4:62",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_bool",
                                            "typeString": "bool"
                                        }
                                    },
                                    "visibility": "internal"
                                }
                            ],
                            "src": "10172:36:62"
                        },
                        "returnParameters": {
                            "id": 14119,
                            "nodeType": "ParameterList",
                            "parameters": [],
                            "src": "10223:0:62"
                        },
                        "scope": 20920,
                        "src": "10160:148:62",
                        "stateMutability": "view",
                        "virtual": false,
                        "visibility": "internal"
                    },
                    {
                        "body": {
                            "id": 14150,
                            "nodeType": "Block",
                            "src": "10377:88:62",
                            "statements": [
                                {
                                    "expression": {
                                        "arguments": [
                                            {
                                                "arguments": [
                                                    {
                                                        "hexValue": "6c6f6728737472696e672c75696e742c6164647265737329",
                                                        "id": 14143,
                                                        "isConstant": false,
                                                        "isLValue": false,
                                                        "isPure": true,
                                                        "kind": "string",
                                                        "lValueRequested": false,
                                                        "nodeType": "Literal",
                                                        "src": "10421:26:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_stringliteral_e3849f79a3c07bea1bae0837bfeee5da2531684b262865f1541a60df4fcd512a",
                                                            "typeString": "literal_string \"log(string,uint,address)\""
                                                        },
                                                        "value": "log(string,uint,address)"
                                                    },
                                                    {
                                                        "id": 14144,
                                                        "name": "p0",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 14133,
                                                        "src": "10449:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_string_memory_ptr",
                                                            "typeString": "string memory"
                                                        }
                                                    },
                                                    {
                                                        "id": 14145,
                                                        "name": "p1",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 14135,
                                                        "src": "10453:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_uint256",
                                                            "typeString": "uint256"
                                                        }
                                                    },
                                                    {
                                                        "id": 14146,
                                                        "name": "p2",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 14137,
                                                        "src": "10457:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_address",
                                                            "typeString": "address"
                                                        }
                                                    }
                                                ],
                                                "expression": {
                                                    "argumentTypes": [
                                                        {
                                                            "typeIdentifier": "t_stringliteral_e3849f79a3c07bea1bae0837bfeee5da2531684b262865f1541a60df4fcd512a",
                                                            "typeString": "literal_string \"log(string,uint,address)\""
                                                        },
                                                        {
                                                            "typeIdentifier": "t_string_memory_ptr",
                                                            "typeString": "string memory"
                                                        },
                                                        {
                                                            "typeIdentifier": "t_uint256",
                                                            "typeString": "uint256"
                                                        },
                                                        {
                                                            "typeIdentifier": "t_address",
                                                            "typeString": "address"
                                                        }
                                                    ],
                                                    "expression": {
                                                        "id": 14141,
                                                        "name": "abi",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 4294967295,
                                                        "src": "10397:3:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_magic_abi",
                                                            "typeString": "abi"
                                                        }
                                                    },
                                                    "id": 14142,
                                                    "isConstant": false,
                                                    "isLValue": false,
                                                    "isPure": true,
                                                    "lValueRequested": false,
                                                    "memberName": "encodeWithSignature",
                                                    "nodeType": "MemberAccess",
                                                    "src": "10397:23:62",
                                                    "typeDescriptions": {
                                                        "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$",
                                                        "typeString": "function (string memory) pure returns (bytes memory)"
                                                    }
                                                },
                                                "id": 14147,
                                                "isConstant": false,
                                                "isLValue": false,
                                                "isPure": false,
                                                "kind": "functionCall",
                                                "lValueRequested": false,
                                                "names": [],
                                                "nodeType": "FunctionCall",
                                                "src": "10397:63:62",
                                                "tryCall": false,
                                                "typeDescriptions": {
                                                    "typeIdentifier": "t_bytes_memory_ptr",
                                                    "typeString": "bytes memory"
                                                }
                                            }
                                        ],
                                        "expression": {
                                            "argumentTypes": [
                                                {
                                                    "typeIdentifier": "t_bytes_memory_ptr",
                                                    "typeString": "bytes memory"
                                                }
                                            ],
                                            "id": 14140,
                                            "name": "_sendLogPayload",
                                            "nodeType": "Identifier",
                                            "overloadedDeclarations": [],
                                            "referencedDeclaration": 12880,
                                            "src": "10381:15:62",
                                            "typeDescriptions": {
                                                "typeIdentifier": "t_function_internal_view$_t_bytes_memory_ptr_$returns$__$",
                                                "typeString": "function (bytes memory) view"
                                            }
                                        },
                                        "id": 14148,
                                        "isConstant": false,
                                        "isLValue": false,
                                        "isPure": false,
                                        "kind": "functionCall",
                                        "lValueRequested": false,
                                        "names": [],
                                        "nodeType": "FunctionCall",
                                        "src": "10381:80:62",
                                        "tryCall": false,
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_tuple$__$",
                                            "typeString": "tuple()"
                                        }
                                    },
                                    "id": 14149,
                                    "nodeType": "ExpressionStatement",
                                    "src": "10381:80:62"
                                }
                            ]
                        },
                        "id": 14151,
                        "implemented": true,
                        "kind": "function",
                        "modifiers": [],
                        "name": "log",
                        "nameLocation": "10320:3:62",
                        "nodeType": "FunctionDefinition",
                        "parameters": {
                            "id": 14138,
                            "nodeType": "ParameterList",
                            "parameters": [
                                {
                                    "constant": false,
                                    "id": 14133,
                                    "mutability": "mutable",
                                    "name": "p0",
                                    "nameLocation": "10338:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 14151,
                                    "src": "10324:16:62",
                                    "stateVariable": false,
                                    "storageLocation": "memory",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_string_memory_ptr",
                                        "typeString": "string"
                                    },
                                    "typeName": {
                                        "id": 14132,
                                        "name": "string",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "10324:6:62",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_string_storage_ptr",
                                            "typeString": "string"
                                        }
                                    },
                                    "visibility": "internal"
                                },
                                {
                                    "constant": false,
                                    "id": 14135,
                                    "mutability": "mutable",
                                    "name": "p1",
                                    "nameLocation": "10347:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 14151,
                                    "src": "10342:7:62",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_uint256",
                                        "typeString": "uint256"
                                    },
                                    "typeName": {
                                        "id": 14134,
                                        "name": "uint",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "10342:4:62",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_uint256",
                                            "typeString": "uint256"
                                        }
                                    },
                                    "visibility": "internal"
                                },
                                {
                                    "constant": false,
                                    "id": 14137,
                                    "mutability": "mutable",
                                    "name": "p2",
                                    "nameLocation": "10359:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 14151,
                                    "src": "10351:10:62",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_address",
                                        "typeString": "address"
                                    },
                                    "typeName": {
                                        "id": 14136,
                                        "name": "address",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "10351:7:62",
                                        "stateMutability": "nonpayable",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_address",
                                            "typeString": "address"
                                        }
                                    },
                                    "visibility": "internal"
                                }
                            ],
                            "src": "10323:39:62"
                        },
                        "returnParameters": {
                            "id": 14139,
                            "nodeType": "ParameterList",
                            "parameters": [],
                            "src": "10377:0:62"
                        },
                        "scope": 20920,
                        "src": "10311:154:62",
                        "stateMutability": "view",
                        "virtual": false,
                        "visibility": "internal"
                    },
                    {
                        "body": {
                            "id": 14170,
                            "nodeType": "Block",
                            "src": "10540:87:62",
                            "statements": [
                                {
                                    "expression": {
                                        "arguments": [
                                            {
                                                "arguments": [
                                                    {
                                                        "hexValue": "6c6f6728737472696e672c737472696e672c75696e7429",
                                                        "id": 14163,
                                                        "isConstant": false,
                                                        "isLValue": false,
                                                        "isPure": true,
                                                        "kind": "string",
                                                        "lValueRequested": false,
                                                        "nodeType": "Literal",
                                                        "src": "10584:25:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_stringliteral_f362ca59af8dc58335601f00e8a4f3f8cd0c03c9716c1459118a41613b5e0147",
                                                            "typeString": "literal_string \"log(string,string,uint)\""
                                                        },
                                                        "value": "log(string,string,uint)"
                                                    },
                                                    {
                                                        "id": 14164,
                                                        "name": "p0",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 14153,
                                                        "src": "10611:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_string_memory_ptr",
                                                            "typeString": "string memory"
                                                        }
                                                    },
                                                    {
                                                        "id": 14165,
                                                        "name": "p1",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 14155,
                                                        "src": "10615:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_string_memory_ptr",
                                                            "typeString": "string memory"
                                                        }
                                                    },
                                                    {
                                                        "id": 14166,
                                                        "name": "p2",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 14157,
                                                        "src": "10619:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_uint256",
                                                            "typeString": "uint256"
                                                        }
                                                    }
                                                ],
                                                "expression": {
                                                    "argumentTypes": [
                                                        {
                                                            "typeIdentifier": "t_stringliteral_f362ca59af8dc58335601f00e8a4f3f8cd0c03c9716c1459118a41613b5e0147",
                                                            "typeString": "literal_string \"log(string,string,uint)\""
                                                        },
                                                        {
                                                            "typeIdentifier": "t_string_memory_ptr",
                                                            "typeString": "string memory"
                                                        },
                                                        {
                                                            "typeIdentifier": "t_string_memory_ptr",
                                                            "typeString": "string memory"
                                                        },
                                                        {
                                                            "typeIdentifier": "t_uint256",
                                                            "typeString": "uint256"
                                                        }
                                                    ],
                                                    "expression": {
                                                        "id": 14161,
                                                        "name": "abi",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 4294967295,
                                                        "src": "10560:3:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_magic_abi",
                                                            "typeString": "abi"
                                                        }
                                                    },
                                                    "id": 14162,
                                                    "isConstant": false,
                                                    "isLValue": false,
                                                    "isPure": true,
                                                    "lValueRequested": false,
                                                    "memberName": "encodeWithSignature",
                                                    "nodeType": "MemberAccess",
                                                    "src": "10560:23:62",
                                                    "typeDescriptions": {
                                                        "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$",
                                                        "typeString": "function (string memory) pure returns (bytes memory)"
                                                    }
                                                },
                                                "id": 14167,
                                                "isConstant": false,
                                                "isLValue": false,
                                                "isPure": false,
                                                "kind": "functionCall",
                                                "lValueRequested": false,
                                                "names": [],
                                                "nodeType": "FunctionCall",
                                                "src": "10560:62:62",
                                                "tryCall": false,
                                                "typeDescriptions": {
                                                    "typeIdentifier": "t_bytes_memory_ptr",
                                                    "typeString": "bytes memory"
                                                }
                                            }
                                        ],
                                        "expression": {
                                            "argumentTypes": [
                                                {
                                                    "typeIdentifier": "t_bytes_memory_ptr",
                                                    "typeString": "bytes memory"
                                                }
                                            ],
                                            "id": 14160,
                                            "name": "_sendLogPayload",
                                            "nodeType": "Identifier",
                                            "overloadedDeclarations": [],
                                            "referencedDeclaration": 12880,
                                            "src": "10544:15:62",
                                            "typeDescriptions": {
                                                "typeIdentifier": "t_function_internal_view$_t_bytes_memory_ptr_$returns$__$",
                                                "typeString": "function (bytes memory) view"
                                            }
                                        },
                                        "id": 14168,
                                        "isConstant": false,
                                        "isLValue": false,
                                        "isPure": false,
                                        "kind": "functionCall",
                                        "lValueRequested": false,
                                        "names": [],
                                        "nodeType": "FunctionCall",
                                        "src": "10544:79:62",
                                        "tryCall": false,
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_tuple$__$",
                                            "typeString": "tuple()"
                                        }
                                    },
                                    "id": 14169,
                                    "nodeType": "ExpressionStatement",
                                    "src": "10544:79:62"
                                }
                            ]
                        },
                        "id": 14171,
                        "implemented": true,
                        "kind": "function",
                        "modifiers": [],
                        "name": "log",
                        "nameLocation": "10477:3:62",
                        "nodeType": "FunctionDefinition",
                        "parameters": {
                            "id": 14158,
                            "nodeType": "ParameterList",
                            "parameters": [
                                {
                                    "constant": false,
                                    "id": 14153,
                                    "mutability": "mutable",
                                    "name": "p0",
                                    "nameLocation": "10495:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 14171,
                                    "src": "10481:16:62",
                                    "stateVariable": false,
                                    "storageLocation": "memory",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_string_memory_ptr",
                                        "typeString": "string"
                                    },
                                    "typeName": {
                                        "id": 14152,
                                        "name": "string",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "10481:6:62",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_string_storage_ptr",
                                            "typeString": "string"
                                        }
                                    },
                                    "visibility": "internal"
                                },
                                {
                                    "constant": false,
                                    "id": 14155,
                                    "mutability": "mutable",
                                    "name": "p1",
                                    "nameLocation": "10513:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 14171,
                                    "src": "10499:16:62",
                                    "stateVariable": false,
                                    "storageLocation": "memory",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_string_memory_ptr",
                                        "typeString": "string"
                                    },
                                    "typeName": {
                                        "id": 14154,
                                        "name": "string",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "10499:6:62",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_string_storage_ptr",
                                            "typeString": "string"
                                        }
                                    },
                                    "visibility": "internal"
                                },
                                {
                                    "constant": false,
                                    "id": 14157,
                                    "mutability": "mutable",
                                    "name": "p2",
                                    "nameLocation": "10522:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 14171,
                                    "src": "10517:7:62",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_uint256",
                                        "typeString": "uint256"
                                    },
                                    "typeName": {
                                        "id": 14156,
                                        "name": "uint",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "10517:4:62",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_uint256",
                                            "typeString": "uint256"
                                        }
                                    },
                                    "visibility": "internal"
                                }
                            ],
                            "src": "10480:45:62"
                        },
                        "returnParameters": {
                            "id": 14159,
                            "nodeType": "ParameterList",
                            "parameters": [],
                            "src": "10540:0:62"
                        },
                        "scope": 20920,
                        "src": "10468:159:62",
                        "stateMutability": "view",
                        "virtual": false,
                        "visibility": "internal"
                    },
                    {
                        "body": {
                            "id": 14190,
                            "nodeType": "Block",
                            "src": "10711:89:62",
                            "statements": [
                                {
                                    "expression": {
                                        "arguments": [
                                            {
                                                "arguments": [
                                                    {
                                                        "hexValue": "6c6f6728737472696e672c737472696e672c737472696e6729",
                                                        "id": 14183,
                                                        "isConstant": false,
                                                        "isLValue": false,
                                                        "isPure": true,
                                                        "kind": "string",
                                                        "lValueRequested": false,
                                                        "nodeType": "Literal",
                                                        "src": "10755:27:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_stringliteral_2ced7cef693312206c21f0e92e3b54e2e16bf33db5eec350c78866822c665e1f",
                                                            "typeString": "literal_string \"log(string,string,string)\""
                                                        },
                                                        "value": "log(string,string,string)"
                                                    },
                                                    {
                                                        "id": 14184,
                                                        "name": "p0",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 14173,
                                                        "src": "10784:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_string_memory_ptr",
                                                            "typeString": "string memory"
                                                        }
                                                    },
                                                    {
                                                        "id": 14185,
                                                        "name": "p1",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 14175,
                                                        "src": "10788:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_string_memory_ptr",
                                                            "typeString": "string memory"
                                                        }
                                                    },
                                                    {
                                                        "id": 14186,
                                                        "name": "p2",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 14177,
                                                        "src": "10792:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_string_memory_ptr",
                                                            "typeString": "string memory"
                                                        }
                                                    }
                                                ],
                                                "expression": {
                                                    "argumentTypes": [
                                                        {
                                                            "typeIdentifier": "t_stringliteral_2ced7cef693312206c21f0e92e3b54e2e16bf33db5eec350c78866822c665e1f",
                                                            "typeString": "literal_string \"log(string,string,string)\""
                                                        },
                                                        {
                                                            "typeIdentifier": "t_string_memory_ptr",
                                                            "typeString": "string memory"
                                                        },
                                                        {
                                                            "typeIdentifier": "t_string_memory_ptr",
                                                            "typeString": "string memory"
                                                        },
                                                        {
                                                            "typeIdentifier": "t_string_memory_ptr",
                                                            "typeString": "string memory"
                                                        }
                                                    ],
                                                    "expression": {
                                                        "id": 14181,
                                                        "name": "abi",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 4294967295,
                                                        "src": "10731:3:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_magic_abi",
                                                            "typeString": "abi"
                                                        }
                                                    },
                                                    "id": 14182,
                                                    "isConstant": false,
                                                    "isLValue": false,
                                                    "isPure": true,
                                                    "lValueRequested": false,
                                                    "memberName": "encodeWithSignature",
                                                    "nodeType": "MemberAccess",
                                                    "src": "10731:23:62",
                                                    "typeDescriptions": {
                                                        "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$",
                                                        "typeString": "function (string memory) pure returns (bytes memory)"
                                                    }
                                                },
                                                "id": 14187,
                                                "isConstant": false,
                                                "isLValue": false,
                                                "isPure": false,
                                                "kind": "functionCall",
                                                "lValueRequested": false,
                                                "names": [],
                                                "nodeType": "FunctionCall",
                                                "src": "10731:64:62",
                                                "tryCall": false,
                                                "typeDescriptions": {
                                                    "typeIdentifier": "t_bytes_memory_ptr",
                                                    "typeString": "bytes memory"
                                                }
                                            }
                                        ],
                                        "expression": {
                                            "argumentTypes": [
                                                {
                                                    "typeIdentifier": "t_bytes_memory_ptr",
                                                    "typeString": "bytes memory"
                                                }
                                            ],
                                            "id": 14180,
                                            "name": "_sendLogPayload",
                                            "nodeType": "Identifier",
                                            "overloadedDeclarations": [],
                                            "referencedDeclaration": 12880,
                                            "src": "10715:15:62",
                                            "typeDescriptions": {
                                                "typeIdentifier": "t_function_internal_view$_t_bytes_memory_ptr_$returns$__$",
                                                "typeString": "function (bytes memory) view"
                                            }
                                        },
                                        "id": 14188,
                                        "isConstant": false,
                                        "isLValue": false,
                                        "isPure": false,
                                        "kind": "functionCall",
                                        "lValueRequested": false,
                                        "names": [],
                                        "nodeType": "FunctionCall",
                                        "src": "10715:81:62",
                                        "tryCall": false,
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_tuple$__$",
                                            "typeString": "tuple()"
                                        }
                                    },
                                    "id": 14189,
                                    "nodeType": "ExpressionStatement",
                                    "src": "10715:81:62"
                                }
                            ]
                        },
                        "id": 14191,
                        "implemented": true,
                        "kind": "function",
                        "modifiers": [],
                        "name": "log",
                        "nameLocation": "10639:3:62",
                        "nodeType": "FunctionDefinition",
                        "parameters": {
                            "id": 14178,
                            "nodeType": "ParameterList",
                            "parameters": [
                                {
                                    "constant": false,
                                    "id": 14173,
                                    "mutability": "mutable",
                                    "name": "p0",
                                    "nameLocation": "10657:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 14191,
                                    "src": "10643:16:62",
                                    "stateVariable": false,
                                    "storageLocation": "memory",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_string_memory_ptr",
                                        "typeString": "string"
                                    },
                                    "typeName": {
                                        "id": 14172,
                                        "name": "string",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "10643:6:62",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_string_storage_ptr",
                                            "typeString": "string"
                                        }
                                    },
                                    "visibility": "internal"
                                },
                                {
                                    "constant": false,
                                    "id": 14175,
                                    "mutability": "mutable",
                                    "name": "p1",
                                    "nameLocation": "10675:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 14191,
                                    "src": "10661:16:62",
                                    "stateVariable": false,
                                    "storageLocation": "memory",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_string_memory_ptr",
                                        "typeString": "string"
                                    },
                                    "typeName": {
                                        "id": 14174,
                                        "name": "string",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "10661:6:62",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_string_storage_ptr",
                                            "typeString": "string"
                                        }
                                    },
                                    "visibility": "internal"
                                },
                                {
                                    "constant": false,
                                    "id": 14177,
                                    "mutability": "mutable",
                                    "name": "p2",
                                    "nameLocation": "10693:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 14191,
                                    "src": "10679:16:62",
                                    "stateVariable": false,
                                    "storageLocation": "memory",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_string_memory_ptr",
                                        "typeString": "string"
                                    },
                                    "typeName": {
                                        "id": 14176,
                                        "name": "string",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "10679:6:62",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_string_storage_ptr",
                                            "typeString": "string"
                                        }
                                    },
                                    "visibility": "internal"
                                }
                            ],
                            "src": "10642:54:62"
                        },
                        "returnParameters": {
                            "id": 14179,
                            "nodeType": "ParameterList",
                            "parameters": [],
                            "src": "10711:0:62"
                        },
                        "scope": 20920,
                        "src": "10630:170:62",
                        "stateMutability": "view",
                        "virtual": false,
                        "visibility": "internal"
                    },
                    {
                        "body": {
                            "id": 14210,
                            "nodeType": "Block",
                            "src": "10875:87:62",
                            "statements": [
                                {
                                    "expression": {
                                        "arguments": [
                                            {
                                                "arguments": [
                                                    {
                                                        "hexValue": "6c6f6728737472696e672c737472696e672c626f6f6c29",
                                                        "id": 14203,
                                                        "isConstant": false,
                                                        "isLValue": false,
                                                        "isPure": true,
                                                        "kind": "string",
                                                        "lValueRequested": false,
                                                        "nodeType": "Literal",
                                                        "src": "10919:25:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_stringliteral_b0e0f9b5ad960213f9ab262d120ce4ec3edffc58d1ad51b99628a777e82d8acb",
                                                            "typeString": "literal_string \"log(string,string,bool)\""
                                                        },
                                                        "value": "log(string,string,bool)"
                                                    },
                                                    {
                                                        "id": 14204,
                                                        "name": "p0",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 14193,
                                                        "src": "10946:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_string_memory_ptr",
                                                            "typeString": "string memory"
                                                        }
                                                    },
                                                    {
                                                        "id": 14205,
                                                        "name": "p1",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 14195,
                                                        "src": "10950:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_string_memory_ptr",
                                                            "typeString": "string memory"
                                                        }
                                                    },
                                                    {
                                                        "id": 14206,
                                                        "name": "p2",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 14197,
                                                        "src": "10954:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_bool",
                                                            "typeString": "bool"
                                                        }
                                                    }
                                                ],
                                                "expression": {
                                                    "argumentTypes": [
                                                        {
                                                            "typeIdentifier": "t_stringliteral_b0e0f9b5ad960213f9ab262d120ce4ec3edffc58d1ad51b99628a777e82d8acb",
                                                            "typeString": "literal_string \"log(string,string,bool)\""
                                                        },
                                                        {
                                                            "typeIdentifier": "t_string_memory_ptr",
                                                            "typeString": "string memory"
                                                        },
                                                        {
                                                            "typeIdentifier": "t_string_memory_ptr",
                                                            "typeString": "string memory"
                                                        },
                                                        {
                                                            "typeIdentifier": "t_bool",
                                                            "typeString": "bool"
                                                        }
                                                    ],
                                                    "expression": {
                                                        "id": 14201,
                                                        "name": "abi",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 4294967295,
                                                        "src": "10895:3:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_magic_abi",
                                                            "typeString": "abi"
                                                        }
                                                    },
                                                    "id": 14202,
                                                    "isConstant": false,
                                                    "isLValue": false,
                                                    "isPure": true,
                                                    "lValueRequested": false,
                                                    "memberName": "encodeWithSignature",
                                                    "nodeType": "MemberAccess",
                                                    "src": "10895:23:62",
                                                    "typeDescriptions": {
                                                        "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$",
                                                        "typeString": "function (string memory) pure returns (bytes memory)"
                                                    }
                                                },
                                                "id": 14207,
                                                "isConstant": false,
                                                "isLValue": false,
                                                "isPure": false,
                                                "kind": "functionCall",
                                                "lValueRequested": false,
                                                "names": [],
                                                "nodeType": "FunctionCall",
                                                "src": "10895:62:62",
                                                "tryCall": false,
                                                "typeDescriptions": {
                                                    "typeIdentifier": "t_bytes_memory_ptr",
                                                    "typeString": "bytes memory"
                                                }
                                            }
                                        ],
                                        "expression": {
                                            "argumentTypes": [
                                                {
                                                    "typeIdentifier": "t_bytes_memory_ptr",
                                                    "typeString": "bytes memory"
                                                }
                                            ],
                                            "id": 14200,
                                            "name": "_sendLogPayload",
                                            "nodeType": "Identifier",
                                            "overloadedDeclarations": [],
                                            "referencedDeclaration": 12880,
                                            "src": "10879:15:62",
                                            "typeDescriptions": {
                                                "typeIdentifier": "t_function_internal_view$_t_bytes_memory_ptr_$returns$__$",
                                                "typeString": "function (bytes memory) view"
                                            }
                                        },
                                        "id": 14208,
                                        "isConstant": false,
                                        "isLValue": false,
                                        "isPure": false,
                                        "kind": "functionCall",
                                        "lValueRequested": false,
                                        "names": [],
                                        "nodeType": "FunctionCall",
                                        "src": "10879:79:62",
                                        "tryCall": false,
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_tuple$__$",
                                            "typeString": "tuple()"
                                        }
                                    },
                                    "id": 14209,
                                    "nodeType": "ExpressionStatement",
                                    "src": "10879:79:62"
                                }
                            ]
                        },
                        "id": 14211,
                        "implemented": true,
                        "kind": "function",
                        "modifiers": [],
                        "name": "log",
                        "nameLocation": "10812:3:62",
                        "nodeType": "FunctionDefinition",
                        "parameters": {
                            "id": 14198,
                            "nodeType": "ParameterList",
                            "parameters": [
                                {
                                    "constant": false,
                                    "id": 14193,
                                    "mutability": "mutable",
                                    "name": "p0",
                                    "nameLocation": "10830:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 14211,
                                    "src": "10816:16:62",
                                    "stateVariable": false,
                                    "storageLocation": "memory",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_string_memory_ptr",
                                        "typeString": "string"
                                    },
                                    "typeName": {
                                        "id": 14192,
                                        "name": "string",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "10816:6:62",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_string_storage_ptr",
                                            "typeString": "string"
                                        }
                                    },
                                    "visibility": "internal"
                                },
                                {
                                    "constant": false,
                                    "id": 14195,
                                    "mutability": "mutable",
                                    "name": "p1",
                                    "nameLocation": "10848:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 14211,
                                    "src": "10834:16:62",
                                    "stateVariable": false,
                                    "storageLocation": "memory",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_string_memory_ptr",
                                        "typeString": "string"
                                    },
                                    "typeName": {
                                        "id": 14194,
                                        "name": "string",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "10834:6:62",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_string_storage_ptr",
                                            "typeString": "string"
                                        }
                                    },
                                    "visibility": "internal"
                                },
                                {
                                    "constant": false,
                                    "id": 14197,
                                    "mutability": "mutable",
                                    "name": "p2",
                                    "nameLocation": "10857:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 14211,
                                    "src": "10852:7:62",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_bool",
                                        "typeString": "bool"
                                    },
                                    "typeName": {
                                        "id": 14196,
                                        "name": "bool",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "10852:4:62",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_bool",
                                            "typeString": "bool"
                                        }
                                    },
                                    "visibility": "internal"
                                }
                            ],
                            "src": "10815:45:62"
                        },
                        "returnParameters": {
                            "id": 14199,
                            "nodeType": "ParameterList",
                            "parameters": [],
                            "src": "10875:0:62"
                        },
                        "scope": 20920,
                        "src": "10803:159:62",
                        "stateMutability": "view",
                        "virtual": false,
                        "visibility": "internal"
                    },
                    {
                        "body": {
                            "id": 14230,
                            "nodeType": "Block",
                            "src": "11040:90:62",
                            "statements": [
                                {
                                    "expression": {
                                        "arguments": [
                                            {
                                                "arguments": [
                                                    {
                                                        "hexValue": "6c6f6728737472696e672c737472696e672c6164647265737329",
                                                        "id": 14223,
                                                        "isConstant": false,
                                                        "isLValue": false,
                                                        "isPure": true,
                                                        "kind": "string",
                                                        "lValueRequested": false,
                                                        "nodeType": "Literal",
                                                        "src": "11084:28:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_stringliteral_95ed0195ee22a092ad93d352c33e8dc78b91f0c01eab9cff270af55b2ae65768",
                                                            "typeString": "literal_string \"log(string,string,address)\""
                                                        },
                                                        "value": "log(string,string,address)"
                                                    },
                                                    {
                                                        "id": 14224,
                                                        "name": "p0",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 14213,
                                                        "src": "11114:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_string_memory_ptr",
                                                            "typeString": "string memory"
                                                        }
                                                    },
                                                    {
                                                        "id": 14225,
                                                        "name": "p1",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 14215,
                                                        "src": "11118:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_string_memory_ptr",
                                                            "typeString": "string memory"
                                                        }
                                                    },
                                                    {
                                                        "id": 14226,
                                                        "name": "p2",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 14217,
                                                        "src": "11122:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_address",
                                                            "typeString": "address"
                                                        }
                                                    }
                                                ],
                                                "expression": {
                                                    "argumentTypes": [
                                                        {
                                                            "typeIdentifier": "t_stringliteral_95ed0195ee22a092ad93d352c33e8dc78b91f0c01eab9cff270af55b2ae65768",
                                                            "typeString": "literal_string \"log(string,string,address)\""
                                                        },
                                                        {
                                                            "typeIdentifier": "t_string_memory_ptr",
                                                            "typeString": "string memory"
                                                        },
                                                        {
                                                            "typeIdentifier": "t_string_memory_ptr",
                                                            "typeString": "string memory"
                                                        },
                                                        {
                                                            "typeIdentifier": "t_address",
                                                            "typeString": "address"
                                                        }
                                                    ],
                                                    "expression": {
                                                        "id": 14221,
                                                        "name": "abi",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 4294967295,
                                                        "src": "11060:3:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_magic_abi",
                                                            "typeString": "abi"
                                                        }
                                                    },
                                                    "id": 14222,
                                                    "isConstant": false,
                                                    "isLValue": false,
                                                    "isPure": true,
                                                    "lValueRequested": false,
                                                    "memberName": "encodeWithSignature",
                                                    "nodeType": "MemberAccess",
                                                    "src": "11060:23:62",
                                                    "typeDescriptions": {
                                                        "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$",
                                                        "typeString": "function (string memory) pure returns (bytes memory)"
                                                    }
                                                },
                                                "id": 14227,
                                                "isConstant": false,
                                                "isLValue": false,
                                                "isPure": false,
                                                "kind": "functionCall",
                                                "lValueRequested": false,
                                                "names": [],
                                                "nodeType": "FunctionCall",
                                                "src": "11060:65:62",
                                                "tryCall": false,
                                                "typeDescriptions": {
                                                    "typeIdentifier": "t_bytes_memory_ptr",
                                                    "typeString": "bytes memory"
                                                }
                                            }
                                        ],
                                        "expression": {
                                            "argumentTypes": [
                                                {
                                                    "typeIdentifier": "t_bytes_memory_ptr",
                                                    "typeString": "bytes memory"
                                                }
                                            ],
                                            "id": 14220,
                                            "name": "_sendLogPayload",
                                            "nodeType": "Identifier",
                                            "overloadedDeclarations": [],
                                            "referencedDeclaration": 12880,
                                            "src": "11044:15:62",
                                            "typeDescriptions": {
                                                "typeIdentifier": "t_function_internal_view$_t_bytes_memory_ptr_$returns$__$",
                                                "typeString": "function (bytes memory) view"
                                            }
                                        },
                                        "id": 14228,
                                        "isConstant": false,
                                        "isLValue": false,
                                        "isPure": false,
                                        "kind": "functionCall",
                                        "lValueRequested": false,
                                        "names": [],
                                        "nodeType": "FunctionCall",
                                        "src": "11044:82:62",
                                        "tryCall": false,
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_tuple$__$",
                                            "typeString": "tuple()"
                                        }
                                    },
                                    "id": 14229,
                                    "nodeType": "ExpressionStatement",
                                    "src": "11044:82:62"
                                }
                            ]
                        },
                        "id": 14231,
                        "implemented": true,
                        "kind": "function",
                        "modifiers": [],
                        "name": "log",
                        "nameLocation": "10974:3:62",
                        "nodeType": "FunctionDefinition",
                        "parameters": {
                            "id": 14218,
                            "nodeType": "ParameterList",
                            "parameters": [
                                {
                                    "constant": false,
                                    "id": 14213,
                                    "mutability": "mutable",
                                    "name": "p0",
                                    "nameLocation": "10992:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 14231,
                                    "src": "10978:16:62",
                                    "stateVariable": false,
                                    "storageLocation": "memory",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_string_memory_ptr",
                                        "typeString": "string"
                                    },
                                    "typeName": {
                                        "id": 14212,
                                        "name": "string",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "10978:6:62",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_string_storage_ptr",
                                            "typeString": "string"
                                        }
                                    },
                                    "visibility": "internal"
                                },
                                {
                                    "constant": false,
                                    "id": 14215,
                                    "mutability": "mutable",
                                    "name": "p1",
                                    "nameLocation": "11010:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 14231,
                                    "src": "10996:16:62",
                                    "stateVariable": false,
                                    "storageLocation": "memory",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_string_memory_ptr",
                                        "typeString": "string"
                                    },
                                    "typeName": {
                                        "id": 14214,
                                        "name": "string",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "10996:6:62",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_string_storage_ptr",
                                            "typeString": "string"
                                        }
                                    },
                                    "visibility": "internal"
                                },
                                {
                                    "constant": false,
                                    "id": 14217,
                                    "mutability": "mutable",
                                    "name": "p2",
                                    "nameLocation": "11022:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 14231,
                                    "src": "11014:10:62",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_address",
                                        "typeString": "address"
                                    },
                                    "typeName": {
                                        "id": 14216,
                                        "name": "address",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "11014:7:62",
                                        "stateMutability": "nonpayable",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_address",
                                            "typeString": "address"
                                        }
                                    },
                                    "visibility": "internal"
                                }
                            ],
                            "src": "10977:48:62"
                        },
                        "returnParameters": {
                            "id": 14219,
                            "nodeType": "ParameterList",
                            "parameters": [],
                            "src": "11040:0:62"
                        },
                        "scope": 20920,
                        "src": "10965:165:62",
                        "stateMutability": "view",
                        "virtual": false,
                        "visibility": "internal"
                    },
                    {
                        "body": {
                            "id": 14250,
                            "nodeType": "Block",
                            "src": "11196:85:62",
                            "statements": [
                                {
                                    "expression": {
                                        "arguments": [
                                            {
                                                "arguments": [
                                                    {
                                                        "hexValue": "6c6f6728737472696e672c626f6f6c2c75696e7429",
                                                        "id": 14243,
                                                        "isConstant": false,
                                                        "isLValue": false,
                                                        "isPure": true,
                                                        "kind": "string",
                                                        "lValueRequested": false,
                                                        "nodeType": "Literal",
                                                        "src": "11240:23:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_stringliteral_291bb9d00defdc1b95c66c8b4bc10ef714a549c4f22fb190fe687dc5e85a4db1",
                                                            "typeString": "literal_string \"log(string,bool,uint)\""
                                                        },
                                                        "value": "log(string,bool,uint)"
                                                    },
                                                    {
                                                        "id": 14244,
                                                        "name": "p0",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 14233,
                                                        "src": "11265:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_string_memory_ptr",
                                                            "typeString": "string memory"
                                                        }
                                                    },
                                                    {
                                                        "id": 14245,
                                                        "name": "p1",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 14235,
                                                        "src": "11269:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_bool",
                                                            "typeString": "bool"
                                                        }
                                                    },
                                                    {
                                                        "id": 14246,
                                                        "name": "p2",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 14237,
                                                        "src": "11273:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_uint256",
                                                            "typeString": "uint256"
                                                        }
                                                    }
                                                ],
                                                "expression": {
                                                    "argumentTypes": [
                                                        {
                                                            "typeIdentifier": "t_stringliteral_291bb9d00defdc1b95c66c8b4bc10ef714a549c4f22fb190fe687dc5e85a4db1",
                                                            "typeString": "literal_string \"log(string,bool,uint)\""
                                                        },
                                                        {
                                                            "typeIdentifier": "t_string_memory_ptr",
                                                            "typeString": "string memory"
                                                        },
                                                        {
                                                            "typeIdentifier": "t_bool",
                                                            "typeString": "bool"
                                                        },
                                                        {
                                                            "typeIdentifier": "t_uint256",
                                                            "typeString": "uint256"
                                                        }
                                                    ],
                                                    "expression": {
                                                        "id": 14241,
                                                        "name": "abi",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 4294967295,
                                                        "src": "11216:3:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_magic_abi",
                                                            "typeString": "abi"
                                                        }
                                                    },
                                                    "id": 14242,
                                                    "isConstant": false,
                                                    "isLValue": false,
                                                    "isPure": true,
                                                    "lValueRequested": false,
                                                    "memberName": "encodeWithSignature",
                                                    "nodeType": "MemberAccess",
                                                    "src": "11216:23:62",
                                                    "typeDescriptions": {
                                                        "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$",
                                                        "typeString": "function (string memory) pure returns (bytes memory)"
                                                    }
                                                },
                                                "id": 14247,
                                                "isConstant": false,
                                                "isLValue": false,
                                                "isPure": false,
                                                "kind": "functionCall",
                                                "lValueRequested": false,
                                                "names": [],
                                                "nodeType": "FunctionCall",
                                                "src": "11216:60:62",
                                                "tryCall": false,
                                                "typeDescriptions": {
                                                    "typeIdentifier": "t_bytes_memory_ptr",
                                                    "typeString": "bytes memory"
                                                }
                                            }
                                        ],
                                        "expression": {
                                            "argumentTypes": [
                                                {
                                                    "typeIdentifier": "t_bytes_memory_ptr",
                                                    "typeString": "bytes memory"
                                                }
                                            ],
                                            "id": 14240,
                                            "name": "_sendLogPayload",
                                            "nodeType": "Identifier",
                                            "overloadedDeclarations": [],
                                            "referencedDeclaration": 12880,
                                            "src": "11200:15:62",
                                            "typeDescriptions": {
                                                "typeIdentifier": "t_function_internal_view$_t_bytes_memory_ptr_$returns$__$",
                                                "typeString": "function (bytes memory) view"
                                            }
                                        },
                                        "id": 14248,
                                        "isConstant": false,
                                        "isLValue": false,
                                        "isPure": false,
                                        "kind": "functionCall",
                                        "lValueRequested": false,
                                        "names": [],
                                        "nodeType": "FunctionCall",
                                        "src": "11200:77:62",
                                        "tryCall": false,
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_tuple$__$",
                                            "typeString": "tuple()"
                                        }
                                    },
                                    "id": 14249,
                                    "nodeType": "ExpressionStatement",
                                    "src": "11200:77:62"
                                }
                            ]
                        },
                        "id": 14251,
                        "implemented": true,
                        "kind": "function",
                        "modifiers": [],
                        "name": "log",
                        "nameLocation": "11142:3:62",
                        "nodeType": "FunctionDefinition",
                        "parameters": {
                            "id": 14238,
                            "nodeType": "ParameterList",
                            "parameters": [
                                {
                                    "constant": false,
                                    "id": 14233,
                                    "mutability": "mutable",
                                    "name": "p0",
                                    "nameLocation": "11160:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 14251,
                                    "src": "11146:16:62",
                                    "stateVariable": false,
                                    "storageLocation": "memory",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_string_memory_ptr",
                                        "typeString": "string"
                                    },
                                    "typeName": {
                                        "id": 14232,
                                        "name": "string",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "11146:6:62",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_string_storage_ptr",
                                            "typeString": "string"
                                        }
                                    },
                                    "visibility": "internal"
                                },
                                {
                                    "constant": false,
                                    "id": 14235,
                                    "mutability": "mutable",
                                    "name": "p1",
                                    "nameLocation": "11169:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 14251,
                                    "src": "11164:7:62",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_bool",
                                        "typeString": "bool"
                                    },
                                    "typeName": {
                                        "id": 14234,
                                        "name": "bool",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "11164:4:62",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_bool",
                                            "typeString": "bool"
                                        }
                                    },
                                    "visibility": "internal"
                                },
                                {
                                    "constant": false,
                                    "id": 14237,
                                    "mutability": "mutable",
                                    "name": "p2",
                                    "nameLocation": "11178:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 14251,
                                    "src": "11173:7:62",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_uint256",
                                        "typeString": "uint256"
                                    },
                                    "typeName": {
                                        "id": 14236,
                                        "name": "uint",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "11173:4:62",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_uint256",
                                            "typeString": "uint256"
                                        }
                                    },
                                    "visibility": "internal"
                                }
                            ],
                            "src": "11145:36:62"
                        },
                        "returnParameters": {
                            "id": 14239,
                            "nodeType": "ParameterList",
                            "parameters": [],
                            "src": "11196:0:62"
                        },
                        "scope": 20920,
                        "src": "11133:148:62",
                        "stateMutability": "view",
                        "virtual": false,
                        "visibility": "internal"
                    },
                    {
                        "body": {
                            "id": 14270,
                            "nodeType": "Block",
                            "src": "11356:87:62",
                            "statements": [
                                {
                                    "expression": {
                                        "arguments": [
                                            {
                                                "arguments": [
                                                    {
                                                        "hexValue": "6c6f6728737472696e672c626f6f6c2c737472696e6729",
                                                        "id": 14263,
                                                        "isConstant": false,
                                                        "isLValue": false,
                                                        "isPure": true,
                                                        "kind": "string",
                                                        "lValueRequested": false,
                                                        "nodeType": "Literal",
                                                        "src": "11400:25:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_stringliteral_e298f47d872a89293d316b9b936000a26f83eda2ba3171b2f9f16e2bf618c3e7",
                                                            "typeString": "literal_string \"log(string,bool,string)\""
                                                        },
                                                        "value": "log(string,bool,string)"
                                                    },
                                                    {
                                                        "id": 14264,
                                                        "name": "p0",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 14253,
                                                        "src": "11427:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_string_memory_ptr",
                                                            "typeString": "string memory"
                                                        }
                                                    },
                                                    {
                                                        "id": 14265,
                                                        "name": "p1",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 14255,
                                                        "src": "11431:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_bool",
                                                            "typeString": "bool"
                                                        }
                                                    },
                                                    {
                                                        "id": 14266,
                                                        "name": "p2",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 14257,
                                                        "src": "11435:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_string_memory_ptr",
                                                            "typeString": "string memory"
                                                        }
                                                    }
                                                ],
                                                "expression": {
                                                    "argumentTypes": [
                                                        {
                                                            "typeIdentifier": "t_stringliteral_e298f47d872a89293d316b9b936000a26f83eda2ba3171b2f9f16e2bf618c3e7",
                                                            "typeString": "literal_string \"log(string,bool,string)\""
                                                        },
                                                        {
                                                            "typeIdentifier": "t_string_memory_ptr",
                                                            "typeString": "string memory"
                                                        },
                                                        {
                                                            "typeIdentifier": "t_bool",
                                                            "typeString": "bool"
                                                        },
                                                        {
                                                            "typeIdentifier": "t_string_memory_ptr",
                                                            "typeString": "string memory"
                                                        }
                                                    ],
                                                    "expression": {
                                                        "id": 14261,
                                                        "name": "abi",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 4294967295,
                                                        "src": "11376:3:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_magic_abi",
                                                            "typeString": "abi"
                                                        }
                                                    },
                                                    "id": 14262,
                                                    "isConstant": false,
                                                    "isLValue": false,
                                                    "isPure": true,
                                                    "lValueRequested": false,
                                                    "memberName": "encodeWithSignature",
                                                    "nodeType": "MemberAccess",
                                                    "src": "11376:23:62",
                                                    "typeDescriptions": {
                                                        "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$",
                                                        "typeString": "function (string memory) pure returns (bytes memory)"
                                                    }
                                                },
                                                "id": 14267,
                                                "isConstant": false,
                                                "isLValue": false,
                                                "isPure": false,
                                                "kind": "functionCall",
                                                "lValueRequested": false,
                                                "names": [],
                                                "nodeType": "FunctionCall",
                                                "src": "11376:62:62",
                                                "tryCall": false,
                                                "typeDescriptions": {
                                                    "typeIdentifier": "t_bytes_memory_ptr",
                                                    "typeString": "bytes memory"
                                                }
                                            }
                                        ],
                                        "expression": {
                                            "argumentTypes": [
                                                {
                                                    "typeIdentifier": "t_bytes_memory_ptr",
                                                    "typeString": "bytes memory"
                                                }
                                            ],
                                            "id": 14260,
                                            "name": "_sendLogPayload",
                                            "nodeType": "Identifier",
                                            "overloadedDeclarations": [],
                                            "referencedDeclaration": 12880,
                                            "src": "11360:15:62",
                                            "typeDescriptions": {
                                                "typeIdentifier": "t_function_internal_view$_t_bytes_memory_ptr_$returns$__$",
                                                "typeString": "function (bytes memory) view"
                                            }
                                        },
                                        "id": 14268,
                                        "isConstant": false,
                                        "isLValue": false,
                                        "isPure": false,
                                        "kind": "functionCall",
                                        "lValueRequested": false,
                                        "names": [],
                                        "nodeType": "FunctionCall",
                                        "src": "11360:79:62",
                                        "tryCall": false,
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_tuple$__$",
                                            "typeString": "tuple()"
                                        }
                                    },
                                    "id": 14269,
                                    "nodeType": "ExpressionStatement",
                                    "src": "11360:79:62"
                                }
                            ]
                        },
                        "id": 14271,
                        "implemented": true,
                        "kind": "function",
                        "modifiers": [],
                        "name": "log",
                        "nameLocation": "11293:3:62",
                        "nodeType": "FunctionDefinition",
                        "parameters": {
                            "id": 14258,
                            "nodeType": "ParameterList",
                            "parameters": [
                                {
                                    "constant": false,
                                    "id": 14253,
                                    "mutability": "mutable",
                                    "name": "p0",
                                    "nameLocation": "11311:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 14271,
                                    "src": "11297:16:62",
                                    "stateVariable": false,
                                    "storageLocation": "memory",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_string_memory_ptr",
                                        "typeString": "string"
                                    },
                                    "typeName": {
                                        "id": 14252,
                                        "name": "string",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "11297:6:62",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_string_storage_ptr",
                                            "typeString": "string"
                                        }
                                    },
                                    "visibility": "internal"
                                },
                                {
                                    "constant": false,
                                    "id": 14255,
                                    "mutability": "mutable",
                                    "name": "p1",
                                    "nameLocation": "11320:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 14271,
                                    "src": "11315:7:62",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_bool",
                                        "typeString": "bool"
                                    },
                                    "typeName": {
                                        "id": 14254,
                                        "name": "bool",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "11315:4:62",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_bool",
                                            "typeString": "bool"
                                        }
                                    },
                                    "visibility": "internal"
                                },
                                {
                                    "constant": false,
                                    "id": 14257,
                                    "mutability": "mutable",
                                    "name": "p2",
                                    "nameLocation": "11338:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 14271,
                                    "src": "11324:16:62",
                                    "stateVariable": false,
                                    "storageLocation": "memory",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_string_memory_ptr",
                                        "typeString": "string"
                                    },
                                    "typeName": {
                                        "id": 14256,
                                        "name": "string",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "11324:6:62",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_string_storage_ptr",
                                            "typeString": "string"
                                        }
                                    },
                                    "visibility": "internal"
                                }
                            ],
                            "src": "11296:45:62"
                        },
                        "returnParameters": {
                            "id": 14259,
                            "nodeType": "ParameterList",
                            "parameters": [],
                            "src": "11356:0:62"
                        },
                        "scope": 20920,
                        "src": "11284:159:62",
                        "stateMutability": "view",
                        "virtual": false,
                        "visibility": "internal"
                    },
                    {
                        "body": {
                            "id": 14290,
                            "nodeType": "Block",
                            "src": "11509:85:62",
                            "statements": [
                                {
                                    "expression": {
                                        "arguments": [
                                            {
                                                "arguments": [
                                                    {
                                                        "hexValue": "6c6f6728737472696e672c626f6f6c2c626f6f6c29",
                                                        "id": 14283,
                                                        "isConstant": false,
                                                        "isLValue": false,
                                                        "isPure": true,
                                                        "kind": "string",
                                                        "lValueRequested": false,
                                                        "nodeType": "Literal",
                                                        "src": "11553:23:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_stringliteral_850b7ad637241a873b861925ccffb71aaffb030b1df8850f324c9804bc7b443d",
                                                            "typeString": "literal_string \"log(string,bool,bool)\""
                                                        },
                                                        "value": "log(string,bool,bool)"
                                                    },
                                                    {
                                                        "id": 14284,
                                                        "name": "p0",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 14273,
                                                        "src": "11578:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_string_memory_ptr",
                                                            "typeString": "string memory"
                                                        }
                                                    },
                                                    {
                                                        "id": 14285,
                                                        "name": "p1",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 14275,
                                                        "src": "11582:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_bool",
                                                            "typeString": "bool"
                                                        }
                                                    },
                                                    {
                                                        "id": 14286,
                                                        "name": "p2",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 14277,
                                                        "src": "11586:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_bool",
                                                            "typeString": "bool"
                                                        }
                                                    }
                                                ],
                                                "expression": {
                                                    "argumentTypes": [
                                                        {
                                                            "typeIdentifier": "t_stringliteral_850b7ad637241a873b861925ccffb71aaffb030b1df8850f324c9804bc7b443d",
                                                            "typeString": "literal_string \"log(string,bool,bool)\""
                                                        },
                                                        {
                                                            "typeIdentifier": "t_string_memory_ptr",
                                                            "typeString": "string memory"
                                                        },
                                                        {
                                                            "typeIdentifier": "t_bool",
                                                            "typeString": "bool"
                                                        },
                                                        {
                                                            "typeIdentifier": "t_bool",
                                                            "typeString": "bool"
                                                        }
                                                    ],
                                                    "expression": {
                                                        "id": 14281,
                                                        "name": "abi",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 4294967295,
                                                        "src": "11529:3:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_magic_abi",
                                                            "typeString": "abi"
                                                        }
                                                    },
                                                    "id": 14282,
                                                    "isConstant": false,
                                                    "isLValue": false,
                                                    "isPure": true,
                                                    "lValueRequested": false,
                                                    "memberName": "encodeWithSignature",
                                                    "nodeType": "MemberAccess",
                                                    "src": "11529:23:62",
                                                    "typeDescriptions": {
                                                        "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$",
                                                        "typeString": "function (string memory) pure returns (bytes memory)"
                                                    }
                                                },
                                                "id": 14287,
                                                "isConstant": false,
                                                "isLValue": false,
                                                "isPure": false,
                                                "kind": "functionCall",
                                                "lValueRequested": false,
                                                "names": [],
                                                "nodeType": "FunctionCall",
                                                "src": "11529:60:62",
                                                "tryCall": false,
                                                "typeDescriptions": {
                                                    "typeIdentifier": "t_bytes_memory_ptr",
                                                    "typeString": "bytes memory"
                                                }
                                            }
                                        ],
                                        "expression": {
                                            "argumentTypes": [
                                                {
                                                    "typeIdentifier": "t_bytes_memory_ptr",
                                                    "typeString": "bytes memory"
                                                }
                                            ],
                                            "id": 14280,
                                            "name": "_sendLogPayload",
                                            "nodeType": "Identifier",
                                            "overloadedDeclarations": [],
                                            "referencedDeclaration": 12880,
                                            "src": "11513:15:62",
                                            "typeDescriptions": {
                                                "typeIdentifier": "t_function_internal_view$_t_bytes_memory_ptr_$returns$__$",
                                                "typeString": "function (bytes memory) view"
                                            }
                                        },
                                        "id": 14288,
                                        "isConstant": false,
                                        "isLValue": false,
                                        "isPure": false,
                                        "kind": "functionCall",
                                        "lValueRequested": false,
                                        "names": [],
                                        "nodeType": "FunctionCall",
                                        "src": "11513:77:62",
                                        "tryCall": false,
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_tuple$__$",
                                            "typeString": "tuple()"
                                        }
                                    },
                                    "id": 14289,
                                    "nodeType": "ExpressionStatement",
                                    "src": "11513:77:62"
                                }
                            ]
                        },
                        "id": 14291,
                        "implemented": true,
                        "kind": "function",
                        "modifiers": [],
                        "name": "log",
                        "nameLocation": "11455:3:62",
                        "nodeType": "FunctionDefinition",
                        "parameters": {
                            "id": 14278,
                            "nodeType": "ParameterList",
                            "parameters": [
                                {
                                    "constant": false,
                                    "id": 14273,
                                    "mutability": "mutable",
                                    "name": "p0",
                                    "nameLocation": "11473:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 14291,
                                    "src": "11459:16:62",
                                    "stateVariable": false,
                                    "storageLocation": "memory",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_string_memory_ptr",
                                        "typeString": "string"
                                    },
                                    "typeName": {
                                        "id": 14272,
                                        "name": "string",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "11459:6:62",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_string_storage_ptr",
                                            "typeString": "string"
                                        }
                                    },
                                    "visibility": "internal"
                                },
                                {
                                    "constant": false,
                                    "id": 14275,
                                    "mutability": "mutable",
                                    "name": "p1",
                                    "nameLocation": "11482:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 14291,
                                    "src": "11477:7:62",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_bool",
                                        "typeString": "bool"
                                    },
                                    "typeName": {
                                        "id": 14274,
                                        "name": "bool",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "11477:4:62",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_bool",
                                            "typeString": "bool"
                                        }
                                    },
                                    "visibility": "internal"
                                },
                                {
                                    "constant": false,
                                    "id": 14277,
                                    "mutability": "mutable",
                                    "name": "p2",
                                    "nameLocation": "11491:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 14291,
                                    "src": "11486:7:62",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_bool",
                                        "typeString": "bool"
                                    },
                                    "typeName": {
                                        "id": 14276,
                                        "name": "bool",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "11486:4:62",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_bool",
                                            "typeString": "bool"
                                        }
                                    },
                                    "visibility": "internal"
                                }
                            ],
                            "src": "11458:36:62"
                        },
                        "returnParameters": {
                            "id": 14279,
                            "nodeType": "ParameterList",
                            "parameters": [],
                            "src": "11509:0:62"
                        },
                        "scope": 20920,
                        "src": "11446:148:62",
                        "stateMutability": "view",
                        "virtual": false,
                        "visibility": "internal"
                    },
                    {
                        "body": {
                            "id": 14310,
                            "nodeType": "Block",
                            "src": "11663:88:62",
                            "statements": [
                                {
                                    "expression": {
                                        "arguments": [
                                            {
                                                "arguments": [
                                                    {
                                                        "hexValue": "6c6f6728737472696e672c626f6f6c2c6164647265737329",
                                                        "id": 14303,
                                                        "isConstant": false,
                                                        "isLValue": false,
                                                        "isPure": true,
                                                        "kind": "string",
                                                        "lValueRequested": false,
                                                        "nodeType": "Literal",
                                                        "src": "11707:26:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_stringliteral_932bbb385d479707ff387e3bb2d8968a7b4115e938510c531aa15b50507fc27f",
                                                            "typeString": "literal_string \"log(string,bool,address)\""
                                                        },
                                                        "value": "log(string,bool,address)"
                                                    },
                                                    {
                                                        "id": 14304,
                                                        "name": "p0",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 14293,
                                                        "src": "11735:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_string_memory_ptr",
                                                            "typeString": "string memory"
                                                        }
                                                    },
                                                    {
                                                        "id": 14305,
                                                        "name": "p1",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 14295,
                                                        "src": "11739:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_bool",
                                                            "typeString": "bool"
                                                        }
                                                    },
                                                    {
                                                        "id": 14306,
                                                        "name": "p2",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 14297,
                                                        "src": "11743:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_address",
                                                            "typeString": "address"
                                                        }
                                                    }
                                                ],
                                                "expression": {
                                                    "argumentTypes": [
                                                        {
                                                            "typeIdentifier": "t_stringliteral_932bbb385d479707ff387e3bb2d8968a7b4115e938510c531aa15b50507fc27f",
                                                            "typeString": "literal_string \"log(string,bool,address)\""
                                                        },
                                                        {
                                                            "typeIdentifier": "t_string_memory_ptr",
                                                            "typeString": "string memory"
                                                        },
                                                        {
                                                            "typeIdentifier": "t_bool",
                                                            "typeString": "bool"
                                                        },
                                                        {
                                                            "typeIdentifier": "t_address",
                                                            "typeString": "address"
                                                        }
                                                    ],
                                                    "expression": {
                                                        "id": 14301,
                                                        "name": "abi",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 4294967295,
                                                        "src": "11683:3:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_magic_abi",
                                                            "typeString": "abi"
                                                        }
                                                    },
                                                    "id": 14302,
                                                    "isConstant": false,
                                                    "isLValue": false,
                                                    "isPure": true,
                                                    "lValueRequested": false,
                                                    "memberName": "encodeWithSignature",
                                                    "nodeType": "MemberAccess",
                                                    "src": "11683:23:62",
                                                    "typeDescriptions": {
                                                        "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$",
                                                        "typeString": "function (string memory) pure returns (bytes memory)"
                                                    }
                                                },
                                                "id": 14307,
                                                "isConstant": false,
                                                "isLValue": false,
                                                "isPure": false,
                                                "kind": "functionCall",
                                                "lValueRequested": false,
                                                "names": [],
                                                "nodeType": "FunctionCall",
                                                "src": "11683:63:62",
                                                "tryCall": false,
                                                "typeDescriptions": {
                                                    "typeIdentifier": "t_bytes_memory_ptr",
                                                    "typeString": "bytes memory"
                                                }
                                            }
                                        ],
                                        "expression": {
                                            "argumentTypes": [
                                                {
                                                    "typeIdentifier": "t_bytes_memory_ptr",
                                                    "typeString": "bytes memory"
                                                }
                                            ],
                                            "id": 14300,
                                            "name": "_sendLogPayload",
                                            "nodeType": "Identifier",
                                            "overloadedDeclarations": [],
                                            "referencedDeclaration": 12880,
                                            "src": "11667:15:62",
                                            "typeDescriptions": {
                                                "typeIdentifier": "t_function_internal_view$_t_bytes_memory_ptr_$returns$__$",
                                                "typeString": "function (bytes memory) view"
                                            }
                                        },
                                        "id": 14308,
                                        "isConstant": false,
                                        "isLValue": false,
                                        "isPure": false,
                                        "kind": "functionCall",
                                        "lValueRequested": false,
                                        "names": [],
                                        "nodeType": "FunctionCall",
                                        "src": "11667:80:62",
                                        "tryCall": false,
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_tuple$__$",
                                            "typeString": "tuple()"
                                        }
                                    },
                                    "id": 14309,
                                    "nodeType": "ExpressionStatement",
                                    "src": "11667:80:62"
                                }
                            ]
                        },
                        "id": 14311,
                        "implemented": true,
                        "kind": "function",
                        "modifiers": [],
                        "name": "log",
                        "nameLocation": "11606:3:62",
                        "nodeType": "FunctionDefinition",
                        "parameters": {
                            "id": 14298,
                            "nodeType": "ParameterList",
                            "parameters": [
                                {
                                    "constant": false,
                                    "id": 14293,
                                    "mutability": "mutable",
                                    "name": "p0",
                                    "nameLocation": "11624:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 14311,
                                    "src": "11610:16:62",
                                    "stateVariable": false,
                                    "storageLocation": "memory",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_string_memory_ptr",
                                        "typeString": "string"
                                    },
                                    "typeName": {
                                        "id": 14292,
                                        "name": "string",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "11610:6:62",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_string_storage_ptr",
                                            "typeString": "string"
                                        }
                                    },
                                    "visibility": "internal"
                                },
                                {
                                    "constant": false,
                                    "id": 14295,
                                    "mutability": "mutable",
                                    "name": "p1",
                                    "nameLocation": "11633:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 14311,
                                    "src": "11628:7:62",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_bool",
                                        "typeString": "bool"
                                    },
                                    "typeName": {
                                        "id": 14294,
                                        "name": "bool",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "11628:4:62",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_bool",
                                            "typeString": "bool"
                                        }
                                    },
                                    "visibility": "internal"
                                },
                                {
                                    "constant": false,
                                    "id": 14297,
                                    "mutability": "mutable",
                                    "name": "p2",
                                    "nameLocation": "11645:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 14311,
                                    "src": "11637:10:62",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_address",
                                        "typeString": "address"
                                    },
                                    "typeName": {
                                        "id": 14296,
                                        "name": "address",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "11637:7:62",
                                        "stateMutability": "nonpayable",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_address",
                                            "typeString": "address"
                                        }
                                    },
                                    "visibility": "internal"
                                }
                            ],
                            "src": "11609:39:62"
                        },
                        "returnParameters": {
                            "id": 14299,
                            "nodeType": "ParameterList",
                            "parameters": [],
                            "src": "11663:0:62"
                        },
                        "scope": 20920,
                        "src": "11597:154:62",
                        "stateMutability": "view",
                        "virtual": false,
                        "visibility": "internal"
                    },
                    {
                        "body": {
                            "id": 14330,
                            "nodeType": "Block",
                            "src": "11820:88:62",
                            "statements": [
                                {
                                    "expression": {
                                        "arguments": [
                                            {
                                                "arguments": [
                                                    {
                                                        "hexValue": "6c6f6728737472696e672c616464726573732c75696e7429",
                                                        "id": 14323,
                                                        "isConstant": false,
                                                        "isLValue": false,
                                                        "isPure": true,
                                                        "kind": "string",
                                                        "lValueRequested": false,
                                                        "nodeType": "Literal",
                                                        "src": "11864:26:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_stringliteral_07c81217b9c48682941345dce61bbd916a12dd883642c9077891090a71c93a13",
                                                            "typeString": "literal_string \"log(string,address,uint)\""
                                                        },
                                                        "value": "log(string,address,uint)"
                                                    },
                                                    {
                                                        "id": 14324,
                                                        "name": "p0",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 14313,
                                                        "src": "11892:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_string_memory_ptr",
                                                            "typeString": "string memory"
                                                        }
                                                    },
                                                    {
                                                        "id": 14325,
                                                        "name": "p1",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 14315,
                                                        "src": "11896:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_address",
                                                            "typeString": "address"
                                                        }
                                                    },
                                                    {
                                                        "id": 14326,
                                                        "name": "p2",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 14317,
                                                        "src": "11900:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_uint256",
                                                            "typeString": "uint256"
                                                        }
                                                    }
                                                ],
                                                "expression": {
                                                    "argumentTypes": [
                                                        {
                                                            "typeIdentifier": "t_stringliteral_07c81217b9c48682941345dce61bbd916a12dd883642c9077891090a71c93a13",
                                                            "typeString": "literal_string \"log(string,address,uint)\""
                                                        },
                                                        {
                                                            "typeIdentifier": "t_string_memory_ptr",
                                                            "typeString": "string memory"
                                                        },
                                                        {
                                                            "typeIdentifier": "t_address",
                                                            "typeString": "address"
                                                        },
                                                        {
                                                            "typeIdentifier": "t_uint256",
                                                            "typeString": "uint256"
                                                        }
                                                    ],
                                                    "expression": {
                                                        "id": 14321,
                                                        "name": "abi",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 4294967295,
                                                        "src": "11840:3:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_magic_abi",
                                                            "typeString": "abi"
                                                        }
                                                    },
                                                    "id": 14322,
                                                    "isConstant": false,
                                                    "isLValue": false,
                                                    "isPure": true,
                                                    "lValueRequested": false,
                                                    "memberName": "encodeWithSignature",
                                                    "nodeType": "MemberAccess",
                                                    "src": "11840:23:62",
                                                    "typeDescriptions": {
                                                        "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$",
                                                        "typeString": "function (string memory) pure returns (bytes memory)"
                                                    }
                                                },
                                                "id": 14327,
                                                "isConstant": false,
                                                "isLValue": false,
                                                "isPure": false,
                                                "kind": "functionCall",
                                                "lValueRequested": false,
                                                "names": [],
                                                "nodeType": "FunctionCall",
                                                "src": "11840:63:62",
                                                "tryCall": false,
                                                "typeDescriptions": {
                                                    "typeIdentifier": "t_bytes_memory_ptr",
                                                    "typeString": "bytes memory"
                                                }
                                            }
                                        ],
                                        "expression": {
                                            "argumentTypes": [
                                                {
                                                    "typeIdentifier": "t_bytes_memory_ptr",
                                                    "typeString": "bytes memory"
                                                }
                                            ],
                                            "id": 14320,
                                            "name": "_sendLogPayload",
                                            "nodeType": "Identifier",
                                            "overloadedDeclarations": [],
                                            "referencedDeclaration": 12880,
                                            "src": "11824:15:62",
                                            "typeDescriptions": {
                                                "typeIdentifier": "t_function_internal_view$_t_bytes_memory_ptr_$returns$__$",
                                                "typeString": "function (bytes memory) view"
                                            }
                                        },
                                        "id": 14328,
                                        "isConstant": false,
                                        "isLValue": false,
                                        "isPure": false,
                                        "kind": "functionCall",
                                        "lValueRequested": false,
                                        "names": [],
                                        "nodeType": "FunctionCall",
                                        "src": "11824:80:62",
                                        "tryCall": false,
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_tuple$__$",
                                            "typeString": "tuple()"
                                        }
                                    },
                                    "id": 14329,
                                    "nodeType": "ExpressionStatement",
                                    "src": "11824:80:62"
                                }
                            ]
                        },
                        "id": 14331,
                        "implemented": true,
                        "kind": "function",
                        "modifiers": [],
                        "name": "log",
                        "nameLocation": "11763:3:62",
                        "nodeType": "FunctionDefinition",
                        "parameters": {
                            "id": 14318,
                            "nodeType": "ParameterList",
                            "parameters": [
                                {
                                    "constant": false,
                                    "id": 14313,
                                    "mutability": "mutable",
                                    "name": "p0",
                                    "nameLocation": "11781:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 14331,
                                    "src": "11767:16:62",
                                    "stateVariable": false,
                                    "storageLocation": "memory",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_string_memory_ptr",
                                        "typeString": "string"
                                    },
                                    "typeName": {
                                        "id": 14312,
                                        "name": "string",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "11767:6:62",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_string_storage_ptr",
                                            "typeString": "string"
                                        }
                                    },
                                    "visibility": "internal"
                                },
                                {
                                    "constant": false,
                                    "id": 14315,
                                    "mutability": "mutable",
                                    "name": "p1",
                                    "nameLocation": "11793:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 14331,
                                    "src": "11785:10:62",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_address",
                                        "typeString": "address"
                                    },
                                    "typeName": {
                                        "id": 14314,
                                        "name": "address",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "11785:7:62",
                                        "stateMutability": "nonpayable",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_address",
                                            "typeString": "address"
                                        }
                                    },
                                    "visibility": "internal"
                                },
                                {
                                    "constant": false,
                                    "id": 14317,
                                    "mutability": "mutable",
                                    "name": "p2",
                                    "nameLocation": "11802:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 14331,
                                    "src": "11797:7:62",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_uint256",
                                        "typeString": "uint256"
                                    },
                                    "typeName": {
                                        "id": 14316,
                                        "name": "uint",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "11797:4:62",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_uint256",
                                            "typeString": "uint256"
                                        }
                                    },
                                    "visibility": "internal"
                                }
                            ],
                            "src": "11766:39:62"
                        },
                        "returnParameters": {
                            "id": 14319,
                            "nodeType": "ParameterList",
                            "parameters": [],
                            "src": "11820:0:62"
                        },
                        "scope": 20920,
                        "src": "11754:154:62",
                        "stateMutability": "view",
                        "virtual": false,
                        "visibility": "internal"
                    },
                    {
                        "body": {
                            "id": 14350,
                            "nodeType": "Block",
                            "src": "11986:90:62",
                            "statements": [
                                {
                                    "expression": {
                                        "arguments": [
                                            {
                                                "arguments": [
                                                    {
                                                        "hexValue": "6c6f6728737472696e672c616464726573732c737472696e6729",
                                                        "id": 14343,
                                                        "isConstant": false,
                                                        "isLValue": false,
                                                        "isPure": true,
                                                        "kind": "string",
                                                        "lValueRequested": false,
                                                        "nodeType": "Literal",
                                                        "src": "12030:28:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_stringliteral_e0e9ad4f87059a51cce5555e129ca819f7e5d52e9c65a4e175882207ee47d634",
                                                            "typeString": "literal_string \"log(string,address,string)\""
                                                        },
                                                        "value": "log(string,address,string)"
                                                    },
                                                    {
                                                        "id": 14344,
                                                        "name": "p0",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 14333,
                                                        "src": "12060:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_string_memory_ptr",
                                                            "typeString": "string memory"
                                                        }
                                                    },
                                                    {
                                                        "id": 14345,
                                                        "name": "p1",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 14335,
                                                        "src": "12064:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_address",
                                                            "typeString": "address"
                                                        }
                                                    },
                                                    {
                                                        "id": 14346,
                                                        "name": "p2",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 14337,
                                                        "src": "12068:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_string_memory_ptr",
                                                            "typeString": "string memory"
                                                        }
                                                    }
                                                ],
                                                "expression": {
                                                    "argumentTypes": [
                                                        {
                                                            "typeIdentifier": "t_stringliteral_e0e9ad4f87059a51cce5555e129ca819f7e5d52e9c65a4e175882207ee47d634",
                                                            "typeString": "literal_string \"log(string,address,string)\""
                                                        },
                                                        {
                                                            "typeIdentifier": "t_string_memory_ptr",
                                                            "typeString": "string memory"
                                                        },
                                                        {
                                                            "typeIdentifier": "t_address",
                                                            "typeString": "address"
                                                        },
                                                        {
                                                            "typeIdentifier": "t_string_memory_ptr",
                                                            "typeString": "string memory"
                                                        }
                                                    ],
                                                    "expression": {
                                                        "id": 14341,
                                                        "name": "abi",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 4294967295,
                                                        "src": "12006:3:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_magic_abi",
                                                            "typeString": "abi"
                                                        }
                                                    },
                                                    "id": 14342,
                                                    "isConstant": false,
                                                    "isLValue": false,
                                                    "isPure": true,
                                                    "lValueRequested": false,
                                                    "memberName": "encodeWithSignature",
                                                    "nodeType": "MemberAccess",
                                                    "src": "12006:23:62",
                                                    "typeDescriptions": {
                                                        "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$",
                                                        "typeString": "function (string memory) pure returns (bytes memory)"
                                                    }
                                                },
                                                "id": 14347,
                                                "isConstant": false,
                                                "isLValue": false,
                                                "isPure": false,
                                                "kind": "functionCall",
                                                "lValueRequested": false,
                                                "names": [],
                                                "nodeType": "FunctionCall",
                                                "src": "12006:65:62",
                                                "tryCall": false,
                                                "typeDescriptions": {
                                                    "typeIdentifier": "t_bytes_memory_ptr",
                                                    "typeString": "bytes memory"
                                                }
                                            }
                                        ],
                                        "expression": {
                                            "argumentTypes": [
                                                {
                                                    "typeIdentifier": "t_bytes_memory_ptr",
                                                    "typeString": "bytes memory"
                                                }
                                            ],
                                            "id": 14340,
                                            "name": "_sendLogPayload",
                                            "nodeType": "Identifier",
                                            "overloadedDeclarations": [],
                                            "referencedDeclaration": 12880,
                                            "src": "11990:15:62",
                                            "typeDescriptions": {
                                                "typeIdentifier": "t_function_internal_view$_t_bytes_memory_ptr_$returns$__$",
                                                "typeString": "function (bytes memory) view"
                                            }
                                        },
                                        "id": 14348,
                                        "isConstant": false,
                                        "isLValue": false,
                                        "isPure": false,
                                        "kind": "functionCall",
                                        "lValueRequested": false,
                                        "names": [],
                                        "nodeType": "FunctionCall",
                                        "src": "11990:82:62",
                                        "tryCall": false,
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_tuple$__$",
                                            "typeString": "tuple()"
                                        }
                                    },
                                    "id": 14349,
                                    "nodeType": "ExpressionStatement",
                                    "src": "11990:82:62"
                                }
                            ]
                        },
                        "id": 14351,
                        "implemented": true,
                        "kind": "function",
                        "modifiers": [],
                        "name": "log",
                        "nameLocation": "11920:3:62",
                        "nodeType": "FunctionDefinition",
                        "parameters": {
                            "id": 14338,
                            "nodeType": "ParameterList",
                            "parameters": [
                                {
                                    "constant": false,
                                    "id": 14333,
                                    "mutability": "mutable",
                                    "name": "p0",
                                    "nameLocation": "11938:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 14351,
                                    "src": "11924:16:62",
                                    "stateVariable": false,
                                    "storageLocation": "memory",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_string_memory_ptr",
                                        "typeString": "string"
                                    },
                                    "typeName": {
                                        "id": 14332,
                                        "name": "string",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "11924:6:62",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_string_storage_ptr",
                                            "typeString": "string"
                                        }
                                    },
                                    "visibility": "internal"
                                },
                                {
                                    "constant": false,
                                    "id": 14335,
                                    "mutability": "mutable",
                                    "name": "p1",
                                    "nameLocation": "11950:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 14351,
                                    "src": "11942:10:62",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_address",
                                        "typeString": "address"
                                    },
                                    "typeName": {
                                        "id": 14334,
                                        "name": "address",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "11942:7:62",
                                        "stateMutability": "nonpayable",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_address",
                                            "typeString": "address"
                                        }
                                    },
                                    "visibility": "internal"
                                },
                                {
                                    "constant": false,
                                    "id": 14337,
                                    "mutability": "mutable",
                                    "name": "p2",
                                    "nameLocation": "11968:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 14351,
                                    "src": "11954:16:62",
                                    "stateVariable": false,
                                    "storageLocation": "memory",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_string_memory_ptr",
                                        "typeString": "string"
                                    },
                                    "typeName": {
                                        "id": 14336,
                                        "name": "string",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "11954:6:62",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_string_storage_ptr",
                                            "typeString": "string"
                                        }
                                    },
                                    "visibility": "internal"
                                }
                            ],
                            "src": "11923:48:62"
                        },
                        "returnParameters": {
                            "id": 14339,
                            "nodeType": "ParameterList",
                            "parameters": [],
                            "src": "11986:0:62"
                        },
                        "scope": 20920,
                        "src": "11911:165:62",
                        "stateMutability": "view",
                        "virtual": false,
                        "visibility": "internal"
                    },
                    {
                        "body": {
                            "id": 14370,
                            "nodeType": "Block",
                            "src": "12145:88:62",
                            "statements": [
                                {
                                    "expression": {
                                        "arguments": [
                                            {
                                                "arguments": [
                                                    {
                                                        "hexValue": "6c6f6728737472696e672c616464726573732c626f6f6c29",
                                                        "id": 14363,
                                                        "isConstant": false,
                                                        "isLValue": false,
                                                        "isPure": true,
                                                        "kind": "string",
                                                        "lValueRequested": false,
                                                        "nodeType": "Literal",
                                                        "src": "12189:26:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_stringliteral_c91d5ed4480e0b3323f998bcee9594aa98173c7324b015a4713a7c8429afd0b8",
                                                            "typeString": "literal_string \"log(string,address,bool)\""
                                                        },
                                                        "value": "log(string,address,bool)"
                                                    },
                                                    {
                                                        "id": 14364,
                                                        "name": "p0",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 14353,
                                                        "src": "12217:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_string_memory_ptr",
                                                            "typeString": "string memory"
                                                        }
                                                    },
                                                    {
                                                        "id": 14365,
                                                        "name": "p1",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 14355,
                                                        "src": "12221:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_address",
                                                            "typeString": "address"
                                                        }
                                                    },
                                                    {
                                                        "id": 14366,
                                                        "name": "p2",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 14357,
                                                        "src": "12225:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_bool",
                                                            "typeString": "bool"
                                                        }
                                                    }
                                                ],
                                                "expression": {
                                                    "argumentTypes": [
                                                        {
                                                            "typeIdentifier": "t_stringliteral_c91d5ed4480e0b3323f998bcee9594aa98173c7324b015a4713a7c8429afd0b8",
                                                            "typeString": "literal_string \"log(string,address,bool)\""
                                                        },
                                                        {
                                                            "typeIdentifier": "t_string_memory_ptr",
                                                            "typeString": "string memory"
                                                        },
                                                        {
                                                            "typeIdentifier": "t_address",
                                                            "typeString": "address"
                                                        },
                                                        {
                                                            "typeIdentifier": "t_bool",
                                                            "typeString": "bool"
                                                        }
                                                    ],
                                                    "expression": {
                                                        "id": 14361,
                                                        "name": "abi",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 4294967295,
                                                        "src": "12165:3:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_magic_abi",
                                                            "typeString": "abi"
                                                        }
                                                    },
                                                    "id": 14362,
                                                    "isConstant": false,
                                                    "isLValue": false,
                                                    "isPure": true,
                                                    "lValueRequested": false,
                                                    "memberName": "encodeWithSignature",
                                                    "nodeType": "MemberAccess",
                                                    "src": "12165:23:62",
                                                    "typeDescriptions": {
                                                        "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$",
                                                        "typeString": "function (string memory) pure returns (bytes memory)"
                                                    }
                                                },
                                                "id": 14367,
                                                "isConstant": false,
                                                "isLValue": false,
                                                "isPure": false,
                                                "kind": "functionCall",
                                                "lValueRequested": false,
                                                "names": [],
                                                "nodeType": "FunctionCall",
                                                "src": "12165:63:62",
                                                "tryCall": false,
                                                "typeDescriptions": {
                                                    "typeIdentifier": "t_bytes_memory_ptr",
                                                    "typeString": "bytes memory"
                                                }
                                            }
                                        ],
                                        "expression": {
                                            "argumentTypes": [
                                                {
                                                    "typeIdentifier": "t_bytes_memory_ptr",
                                                    "typeString": "bytes memory"
                                                }
                                            ],
                                            "id": 14360,
                                            "name": "_sendLogPayload",
                                            "nodeType": "Identifier",
                                            "overloadedDeclarations": [],
                                            "referencedDeclaration": 12880,
                                            "src": "12149:15:62",
                                            "typeDescriptions": {
                                                "typeIdentifier": "t_function_internal_view$_t_bytes_memory_ptr_$returns$__$",
                                                "typeString": "function (bytes memory) view"
                                            }
                                        },
                                        "id": 14368,
                                        "isConstant": false,
                                        "isLValue": false,
                                        "isPure": false,
                                        "kind": "functionCall",
                                        "lValueRequested": false,
                                        "names": [],
                                        "nodeType": "FunctionCall",
                                        "src": "12149:80:62",
                                        "tryCall": false,
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_tuple$__$",
                                            "typeString": "tuple()"
                                        }
                                    },
                                    "id": 14369,
                                    "nodeType": "ExpressionStatement",
                                    "src": "12149:80:62"
                                }
                            ]
                        },
                        "id": 14371,
                        "implemented": true,
                        "kind": "function",
                        "modifiers": [],
                        "name": "log",
                        "nameLocation": "12088:3:62",
                        "nodeType": "FunctionDefinition",
                        "parameters": {
                            "id": 14358,
                            "nodeType": "ParameterList",
                            "parameters": [
                                {
                                    "constant": false,
                                    "id": 14353,
                                    "mutability": "mutable",
                                    "name": "p0",
                                    "nameLocation": "12106:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 14371,
                                    "src": "12092:16:62",
                                    "stateVariable": false,
                                    "storageLocation": "memory",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_string_memory_ptr",
                                        "typeString": "string"
                                    },
                                    "typeName": {
                                        "id": 14352,
                                        "name": "string",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "12092:6:62",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_string_storage_ptr",
                                            "typeString": "string"
                                        }
                                    },
                                    "visibility": "internal"
                                },
                                {
                                    "constant": false,
                                    "id": 14355,
                                    "mutability": "mutable",
                                    "name": "p1",
                                    "nameLocation": "12118:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 14371,
                                    "src": "12110:10:62",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_address",
                                        "typeString": "address"
                                    },
                                    "typeName": {
                                        "id": 14354,
                                        "name": "address",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "12110:7:62",
                                        "stateMutability": "nonpayable",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_address",
                                            "typeString": "address"
                                        }
                                    },
                                    "visibility": "internal"
                                },
                                {
                                    "constant": false,
                                    "id": 14357,
                                    "mutability": "mutable",
                                    "name": "p2",
                                    "nameLocation": "12127:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 14371,
                                    "src": "12122:7:62",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_bool",
                                        "typeString": "bool"
                                    },
                                    "typeName": {
                                        "id": 14356,
                                        "name": "bool",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "12122:4:62",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_bool",
                                            "typeString": "bool"
                                        }
                                    },
                                    "visibility": "internal"
                                }
                            ],
                            "src": "12091:39:62"
                        },
                        "returnParameters": {
                            "id": 14359,
                            "nodeType": "ParameterList",
                            "parameters": [],
                            "src": "12145:0:62"
                        },
                        "scope": 20920,
                        "src": "12079:154:62",
                        "stateMutability": "view",
                        "virtual": false,
                        "visibility": "internal"
                    },
                    {
                        "body": {
                            "id": 14390,
                            "nodeType": "Block",
                            "src": "12305:91:62",
                            "statements": [
                                {
                                    "expression": {
                                        "arguments": [
                                            {
                                                "arguments": [
                                                    {
                                                        "hexValue": "6c6f6728737472696e672c616464726573732c6164647265737329",
                                                        "id": 14383,
                                                        "isConstant": false,
                                                        "isLValue": false,
                                                        "isPure": true,
                                                        "kind": "string",
                                                        "lValueRequested": false,
                                                        "nodeType": "Literal",
                                                        "src": "12349:29:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_stringliteral_fcec75e0902c9d61eded5d9f2eed16d5b0f2cd255fe6fa77733f59e1063823e8",
                                                            "typeString": "literal_string \"log(string,address,address)\""
                                                        },
                                                        "value": "log(string,address,address)"
                                                    },
                                                    {
                                                        "id": 14384,
                                                        "name": "p0",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 14373,
                                                        "src": "12380:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_string_memory_ptr",
                                                            "typeString": "string memory"
                                                        }
                                                    },
                                                    {
                                                        "id": 14385,
                                                        "name": "p1",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 14375,
                                                        "src": "12384:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_address",
                                                            "typeString": "address"
                                                        }
                                                    },
                                                    {
                                                        "id": 14386,
                                                        "name": "p2",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 14377,
                                                        "src": "12388:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_address",
                                                            "typeString": "address"
                                                        }
                                                    }
                                                ],
                                                "expression": {
                                                    "argumentTypes": [
                                                        {
                                                            "typeIdentifier": "t_stringliteral_fcec75e0902c9d61eded5d9f2eed16d5b0f2cd255fe6fa77733f59e1063823e8",
                                                            "typeString": "literal_string \"log(string,address,address)\""
                                                        },
                                                        {
                                                            "typeIdentifier": "t_string_memory_ptr",
                                                            "typeString": "string memory"
                                                        },
                                                        {
                                                            "typeIdentifier": "t_address",
                                                            "typeString": "address"
                                                        },
                                                        {
                                                            "typeIdentifier": "t_address",
                                                            "typeString": "address"
                                                        }
                                                    ],
                                                    "expression": {
                                                        "id": 14381,
                                                        "name": "abi",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 4294967295,
                                                        "src": "12325:3:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_magic_abi",
                                                            "typeString": "abi"
                                                        }
                                                    },
                                                    "id": 14382,
                                                    "isConstant": false,
                                                    "isLValue": false,
                                                    "isPure": true,
                                                    "lValueRequested": false,
                                                    "memberName": "encodeWithSignature",
                                                    "nodeType": "MemberAccess",
                                                    "src": "12325:23:62",
                                                    "typeDescriptions": {
                                                        "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$",
                                                        "typeString": "function (string memory) pure returns (bytes memory)"
                                                    }
                                                },
                                                "id": 14387,
                                                "isConstant": false,
                                                "isLValue": false,
                                                "isPure": false,
                                                "kind": "functionCall",
                                                "lValueRequested": false,
                                                "names": [],
                                                "nodeType": "FunctionCall",
                                                "src": "12325:66:62",
                                                "tryCall": false,
                                                "typeDescriptions": {
                                                    "typeIdentifier": "t_bytes_memory_ptr",
                                                    "typeString": "bytes memory"
                                                }
                                            }
                                        ],
                                        "expression": {
                                            "argumentTypes": [
                                                {
                                                    "typeIdentifier": "t_bytes_memory_ptr",
                                                    "typeString": "bytes memory"
                                                }
                                            ],
                                            "id": 14380,
                                            "name": "_sendLogPayload",
                                            "nodeType": "Identifier",
                                            "overloadedDeclarations": [],
                                            "referencedDeclaration": 12880,
                                            "src": "12309:15:62",
                                            "typeDescriptions": {
                                                "typeIdentifier": "t_function_internal_view$_t_bytes_memory_ptr_$returns$__$",
                                                "typeString": "function (bytes memory) view"
                                            }
                                        },
                                        "id": 14388,
                                        "isConstant": false,
                                        "isLValue": false,
                                        "isPure": false,
                                        "kind": "functionCall",
                                        "lValueRequested": false,
                                        "names": [],
                                        "nodeType": "FunctionCall",
                                        "src": "12309:83:62",
                                        "tryCall": false,
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_tuple$__$",
                                            "typeString": "tuple()"
                                        }
                                    },
                                    "id": 14389,
                                    "nodeType": "ExpressionStatement",
                                    "src": "12309:83:62"
                                }
                            ]
                        },
                        "id": 14391,
                        "implemented": true,
                        "kind": "function",
                        "modifiers": [],
                        "name": "log",
                        "nameLocation": "12245:3:62",
                        "nodeType": "FunctionDefinition",
                        "parameters": {
                            "id": 14378,
                            "nodeType": "ParameterList",
                            "parameters": [
                                {
                                    "constant": false,
                                    "id": 14373,
                                    "mutability": "mutable",
                                    "name": "p0",
                                    "nameLocation": "12263:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 14391,
                                    "src": "12249:16:62",
                                    "stateVariable": false,
                                    "storageLocation": "memory",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_string_memory_ptr",
                                        "typeString": "string"
                                    },
                                    "typeName": {
                                        "id": 14372,
                                        "name": "string",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "12249:6:62",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_string_storage_ptr",
                                            "typeString": "string"
                                        }
                                    },
                                    "visibility": "internal"
                                },
                                {
                                    "constant": false,
                                    "id": 14375,
                                    "mutability": "mutable",
                                    "name": "p1",
                                    "nameLocation": "12275:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 14391,
                                    "src": "12267:10:62",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_address",
                                        "typeString": "address"
                                    },
                                    "typeName": {
                                        "id": 14374,
                                        "name": "address",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "12267:7:62",
                                        "stateMutability": "nonpayable",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_address",
                                            "typeString": "address"
                                        }
                                    },
                                    "visibility": "internal"
                                },
                                {
                                    "constant": false,
                                    "id": 14377,
                                    "mutability": "mutable",
                                    "name": "p2",
                                    "nameLocation": "12287:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 14391,
                                    "src": "12279:10:62",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_address",
                                        "typeString": "address"
                                    },
                                    "typeName": {
                                        "id": 14376,
                                        "name": "address",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "12279:7:62",
                                        "stateMutability": "nonpayable",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_address",
                                            "typeString": "address"
                                        }
                                    },
                                    "visibility": "internal"
                                }
                            ],
                            "src": "12248:42:62"
                        },
                        "returnParameters": {
                            "id": 14379,
                            "nodeType": "ParameterList",
                            "parameters": [],
                            "src": "12305:0:62"
                        },
                        "scope": 20920,
                        "src": "12236:160:62",
                        "stateMutability": "view",
                        "virtual": false,
                        "visibility": "internal"
                    },
                    {
                        "body": {
                            "id": 14410,
                            "nodeType": "Block",
                            "src": "12453:83:62",
                            "statements": [
                                {
                                    "expression": {
                                        "arguments": [
                                            {
                                                "arguments": [
                                                    {
                                                        "hexValue": "6c6f6728626f6f6c2c75696e742c75696e7429",
                                                        "id": 14403,
                                                        "isConstant": false,
                                                        "isLValue": false,
                                                        "isPure": true,
                                                        "kind": "string",
                                                        "lValueRequested": false,
                                                        "nodeType": "Literal",
                                                        "src": "12497:21:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_stringliteral_3b5c03e061c862e366b964ce1ef4845511d610b73a90137eb2b2afa3099b1a4e",
                                                            "typeString": "literal_string \"log(bool,uint,uint)\""
                                                        },
                                                        "value": "log(bool,uint,uint)"
                                                    },
                                                    {
                                                        "id": 14404,
                                                        "name": "p0",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 14393,
                                                        "src": "12520:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_bool",
                                                            "typeString": "bool"
                                                        }
                                                    },
                                                    {
                                                        "id": 14405,
                                                        "name": "p1",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 14395,
                                                        "src": "12524:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_uint256",
                                                            "typeString": "uint256"
                                                        }
                                                    },
                                                    {
                                                        "id": 14406,
                                                        "name": "p2",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 14397,
                                                        "src": "12528:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_uint256",
                                                            "typeString": "uint256"
                                                        }
                                                    }
                                                ],
                                                "expression": {
                                                    "argumentTypes": [
                                                        {
                                                            "typeIdentifier": "t_stringliteral_3b5c03e061c862e366b964ce1ef4845511d610b73a90137eb2b2afa3099b1a4e",
                                                            "typeString": "literal_string \"log(bool,uint,uint)\""
                                                        },
                                                        {
                                                            "typeIdentifier": "t_bool",
                                                            "typeString": "bool"
                                                        },
                                                        {
                                                            "typeIdentifier": "t_uint256",
                                                            "typeString": "uint256"
                                                        },
                                                        {
                                                            "typeIdentifier": "t_uint256",
                                                            "typeString": "uint256"
                                                        }
                                                    ],
                                                    "expression": {
                                                        "id": 14401,
                                                        "name": "abi",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 4294967295,
                                                        "src": "12473:3:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_magic_abi",
                                                            "typeString": "abi"
                                                        }
                                                    },
                                                    "id": 14402,
                                                    "isConstant": false,
                                                    "isLValue": false,
                                                    "isPure": true,
                                                    "lValueRequested": false,
                                                    "memberName": "encodeWithSignature",
                                                    "nodeType": "MemberAccess",
                                                    "src": "12473:23:62",
                                                    "typeDescriptions": {
                                                        "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$",
                                                        "typeString": "function (string memory) pure returns (bytes memory)"
                                                    }
                                                },
                                                "id": 14407,
                                                "isConstant": false,
                                                "isLValue": false,
                                                "isPure": false,
                                                "kind": "functionCall",
                                                "lValueRequested": false,
                                                "names": [],
                                                "nodeType": "FunctionCall",
                                                "src": "12473:58:62",
                                                "tryCall": false,
                                                "typeDescriptions": {
                                                    "typeIdentifier": "t_bytes_memory_ptr",
                                                    "typeString": "bytes memory"
                                                }
                                            }
                                        ],
                                        "expression": {
                                            "argumentTypes": [
                                                {
                                                    "typeIdentifier": "t_bytes_memory_ptr",
                                                    "typeString": "bytes memory"
                                                }
                                            ],
                                            "id": 14400,
                                            "name": "_sendLogPayload",
                                            "nodeType": "Identifier",
                                            "overloadedDeclarations": [],
                                            "referencedDeclaration": 12880,
                                            "src": "12457:15:62",
                                            "typeDescriptions": {
                                                "typeIdentifier": "t_function_internal_view$_t_bytes_memory_ptr_$returns$__$",
                                                "typeString": "function (bytes memory) view"
                                            }
                                        },
                                        "id": 14408,
                                        "isConstant": false,
                                        "isLValue": false,
                                        "isPure": false,
                                        "kind": "functionCall",
                                        "lValueRequested": false,
                                        "names": [],
                                        "nodeType": "FunctionCall",
                                        "src": "12457:75:62",
                                        "tryCall": false,
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_tuple$__$",
                                            "typeString": "tuple()"
                                        }
                                    },
                                    "id": 14409,
                                    "nodeType": "ExpressionStatement",
                                    "src": "12457:75:62"
                                }
                            ]
                        },
                        "id": 14411,
                        "implemented": true,
                        "kind": "function",
                        "modifiers": [],
                        "name": "log",
                        "nameLocation": "12408:3:62",
                        "nodeType": "FunctionDefinition",
                        "parameters": {
                            "id": 14398,
                            "nodeType": "ParameterList",
                            "parameters": [
                                {
                                    "constant": false,
                                    "id": 14393,
                                    "mutability": "mutable",
                                    "name": "p0",
                                    "nameLocation": "12417:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 14411,
                                    "src": "12412:7:62",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_bool",
                                        "typeString": "bool"
                                    },
                                    "typeName": {
                                        "id": 14392,
                                        "name": "bool",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "12412:4:62",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_bool",
                                            "typeString": "bool"
                                        }
                                    },
                                    "visibility": "internal"
                                },
                                {
                                    "constant": false,
                                    "id": 14395,
                                    "mutability": "mutable",
                                    "name": "p1",
                                    "nameLocation": "12426:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 14411,
                                    "src": "12421:7:62",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_uint256",
                                        "typeString": "uint256"
                                    },
                                    "typeName": {
                                        "id": 14394,
                                        "name": "uint",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "12421:4:62",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_uint256",
                                            "typeString": "uint256"
                                        }
                                    },
                                    "visibility": "internal"
                                },
                                {
                                    "constant": false,
                                    "id": 14397,
                                    "mutability": "mutable",
                                    "name": "p2",
                                    "nameLocation": "12435:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 14411,
                                    "src": "12430:7:62",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_uint256",
                                        "typeString": "uint256"
                                    },
                                    "typeName": {
                                        "id": 14396,
                                        "name": "uint",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "12430:4:62",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_uint256",
                                            "typeString": "uint256"
                                        }
                                    },
                                    "visibility": "internal"
                                }
                            ],
                            "src": "12411:27:62"
                        },
                        "returnParameters": {
                            "id": 14399,
                            "nodeType": "ParameterList",
                            "parameters": [],
                            "src": "12453:0:62"
                        },
                        "scope": 20920,
                        "src": "12399:137:62",
                        "stateMutability": "view",
                        "virtual": false,
                        "visibility": "internal"
                    },
                    {
                        "body": {
                            "id": 14430,
                            "nodeType": "Block",
                            "src": "12602:85:62",
                            "statements": [
                                {
                                    "expression": {
                                        "arguments": [
                                            {
                                                "arguments": [
                                                    {
                                                        "hexValue": "6c6f6728626f6f6c2c75696e742c737472696e6729",
                                                        "id": 14423,
                                                        "isConstant": false,
                                                        "isLValue": false,
                                                        "isPure": true,
                                                        "kind": "string",
                                                        "lValueRequested": false,
                                                        "nodeType": "Literal",
                                                        "src": "12646:23:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_stringliteral_c8397eb0de34bc3ec2853d625c1649c0c0abb20941c30ba650cc738adade018f",
                                                            "typeString": "literal_string \"log(bool,uint,string)\""
                                                        },
                                                        "value": "log(bool,uint,string)"
                                                    },
                                                    {
                                                        "id": 14424,
                                                        "name": "p0",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 14413,
                                                        "src": "12671:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_bool",
                                                            "typeString": "bool"
                                                        }
                                                    },
                                                    {
                                                        "id": 14425,
                                                        "name": "p1",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 14415,
                                                        "src": "12675:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_uint256",
                                                            "typeString": "uint256"
                                                        }
                                                    },
                                                    {
                                                        "id": 14426,
                                                        "name": "p2",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 14417,
                                                        "src": "12679:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_string_memory_ptr",
                                                            "typeString": "string memory"
                                                        }
                                                    }
                                                ],
                                                "expression": {
                                                    "argumentTypes": [
                                                        {
                                                            "typeIdentifier": "t_stringliteral_c8397eb0de34bc3ec2853d625c1649c0c0abb20941c30ba650cc738adade018f",
                                                            "typeString": "literal_string \"log(bool,uint,string)\""
                                                        },
                                                        {
                                                            "typeIdentifier": "t_bool",
                                                            "typeString": "bool"
                                                        },
                                                        {
                                                            "typeIdentifier": "t_uint256",
                                                            "typeString": "uint256"
                                                        },
                                                        {
                                                            "typeIdentifier": "t_string_memory_ptr",
                                                            "typeString": "string memory"
                                                        }
                                                    ],
                                                    "expression": {
                                                        "id": 14421,
                                                        "name": "abi",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 4294967295,
                                                        "src": "12622:3:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_magic_abi",
                                                            "typeString": "abi"
                                                        }
                                                    },
                                                    "id": 14422,
                                                    "isConstant": false,
                                                    "isLValue": false,
                                                    "isPure": true,
                                                    "lValueRequested": false,
                                                    "memberName": "encodeWithSignature",
                                                    "nodeType": "MemberAccess",
                                                    "src": "12622:23:62",
                                                    "typeDescriptions": {
                                                        "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$",
                                                        "typeString": "function (string memory) pure returns (bytes memory)"
                                                    }
                                                },
                                                "id": 14427,
                                                "isConstant": false,
                                                "isLValue": false,
                                                "isPure": false,
                                                "kind": "functionCall",
                                                "lValueRequested": false,
                                                "names": [],
                                                "nodeType": "FunctionCall",
                                                "src": "12622:60:62",
                                                "tryCall": false,
                                                "typeDescriptions": {
                                                    "typeIdentifier": "t_bytes_memory_ptr",
                                                    "typeString": "bytes memory"
                                                }
                                            }
                                        ],
                                        "expression": {
                                            "argumentTypes": [
                                                {
                                                    "typeIdentifier": "t_bytes_memory_ptr",
                                                    "typeString": "bytes memory"
                                                }
                                            ],
                                            "id": 14420,
                                            "name": "_sendLogPayload",
                                            "nodeType": "Identifier",
                                            "overloadedDeclarations": [],
                                            "referencedDeclaration": 12880,
                                            "src": "12606:15:62",
                                            "typeDescriptions": {
                                                "typeIdentifier": "t_function_internal_view$_t_bytes_memory_ptr_$returns$__$",
                                                "typeString": "function (bytes memory) view"
                                            }
                                        },
                                        "id": 14428,
                                        "isConstant": false,
                                        "isLValue": false,
                                        "isPure": false,
                                        "kind": "functionCall",
                                        "lValueRequested": false,
                                        "names": [],
                                        "nodeType": "FunctionCall",
                                        "src": "12606:77:62",
                                        "tryCall": false,
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_tuple$__$",
                                            "typeString": "tuple()"
                                        }
                                    },
                                    "id": 14429,
                                    "nodeType": "ExpressionStatement",
                                    "src": "12606:77:62"
                                }
                            ]
                        },
                        "id": 14431,
                        "implemented": true,
                        "kind": "function",
                        "modifiers": [],
                        "name": "log",
                        "nameLocation": "12548:3:62",
                        "nodeType": "FunctionDefinition",
                        "parameters": {
                            "id": 14418,
                            "nodeType": "ParameterList",
                            "parameters": [
                                {
                                    "constant": false,
                                    "id": 14413,
                                    "mutability": "mutable",
                                    "name": "p0",
                                    "nameLocation": "12557:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 14431,
                                    "src": "12552:7:62",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_bool",
                                        "typeString": "bool"
                                    },
                                    "typeName": {
                                        "id": 14412,
                                        "name": "bool",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "12552:4:62",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_bool",
                                            "typeString": "bool"
                                        }
                                    },
                                    "visibility": "internal"
                                },
                                {
                                    "constant": false,
                                    "id": 14415,
                                    "mutability": "mutable",
                                    "name": "p1",
                                    "nameLocation": "12566:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 14431,
                                    "src": "12561:7:62",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_uint256",
                                        "typeString": "uint256"
                                    },
                                    "typeName": {
                                        "id": 14414,
                                        "name": "uint",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "12561:4:62",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_uint256",
                                            "typeString": "uint256"
                                        }
                                    },
                                    "visibility": "internal"
                                },
                                {
                                    "constant": false,
                                    "id": 14417,
                                    "mutability": "mutable",
                                    "name": "p2",
                                    "nameLocation": "12584:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 14431,
                                    "src": "12570:16:62",
                                    "stateVariable": false,
                                    "storageLocation": "memory",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_string_memory_ptr",
                                        "typeString": "string"
                                    },
                                    "typeName": {
                                        "id": 14416,
                                        "name": "string",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "12570:6:62",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_string_storage_ptr",
                                            "typeString": "string"
                                        }
                                    },
                                    "visibility": "internal"
                                }
                            ],
                            "src": "12551:36:62"
                        },
                        "returnParameters": {
                            "id": 14419,
                            "nodeType": "ParameterList",
                            "parameters": [],
                            "src": "12602:0:62"
                        },
                        "scope": 20920,
                        "src": "12539:148:62",
                        "stateMutability": "view",
                        "virtual": false,
                        "visibility": "internal"
                    },
                    {
                        "body": {
                            "id": 14450,
                            "nodeType": "Block",
                            "src": "12744:83:62",
                            "statements": [
                                {
                                    "expression": {
                                        "arguments": [
                                            {
                                                "arguments": [
                                                    {
                                                        "hexValue": "6c6f6728626f6f6c2c75696e742c626f6f6c29",
                                                        "id": 14443,
                                                        "isConstant": false,
                                                        "isLValue": false,
                                                        "isPure": true,
                                                        "kind": "string",
                                                        "lValueRequested": false,
                                                        "nodeType": "Literal",
                                                        "src": "12788:21:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_stringliteral_1badc9eb6813ec769c33a3918f278565b7e2e9ed34d2ae2d50d951cc0f602ae0",
                                                            "typeString": "literal_string \"log(bool,uint,bool)\""
                                                        },
                                                        "value": "log(bool,uint,bool)"
                                                    },
                                                    {
                                                        "id": 14444,
                                                        "name": "p0",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 14433,
                                                        "src": "12811:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_bool",
                                                            "typeString": "bool"
                                                        }
                                                    },
                                                    {
                                                        "id": 14445,
                                                        "name": "p1",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 14435,
                                                        "src": "12815:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_uint256",
                                                            "typeString": "uint256"
                                                        }
                                                    },
                                                    {
                                                        "id": 14446,
                                                        "name": "p2",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 14437,
                                                        "src": "12819:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_bool",
                                                            "typeString": "bool"
                                                        }
                                                    }
                                                ],
                                                "expression": {
                                                    "argumentTypes": [
                                                        {
                                                            "typeIdentifier": "t_stringliteral_1badc9eb6813ec769c33a3918f278565b7e2e9ed34d2ae2d50d951cc0f602ae0",
                                                            "typeString": "literal_string \"log(bool,uint,bool)\""
                                                        },
                                                        {
                                                            "typeIdentifier": "t_bool",
                                                            "typeString": "bool"
                                                        },
                                                        {
                                                            "typeIdentifier": "t_uint256",
                                                            "typeString": "uint256"
                                                        },
                                                        {
                                                            "typeIdentifier": "t_bool",
                                                            "typeString": "bool"
                                                        }
                                                    ],
                                                    "expression": {
                                                        "id": 14441,
                                                        "name": "abi",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 4294967295,
                                                        "src": "12764:3:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_magic_abi",
                                                            "typeString": "abi"
                                                        }
                                                    },
                                                    "id": 14442,
                                                    "isConstant": false,
                                                    "isLValue": false,
                                                    "isPure": true,
                                                    "lValueRequested": false,
                                                    "memberName": "encodeWithSignature",
                                                    "nodeType": "MemberAccess",
                                                    "src": "12764:23:62",
                                                    "typeDescriptions": {
                                                        "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$",
                                                        "typeString": "function (string memory) pure returns (bytes memory)"
                                                    }
                                                },
                                                "id": 14447,
                                                "isConstant": false,
                                                "isLValue": false,
                                                "isPure": false,
                                                "kind": "functionCall",
                                                "lValueRequested": false,
                                                "names": [],
                                                "nodeType": "FunctionCall",
                                                "src": "12764:58:62",
                                                "tryCall": false,
                                                "typeDescriptions": {
                                                    "typeIdentifier": "t_bytes_memory_ptr",
                                                    "typeString": "bytes memory"
                                                }
                                            }
                                        ],
                                        "expression": {
                                            "argumentTypes": [
                                                {
                                                    "typeIdentifier": "t_bytes_memory_ptr",
                                                    "typeString": "bytes memory"
                                                }
                                            ],
                                            "id": 14440,
                                            "name": "_sendLogPayload",
                                            "nodeType": "Identifier",
                                            "overloadedDeclarations": [],
                                            "referencedDeclaration": 12880,
                                            "src": "12748:15:62",
                                            "typeDescriptions": {
                                                "typeIdentifier": "t_function_internal_view$_t_bytes_memory_ptr_$returns$__$",
                                                "typeString": "function (bytes memory) view"
                                            }
                                        },
                                        "id": 14448,
                                        "isConstant": false,
                                        "isLValue": false,
                                        "isPure": false,
                                        "kind": "functionCall",
                                        "lValueRequested": false,
                                        "names": [],
                                        "nodeType": "FunctionCall",
                                        "src": "12748:75:62",
                                        "tryCall": false,
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_tuple$__$",
                                            "typeString": "tuple()"
                                        }
                                    },
                                    "id": 14449,
                                    "nodeType": "ExpressionStatement",
                                    "src": "12748:75:62"
                                }
                            ]
                        },
                        "id": 14451,
                        "implemented": true,
                        "kind": "function",
                        "modifiers": [],
                        "name": "log",
                        "nameLocation": "12699:3:62",
                        "nodeType": "FunctionDefinition",
                        "parameters": {
                            "id": 14438,
                            "nodeType": "ParameterList",
                            "parameters": [
                                {
                                    "constant": false,
                                    "id": 14433,
                                    "mutability": "mutable",
                                    "name": "p0",
                                    "nameLocation": "12708:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 14451,
                                    "src": "12703:7:62",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_bool",
                                        "typeString": "bool"
                                    },
                                    "typeName": {
                                        "id": 14432,
                                        "name": "bool",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "12703:4:62",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_bool",
                                            "typeString": "bool"
                                        }
                                    },
                                    "visibility": "internal"
                                },
                                {
                                    "constant": false,
                                    "id": 14435,
                                    "mutability": "mutable",
                                    "name": "p1",
                                    "nameLocation": "12717:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 14451,
                                    "src": "12712:7:62",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_uint256",
                                        "typeString": "uint256"
                                    },
                                    "typeName": {
                                        "id": 14434,
                                        "name": "uint",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "12712:4:62",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_uint256",
                                            "typeString": "uint256"
                                        }
                                    },
                                    "visibility": "internal"
                                },
                                {
                                    "constant": false,
                                    "id": 14437,
                                    "mutability": "mutable",
                                    "name": "p2",
                                    "nameLocation": "12726:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 14451,
                                    "src": "12721:7:62",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_bool",
                                        "typeString": "bool"
                                    },
                                    "typeName": {
                                        "id": 14436,
                                        "name": "bool",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "12721:4:62",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_bool",
                                            "typeString": "bool"
                                        }
                                    },
                                    "visibility": "internal"
                                }
                            ],
                            "src": "12702:27:62"
                        },
                        "returnParameters": {
                            "id": 14439,
                            "nodeType": "ParameterList",
                            "parameters": [],
                            "src": "12744:0:62"
                        },
                        "scope": 20920,
                        "src": "12690:137:62",
                        "stateMutability": "view",
                        "virtual": false,
                        "visibility": "internal"
                    },
                    {
                        "body": {
                            "id": 14470,
                            "nodeType": "Block",
                            "src": "12887:86:62",
                            "statements": [
                                {
                                    "expression": {
                                        "arguments": [
                                            {
                                                "arguments": [
                                                    {
                                                        "hexValue": "6c6f6728626f6f6c2c75696e742c6164647265737329",
                                                        "id": 14463,
                                                        "isConstant": false,
                                                        "isLValue": false,
                                                        "isPure": true,
                                                        "kind": "string",
                                                        "lValueRequested": false,
                                                        "nodeType": "Literal",
                                                        "src": "12931:24:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_stringliteral_c4d23507f52009aec241457bf26dc51305bd2896aa08c5b47f04709554b39440",
                                                            "typeString": "literal_string \"log(bool,uint,address)\""
                                                        },
                                                        "value": "log(bool,uint,address)"
                                                    },
                                                    {
                                                        "id": 14464,
                                                        "name": "p0",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 14453,
                                                        "src": "12957:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_bool",
                                                            "typeString": "bool"
                                                        }
                                                    },
                                                    {
                                                        "id": 14465,
                                                        "name": "p1",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 14455,
                                                        "src": "12961:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_uint256",
                                                            "typeString": "uint256"
                                                        }
                                                    },
                                                    {
                                                        "id": 14466,
                                                        "name": "p2",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 14457,
                                                        "src": "12965:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_address",
                                                            "typeString": "address"
                                                        }
                                                    }
                                                ],
                                                "expression": {
                                                    "argumentTypes": [
                                                        {
                                                            "typeIdentifier": "t_stringliteral_c4d23507f52009aec241457bf26dc51305bd2896aa08c5b47f04709554b39440",
                                                            "typeString": "literal_string \"log(bool,uint,address)\""
                                                        },
                                                        {
                                                            "typeIdentifier": "t_bool",
                                                            "typeString": "bool"
                                                        },
                                                        {
                                                            "typeIdentifier": "t_uint256",
                                                            "typeString": "uint256"
                                                        },
                                                        {
                                                            "typeIdentifier": "t_address",
                                                            "typeString": "address"
                                                        }
                                                    ],
                                                    "expression": {
                                                        "id": 14461,
                                                        "name": "abi",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 4294967295,
                                                        "src": "12907:3:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_magic_abi",
                                                            "typeString": "abi"
                                                        }
                                                    },
                                                    "id": 14462,
                                                    "isConstant": false,
                                                    "isLValue": false,
                                                    "isPure": true,
                                                    "lValueRequested": false,
                                                    "memberName": "encodeWithSignature",
                                                    "nodeType": "MemberAccess",
                                                    "src": "12907:23:62",
                                                    "typeDescriptions": {
                                                        "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$",
                                                        "typeString": "function (string memory) pure returns (bytes memory)"
                                                    }
                                                },
                                                "id": 14467,
                                                "isConstant": false,
                                                "isLValue": false,
                                                "isPure": false,
                                                "kind": "functionCall",
                                                "lValueRequested": false,
                                                "names": [],
                                                "nodeType": "FunctionCall",
                                                "src": "12907:61:62",
                                                "tryCall": false,
                                                "typeDescriptions": {
                                                    "typeIdentifier": "t_bytes_memory_ptr",
                                                    "typeString": "bytes memory"
                                                }
                                            }
                                        ],
                                        "expression": {
                                            "argumentTypes": [
                                                {
                                                    "typeIdentifier": "t_bytes_memory_ptr",
                                                    "typeString": "bytes memory"
                                                }
                                            ],
                                            "id": 14460,
                                            "name": "_sendLogPayload",
                                            "nodeType": "Identifier",
                                            "overloadedDeclarations": [],
                                            "referencedDeclaration": 12880,
                                            "src": "12891:15:62",
                                            "typeDescriptions": {
                                                "typeIdentifier": "t_function_internal_view$_t_bytes_memory_ptr_$returns$__$",
                                                "typeString": "function (bytes memory) view"
                                            }
                                        },
                                        "id": 14468,
                                        "isConstant": false,
                                        "isLValue": false,
                                        "isPure": false,
                                        "kind": "functionCall",
                                        "lValueRequested": false,
                                        "names": [],
                                        "nodeType": "FunctionCall",
                                        "src": "12891:78:62",
                                        "tryCall": false,
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_tuple$__$",
                                            "typeString": "tuple()"
                                        }
                                    },
                                    "id": 14469,
                                    "nodeType": "ExpressionStatement",
                                    "src": "12891:78:62"
                                }
                            ]
                        },
                        "id": 14471,
                        "implemented": true,
                        "kind": "function",
                        "modifiers": [],
                        "name": "log",
                        "nameLocation": "12839:3:62",
                        "nodeType": "FunctionDefinition",
                        "parameters": {
                            "id": 14458,
                            "nodeType": "ParameterList",
                            "parameters": [
                                {
                                    "constant": false,
                                    "id": 14453,
                                    "mutability": "mutable",
                                    "name": "p0",
                                    "nameLocation": "12848:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 14471,
                                    "src": "12843:7:62",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_bool",
                                        "typeString": "bool"
                                    },
                                    "typeName": {
                                        "id": 14452,
                                        "name": "bool",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "12843:4:62",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_bool",
                                            "typeString": "bool"
                                        }
                                    },
                                    "visibility": "internal"
                                },
                                {
                                    "constant": false,
                                    "id": 14455,
                                    "mutability": "mutable",
                                    "name": "p1",
                                    "nameLocation": "12857:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 14471,
                                    "src": "12852:7:62",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_uint256",
                                        "typeString": "uint256"
                                    },
                                    "typeName": {
                                        "id": 14454,
                                        "name": "uint",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "12852:4:62",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_uint256",
                                            "typeString": "uint256"
                                        }
                                    },
                                    "visibility": "internal"
                                },
                                {
                                    "constant": false,
                                    "id": 14457,
                                    "mutability": "mutable",
                                    "name": "p2",
                                    "nameLocation": "12869:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 14471,
                                    "src": "12861:10:62",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_address",
                                        "typeString": "address"
                                    },
                                    "typeName": {
                                        "id": 14456,
                                        "name": "address",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "12861:7:62",
                                        "stateMutability": "nonpayable",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_address",
                                            "typeString": "address"
                                        }
                                    },
                                    "visibility": "internal"
                                }
                            ],
                            "src": "12842:30:62"
                        },
                        "returnParameters": {
                            "id": 14459,
                            "nodeType": "ParameterList",
                            "parameters": [],
                            "src": "12887:0:62"
                        },
                        "scope": 20920,
                        "src": "12830:143:62",
                        "stateMutability": "view",
                        "virtual": false,
                        "visibility": "internal"
                    },
                    {
                        "body": {
                            "id": 14490,
                            "nodeType": "Block",
                            "src": "13039:85:62",
                            "statements": [
                                {
                                    "expression": {
                                        "arguments": [
                                            {
                                                "arguments": [
                                                    {
                                                        "hexValue": "6c6f6728626f6f6c2c737472696e672c75696e7429",
                                                        "id": 14483,
                                                        "isConstant": false,
                                                        "isLValue": false,
                                                        "isPure": true,
                                                        "kind": "string",
                                                        "lValueRequested": false,
                                                        "nodeType": "Literal",
                                                        "src": "13083:23:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_stringliteral_c0382aac3e9b237c9c8f246cdb8152d44351aaafa72d99e3640be65f754ac807",
                                                            "typeString": "literal_string \"log(bool,string,uint)\""
                                                        },
                                                        "value": "log(bool,string,uint)"
                                                    },
                                                    {
                                                        "id": 14484,
                                                        "name": "p0",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 14473,
                                                        "src": "13108:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_bool",
                                                            "typeString": "bool"
                                                        }
                                                    },
                                                    {
                                                        "id": 14485,
                                                        "name": "p1",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 14475,
                                                        "src": "13112:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_string_memory_ptr",
                                                            "typeString": "string memory"
                                                        }
                                                    },
                                                    {
                                                        "id": 14486,
                                                        "name": "p2",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 14477,
                                                        "src": "13116:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_uint256",
                                                            "typeString": "uint256"
                                                        }
                                                    }
                                                ],
                                                "expression": {
                                                    "argumentTypes": [
                                                        {
                                                            "typeIdentifier": "t_stringliteral_c0382aac3e9b237c9c8f246cdb8152d44351aaafa72d99e3640be65f754ac807",
                                                            "typeString": "literal_string \"log(bool,string,uint)\""
                                                        },
                                                        {
                                                            "typeIdentifier": "t_bool",
                                                            "typeString": "bool"
                                                        },
                                                        {
                                                            "typeIdentifier": "t_string_memory_ptr",
                                                            "typeString": "string memory"
                                                        },
                                                        {
                                                            "typeIdentifier": "t_uint256",
                                                            "typeString": "uint256"
                                                        }
                                                    ],
                                                    "expression": {
                                                        "id": 14481,
                                                        "name": "abi",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 4294967295,
                                                        "src": "13059:3:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_magic_abi",
                                                            "typeString": "abi"
                                                        }
                                                    },
                                                    "id": 14482,
                                                    "isConstant": false,
                                                    "isLValue": false,
                                                    "isPure": true,
                                                    "lValueRequested": false,
                                                    "memberName": "encodeWithSignature",
                                                    "nodeType": "MemberAccess",
                                                    "src": "13059:23:62",
                                                    "typeDescriptions": {
                                                        "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$",
                                                        "typeString": "function (string memory) pure returns (bytes memory)"
                                                    }
                                                },
                                                "id": 14487,
                                                "isConstant": false,
                                                "isLValue": false,
                                                "isPure": false,
                                                "kind": "functionCall",
                                                "lValueRequested": false,
                                                "names": [],
                                                "nodeType": "FunctionCall",
                                                "src": "13059:60:62",
                                                "tryCall": false,
                                                "typeDescriptions": {
                                                    "typeIdentifier": "t_bytes_memory_ptr",
                                                    "typeString": "bytes memory"
                                                }
                                            }
                                        ],
                                        "expression": {
                                            "argumentTypes": [
                                                {
                                                    "typeIdentifier": "t_bytes_memory_ptr",
                                                    "typeString": "bytes memory"
                                                }
                                            ],
                                            "id": 14480,
                                            "name": "_sendLogPayload",
                                            "nodeType": "Identifier",
                                            "overloadedDeclarations": [],
                                            "referencedDeclaration": 12880,
                                            "src": "13043:15:62",
                                            "typeDescriptions": {
                                                "typeIdentifier": "t_function_internal_view$_t_bytes_memory_ptr_$returns$__$",
                                                "typeString": "function (bytes memory) view"
                                            }
                                        },
                                        "id": 14488,
                                        "isConstant": false,
                                        "isLValue": false,
                                        "isPure": false,
                                        "kind": "functionCall",
                                        "lValueRequested": false,
                                        "names": [],
                                        "nodeType": "FunctionCall",
                                        "src": "13043:77:62",
                                        "tryCall": false,
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_tuple$__$",
                                            "typeString": "tuple()"
                                        }
                                    },
                                    "id": 14489,
                                    "nodeType": "ExpressionStatement",
                                    "src": "13043:77:62"
                                }
                            ]
                        },
                        "id": 14491,
                        "implemented": true,
                        "kind": "function",
                        "modifiers": [],
                        "name": "log",
                        "nameLocation": "12985:3:62",
                        "nodeType": "FunctionDefinition",
                        "parameters": {
                            "id": 14478,
                            "nodeType": "ParameterList",
                            "parameters": [
                                {
                                    "constant": false,
                                    "id": 14473,
                                    "mutability": "mutable",
                                    "name": "p0",
                                    "nameLocation": "12994:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 14491,
                                    "src": "12989:7:62",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_bool",
                                        "typeString": "bool"
                                    },
                                    "typeName": {
                                        "id": 14472,
                                        "name": "bool",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "12989:4:62",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_bool",
                                            "typeString": "bool"
                                        }
                                    },
                                    "visibility": "internal"
                                },
                                {
                                    "constant": false,
                                    "id": 14475,
                                    "mutability": "mutable",
                                    "name": "p1",
                                    "nameLocation": "13012:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 14491,
                                    "src": "12998:16:62",
                                    "stateVariable": false,
                                    "storageLocation": "memory",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_string_memory_ptr",
                                        "typeString": "string"
                                    },
                                    "typeName": {
                                        "id": 14474,
                                        "name": "string",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "12998:6:62",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_string_storage_ptr",
                                            "typeString": "string"
                                        }
                                    },
                                    "visibility": "internal"
                                },
                                {
                                    "constant": false,
                                    "id": 14477,
                                    "mutability": "mutable",
                                    "name": "p2",
                                    "nameLocation": "13021:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 14491,
                                    "src": "13016:7:62",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_uint256",
                                        "typeString": "uint256"
                                    },
                                    "typeName": {
                                        "id": 14476,
                                        "name": "uint",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "13016:4:62",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_uint256",
                                            "typeString": "uint256"
                                        }
                                    },
                                    "visibility": "internal"
                                }
                            ],
                            "src": "12988:36:62"
                        },
                        "returnParameters": {
                            "id": 14479,
                            "nodeType": "ParameterList",
                            "parameters": [],
                            "src": "13039:0:62"
                        },
                        "scope": 20920,
                        "src": "12976:148:62",
                        "stateMutability": "view",
                        "virtual": false,
                        "visibility": "internal"
                    },
                    {
                        "body": {
                            "id": 14510,
                            "nodeType": "Block",
                            "src": "13199:87:62",
                            "statements": [
                                {
                                    "expression": {
                                        "arguments": [
                                            {
                                                "arguments": [
                                                    {
                                                        "hexValue": "6c6f6728626f6f6c2c737472696e672c737472696e6729",
                                                        "id": 14503,
                                                        "isConstant": false,
                                                        "isLValue": false,
                                                        "isPure": true,
                                                        "kind": "string",
                                                        "lValueRequested": false,
                                                        "nodeType": "Literal",
                                                        "src": "13243:25:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_stringliteral_b076847f8b4aee0cfbf46ec501532f9f3c85a581aff135287ff8e917c0a39102",
                                                            "typeString": "literal_string \"log(bool,string,string)\""
                                                        },
                                                        "value": "log(bool,string,string)"
                                                    },
                                                    {
                                                        "id": 14504,
                                                        "name": "p0",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 14493,
                                                        "src": "13270:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_bool",
                                                            "typeString": "bool"
                                                        }
                                                    },
                                                    {
                                                        "id": 14505,
                                                        "name": "p1",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 14495,
                                                        "src": "13274:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_string_memory_ptr",
                                                            "typeString": "string memory"
                                                        }
                                                    },
                                                    {
                                                        "id": 14506,
                                                        "name": "p2",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 14497,
                                                        "src": "13278:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_string_memory_ptr",
                                                            "typeString": "string memory"
                                                        }
                                                    }
                                                ],
                                                "expression": {
                                                    "argumentTypes": [
                                                        {
                                                            "typeIdentifier": "t_stringliteral_b076847f8b4aee0cfbf46ec501532f9f3c85a581aff135287ff8e917c0a39102",
                                                            "typeString": "literal_string \"log(bool,string,string)\""
                                                        },
                                                        {
                                                            "typeIdentifier": "t_bool",
                                                            "typeString": "bool"
                                                        },
                                                        {
                                                            "typeIdentifier": "t_string_memory_ptr",
                                                            "typeString": "string memory"
                                                        },
                                                        {
                                                            "typeIdentifier": "t_string_memory_ptr",
                                                            "typeString": "string memory"
                                                        }
                                                    ],
                                                    "expression": {
                                                        "id": 14501,
                                                        "name": "abi",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 4294967295,
                                                        "src": "13219:3:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_magic_abi",
                                                            "typeString": "abi"
                                                        }
                                                    },
                                                    "id": 14502,
                                                    "isConstant": false,
                                                    "isLValue": false,
                                                    "isPure": true,
                                                    "lValueRequested": false,
                                                    "memberName": "encodeWithSignature",
                                                    "nodeType": "MemberAccess",
                                                    "src": "13219:23:62",
                                                    "typeDescriptions": {
                                                        "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$",
                                                        "typeString": "function (string memory) pure returns (bytes memory)"
                                                    }
                                                },
                                                "id": 14507,
                                                "isConstant": false,
                                                "isLValue": false,
                                                "isPure": false,
                                                "kind": "functionCall",
                                                "lValueRequested": false,
                                                "names": [],
                                                "nodeType": "FunctionCall",
                                                "src": "13219:62:62",
                                                "tryCall": false,
                                                "typeDescriptions": {
                                                    "typeIdentifier": "t_bytes_memory_ptr",
                                                    "typeString": "bytes memory"
                                                }
                                            }
                                        ],
                                        "expression": {
                                            "argumentTypes": [
                                                {
                                                    "typeIdentifier": "t_bytes_memory_ptr",
                                                    "typeString": "bytes memory"
                                                }
                                            ],
                                            "id": 14500,
                                            "name": "_sendLogPayload",
                                            "nodeType": "Identifier",
                                            "overloadedDeclarations": [],
                                            "referencedDeclaration": 12880,
                                            "src": "13203:15:62",
                                            "typeDescriptions": {
                                                "typeIdentifier": "t_function_internal_view$_t_bytes_memory_ptr_$returns$__$",
                                                "typeString": "function (bytes memory) view"
                                            }
                                        },
                                        "id": 14508,
                                        "isConstant": false,
                                        "isLValue": false,
                                        "isPure": false,
                                        "kind": "functionCall",
                                        "lValueRequested": false,
                                        "names": [],
                                        "nodeType": "FunctionCall",
                                        "src": "13203:79:62",
                                        "tryCall": false,
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_tuple$__$",
                                            "typeString": "tuple()"
                                        }
                                    },
                                    "id": 14509,
                                    "nodeType": "ExpressionStatement",
                                    "src": "13203:79:62"
                                }
                            ]
                        },
                        "id": 14511,
                        "implemented": true,
                        "kind": "function",
                        "modifiers": [],
                        "name": "log",
                        "nameLocation": "13136:3:62",
                        "nodeType": "FunctionDefinition",
                        "parameters": {
                            "id": 14498,
                            "nodeType": "ParameterList",
                            "parameters": [
                                {
                                    "constant": false,
                                    "id": 14493,
                                    "mutability": "mutable",
                                    "name": "p0",
                                    "nameLocation": "13145:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 14511,
                                    "src": "13140:7:62",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_bool",
                                        "typeString": "bool"
                                    },
                                    "typeName": {
                                        "id": 14492,
                                        "name": "bool",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "13140:4:62",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_bool",
                                            "typeString": "bool"
                                        }
                                    },
                                    "visibility": "internal"
                                },
                                {
                                    "constant": false,
                                    "id": 14495,
                                    "mutability": "mutable",
                                    "name": "p1",
                                    "nameLocation": "13163:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 14511,
                                    "src": "13149:16:62",
                                    "stateVariable": false,
                                    "storageLocation": "memory",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_string_memory_ptr",
                                        "typeString": "string"
                                    },
                                    "typeName": {
                                        "id": 14494,
                                        "name": "string",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "13149:6:62",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_string_storage_ptr",
                                            "typeString": "string"
                                        }
                                    },
                                    "visibility": "internal"
                                },
                                {
                                    "constant": false,
                                    "id": 14497,
                                    "mutability": "mutable",
                                    "name": "p2",
                                    "nameLocation": "13181:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 14511,
                                    "src": "13167:16:62",
                                    "stateVariable": false,
                                    "storageLocation": "memory",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_string_memory_ptr",
                                        "typeString": "string"
                                    },
                                    "typeName": {
                                        "id": 14496,
                                        "name": "string",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "13167:6:62",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_string_storage_ptr",
                                            "typeString": "string"
                                        }
                                    },
                                    "visibility": "internal"
                                }
                            ],
                            "src": "13139:45:62"
                        },
                        "returnParameters": {
                            "id": 14499,
                            "nodeType": "ParameterList",
                            "parameters": [],
                            "src": "13199:0:62"
                        },
                        "scope": 20920,
                        "src": "13127:159:62",
                        "stateMutability": "view",
                        "virtual": false,
                        "visibility": "internal"
                    },
                    {
                        "body": {
                            "id": 14530,
                            "nodeType": "Block",
                            "src": "13352:85:62",
                            "statements": [
                                {
                                    "expression": {
                                        "arguments": [
                                            {
                                                "arguments": [
                                                    {
                                                        "hexValue": "6c6f6728626f6f6c2c737472696e672c626f6f6c29",
                                                        "id": 14523,
                                                        "isConstant": false,
                                                        "isLValue": false,
                                                        "isPure": true,
                                                        "kind": "string",
                                                        "lValueRequested": false,
                                                        "nodeType": "Literal",
                                                        "src": "13396:23:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_stringliteral_dbb4c2477dacc98e0e5b96fd6ca6bf0ae1f82dd042439d9f53f8d963bef43eaa",
                                                            "typeString": "literal_string \"log(bool,string,bool)\""
                                                        },
                                                        "value": "log(bool,string,bool)"
                                                    },
                                                    {
                                                        "id": 14524,
                                                        "name": "p0",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 14513,
                                                        "src": "13421:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_bool",
                                                            "typeString": "bool"
                                                        }
                                                    },
                                                    {
                                                        "id": 14525,
                                                        "name": "p1",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 14515,
                                                        "src": "13425:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_string_memory_ptr",
                                                            "typeString": "string memory"
                                                        }
                                                    },
                                                    {
                                                        "id": 14526,
                                                        "name": "p2",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 14517,
                                                        "src": "13429:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_bool",
                                                            "typeString": "bool"
                                                        }
                                                    }
                                                ],
                                                "expression": {
                                                    "argumentTypes": [
                                                        {
                                                            "typeIdentifier": "t_stringliteral_dbb4c2477dacc98e0e5b96fd6ca6bf0ae1f82dd042439d9f53f8d963bef43eaa",
                                                            "typeString": "literal_string \"log(bool,string,bool)\""
                                                        },
                                                        {
                                                            "typeIdentifier": "t_bool",
                                                            "typeString": "bool"
                                                        },
                                                        {
                                                            "typeIdentifier": "t_string_memory_ptr",
                                                            "typeString": "string memory"
                                                        },
                                                        {
                                                            "typeIdentifier": "t_bool",
                                                            "typeString": "bool"
                                                        }
                                                    ],
                                                    "expression": {
                                                        "id": 14521,
                                                        "name": "abi",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 4294967295,
                                                        "src": "13372:3:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_magic_abi",
                                                            "typeString": "abi"
                                                        }
                                                    },
                                                    "id": 14522,
                                                    "isConstant": false,
                                                    "isLValue": false,
                                                    "isPure": true,
                                                    "lValueRequested": false,
                                                    "memberName": "encodeWithSignature",
                                                    "nodeType": "MemberAccess",
                                                    "src": "13372:23:62",
                                                    "typeDescriptions": {
                                                        "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$",
                                                        "typeString": "function (string memory) pure returns (bytes memory)"
                                                    }
                                                },
                                                "id": 14527,
                                                "isConstant": false,
                                                "isLValue": false,
                                                "isPure": false,
                                                "kind": "functionCall",
                                                "lValueRequested": false,
                                                "names": [],
                                                "nodeType": "FunctionCall",
                                                "src": "13372:60:62",
                                                "tryCall": false,
                                                "typeDescriptions": {
                                                    "typeIdentifier": "t_bytes_memory_ptr",
                                                    "typeString": "bytes memory"
                                                }
                                            }
                                        ],
                                        "expression": {
                                            "argumentTypes": [
                                                {
                                                    "typeIdentifier": "t_bytes_memory_ptr",
                                                    "typeString": "bytes memory"
                                                }
                                            ],
                                            "id": 14520,
                                            "name": "_sendLogPayload",
                                            "nodeType": "Identifier",
                                            "overloadedDeclarations": [],
                                            "referencedDeclaration": 12880,
                                            "src": "13356:15:62",
                                            "typeDescriptions": {
                                                "typeIdentifier": "t_function_internal_view$_t_bytes_memory_ptr_$returns$__$",
                                                "typeString": "function (bytes memory) view"
                                            }
                                        },
                                        "id": 14528,
                                        "isConstant": false,
                                        "isLValue": false,
                                        "isPure": false,
                                        "kind": "functionCall",
                                        "lValueRequested": false,
                                        "names": [],
                                        "nodeType": "FunctionCall",
                                        "src": "13356:77:62",
                                        "tryCall": false,
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_tuple$__$",
                                            "typeString": "tuple()"
                                        }
                                    },
                                    "id": 14529,
                                    "nodeType": "ExpressionStatement",
                                    "src": "13356:77:62"
                                }
                            ]
                        },
                        "id": 14531,
                        "implemented": true,
                        "kind": "function",
                        "modifiers": [],
                        "name": "log",
                        "nameLocation": "13298:3:62",
                        "nodeType": "FunctionDefinition",
                        "parameters": {
                            "id": 14518,
                            "nodeType": "ParameterList",
                            "parameters": [
                                {
                                    "constant": false,
                                    "id": 14513,
                                    "mutability": "mutable",
                                    "name": "p0",
                                    "nameLocation": "13307:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 14531,
                                    "src": "13302:7:62",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_bool",
                                        "typeString": "bool"
                                    },
                                    "typeName": {
                                        "id": 14512,
                                        "name": "bool",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "13302:4:62",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_bool",
                                            "typeString": "bool"
                                        }
                                    },
                                    "visibility": "internal"
                                },
                                {
                                    "constant": false,
                                    "id": 14515,
                                    "mutability": "mutable",
                                    "name": "p1",
                                    "nameLocation": "13325:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 14531,
                                    "src": "13311:16:62",
                                    "stateVariable": false,
                                    "storageLocation": "memory",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_string_memory_ptr",
                                        "typeString": "string"
                                    },
                                    "typeName": {
                                        "id": 14514,
                                        "name": "string",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "13311:6:62",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_string_storage_ptr",
                                            "typeString": "string"
                                        }
                                    },
                                    "visibility": "internal"
                                },
                                {
                                    "constant": false,
                                    "id": 14517,
                                    "mutability": "mutable",
                                    "name": "p2",
                                    "nameLocation": "13334:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 14531,
                                    "src": "13329:7:62",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_bool",
                                        "typeString": "bool"
                                    },
                                    "typeName": {
                                        "id": 14516,
                                        "name": "bool",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "13329:4:62",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_bool",
                                            "typeString": "bool"
                                        }
                                    },
                                    "visibility": "internal"
                                }
                            ],
                            "src": "13301:36:62"
                        },
                        "returnParameters": {
                            "id": 14519,
                            "nodeType": "ParameterList",
                            "parameters": [],
                            "src": "13352:0:62"
                        },
                        "scope": 20920,
                        "src": "13289:148:62",
                        "stateMutability": "view",
                        "virtual": false,
                        "visibility": "internal"
                    },
                    {
                        "body": {
                            "id": 14550,
                            "nodeType": "Block",
                            "src": "13506:88:62",
                            "statements": [
                                {
                                    "expression": {
                                        "arguments": [
                                            {
                                                "arguments": [
                                                    {
                                                        "hexValue": "6c6f6728626f6f6c2c737472696e672c6164647265737329",
                                                        "id": 14543,
                                                        "isConstant": false,
                                                        "isLValue": false,
                                                        "isPure": true,
                                                        "kind": "string",
                                                        "lValueRequested": false,
                                                        "nodeType": "Literal",
                                                        "src": "13550:26:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_stringliteral_9591b953c9b1d0af9d1e3bc0f6ea9aa5b0e1af8c702f85b36e21b9b2d7e4da79",
                                                            "typeString": "literal_string \"log(bool,string,address)\""
                                                        },
                                                        "value": "log(bool,string,address)"
                                                    },
                                                    {
                                                        "id": 14544,
                                                        "name": "p0",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 14533,
                                                        "src": "13578:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_bool",
                                                            "typeString": "bool"
                                                        }
                                                    },
                                                    {
                                                        "id": 14545,
                                                        "name": "p1",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 14535,
                                                        "src": "13582:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_string_memory_ptr",
                                                            "typeString": "string memory"
                                                        }
                                                    },
                                                    {
                                                        "id": 14546,
                                                        "name": "p2",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 14537,
                                                        "src": "13586:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_address",
                                                            "typeString": "address"
                                                        }
                                                    }
                                                ],
                                                "expression": {
                                                    "argumentTypes": [
                                                        {
                                                            "typeIdentifier": "t_stringliteral_9591b953c9b1d0af9d1e3bc0f6ea9aa5b0e1af8c702f85b36e21b9b2d7e4da79",
                                                            "typeString": "literal_string \"log(bool,string,address)\""
                                                        },
                                                        {
                                                            "typeIdentifier": "t_bool",
                                                            "typeString": "bool"
                                                        },
                                                        {
                                                            "typeIdentifier": "t_string_memory_ptr",
                                                            "typeString": "string memory"
                                                        },
                                                        {
                                                            "typeIdentifier": "t_address",
                                                            "typeString": "address"
                                                        }
                                                    ],
                                                    "expression": {
                                                        "id": 14541,
                                                        "name": "abi",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 4294967295,
                                                        "src": "13526:3:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_magic_abi",
                                                            "typeString": "abi"
                                                        }
                                                    },
                                                    "id": 14542,
                                                    "isConstant": false,
                                                    "isLValue": false,
                                                    "isPure": true,
                                                    "lValueRequested": false,
                                                    "memberName": "encodeWithSignature",
                                                    "nodeType": "MemberAccess",
                                                    "src": "13526:23:62",
                                                    "typeDescriptions": {
                                                        "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$",
                                                        "typeString": "function (string memory) pure returns (bytes memory)"
                                                    }
                                                },
                                                "id": 14547,
                                                "isConstant": false,
                                                "isLValue": false,
                                                "isPure": false,
                                                "kind": "functionCall",
                                                "lValueRequested": false,
                                                "names": [],
                                                "nodeType": "FunctionCall",
                                                "src": "13526:63:62",
                                                "tryCall": false,
                                                "typeDescriptions": {
                                                    "typeIdentifier": "t_bytes_memory_ptr",
                                                    "typeString": "bytes memory"
                                                }
                                            }
                                        ],
                                        "expression": {
                                            "argumentTypes": [
                                                {
                                                    "typeIdentifier": "t_bytes_memory_ptr",
                                                    "typeString": "bytes memory"
                                                }
                                            ],
                                            "id": 14540,
                                            "name": "_sendLogPayload",
                                            "nodeType": "Identifier",
                                            "overloadedDeclarations": [],
                                            "referencedDeclaration": 12880,
                                            "src": "13510:15:62",
                                            "typeDescriptions": {
                                                "typeIdentifier": "t_function_internal_view$_t_bytes_memory_ptr_$returns$__$",
                                                "typeString": "function (bytes memory) view"
                                            }
                                        },
                                        "id": 14548,
                                        "isConstant": false,
                                        "isLValue": false,
                                        "isPure": false,
                                        "kind": "functionCall",
                                        "lValueRequested": false,
                                        "names": [],
                                        "nodeType": "FunctionCall",
                                        "src": "13510:80:62",
                                        "tryCall": false,
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_tuple$__$",
                                            "typeString": "tuple()"
                                        }
                                    },
                                    "id": 14549,
                                    "nodeType": "ExpressionStatement",
                                    "src": "13510:80:62"
                                }
                            ]
                        },
                        "id": 14551,
                        "implemented": true,
                        "kind": "function",
                        "modifiers": [],
                        "name": "log",
                        "nameLocation": "13449:3:62",
                        "nodeType": "FunctionDefinition",
                        "parameters": {
                            "id": 14538,
                            "nodeType": "ParameterList",
                            "parameters": [
                                {
                                    "constant": false,
                                    "id": 14533,
                                    "mutability": "mutable",
                                    "name": "p0",
                                    "nameLocation": "13458:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 14551,
                                    "src": "13453:7:62",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_bool",
                                        "typeString": "bool"
                                    },
                                    "typeName": {
                                        "id": 14532,
                                        "name": "bool",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "13453:4:62",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_bool",
                                            "typeString": "bool"
                                        }
                                    },
                                    "visibility": "internal"
                                },
                                {
                                    "constant": false,
                                    "id": 14535,
                                    "mutability": "mutable",
                                    "name": "p1",
                                    "nameLocation": "13476:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 14551,
                                    "src": "13462:16:62",
                                    "stateVariable": false,
                                    "storageLocation": "memory",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_string_memory_ptr",
                                        "typeString": "string"
                                    },
                                    "typeName": {
                                        "id": 14534,
                                        "name": "string",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "13462:6:62",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_string_storage_ptr",
                                            "typeString": "string"
                                        }
                                    },
                                    "visibility": "internal"
                                },
                                {
                                    "constant": false,
                                    "id": 14537,
                                    "mutability": "mutable",
                                    "name": "p2",
                                    "nameLocation": "13488:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 14551,
                                    "src": "13480:10:62",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_address",
                                        "typeString": "address"
                                    },
                                    "typeName": {
                                        "id": 14536,
                                        "name": "address",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "13480:7:62",
                                        "stateMutability": "nonpayable",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_address",
                                            "typeString": "address"
                                        }
                                    },
                                    "visibility": "internal"
                                }
                            ],
                            "src": "13452:39:62"
                        },
                        "returnParameters": {
                            "id": 14539,
                            "nodeType": "ParameterList",
                            "parameters": [],
                            "src": "13506:0:62"
                        },
                        "scope": 20920,
                        "src": "13440:154:62",
                        "stateMutability": "view",
                        "virtual": false,
                        "visibility": "internal"
                    },
                    {
                        "body": {
                            "id": 14570,
                            "nodeType": "Block",
                            "src": "13651:83:62",
                            "statements": [
                                {
                                    "expression": {
                                        "arguments": [
                                            {
                                                "arguments": [
                                                    {
                                                        "hexValue": "6c6f6728626f6f6c2c626f6f6c2c75696e7429",
                                                        "id": 14563,
                                                        "isConstant": false,
                                                        "isLValue": false,
                                                        "isPure": true,
                                                        "kind": "string",
                                                        "lValueRequested": false,
                                                        "nodeType": "Literal",
                                                        "src": "13695:21:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_stringliteral_b01365bbae43503e22260bcc9cf23ffef37ffc9f6c1580737fe2489955065877",
                                                            "typeString": "literal_string \"log(bool,bool,uint)\""
                                                        },
                                                        "value": "log(bool,bool,uint)"
                                                    },
                                                    {
                                                        "id": 14564,
                                                        "name": "p0",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 14553,
                                                        "src": "13718:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_bool",
                                                            "typeString": "bool"
                                                        }
                                                    },
                                                    {
                                                        "id": 14565,
                                                        "name": "p1",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 14555,
                                                        "src": "13722:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_bool",
                                                            "typeString": "bool"
                                                        }
                                                    },
                                                    {
                                                        "id": 14566,
                                                        "name": "p2",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 14557,
                                                        "src": "13726:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_uint256",
                                                            "typeString": "uint256"
                                                        }
                                                    }
                                                ],
                                                "expression": {
                                                    "argumentTypes": [
                                                        {
                                                            "typeIdentifier": "t_stringliteral_b01365bbae43503e22260bcc9cf23ffef37ffc9f6c1580737fe2489955065877",
                                                            "typeString": "literal_string \"log(bool,bool,uint)\""
                                                        },
                                                        {
                                                            "typeIdentifier": "t_bool",
                                                            "typeString": "bool"
                                                        },
                                                        {
                                                            "typeIdentifier": "t_bool",
                                                            "typeString": "bool"
                                                        },
                                                        {
                                                            "typeIdentifier": "t_uint256",
                                                            "typeString": "uint256"
                                                        }
                                                    ],
                                                    "expression": {
                                                        "id": 14561,
                                                        "name": "abi",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 4294967295,
                                                        "src": "13671:3:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_magic_abi",
                                                            "typeString": "abi"
                                                        }
                                                    },
                                                    "id": 14562,
                                                    "isConstant": false,
                                                    "isLValue": false,
                                                    "isPure": true,
                                                    "lValueRequested": false,
                                                    "memberName": "encodeWithSignature",
                                                    "nodeType": "MemberAccess",
                                                    "src": "13671:23:62",
                                                    "typeDescriptions": {
                                                        "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$",
                                                        "typeString": "function (string memory) pure returns (bytes memory)"
                                                    }
                                                },
                                                "id": 14567,
                                                "isConstant": false,
                                                "isLValue": false,
                                                "isPure": false,
                                                "kind": "functionCall",
                                                "lValueRequested": false,
                                                "names": [],
                                                "nodeType": "FunctionCall",
                                                "src": "13671:58:62",
                                                "tryCall": false,
                                                "typeDescriptions": {
                                                    "typeIdentifier": "t_bytes_memory_ptr",
                                                    "typeString": "bytes memory"
                                                }
                                            }
                                        ],
                                        "expression": {
                                            "argumentTypes": [
                                                {
                                                    "typeIdentifier": "t_bytes_memory_ptr",
                                                    "typeString": "bytes memory"
                                                }
                                            ],
                                            "id": 14560,
                                            "name": "_sendLogPayload",
                                            "nodeType": "Identifier",
                                            "overloadedDeclarations": [],
                                            "referencedDeclaration": 12880,
                                            "src": "13655:15:62",
                                            "typeDescriptions": {
                                                "typeIdentifier": "t_function_internal_view$_t_bytes_memory_ptr_$returns$__$",
                                                "typeString": "function (bytes memory) view"
                                            }
                                        },
                                        "id": 14568,
                                        "isConstant": false,
                                        "isLValue": false,
                                        "isPure": false,
                                        "kind": "functionCall",
                                        "lValueRequested": false,
                                        "names": [],
                                        "nodeType": "FunctionCall",
                                        "src": "13655:75:62",
                                        "tryCall": false,
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_tuple$__$",
                                            "typeString": "tuple()"
                                        }
                                    },
                                    "id": 14569,
                                    "nodeType": "ExpressionStatement",
                                    "src": "13655:75:62"
                                }
                            ]
                        },
                        "id": 14571,
                        "implemented": true,
                        "kind": "function",
                        "modifiers": [],
                        "name": "log",
                        "nameLocation": "13606:3:62",
                        "nodeType": "FunctionDefinition",
                        "parameters": {
                            "id": 14558,
                            "nodeType": "ParameterList",
                            "parameters": [
                                {
                                    "constant": false,
                                    "id": 14553,
                                    "mutability": "mutable",
                                    "name": "p0",
                                    "nameLocation": "13615:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 14571,
                                    "src": "13610:7:62",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_bool",
                                        "typeString": "bool"
                                    },
                                    "typeName": {
                                        "id": 14552,
                                        "name": "bool",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "13610:4:62",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_bool",
                                            "typeString": "bool"
                                        }
                                    },
                                    "visibility": "internal"
                                },
                                {
                                    "constant": false,
                                    "id": 14555,
                                    "mutability": "mutable",
                                    "name": "p1",
                                    "nameLocation": "13624:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 14571,
                                    "src": "13619:7:62",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_bool",
                                        "typeString": "bool"
                                    },
                                    "typeName": {
                                        "id": 14554,
                                        "name": "bool",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "13619:4:62",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_bool",
                                            "typeString": "bool"
                                        }
                                    },
                                    "visibility": "internal"
                                },
                                {
                                    "constant": false,
                                    "id": 14557,
                                    "mutability": "mutable",
                                    "name": "p2",
                                    "nameLocation": "13633:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 14571,
                                    "src": "13628:7:62",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_uint256",
                                        "typeString": "uint256"
                                    },
                                    "typeName": {
                                        "id": 14556,
                                        "name": "uint",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "13628:4:62",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_uint256",
                                            "typeString": "uint256"
                                        }
                                    },
                                    "visibility": "internal"
                                }
                            ],
                            "src": "13609:27:62"
                        },
                        "returnParameters": {
                            "id": 14559,
                            "nodeType": "ParameterList",
                            "parameters": [],
                            "src": "13651:0:62"
                        },
                        "scope": 20920,
                        "src": "13597:137:62",
                        "stateMutability": "view",
                        "virtual": false,
                        "visibility": "internal"
                    },
                    {
                        "body": {
                            "id": 14590,
                            "nodeType": "Block",
                            "src": "13800:85:62",
                            "statements": [
                                {
                                    "expression": {
                                        "arguments": [
                                            {
                                                "arguments": [
                                                    {
                                                        "hexValue": "6c6f6728626f6f6c2c626f6f6c2c737472696e6729",
                                                        "id": 14583,
                                                        "isConstant": false,
                                                        "isLValue": false,
                                                        "isPure": true,
                                                        "kind": "string",
                                                        "lValueRequested": false,
                                                        "nodeType": "Literal",
                                                        "src": "13844:23:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_stringliteral_2555fa465662416fc443b21c515f245dc550a66f7c658773f7bd7ad91c82f2cc",
                                                            "typeString": "literal_string \"log(bool,bool,string)\""
                                                        },
                                                        "value": "log(bool,bool,string)"
                                                    },
                                                    {
                                                        "id": 14584,
                                                        "name": "p0",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 14573,
                                                        "src": "13869:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_bool",
                                                            "typeString": "bool"
                                                        }
                                                    },
                                                    {
                                                        "id": 14585,
                                                        "name": "p1",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 14575,
                                                        "src": "13873:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_bool",
                                                            "typeString": "bool"
                                                        }
                                                    },
                                                    {
                                                        "id": 14586,
                                                        "name": "p2",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 14577,
                                                        "src": "13877:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_string_memory_ptr",
                                                            "typeString": "string memory"
                                                        }
                                                    }
                                                ],
                                                "expression": {
                                                    "argumentTypes": [
                                                        {
                                                            "typeIdentifier": "t_stringliteral_2555fa465662416fc443b21c515f245dc550a66f7c658773f7bd7ad91c82f2cc",
                                                            "typeString": "literal_string \"log(bool,bool,string)\""
                                                        },
                                                        {
                                                            "typeIdentifier": "t_bool",
                                                            "typeString": "bool"
                                                        },
                                                        {
                                                            "typeIdentifier": "t_bool",
                                                            "typeString": "bool"
                                                        },
                                                        {
                                                            "typeIdentifier": "t_string_memory_ptr",
                                                            "typeString": "string memory"
                                                        }
                                                    ],
                                                    "expression": {
                                                        "id": 14581,
                                                        "name": "abi",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 4294967295,
                                                        "src": "13820:3:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_magic_abi",
                                                            "typeString": "abi"
                                                        }
                                                    },
                                                    "id": 14582,
                                                    "isConstant": false,
                                                    "isLValue": false,
                                                    "isPure": true,
                                                    "lValueRequested": false,
                                                    "memberName": "encodeWithSignature",
                                                    "nodeType": "MemberAccess",
                                                    "src": "13820:23:62",
                                                    "typeDescriptions": {
                                                        "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$",
                                                        "typeString": "function (string memory) pure returns (bytes memory)"
                                                    }
                                                },
                                                "id": 14587,
                                                "isConstant": false,
                                                "isLValue": false,
                                                "isPure": false,
                                                "kind": "functionCall",
                                                "lValueRequested": false,
                                                "names": [],
                                                "nodeType": "FunctionCall",
                                                "src": "13820:60:62",
                                                "tryCall": false,
                                                "typeDescriptions": {
                                                    "typeIdentifier": "t_bytes_memory_ptr",
                                                    "typeString": "bytes memory"
                                                }
                                            }
                                        ],
                                        "expression": {
                                            "argumentTypes": [
                                                {
                                                    "typeIdentifier": "t_bytes_memory_ptr",
                                                    "typeString": "bytes memory"
                                                }
                                            ],
                                            "id": 14580,
                                            "name": "_sendLogPayload",
                                            "nodeType": "Identifier",
                                            "overloadedDeclarations": [],
                                            "referencedDeclaration": 12880,
                                            "src": "13804:15:62",
                                            "typeDescriptions": {
                                                "typeIdentifier": "t_function_internal_view$_t_bytes_memory_ptr_$returns$__$",
                                                "typeString": "function (bytes memory) view"
                                            }
                                        },
                                        "id": 14588,
                                        "isConstant": false,
                                        "isLValue": false,
                                        "isPure": false,
                                        "kind": "functionCall",
                                        "lValueRequested": false,
                                        "names": [],
                                        "nodeType": "FunctionCall",
                                        "src": "13804:77:62",
                                        "tryCall": false,
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_tuple$__$",
                                            "typeString": "tuple()"
                                        }
                                    },
                                    "id": 14589,
                                    "nodeType": "ExpressionStatement",
                                    "src": "13804:77:62"
                                }
                            ]
                        },
                        "id": 14591,
                        "implemented": true,
                        "kind": "function",
                        "modifiers": [],
                        "name": "log",
                        "nameLocation": "13746:3:62",
                        "nodeType": "FunctionDefinition",
                        "parameters": {
                            "id": 14578,
                            "nodeType": "ParameterList",
                            "parameters": [
                                {
                                    "constant": false,
                                    "id": 14573,
                                    "mutability": "mutable",
                                    "name": "p0",
                                    "nameLocation": "13755:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 14591,
                                    "src": "13750:7:62",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_bool",
                                        "typeString": "bool"
                                    },
                                    "typeName": {
                                        "id": 14572,
                                        "name": "bool",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "13750:4:62",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_bool",
                                            "typeString": "bool"
                                        }
                                    },
                                    "visibility": "internal"
                                },
                                {
                                    "constant": false,
                                    "id": 14575,
                                    "mutability": "mutable",
                                    "name": "p1",
                                    "nameLocation": "13764:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 14591,
                                    "src": "13759:7:62",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_bool",
                                        "typeString": "bool"
                                    },
                                    "typeName": {
                                        "id": 14574,
                                        "name": "bool",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "13759:4:62",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_bool",
                                            "typeString": "bool"
                                        }
                                    },
                                    "visibility": "internal"
                                },
                                {
                                    "constant": false,
                                    "id": 14577,
                                    "mutability": "mutable",
                                    "name": "p2",
                                    "nameLocation": "13782:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 14591,
                                    "src": "13768:16:62",
                                    "stateVariable": false,
                                    "storageLocation": "memory",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_string_memory_ptr",
                                        "typeString": "string"
                                    },
                                    "typeName": {
                                        "id": 14576,
                                        "name": "string",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "13768:6:62",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_string_storage_ptr",
                                            "typeString": "string"
                                        }
                                    },
                                    "visibility": "internal"
                                }
                            ],
                            "src": "13749:36:62"
                        },
                        "returnParameters": {
                            "id": 14579,
                            "nodeType": "ParameterList",
                            "parameters": [],
                            "src": "13800:0:62"
                        },
                        "scope": 20920,
                        "src": "13737:148:62",
                        "stateMutability": "view",
                        "virtual": false,
                        "visibility": "internal"
                    },
                    {
                        "body": {
                            "id": 14610,
                            "nodeType": "Block",
                            "src": "13942:83:62",
                            "statements": [
                                {
                                    "expression": {
                                        "arguments": [
                                            {
                                                "arguments": [
                                                    {
                                                        "hexValue": "6c6f6728626f6f6c2c626f6f6c2c626f6f6c29",
                                                        "id": 14603,
                                                        "isConstant": false,
                                                        "isLValue": false,
                                                        "isPure": true,
                                                        "kind": "string",
                                                        "lValueRequested": false,
                                                        "nodeType": "Literal",
                                                        "src": "13986:21:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_stringliteral_50709698278bb02f656e4ac53a2ae8ef0ec4064d340360a5fa4d933e9a742590",
                                                            "typeString": "literal_string \"log(bool,bool,bool)\""
                                                        },
                                                        "value": "log(bool,bool,bool)"
                                                    },
                                                    {
                                                        "id": 14604,
                                                        "name": "p0",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 14593,
                                                        "src": "14009:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_bool",
                                                            "typeString": "bool"
                                                        }
                                                    },
                                                    {
                                                        "id": 14605,
                                                        "name": "p1",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 14595,
                                                        "src": "14013:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_bool",
                                                            "typeString": "bool"
                                                        }
                                                    },
                                                    {
                                                        "id": 14606,
                                                        "name": "p2",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 14597,
                                                        "src": "14017:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_bool",
                                                            "typeString": "bool"
                                                        }
                                                    }
                                                ],
                                                "expression": {
                                                    "argumentTypes": [
                                                        {
                                                            "typeIdentifier": "t_stringliteral_50709698278bb02f656e4ac53a2ae8ef0ec4064d340360a5fa4d933e9a742590",
                                                            "typeString": "literal_string \"log(bool,bool,bool)\""
                                                        },
                                                        {
                                                            "typeIdentifier": "t_bool",
                                                            "typeString": "bool"
                                                        },
                                                        {
                                                            "typeIdentifier": "t_bool",
                                                            "typeString": "bool"
                                                        },
                                                        {
                                                            "typeIdentifier": "t_bool",
                                                            "typeString": "bool"
                                                        }
                                                    ],
                                                    "expression": {
                                                        "id": 14601,
                                                        "name": "abi",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 4294967295,
                                                        "src": "13962:3:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_magic_abi",
                                                            "typeString": "abi"
                                                        }
                                                    },
                                                    "id": 14602,
                                                    "isConstant": false,
                                                    "isLValue": false,
                                                    "isPure": true,
                                                    "lValueRequested": false,
                                                    "memberName": "encodeWithSignature",
                                                    "nodeType": "MemberAccess",
                                                    "src": "13962:23:62",
                                                    "typeDescriptions": {
                                                        "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$",
                                                        "typeString": "function (string memory) pure returns (bytes memory)"
                                                    }
                                                },
                                                "id": 14607,
                                                "isConstant": false,
                                                "isLValue": false,
                                                "isPure": false,
                                                "kind": "functionCall",
                                                "lValueRequested": false,
                                                "names": [],
                                                "nodeType": "FunctionCall",
                                                "src": "13962:58:62",
                                                "tryCall": false,
                                                "typeDescriptions": {
                                                    "typeIdentifier": "t_bytes_memory_ptr",
                                                    "typeString": "bytes memory"
                                                }
                                            }
                                        ],
                                        "expression": {
                                            "argumentTypes": [
                                                {
                                                    "typeIdentifier": "t_bytes_memory_ptr",
                                                    "typeString": "bytes memory"
                                                }
                                            ],
                                            "id": 14600,
                                            "name": "_sendLogPayload",
                                            "nodeType": "Identifier",
                                            "overloadedDeclarations": [],
                                            "referencedDeclaration": 12880,
                                            "src": "13946:15:62",
                                            "typeDescriptions": {
                                                "typeIdentifier": "t_function_internal_view$_t_bytes_memory_ptr_$returns$__$",
                                                "typeString": "function (bytes memory) view"
                                            }
                                        },
                                        "id": 14608,
                                        "isConstant": false,
                                        "isLValue": false,
                                        "isPure": false,
                                        "kind": "functionCall",
                                        "lValueRequested": false,
                                        "names": [],
                                        "nodeType": "FunctionCall",
                                        "src": "13946:75:62",
                                        "tryCall": false,
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_tuple$__$",
                                            "typeString": "tuple()"
                                        }
                                    },
                                    "id": 14609,
                                    "nodeType": "ExpressionStatement",
                                    "src": "13946:75:62"
                                }
                            ]
                        },
                        "id": 14611,
                        "implemented": true,
                        "kind": "function",
                        "modifiers": [],
                        "name": "log",
                        "nameLocation": "13897:3:62",
                        "nodeType": "FunctionDefinition",
                        "parameters": {
                            "id": 14598,
                            "nodeType": "ParameterList",
                            "parameters": [
                                {
                                    "constant": false,
                                    "id": 14593,
                                    "mutability": "mutable",
                                    "name": "p0",
                                    "nameLocation": "13906:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 14611,
                                    "src": "13901:7:62",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_bool",
                                        "typeString": "bool"
                                    },
                                    "typeName": {
                                        "id": 14592,
                                        "name": "bool",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "13901:4:62",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_bool",
                                            "typeString": "bool"
                                        }
                                    },
                                    "visibility": "internal"
                                },
                                {
                                    "constant": false,
                                    "id": 14595,
                                    "mutability": "mutable",
                                    "name": "p1",
                                    "nameLocation": "13915:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 14611,
                                    "src": "13910:7:62",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_bool",
                                        "typeString": "bool"
                                    },
                                    "typeName": {
                                        "id": 14594,
                                        "name": "bool",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "13910:4:62",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_bool",
                                            "typeString": "bool"
                                        }
                                    },
                                    "visibility": "internal"
                                },
                                {
                                    "constant": false,
                                    "id": 14597,
                                    "mutability": "mutable",
                                    "name": "p2",
                                    "nameLocation": "13924:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 14611,
                                    "src": "13919:7:62",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_bool",
                                        "typeString": "bool"
                                    },
                                    "typeName": {
                                        "id": 14596,
                                        "name": "bool",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "13919:4:62",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_bool",
                                            "typeString": "bool"
                                        }
                                    },
                                    "visibility": "internal"
                                }
                            ],
                            "src": "13900:27:62"
                        },
                        "returnParameters": {
                            "id": 14599,
                            "nodeType": "ParameterList",
                            "parameters": [],
                            "src": "13942:0:62"
                        },
                        "scope": 20920,
                        "src": "13888:137:62",
                        "stateMutability": "view",
                        "virtual": false,
                        "visibility": "internal"
                    },
                    {
                        "body": {
                            "id": 14630,
                            "nodeType": "Block",
                            "src": "14085:86:62",
                            "statements": [
                                {
                                    "expression": {
                                        "arguments": [
                                            {
                                                "arguments": [
                                                    {
                                                        "hexValue": "6c6f6728626f6f6c2c626f6f6c2c6164647265737329",
                                                        "id": 14623,
                                                        "isConstant": false,
                                                        "isLValue": false,
                                                        "isPure": true,
                                                        "kind": "string",
                                                        "lValueRequested": false,
                                                        "nodeType": "Literal",
                                                        "src": "14129:24:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_stringliteral_1078f68da6ddbbe80f829fe8d54d1f2c6347e1ee4ec5a2a7a3a330ada9eccf81",
                                                            "typeString": "literal_string \"log(bool,bool,address)\""
                                                        },
                                                        "value": "log(bool,bool,address)"
                                                    },
                                                    {
                                                        "id": 14624,
                                                        "name": "p0",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 14613,
                                                        "src": "14155:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_bool",
                                                            "typeString": "bool"
                                                        }
                                                    },
                                                    {
                                                        "id": 14625,
                                                        "name": "p1",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 14615,
                                                        "src": "14159:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_bool",
                                                            "typeString": "bool"
                                                        }
                                                    },
                                                    {
                                                        "id": 14626,
                                                        "name": "p2",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 14617,
                                                        "src": "14163:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_address",
                                                            "typeString": "address"
                                                        }
                                                    }
                                                ],
                                                "expression": {
                                                    "argumentTypes": [
                                                        {
                                                            "typeIdentifier": "t_stringliteral_1078f68da6ddbbe80f829fe8d54d1f2c6347e1ee4ec5a2a7a3a330ada9eccf81",
                                                            "typeString": "literal_string \"log(bool,bool,address)\""
                                                        },
                                                        {
                                                            "typeIdentifier": "t_bool",
                                                            "typeString": "bool"
                                                        },
                                                        {
                                                            "typeIdentifier": "t_bool",
                                                            "typeString": "bool"
                                                        },
                                                        {
                                                            "typeIdentifier": "t_address",
                                                            "typeString": "address"
                                                        }
                                                    ],
                                                    "expression": {
                                                        "id": 14621,
                                                        "name": "abi",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 4294967295,
                                                        "src": "14105:3:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_magic_abi",
                                                            "typeString": "abi"
                                                        }
                                                    },
                                                    "id": 14622,
                                                    "isConstant": false,
                                                    "isLValue": false,
                                                    "isPure": true,
                                                    "lValueRequested": false,
                                                    "memberName": "encodeWithSignature",
                                                    "nodeType": "MemberAccess",
                                                    "src": "14105:23:62",
                                                    "typeDescriptions": {
                                                        "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$",
                                                        "typeString": "function (string memory) pure returns (bytes memory)"
                                                    }
                                                },
                                                "id": 14627,
                                                "isConstant": false,
                                                "isLValue": false,
                                                "isPure": false,
                                                "kind": "functionCall",
                                                "lValueRequested": false,
                                                "names": [],
                                                "nodeType": "FunctionCall",
                                                "src": "14105:61:62",
                                                "tryCall": false,
                                                "typeDescriptions": {
                                                    "typeIdentifier": "t_bytes_memory_ptr",
                                                    "typeString": "bytes memory"
                                                }
                                            }
                                        ],
                                        "expression": {
                                            "argumentTypes": [
                                                {
                                                    "typeIdentifier": "t_bytes_memory_ptr",
                                                    "typeString": "bytes memory"
                                                }
                                            ],
                                            "id": 14620,
                                            "name": "_sendLogPayload",
                                            "nodeType": "Identifier",
                                            "overloadedDeclarations": [],
                                            "referencedDeclaration": 12880,
                                            "src": "14089:15:62",
                                            "typeDescriptions": {
                                                "typeIdentifier": "t_function_internal_view$_t_bytes_memory_ptr_$returns$__$",
                                                "typeString": "function (bytes memory) view"
                                            }
                                        },
                                        "id": 14628,
                                        "isConstant": false,
                                        "isLValue": false,
                                        "isPure": false,
                                        "kind": "functionCall",
                                        "lValueRequested": false,
                                        "names": [],
                                        "nodeType": "FunctionCall",
                                        "src": "14089:78:62",
                                        "tryCall": false,
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_tuple$__$",
                                            "typeString": "tuple()"
                                        }
                                    },
                                    "id": 14629,
                                    "nodeType": "ExpressionStatement",
                                    "src": "14089:78:62"
                                }
                            ]
                        },
                        "id": 14631,
                        "implemented": true,
                        "kind": "function",
                        "modifiers": [],
                        "name": "log",
                        "nameLocation": "14037:3:62",
                        "nodeType": "FunctionDefinition",
                        "parameters": {
                            "id": 14618,
                            "nodeType": "ParameterList",
                            "parameters": [
                                {
                                    "constant": false,
                                    "id": 14613,
                                    "mutability": "mutable",
                                    "name": "p0",
                                    "nameLocation": "14046:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 14631,
                                    "src": "14041:7:62",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_bool",
                                        "typeString": "bool"
                                    },
                                    "typeName": {
                                        "id": 14612,
                                        "name": "bool",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "14041:4:62",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_bool",
                                            "typeString": "bool"
                                        }
                                    },
                                    "visibility": "internal"
                                },
                                {
                                    "constant": false,
                                    "id": 14615,
                                    "mutability": "mutable",
                                    "name": "p1",
                                    "nameLocation": "14055:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 14631,
                                    "src": "14050:7:62",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_bool",
                                        "typeString": "bool"
                                    },
                                    "typeName": {
                                        "id": 14614,
                                        "name": "bool",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "14050:4:62",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_bool",
                                            "typeString": "bool"
                                        }
                                    },
                                    "visibility": "internal"
                                },
                                {
                                    "constant": false,
                                    "id": 14617,
                                    "mutability": "mutable",
                                    "name": "p2",
                                    "nameLocation": "14067:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 14631,
                                    "src": "14059:10:62",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_address",
                                        "typeString": "address"
                                    },
                                    "typeName": {
                                        "id": 14616,
                                        "name": "address",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "14059:7:62",
                                        "stateMutability": "nonpayable",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_address",
                                            "typeString": "address"
                                        }
                                    },
                                    "visibility": "internal"
                                }
                            ],
                            "src": "14040:30:62"
                        },
                        "returnParameters": {
                            "id": 14619,
                            "nodeType": "ParameterList",
                            "parameters": [],
                            "src": "14085:0:62"
                        },
                        "scope": 20920,
                        "src": "14028:143:62",
                        "stateMutability": "view",
                        "virtual": false,
                        "visibility": "internal"
                    },
                    {
                        "body": {
                            "id": 14650,
                            "nodeType": "Block",
                            "src": "14231:86:62",
                            "statements": [
                                {
                                    "expression": {
                                        "arguments": [
                                            {
                                                "arguments": [
                                                    {
                                                        "hexValue": "6c6f6728626f6f6c2c616464726573732c75696e7429",
                                                        "id": 14643,
                                                        "isConstant": false,
                                                        "isLValue": false,
                                                        "isPure": true,
                                                        "kind": "string",
                                                        "lValueRequested": false,
                                                        "nodeType": "Literal",
                                                        "src": "14275:24:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_stringliteral_eb704bafbd89369a907d48394b6acdacf482ae42cc2aaedd1cc37e89b4054b3d",
                                                            "typeString": "literal_string \"log(bool,address,uint)\""
                                                        },
                                                        "value": "log(bool,address,uint)"
                                                    },
                                                    {
                                                        "id": 14644,
                                                        "name": "p0",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 14633,
                                                        "src": "14301:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_bool",
                                                            "typeString": "bool"
                                                        }
                                                    },
                                                    {
                                                        "id": 14645,
                                                        "name": "p1",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 14635,
                                                        "src": "14305:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_address",
                                                            "typeString": "address"
                                                        }
                                                    },
                                                    {
                                                        "id": 14646,
                                                        "name": "p2",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 14637,
                                                        "src": "14309:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_uint256",
                                                            "typeString": "uint256"
                                                        }
                                                    }
                                                ],
                                                "expression": {
                                                    "argumentTypes": [
                                                        {
                                                            "typeIdentifier": "t_stringliteral_eb704bafbd89369a907d48394b6acdacf482ae42cc2aaedd1cc37e89b4054b3d",
                                                            "typeString": "literal_string \"log(bool,address,uint)\""
                                                        },
                                                        {
                                                            "typeIdentifier": "t_bool",
                                                            "typeString": "bool"
                                                        },
                                                        {
                                                            "typeIdentifier": "t_address",
                                                            "typeString": "address"
                                                        },
                                                        {
                                                            "typeIdentifier": "t_uint256",
                                                            "typeString": "uint256"
                                                        }
                                                    ],
                                                    "expression": {
                                                        "id": 14641,
                                                        "name": "abi",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 4294967295,
                                                        "src": "14251:3:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_magic_abi",
                                                            "typeString": "abi"
                                                        }
                                                    },
                                                    "id": 14642,
                                                    "isConstant": false,
                                                    "isLValue": false,
                                                    "isPure": true,
                                                    "lValueRequested": false,
                                                    "memberName": "encodeWithSignature",
                                                    "nodeType": "MemberAccess",
                                                    "src": "14251:23:62",
                                                    "typeDescriptions": {
                                                        "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$",
                                                        "typeString": "function (string memory) pure returns (bytes memory)"
                                                    }
                                                },
                                                "id": 14647,
                                                "isConstant": false,
                                                "isLValue": false,
                                                "isPure": false,
                                                "kind": "functionCall",
                                                "lValueRequested": false,
                                                "names": [],
                                                "nodeType": "FunctionCall",
                                                "src": "14251:61:62",
                                                "tryCall": false,
                                                "typeDescriptions": {
                                                    "typeIdentifier": "t_bytes_memory_ptr",
                                                    "typeString": "bytes memory"
                                                }
                                            }
                                        ],
                                        "expression": {
                                            "argumentTypes": [
                                                {
                                                    "typeIdentifier": "t_bytes_memory_ptr",
                                                    "typeString": "bytes memory"
                                                }
                                            ],
                                            "id": 14640,
                                            "name": "_sendLogPayload",
                                            "nodeType": "Identifier",
                                            "overloadedDeclarations": [],
                                            "referencedDeclaration": 12880,
                                            "src": "14235:15:62",
                                            "typeDescriptions": {
                                                "typeIdentifier": "t_function_internal_view$_t_bytes_memory_ptr_$returns$__$",
                                                "typeString": "function (bytes memory) view"
                                            }
                                        },
                                        "id": 14648,
                                        "isConstant": false,
                                        "isLValue": false,
                                        "isPure": false,
                                        "kind": "functionCall",
                                        "lValueRequested": false,
                                        "names": [],
                                        "nodeType": "FunctionCall",
                                        "src": "14235:78:62",
                                        "tryCall": false,
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_tuple$__$",
                                            "typeString": "tuple()"
                                        }
                                    },
                                    "id": 14649,
                                    "nodeType": "ExpressionStatement",
                                    "src": "14235:78:62"
                                }
                            ]
                        },
                        "id": 14651,
                        "implemented": true,
                        "kind": "function",
                        "modifiers": [],
                        "name": "log",
                        "nameLocation": "14183:3:62",
                        "nodeType": "FunctionDefinition",
                        "parameters": {
                            "id": 14638,
                            "nodeType": "ParameterList",
                            "parameters": [
                                {
                                    "constant": false,
                                    "id": 14633,
                                    "mutability": "mutable",
                                    "name": "p0",
                                    "nameLocation": "14192:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 14651,
                                    "src": "14187:7:62",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_bool",
                                        "typeString": "bool"
                                    },
                                    "typeName": {
                                        "id": 14632,
                                        "name": "bool",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "14187:4:62",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_bool",
                                            "typeString": "bool"
                                        }
                                    },
                                    "visibility": "internal"
                                },
                                {
                                    "constant": false,
                                    "id": 14635,
                                    "mutability": "mutable",
                                    "name": "p1",
                                    "nameLocation": "14204:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 14651,
                                    "src": "14196:10:62",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_address",
                                        "typeString": "address"
                                    },
                                    "typeName": {
                                        "id": 14634,
                                        "name": "address",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "14196:7:62",
                                        "stateMutability": "nonpayable",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_address",
                                            "typeString": "address"
                                        }
                                    },
                                    "visibility": "internal"
                                },
                                {
                                    "constant": false,
                                    "id": 14637,
                                    "mutability": "mutable",
                                    "name": "p2",
                                    "nameLocation": "14213:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 14651,
                                    "src": "14208:7:62",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_uint256",
                                        "typeString": "uint256"
                                    },
                                    "typeName": {
                                        "id": 14636,
                                        "name": "uint",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "14208:4:62",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_uint256",
                                            "typeString": "uint256"
                                        }
                                    },
                                    "visibility": "internal"
                                }
                            ],
                            "src": "14186:30:62"
                        },
                        "returnParameters": {
                            "id": 14639,
                            "nodeType": "ParameterList",
                            "parameters": [],
                            "src": "14231:0:62"
                        },
                        "scope": 20920,
                        "src": "14174:143:62",
                        "stateMutability": "view",
                        "virtual": false,
                        "visibility": "internal"
                    },
                    {
                        "body": {
                            "id": 14670,
                            "nodeType": "Block",
                            "src": "14386:88:62",
                            "statements": [
                                {
                                    "expression": {
                                        "arguments": [
                                            {
                                                "arguments": [
                                                    {
                                                        "hexValue": "6c6f6728626f6f6c2c616464726573732c737472696e6729",
                                                        "id": 14663,
                                                        "isConstant": false,
                                                        "isLValue": false,
                                                        "isPure": true,
                                                        "kind": "string",
                                                        "lValueRequested": false,
                                                        "nodeType": "Literal",
                                                        "src": "14430:26:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_stringliteral_de9a927090b15ed84eefc0c471675a23ce67fd75011b1652fe17ca2dd0dcd06d",
                                                            "typeString": "literal_string \"log(bool,address,string)\""
                                                        },
                                                        "value": "log(bool,address,string)"
                                                    },
                                                    {
                                                        "id": 14664,
                                                        "name": "p0",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 14653,
                                                        "src": "14458:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_bool",
                                                            "typeString": "bool"
                                                        }
                                                    },
                                                    {
                                                        "id": 14665,
                                                        "name": "p1",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 14655,
                                                        "src": "14462:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_address",
                                                            "typeString": "address"
                                                        }
                                                    },
                                                    {
                                                        "id": 14666,
                                                        "name": "p2",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 14657,
                                                        "src": "14466:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_string_memory_ptr",
                                                            "typeString": "string memory"
                                                        }
                                                    }
                                                ],
                                                "expression": {
                                                    "argumentTypes": [
                                                        {
                                                            "typeIdentifier": "t_stringliteral_de9a927090b15ed84eefc0c471675a23ce67fd75011b1652fe17ca2dd0dcd06d",
                                                            "typeString": "literal_string \"log(bool,address,string)\""
                                                        },
                                                        {
                                                            "typeIdentifier": "t_bool",
                                                            "typeString": "bool"
                                                        },
                                                        {
                                                            "typeIdentifier": "t_address",
                                                            "typeString": "address"
                                                        },
                                                        {
                                                            "typeIdentifier": "t_string_memory_ptr",
                                                            "typeString": "string memory"
                                                        }
                                                    ],
                                                    "expression": {
                                                        "id": 14661,
                                                        "name": "abi",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 4294967295,
                                                        "src": "14406:3:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_magic_abi",
                                                            "typeString": "abi"
                                                        }
                                                    },
                                                    "id": 14662,
                                                    "isConstant": false,
                                                    "isLValue": false,
                                                    "isPure": true,
                                                    "lValueRequested": false,
                                                    "memberName": "encodeWithSignature",
                                                    "nodeType": "MemberAccess",
                                                    "src": "14406:23:62",
                                                    "typeDescriptions": {
                                                        "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$",
                                                        "typeString": "function (string memory) pure returns (bytes memory)"
                                                    }
                                                },
                                                "id": 14667,
                                                "isConstant": false,
                                                "isLValue": false,
                                                "isPure": false,
                                                "kind": "functionCall",
                                                "lValueRequested": false,
                                                "names": [],
                                                "nodeType": "FunctionCall",
                                                "src": "14406:63:62",
                                                "tryCall": false,
                                                "typeDescriptions": {
                                                    "typeIdentifier": "t_bytes_memory_ptr",
                                                    "typeString": "bytes memory"
                                                }
                                            }
                                        ],
                                        "expression": {
                                            "argumentTypes": [
                                                {
                                                    "typeIdentifier": "t_bytes_memory_ptr",
                                                    "typeString": "bytes memory"
                                                }
                                            ],
                                            "id": 14660,
                                            "name": "_sendLogPayload",
                                            "nodeType": "Identifier",
                                            "overloadedDeclarations": [],
                                            "referencedDeclaration": 12880,
                                            "src": "14390:15:62",
                                            "typeDescriptions": {
                                                "typeIdentifier": "t_function_internal_view$_t_bytes_memory_ptr_$returns$__$",
                                                "typeString": "function (bytes memory) view"
                                            }
                                        },
                                        "id": 14668,
                                        "isConstant": false,
                                        "isLValue": false,
                                        "isPure": false,
                                        "kind": "functionCall",
                                        "lValueRequested": false,
                                        "names": [],
                                        "nodeType": "FunctionCall",
                                        "src": "14390:80:62",
                                        "tryCall": false,
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_tuple$__$",
                                            "typeString": "tuple()"
                                        }
                                    },
                                    "id": 14669,
                                    "nodeType": "ExpressionStatement",
                                    "src": "14390:80:62"
                                }
                            ]
                        },
                        "id": 14671,
                        "implemented": true,
                        "kind": "function",
                        "modifiers": [],
                        "name": "log",
                        "nameLocation": "14329:3:62",
                        "nodeType": "FunctionDefinition",
                        "parameters": {
                            "id": 14658,
                            "nodeType": "ParameterList",
                            "parameters": [
                                {
                                    "constant": false,
                                    "id": 14653,
                                    "mutability": "mutable",
                                    "name": "p0",
                                    "nameLocation": "14338:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 14671,
                                    "src": "14333:7:62",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_bool",
                                        "typeString": "bool"
                                    },
                                    "typeName": {
                                        "id": 14652,
                                        "name": "bool",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "14333:4:62",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_bool",
                                            "typeString": "bool"
                                        }
                                    },
                                    "visibility": "internal"
                                },
                                {
                                    "constant": false,
                                    "id": 14655,
                                    "mutability": "mutable",
                                    "name": "p1",
                                    "nameLocation": "14350:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 14671,
                                    "src": "14342:10:62",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_address",
                                        "typeString": "address"
                                    },
                                    "typeName": {
                                        "id": 14654,
                                        "name": "address",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "14342:7:62",
                                        "stateMutability": "nonpayable",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_address",
                                            "typeString": "address"
                                        }
                                    },
                                    "visibility": "internal"
                                },
                                {
                                    "constant": false,
                                    "id": 14657,
                                    "mutability": "mutable",
                                    "name": "p2",
                                    "nameLocation": "14368:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 14671,
                                    "src": "14354:16:62",
                                    "stateVariable": false,
                                    "storageLocation": "memory",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_string_memory_ptr",
                                        "typeString": "string"
                                    },
                                    "typeName": {
                                        "id": 14656,
                                        "name": "string",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "14354:6:62",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_string_storage_ptr",
                                            "typeString": "string"
                                        }
                                    },
                                    "visibility": "internal"
                                }
                            ],
                            "src": "14332:39:62"
                        },
                        "returnParameters": {
                            "id": 14659,
                            "nodeType": "ParameterList",
                            "parameters": [],
                            "src": "14386:0:62"
                        },
                        "scope": 20920,
                        "src": "14320:154:62",
                        "stateMutability": "view",
                        "virtual": false,
                        "visibility": "internal"
                    },
                    {
                        "body": {
                            "id": 14690,
                            "nodeType": "Block",
                            "src": "14534:86:62",
                            "statements": [
                                {
                                    "expression": {
                                        "arguments": [
                                            {
                                                "arguments": [
                                                    {
                                                        "hexValue": "6c6f6728626f6f6c2c616464726573732c626f6f6c29",
                                                        "id": 14683,
                                                        "isConstant": false,
                                                        "isLValue": false,
                                                        "isPure": true,
                                                        "kind": "string",
                                                        "lValueRequested": false,
                                                        "nodeType": "Literal",
                                                        "src": "14578:24:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_stringliteral_18c9c746c9d0e38e4dc234ee76e678bbaa4e473eca3dce0969637d7f01e4a908",
                                                            "typeString": "literal_string \"log(bool,address,bool)\""
                                                        },
                                                        "value": "log(bool,address,bool)"
                                                    },
                                                    {
                                                        "id": 14684,
                                                        "name": "p0",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 14673,
                                                        "src": "14604:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_bool",
                                                            "typeString": "bool"
                                                        }
                                                    },
                                                    {
                                                        "id": 14685,
                                                        "name": "p1",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 14675,
                                                        "src": "14608:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_address",
                                                            "typeString": "address"
                                                        }
                                                    },
                                                    {
                                                        "id": 14686,
                                                        "name": "p2",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 14677,
                                                        "src": "14612:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_bool",
                                                            "typeString": "bool"
                                                        }
                                                    }
                                                ],
                                                "expression": {
                                                    "argumentTypes": [
                                                        {
                                                            "typeIdentifier": "t_stringliteral_18c9c746c9d0e38e4dc234ee76e678bbaa4e473eca3dce0969637d7f01e4a908",
                                                            "typeString": "literal_string \"log(bool,address,bool)\""
                                                        },
                                                        {
                                                            "typeIdentifier": "t_bool",
                                                            "typeString": "bool"
                                                        },
                                                        {
                                                            "typeIdentifier": "t_address",
                                                            "typeString": "address"
                                                        },
                                                        {
                                                            "typeIdentifier": "t_bool",
                                                            "typeString": "bool"
                                                        }
                                                    ],
                                                    "expression": {
                                                        "id": 14681,
                                                        "name": "abi",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 4294967295,
                                                        "src": "14554:3:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_magic_abi",
                                                            "typeString": "abi"
                                                        }
                                                    },
                                                    "id": 14682,
                                                    "isConstant": false,
                                                    "isLValue": false,
                                                    "isPure": true,
                                                    "lValueRequested": false,
                                                    "memberName": "encodeWithSignature",
                                                    "nodeType": "MemberAccess",
                                                    "src": "14554:23:62",
                                                    "typeDescriptions": {
                                                        "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$",
                                                        "typeString": "function (string memory) pure returns (bytes memory)"
                                                    }
                                                },
                                                "id": 14687,
                                                "isConstant": false,
                                                "isLValue": false,
                                                "isPure": false,
                                                "kind": "functionCall",
                                                "lValueRequested": false,
                                                "names": [],
                                                "nodeType": "FunctionCall",
                                                "src": "14554:61:62",
                                                "tryCall": false,
                                                "typeDescriptions": {
                                                    "typeIdentifier": "t_bytes_memory_ptr",
                                                    "typeString": "bytes memory"
                                                }
                                            }
                                        ],
                                        "expression": {
                                            "argumentTypes": [
                                                {
                                                    "typeIdentifier": "t_bytes_memory_ptr",
                                                    "typeString": "bytes memory"
                                                }
                                            ],
                                            "id": 14680,
                                            "name": "_sendLogPayload",
                                            "nodeType": "Identifier",
                                            "overloadedDeclarations": [],
                                            "referencedDeclaration": 12880,
                                            "src": "14538:15:62",
                                            "typeDescriptions": {
                                                "typeIdentifier": "t_function_internal_view$_t_bytes_memory_ptr_$returns$__$",
                                                "typeString": "function (bytes memory) view"
                                            }
                                        },
                                        "id": 14688,
                                        "isConstant": false,
                                        "isLValue": false,
                                        "isPure": false,
                                        "kind": "functionCall",
                                        "lValueRequested": false,
                                        "names": [],
                                        "nodeType": "FunctionCall",
                                        "src": "14538:78:62",
                                        "tryCall": false,
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_tuple$__$",
                                            "typeString": "tuple()"
                                        }
                                    },
                                    "id": 14689,
                                    "nodeType": "ExpressionStatement",
                                    "src": "14538:78:62"
                                }
                            ]
                        },
                        "id": 14691,
                        "implemented": true,
                        "kind": "function",
                        "modifiers": [],
                        "name": "log",
                        "nameLocation": "14486:3:62",
                        "nodeType": "FunctionDefinition",
                        "parameters": {
                            "id": 14678,
                            "nodeType": "ParameterList",
                            "parameters": [
                                {
                                    "constant": false,
                                    "id": 14673,
                                    "mutability": "mutable",
                                    "name": "p0",
                                    "nameLocation": "14495:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 14691,
                                    "src": "14490:7:62",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_bool",
                                        "typeString": "bool"
                                    },
                                    "typeName": {
                                        "id": 14672,
                                        "name": "bool",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "14490:4:62",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_bool",
                                            "typeString": "bool"
                                        }
                                    },
                                    "visibility": "internal"
                                },
                                {
                                    "constant": false,
                                    "id": 14675,
                                    "mutability": "mutable",
                                    "name": "p1",
                                    "nameLocation": "14507:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 14691,
                                    "src": "14499:10:62",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_address",
                                        "typeString": "address"
                                    },
                                    "typeName": {
                                        "id": 14674,
                                        "name": "address",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "14499:7:62",
                                        "stateMutability": "nonpayable",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_address",
                                            "typeString": "address"
                                        }
                                    },
                                    "visibility": "internal"
                                },
                                {
                                    "constant": false,
                                    "id": 14677,
                                    "mutability": "mutable",
                                    "name": "p2",
                                    "nameLocation": "14516:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 14691,
                                    "src": "14511:7:62",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_bool",
                                        "typeString": "bool"
                                    },
                                    "typeName": {
                                        "id": 14676,
                                        "name": "bool",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "14511:4:62",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_bool",
                                            "typeString": "bool"
                                        }
                                    },
                                    "visibility": "internal"
                                }
                            ],
                            "src": "14489:30:62"
                        },
                        "returnParameters": {
                            "id": 14679,
                            "nodeType": "ParameterList",
                            "parameters": [],
                            "src": "14534:0:62"
                        },
                        "scope": 20920,
                        "src": "14477:143:62",
                        "stateMutability": "view",
                        "virtual": false,
                        "visibility": "internal"
                    },
                    {
                        "body": {
                            "id": 14710,
                            "nodeType": "Block",
                            "src": "14683:89:62",
                            "statements": [
                                {
                                    "expression": {
                                        "arguments": [
                                            {
                                                "arguments": [
                                                    {
                                                        "hexValue": "6c6f6728626f6f6c2c616464726573732c6164647265737329",
                                                        "id": 14703,
                                                        "isConstant": false,
                                                        "isLValue": false,
                                                        "isPure": true,
                                                        "kind": "string",
                                                        "lValueRequested": false,
                                                        "nodeType": "Literal",
                                                        "src": "14727:27:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_stringliteral_d2763667477f08a6a3f8ce84e1cc1aeb5e67ee2996f5f36e8939da2b8b8f0265",
                                                            "typeString": "literal_string \"log(bool,address,address)\""
                                                        },
                                                        "value": "log(bool,address,address)"
                                                    },
                                                    {
                                                        "id": 14704,
                                                        "name": "p0",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 14693,
                                                        "src": "14756:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_bool",
                                                            "typeString": "bool"
                                                        }
                                                    },
                                                    {
                                                        "id": 14705,
                                                        "name": "p1",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 14695,
                                                        "src": "14760:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_address",
                                                            "typeString": "address"
                                                        }
                                                    },
                                                    {
                                                        "id": 14706,
                                                        "name": "p2",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 14697,
                                                        "src": "14764:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_address",
                                                            "typeString": "address"
                                                        }
                                                    }
                                                ],
                                                "expression": {
                                                    "argumentTypes": [
                                                        {
                                                            "typeIdentifier": "t_stringliteral_d2763667477f08a6a3f8ce84e1cc1aeb5e67ee2996f5f36e8939da2b8b8f0265",
                                                            "typeString": "literal_string \"log(bool,address,address)\""
                                                        },
                                                        {
                                                            "typeIdentifier": "t_bool",
                                                            "typeString": "bool"
                                                        },
                                                        {
                                                            "typeIdentifier": "t_address",
                                                            "typeString": "address"
                                                        },
                                                        {
                                                            "typeIdentifier": "t_address",
                                                            "typeString": "address"
                                                        }
                                                    ],
                                                    "expression": {
                                                        "id": 14701,
                                                        "name": "abi",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 4294967295,
                                                        "src": "14703:3:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_magic_abi",
                                                            "typeString": "abi"
                                                        }
                                                    },
                                                    "id": 14702,
                                                    "isConstant": false,
                                                    "isLValue": false,
                                                    "isPure": true,
                                                    "lValueRequested": false,
                                                    "memberName": "encodeWithSignature",
                                                    "nodeType": "MemberAccess",
                                                    "src": "14703:23:62",
                                                    "typeDescriptions": {
                                                        "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$",
                                                        "typeString": "function (string memory) pure returns (bytes memory)"
                                                    }
                                                },
                                                "id": 14707,
                                                "isConstant": false,
                                                "isLValue": false,
                                                "isPure": false,
                                                "kind": "functionCall",
                                                "lValueRequested": false,
                                                "names": [],
                                                "nodeType": "FunctionCall",
                                                "src": "14703:64:62",
                                                "tryCall": false,
                                                "typeDescriptions": {
                                                    "typeIdentifier": "t_bytes_memory_ptr",
                                                    "typeString": "bytes memory"
                                                }
                                            }
                                        ],
                                        "expression": {
                                            "argumentTypes": [
                                                {
                                                    "typeIdentifier": "t_bytes_memory_ptr",
                                                    "typeString": "bytes memory"
                                                }
                                            ],
                                            "id": 14700,
                                            "name": "_sendLogPayload",
                                            "nodeType": "Identifier",
                                            "overloadedDeclarations": [],
                                            "referencedDeclaration": 12880,
                                            "src": "14687:15:62",
                                            "typeDescriptions": {
                                                "typeIdentifier": "t_function_internal_view$_t_bytes_memory_ptr_$returns$__$",
                                                "typeString": "function (bytes memory) view"
                                            }
                                        },
                                        "id": 14708,
                                        "isConstant": false,
                                        "isLValue": false,
                                        "isPure": false,
                                        "kind": "functionCall",
                                        "lValueRequested": false,
                                        "names": [],
                                        "nodeType": "FunctionCall",
                                        "src": "14687:81:62",
                                        "tryCall": false,
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_tuple$__$",
                                            "typeString": "tuple()"
                                        }
                                    },
                                    "id": 14709,
                                    "nodeType": "ExpressionStatement",
                                    "src": "14687:81:62"
                                }
                            ]
                        },
                        "id": 14711,
                        "implemented": true,
                        "kind": "function",
                        "modifiers": [],
                        "name": "log",
                        "nameLocation": "14632:3:62",
                        "nodeType": "FunctionDefinition",
                        "parameters": {
                            "id": 14698,
                            "nodeType": "ParameterList",
                            "parameters": [
                                {
                                    "constant": false,
                                    "id": 14693,
                                    "mutability": "mutable",
                                    "name": "p0",
                                    "nameLocation": "14641:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 14711,
                                    "src": "14636:7:62",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_bool",
                                        "typeString": "bool"
                                    },
                                    "typeName": {
                                        "id": 14692,
                                        "name": "bool",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "14636:4:62",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_bool",
                                            "typeString": "bool"
                                        }
                                    },
                                    "visibility": "internal"
                                },
                                {
                                    "constant": false,
                                    "id": 14695,
                                    "mutability": "mutable",
                                    "name": "p1",
                                    "nameLocation": "14653:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 14711,
                                    "src": "14645:10:62",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_address",
                                        "typeString": "address"
                                    },
                                    "typeName": {
                                        "id": 14694,
                                        "name": "address",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "14645:7:62",
                                        "stateMutability": "nonpayable",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_address",
                                            "typeString": "address"
                                        }
                                    },
                                    "visibility": "internal"
                                },
                                {
                                    "constant": false,
                                    "id": 14697,
                                    "mutability": "mutable",
                                    "name": "p2",
                                    "nameLocation": "14665:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 14711,
                                    "src": "14657:10:62",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_address",
                                        "typeString": "address"
                                    },
                                    "typeName": {
                                        "id": 14696,
                                        "name": "address",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "14657:7:62",
                                        "stateMutability": "nonpayable",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_address",
                                            "typeString": "address"
                                        }
                                    },
                                    "visibility": "internal"
                                }
                            ],
                            "src": "14635:33:62"
                        },
                        "returnParameters": {
                            "id": 14699,
                            "nodeType": "ParameterList",
                            "parameters": [],
                            "src": "14683:0:62"
                        },
                        "scope": 20920,
                        "src": "14623:149:62",
                        "stateMutability": "view",
                        "virtual": false,
                        "visibility": "internal"
                    },
                    {
                        "body": {
                            "id": 14730,
                            "nodeType": "Block",
                            "src": "14832:86:62",
                            "statements": [
                                {
                                    "expression": {
                                        "arguments": [
                                            {
                                                "arguments": [
                                                    {
                                                        "hexValue": "6c6f6728616464726573732c75696e742c75696e7429",
                                                        "id": 14723,
                                                        "isConstant": false,
                                                        "isLValue": false,
                                                        "isPure": true,
                                                        "kind": "string",
                                                        "lValueRequested": false,
                                                        "nodeType": "Literal",
                                                        "src": "14876:24:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_stringliteral_8786135eae1a8e4736031518026bd3bd30886c3cc8d3e8bdedd6faea426de5ea",
                                                            "typeString": "literal_string \"log(address,uint,uint)\""
                                                        },
                                                        "value": "log(address,uint,uint)"
                                                    },
                                                    {
                                                        "id": 14724,
                                                        "name": "p0",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 14713,
                                                        "src": "14902:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_address",
                                                            "typeString": "address"
                                                        }
                                                    },
                                                    {
                                                        "id": 14725,
                                                        "name": "p1",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 14715,
                                                        "src": "14906:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_uint256",
                                                            "typeString": "uint256"
                                                        }
                                                    },
                                                    {
                                                        "id": 14726,
                                                        "name": "p2",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 14717,
                                                        "src": "14910:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_uint256",
                                                            "typeString": "uint256"
                                                        }
                                                    }
                                                ],
                                                "expression": {
                                                    "argumentTypes": [
                                                        {
                                                            "typeIdentifier": "t_stringliteral_8786135eae1a8e4736031518026bd3bd30886c3cc8d3e8bdedd6faea426de5ea",
                                                            "typeString": "literal_string \"log(address,uint,uint)\""
                                                        },
                                                        {
                                                            "typeIdentifier": "t_address",
                                                            "typeString": "address"
                                                        },
                                                        {
                                                            "typeIdentifier": "t_uint256",
                                                            "typeString": "uint256"
                                                        },
                                                        {
                                                            "typeIdentifier": "t_uint256",
                                                            "typeString": "uint256"
                                                        }
                                                    ],
                                                    "expression": {
                                                        "id": 14721,
                                                        "name": "abi",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 4294967295,
                                                        "src": "14852:3:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_magic_abi",
                                                            "typeString": "abi"
                                                        }
                                                    },
                                                    "id": 14722,
                                                    "isConstant": false,
                                                    "isLValue": false,
                                                    "isPure": true,
                                                    "lValueRequested": false,
                                                    "memberName": "encodeWithSignature",
                                                    "nodeType": "MemberAccess",
                                                    "src": "14852:23:62",
                                                    "typeDescriptions": {
                                                        "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$",
                                                        "typeString": "function (string memory) pure returns (bytes memory)"
                                                    }
                                                },
                                                "id": 14727,
                                                "isConstant": false,
                                                "isLValue": false,
                                                "isPure": false,
                                                "kind": "functionCall",
                                                "lValueRequested": false,
                                                "names": [],
                                                "nodeType": "FunctionCall",
                                                "src": "14852:61:62",
                                                "tryCall": false,
                                                "typeDescriptions": {
                                                    "typeIdentifier": "t_bytes_memory_ptr",
                                                    "typeString": "bytes memory"
                                                }
                                            }
                                        ],
                                        "expression": {
                                            "argumentTypes": [
                                                {
                                                    "typeIdentifier": "t_bytes_memory_ptr",
                                                    "typeString": "bytes memory"
                                                }
                                            ],
                                            "id": 14720,
                                            "name": "_sendLogPayload",
                                            "nodeType": "Identifier",
                                            "overloadedDeclarations": [],
                                            "referencedDeclaration": 12880,
                                            "src": "14836:15:62",
                                            "typeDescriptions": {
                                                "typeIdentifier": "t_function_internal_view$_t_bytes_memory_ptr_$returns$__$",
                                                "typeString": "function (bytes memory) view"
                                            }
                                        },
                                        "id": 14728,
                                        "isConstant": false,
                                        "isLValue": false,
                                        "isPure": false,
                                        "kind": "functionCall",
                                        "lValueRequested": false,
                                        "names": [],
                                        "nodeType": "FunctionCall",
                                        "src": "14836:78:62",
                                        "tryCall": false,
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_tuple$__$",
                                            "typeString": "tuple()"
                                        }
                                    },
                                    "id": 14729,
                                    "nodeType": "ExpressionStatement",
                                    "src": "14836:78:62"
                                }
                            ]
                        },
                        "id": 14731,
                        "implemented": true,
                        "kind": "function",
                        "modifiers": [],
                        "name": "log",
                        "nameLocation": "14784:3:62",
                        "nodeType": "FunctionDefinition",
                        "parameters": {
                            "id": 14718,
                            "nodeType": "ParameterList",
                            "parameters": [
                                {
                                    "constant": false,
                                    "id": 14713,
                                    "mutability": "mutable",
                                    "name": "p0",
                                    "nameLocation": "14796:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 14731,
                                    "src": "14788:10:62",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_address",
                                        "typeString": "address"
                                    },
                                    "typeName": {
                                        "id": 14712,
                                        "name": "address",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "14788:7:62",
                                        "stateMutability": "nonpayable",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_address",
                                            "typeString": "address"
                                        }
                                    },
                                    "visibility": "internal"
                                },
                                {
                                    "constant": false,
                                    "id": 14715,
                                    "mutability": "mutable",
                                    "name": "p1",
                                    "nameLocation": "14805:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 14731,
                                    "src": "14800:7:62",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_uint256",
                                        "typeString": "uint256"
                                    },
                                    "typeName": {
                                        "id": 14714,
                                        "name": "uint",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "14800:4:62",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_uint256",
                                            "typeString": "uint256"
                                        }
                                    },
                                    "visibility": "internal"
                                },
                                {
                                    "constant": false,
                                    "id": 14717,
                                    "mutability": "mutable",
                                    "name": "p2",
                                    "nameLocation": "14814:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 14731,
                                    "src": "14809:7:62",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_uint256",
                                        "typeString": "uint256"
                                    },
                                    "typeName": {
                                        "id": 14716,
                                        "name": "uint",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "14809:4:62",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_uint256",
                                            "typeString": "uint256"
                                        }
                                    },
                                    "visibility": "internal"
                                }
                            ],
                            "src": "14787:30:62"
                        },
                        "returnParameters": {
                            "id": 14719,
                            "nodeType": "ParameterList",
                            "parameters": [],
                            "src": "14832:0:62"
                        },
                        "scope": 20920,
                        "src": "14775:143:62",
                        "stateMutability": "view",
                        "virtual": false,
                        "visibility": "internal"
                    },
                    {
                        "body": {
                            "id": 14750,
                            "nodeType": "Block",
                            "src": "14987:88:62",
                            "statements": [
                                {
                                    "expression": {
                                        "arguments": [
                                            {
                                                "arguments": [
                                                    {
                                                        "hexValue": "6c6f6728616464726573732c75696e742c737472696e6729",
                                                        "id": 14743,
                                                        "isConstant": false,
                                                        "isLValue": false,
                                                        "isPure": true,
                                                        "kind": "string",
                                                        "lValueRequested": false,
                                                        "nodeType": "Literal",
                                                        "src": "15031:26:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_stringliteral_baf968498a2094de432bd16841b992056c14db9f313a6b44c3156c2b5f1dc2b4",
                                                            "typeString": "literal_string \"log(address,uint,string)\""
                                                        },
                                                        "value": "log(address,uint,string)"
                                                    },
                                                    {
                                                        "id": 14744,
                                                        "name": "p0",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 14733,
                                                        "src": "15059:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_address",
                                                            "typeString": "address"
                                                        }
                                                    },
                                                    {
                                                        "id": 14745,
                                                        "name": "p1",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 14735,
                                                        "src": "15063:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_uint256",
                                                            "typeString": "uint256"
                                                        }
                                                    },
                                                    {
                                                        "id": 14746,
                                                        "name": "p2",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 14737,
                                                        "src": "15067:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_string_memory_ptr",
                                                            "typeString": "string memory"
                                                        }
                                                    }
                                                ],
                                                "expression": {
                                                    "argumentTypes": [
                                                        {
                                                            "typeIdentifier": "t_stringliteral_baf968498a2094de432bd16841b992056c14db9f313a6b44c3156c2b5f1dc2b4",
                                                            "typeString": "literal_string \"log(address,uint,string)\""
                                                        },
                                                        {
                                                            "typeIdentifier": "t_address",
                                                            "typeString": "address"
                                                        },
                                                        {
                                                            "typeIdentifier": "t_uint256",
                                                            "typeString": "uint256"
                                                        },
                                                        {
                                                            "typeIdentifier": "t_string_memory_ptr",
                                                            "typeString": "string memory"
                                                        }
                                                    ],
                                                    "expression": {
                                                        "id": 14741,
                                                        "name": "abi",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 4294967295,
                                                        "src": "15007:3:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_magic_abi",
                                                            "typeString": "abi"
                                                        }
                                                    },
                                                    "id": 14742,
                                                    "isConstant": false,
                                                    "isLValue": false,
                                                    "isPure": true,
                                                    "lValueRequested": false,
                                                    "memberName": "encodeWithSignature",
                                                    "nodeType": "MemberAccess",
                                                    "src": "15007:23:62",
                                                    "typeDescriptions": {
                                                        "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$",
                                                        "typeString": "function (string memory) pure returns (bytes memory)"
                                                    }
                                                },
                                                "id": 14747,
                                                "isConstant": false,
                                                "isLValue": false,
                                                "isPure": false,
                                                "kind": "functionCall",
                                                "lValueRequested": false,
                                                "names": [],
                                                "nodeType": "FunctionCall",
                                                "src": "15007:63:62",
                                                "tryCall": false,
                                                "typeDescriptions": {
                                                    "typeIdentifier": "t_bytes_memory_ptr",
                                                    "typeString": "bytes memory"
                                                }
                                            }
                                        ],
                                        "expression": {
                                            "argumentTypes": [
                                                {
                                                    "typeIdentifier": "t_bytes_memory_ptr",
                                                    "typeString": "bytes memory"
                                                }
                                            ],
                                            "id": 14740,
                                            "name": "_sendLogPayload",
                                            "nodeType": "Identifier",
                                            "overloadedDeclarations": [],
                                            "referencedDeclaration": 12880,
                                            "src": "14991:15:62",
                                            "typeDescriptions": {
                                                "typeIdentifier": "t_function_internal_view$_t_bytes_memory_ptr_$returns$__$",
                                                "typeString": "function (bytes memory) view"
                                            }
                                        },
                                        "id": 14748,
                                        "isConstant": false,
                                        "isLValue": false,
                                        "isPure": false,
                                        "kind": "functionCall",
                                        "lValueRequested": false,
                                        "names": [],
                                        "nodeType": "FunctionCall",
                                        "src": "14991:80:62",
                                        "tryCall": false,
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_tuple$__$",
                                            "typeString": "tuple()"
                                        }
                                    },
                                    "id": 14749,
                                    "nodeType": "ExpressionStatement",
                                    "src": "14991:80:62"
                                }
                            ]
                        },
                        "id": 14751,
                        "implemented": true,
                        "kind": "function",
                        "modifiers": [],
                        "name": "log",
                        "nameLocation": "14930:3:62",
                        "nodeType": "FunctionDefinition",
                        "parameters": {
                            "id": 14738,
                            "nodeType": "ParameterList",
                            "parameters": [
                                {
                                    "constant": false,
                                    "id": 14733,
                                    "mutability": "mutable",
                                    "name": "p0",
                                    "nameLocation": "14942:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 14751,
                                    "src": "14934:10:62",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_address",
                                        "typeString": "address"
                                    },
                                    "typeName": {
                                        "id": 14732,
                                        "name": "address",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "14934:7:62",
                                        "stateMutability": "nonpayable",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_address",
                                            "typeString": "address"
                                        }
                                    },
                                    "visibility": "internal"
                                },
                                {
                                    "constant": false,
                                    "id": 14735,
                                    "mutability": "mutable",
                                    "name": "p1",
                                    "nameLocation": "14951:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 14751,
                                    "src": "14946:7:62",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_uint256",
                                        "typeString": "uint256"
                                    },
                                    "typeName": {
                                        "id": 14734,
                                        "name": "uint",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "14946:4:62",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_uint256",
                                            "typeString": "uint256"
                                        }
                                    },
                                    "visibility": "internal"
                                },
                                {
                                    "constant": false,
                                    "id": 14737,
                                    "mutability": "mutable",
                                    "name": "p2",
                                    "nameLocation": "14969:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 14751,
                                    "src": "14955:16:62",
                                    "stateVariable": false,
                                    "storageLocation": "memory",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_string_memory_ptr",
                                        "typeString": "string"
                                    },
                                    "typeName": {
                                        "id": 14736,
                                        "name": "string",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "14955:6:62",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_string_storage_ptr",
                                            "typeString": "string"
                                        }
                                    },
                                    "visibility": "internal"
                                }
                            ],
                            "src": "14933:39:62"
                        },
                        "returnParameters": {
                            "id": 14739,
                            "nodeType": "ParameterList",
                            "parameters": [],
                            "src": "14987:0:62"
                        },
                        "scope": 20920,
                        "src": "14921:154:62",
                        "stateMutability": "view",
                        "virtual": false,
                        "visibility": "internal"
                    },
                    {
                        "body": {
                            "id": 14770,
                            "nodeType": "Block",
                            "src": "15135:86:62",
                            "statements": [
                                {
                                    "expression": {
                                        "arguments": [
                                            {
                                                "arguments": [
                                                    {
                                                        "hexValue": "6c6f6728616464726573732c75696e742c626f6f6c29",
                                                        "id": 14763,
                                                        "isConstant": false,
                                                        "isLValue": false,
                                                        "isPure": true,
                                                        "kind": "string",
                                                        "lValueRequested": false,
                                                        "nodeType": "Literal",
                                                        "src": "15179:24:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_stringliteral_e54ae1445cd51f09e801fc5885e33c709102997417d3d9b6f543f7724468b4e4",
                                                            "typeString": "literal_string \"log(address,uint,bool)\""
                                                        },
                                                        "value": "log(address,uint,bool)"
                                                    },
                                                    {
                                                        "id": 14764,
                                                        "name": "p0",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 14753,
                                                        "src": "15205:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_address",
                                                            "typeString": "address"
                                                        }
                                                    },
                                                    {
                                                        "id": 14765,
                                                        "name": "p1",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 14755,
                                                        "src": "15209:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_uint256",
                                                            "typeString": "uint256"
                                                        }
                                                    },
                                                    {
                                                        "id": 14766,
                                                        "name": "p2",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 14757,
                                                        "src": "15213:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_bool",
                                                            "typeString": "bool"
                                                        }
                                                    }
                                                ],
                                                "expression": {
                                                    "argumentTypes": [
                                                        {
                                                            "typeIdentifier": "t_stringliteral_e54ae1445cd51f09e801fc5885e33c709102997417d3d9b6f543f7724468b4e4",
                                                            "typeString": "literal_string \"log(address,uint,bool)\""
                                                        },
                                                        {
                                                            "typeIdentifier": "t_address",
                                                            "typeString": "address"
                                                        },
                                                        {
                                                            "typeIdentifier": "t_uint256",
                                                            "typeString": "uint256"
                                                        },
                                                        {
                                                            "typeIdentifier": "t_bool",
                                                            "typeString": "bool"
                                                        }
                                                    ],
                                                    "expression": {
                                                        "id": 14761,
                                                        "name": "abi",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 4294967295,
                                                        "src": "15155:3:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_magic_abi",
                                                            "typeString": "abi"
                                                        }
                                                    },
                                                    "id": 14762,
                                                    "isConstant": false,
                                                    "isLValue": false,
                                                    "isPure": true,
                                                    "lValueRequested": false,
                                                    "memberName": "encodeWithSignature",
                                                    "nodeType": "MemberAccess",
                                                    "src": "15155:23:62",
                                                    "typeDescriptions": {
                                                        "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$",
                                                        "typeString": "function (string memory) pure returns (bytes memory)"
                                                    }
                                                },
                                                "id": 14767,
                                                "isConstant": false,
                                                "isLValue": false,
                                                "isPure": false,
                                                "kind": "functionCall",
                                                "lValueRequested": false,
                                                "names": [],
                                                "nodeType": "FunctionCall",
                                                "src": "15155:61:62",
                                                "tryCall": false,
                                                "typeDescriptions": {
                                                    "typeIdentifier": "t_bytes_memory_ptr",
                                                    "typeString": "bytes memory"
                                                }
                                            }
                                        ],
                                        "expression": {
                                            "argumentTypes": [
                                                {
                                                    "typeIdentifier": "t_bytes_memory_ptr",
                                                    "typeString": "bytes memory"
                                                }
                                            ],
                                            "id": 14760,
                                            "name": "_sendLogPayload",
                                            "nodeType": "Identifier",
                                            "overloadedDeclarations": [],
                                            "referencedDeclaration": 12880,
                                            "src": "15139:15:62",
                                            "typeDescriptions": {
                                                "typeIdentifier": "t_function_internal_view$_t_bytes_memory_ptr_$returns$__$",
                                                "typeString": "function (bytes memory) view"
                                            }
                                        },
                                        "id": 14768,
                                        "isConstant": false,
                                        "isLValue": false,
                                        "isPure": false,
                                        "kind": "functionCall",
                                        "lValueRequested": false,
                                        "names": [],
                                        "nodeType": "FunctionCall",
                                        "src": "15139:78:62",
                                        "tryCall": false,
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_tuple$__$",
                                            "typeString": "tuple()"
                                        }
                                    },
                                    "id": 14769,
                                    "nodeType": "ExpressionStatement",
                                    "src": "15139:78:62"
                                }
                            ]
                        },
                        "id": 14771,
                        "implemented": true,
                        "kind": "function",
                        "modifiers": [],
                        "name": "log",
                        "nameLocation": "15087:3:62",
                        "nodeType": "FunctionDefinition",
                        "parameters": {
                            "id": 14758,
                            "nodeType": "ParameterList",
                            "parameters": [
                                {
                                    "constant": false,
                                    "id": 14753,
                                    "mutability": "mutable",
                                    "name": "p0",
                                    "nameLocation": "15099:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 14771,
                                    "src": "15091:10:62",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_address",
                                        "typeString": "address"
                                    },
                                    "typeName": {
                                        "id": 14752,
                                        "name": "address",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "15091:7:62",
                                        "stateMutability": "nonpayable",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_address",
                                            "typeString": "address"
                                        }
                                    },
                                    "visibility": "internal"
                                },
                                {
                                    "constant": false,
                                    "id": 14755,
                                    "mutability": "mutable",
                                    "name": "p1",
                                    "nameLocation": "15108:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 14771,
                                    "src": "15103:7:62",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_uint256",
                                        "typeString": "uint256"
                                    },
                                    "typeName": {
                                        "id": 14754,
                                        "name": "uint",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "15103:4:62",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_uint256",
                                            "typeString": "uint256"
                                        }
                                    },
                                    "visibility": "internal"
                                },
                                {
                                    "constant": false,
                                    "id": 14757,
                                    "mutability": "mutable",
                                    "name": "p2",
                                    "nameLocation": "15117:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 14771,
                                    "src": "15112:7:62",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_bool",
                                        "typeString": "bool"
                                    },
                                    "typeName": {
                                        "id": 14756,
                                        "name": "bool",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "15112:4:62",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_bool",
                                            "typeString": "bool"
                                        }
                                    },
                                    "visibility": "internal"
                                }
                            ],
                            "src": "15090:30:62"
                        },
                        "returnParameters": {
                            "id": 14759,
                            "nodeType": "ParameterList",
                            "parameters": [],
                            "src": "15135:0:62"
                        },
                        "scope": 20920,
                        "src": "15078:143:62",
                        "stateMutability": "view",
                        "virtual": false,
                        "visibility": "internal"
                    },
                    {
                        "body": {
                            "id": 14790,
                            "nodeType": "Block",
                            "src": "15284:89:62",
                            "statements": [
                                {
                                    "expression": {
                                        "arguments": [
                                            {
                                                "arguments": [
                                                    {
                                                        "hexValue": "6c6f6728616464726573732c75696e742c6164647265737329",
                                                        "id": 14783,
                                                        "isConstant": false,
                                                        "isLValue": false,
                                                        "isPure": true,
                                                        "kind": "string",
                                                        "lValueRequested": false,
                                                        "nodeType": "Literal",
                                                        "src": "15328:27:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_stringliteral_97eca3948a309251ff02cc4a3cb96f84ac4b6b4bdc56e86c9f0131c9b70c6259",
                                                            "typeString": "literal_string \"log(address,uint,address)\""
                                                        },
                                                        "value": "log(address,uint,address)"
                                                    },
                                                    {
                                                        "id": 14784,
                                                        "name": "p0",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 14773,
                                                        "src": "15357:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_address",
                                                            "typeString": "address"
                                                        }
                                                    },
                                                    {
                                                        "id": 14785,
                                                        "name": "p1",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 14775,
                                                        "src": "15361:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_uint256",
                                                            "typeString": "uint256"
                                                        }
                                                    },
                                                    {
                                                        "id": 14786,
                                                        "name": "p2",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 14777,
                                                        "src": "15365:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_address",
                                                            "typeString": "address"
                                                        }
                                                    }
                                                ],
                                                "expression": {
                                                    "argumentTypes": [
                                                        {
                                                            "typeIdentifier": "t_stringliteral_97eca3948a309251ff02cc4a3cb96f84ac4b6b4bdc56e86c9f0131c9b70c6259",
                                                            "typeString": "literal_string \"log(address,uint,address)\""
                                                        },
                                                        {
                                                            "typeIdentifier": "t_address",
                                                            "typeString": "address"
                                                        },
                                                        {
                                                            "typeIdentifier": "t_uint256",
                                                            "typeString": "uint256"
                                                        },
                                                        {
                                                            "typeIdentifier": "t_address",
                                                            "typeString": "address"
                                                        }
                                                    ],
                                                    "expression": {
                                                        "id": 14781,
                                                        "name": "abi",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 4294967295,
                                                        "src": "15304:3:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_magic_abi",
                                                            "typeString": "abi"
                                                        }
                                                    },
                                                    "id": 14782,
                                                    "isConstant": false,
                                                    "isLValue": false,
                                                    "isPure": true,
                                                    "lValueRequested": false,
                                                    "memberName": "encodeWithSignature",
                                                    "nodeType": "MemberAccess",
                                                    "src": "15304:23:62",
                                                    "typeDescriptions": {
                                                        "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$",
                                                        "typeString": "function (string memory) pure returns (bytes memory)"
                                                    }
                                                },
                                                "id": 14787,
                                                "isConstant": false,
                                                "isLValue": false,
                                                "isPure": false,
                                                "kind": "functionCall",
                                                "lValueRequested": false,
                                                "names": [],
                                                "nodeType": "FunctionCall",
                                                "src": "15304:64:62",
                                                "tryCall": false,
                                                "typeDescriptions": {
                                                    "typeIdentifier": "t_bytes_memory_ptr",
                                                    "typeString": "bytes memory"
                                                }
                                            }
                                        ],
                                        "expression": {
                                            "argumentTypes": [
                                                {
                                                    "typeIdentifier": "t_bytes_memory_ptr",
                                                    "typeString": "bytes memory"
                                                }
                                            ],
                                            "id": 14780,
                                            "name": "_sendLogPayload",
                                            "nodeType": "Identifier",
                                            "overloadedDeclarations": [],
                                            "referencedDeclaration": 12880,
                                            "src": "15288:15:62",
                                            "typeDescriptions": {
                                                "typeIdentifier": "t_function_internal_view$_t_bytes_memory_ptr_$returns$__$",
                                                "typeString": "function (bytes memory) view"
                                            }
                                        },
                                        "id": 14788,
                                        "isConstant": false,
                                        "isLValue": false,
                                        "isPure": false,
                                        "kind": "functionCall",
                                        "lValueRequested": false,
                                        "names": [],
                                        "nodeType": "FunctionCall",
                                        "src": "15288:81:62",
                                        "tryCall": false,
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_tuple$__$",
                                            "typeString": "tuple()"
                                        }
                                    },
                                    "id": 14789,
                                    "nodeType": "ExpressionStatement",
                                    "src": "15288:81:62"
                                }
                            ]
                        },
                        "id": 14791,
                        "implemented": true,
                        "kind": "function",
                        "modifiers": [],
                        "name": "log",
                        "nameLocation": "15233:3:62",
                        "nodeType": "FunctionDefinition",
                        "parameters": {
                            "id": 14778,
                            "nodeType": "ParameterList",
                            "parameters": [
                                {
                                    "constant": false,
                                    "id": 14773,
                                    "mutability": "mutable",
                                    "name": "p0",
                                    "nameLocation": "15245:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 14791,
                                    "src": "15237:10:62",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_address",
                                        "typeString": "address"
                                    },
                                    "typeName": {
                                        "id": 14772,
                                        "name": "address",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "15237:7:62",
                                        "stateMutability": "nonpayable",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_address",
                                            "typeString": "address"
                                        }
                                    },
                                    "visibility": "internal"
                                },
                                {
                                    "constant": false,
                                    "id": 14775,
                                    "mutability": "mutable",
                                    "name": "p1",
                                    "nameLocation": "15254:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 14791,
                                    "src": "15249:7:62",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_uint256",
                                        "typeString": "uint256"
                                    },
                                    "typeName": {
                                        "id": 14774,
                                        "name": "uint",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "15249:4:62",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_uint256",
                                            "typeString": "uint256"
                                        }
                                    },
                                    "visibility": "internal"
                                },
                                {
                                    "constant": false,
                                    "id": 14777,
                                    "mutability": "mutable",
                                    "name": "p2",
                                    "nameLocation": "15266:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 14791,
                                    "src": "15258:10:62",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_address",
                                        "typeString": "address"
                                    },
                                    "typeName": {
                                        "id": 14776,
                                        "name": "address",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "15258:7:62",
                                        "stateMutability": "nonpayable",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_address",
                                            "typeString": "address"
                                        }
                                    },
                                    "visibility": "internal"
                                }
                            ],
                            "src": "15236:33:62"
                        },
                        "returnParameters": {
                            "id": 14779,
                            "nodeType": "ParameterList",
                            "parameters": [],
                            "src": "15284:0:62"
                        },
                        "scope": 20920,
                        "src": "15224:149:62",
                        "stateMutability": "view",
                        "virtual": false,
                        "visibility": "internal"
                    },
                    {
                        "body": {
                            "id": 14810,
                            "nodeType": "Block",
                            "src": "15442:88:62",
                            "statements": [
                                {
                                    "expression": {
                                        "arguments": [
                                            {
                                                "arguments": [
                                                    {
                                                        "hexValue": "6c6f6728616464726573732c737472696e672c75696e7429",
                                                        "id": 14803,
                                                        "isConstant": false,
                                                        "isLValue": false,
                                                        "isPure": true,
                                                        "kind": "string",
                                                        "lValueRequested": false,
                                                        "nodeType": "Literal",
                                                        "src": "15486:26:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_stringliteral_1cdaf28a630ff01c83e1629295cea6793da60638603e831a5c07be53dbee3597",
                                                            "typeString": "literal_string \"log(address,string,uint)\""
                                                        },
                                                        "value": "log(address,string,uint)"
                                                    },
                                                    {
                                                        "id": 14804,
                                                        "name": "p0",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 14793,
                                                        "src": "15514:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_address",
                                                            "typeString": "address"
                                                        }
                                                    },
                                                    {
                                                        "id": 14805,
                                                        "name": "p1",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 14795,
                                                        "src": "15518:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_string_memory_ptr",
                                                            "typeString": "string memory"
                                                        }
                                                    },
                                                    {
                                                        "id": 14806,
                                                        "name": "p2",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 14797,
                                                        "src": "15522:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_uint256",
                                                            "typeString": "uint256"
                                                        }
                                                    }
                                                ],
                                                "expression": {
                                                    "argumentTypes": [
                                                        {
                                                            "typeIdentifier": "t_stringliteral_1cdaf28a630ff01c83e1629295cea6793da60638603e831a5c07be53dbee3597",
                                                            "typeString": "literal_string \"log(address,string,uint)\""
                                                        },
                                                        {
                                                            "typeIdentifier": "t_address",
                                                            "typeString": "address"
                                                        },
                                                        {
                                                            "typeIdentifier": "t_string_memory_ptr",
                                                            "typeString": "string memory"
                                                        },
                                                        {
                                                            "typeIdentifier": "t_uint256",
                                                            "typeString": "uint256"
                                                        }
                                                    ],
                                                    "expression": {
                                                        "id": 14801,
                                                        "name": "abi",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 4294967295,
                                                        "src": "15462:3:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_magic_abi",
                                                            "typeString": "abi"
                                                        }
                                                    },
                                                    "id": 14802,
                                                    "isConstant": false,
                                                    "isLValue": false,
                                                    "isPure": true,
                                                    "lValueRequested": false,
                                                    "memberName": "encodeWithSignature",
                                                    "nodeType": "MemberAccess",
                                                    "src": "15462:23:62",
                                                    "typeDescriptions": {
                                                        "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$",
                                                        "typeString": "function (string memory) pure returns (bytes memory)"
                                                    }
                                                },
                                                "id": 14807,
                                                "isConstant": false,
                                                "isLValue": false,
                                                "isPure": false,
                                                "kind": "functionCall",
                                                "lValueRequested": false,
                                                "names": [],
                                                "nodeType": "FunctionCall",
                                                "src": "15462:63:62",
                                                "tryCall": false,
                                                "typeDescriptions": {
                                                    "typeIdentifier": "t_bytes_memory_ptr",
                                                    "typeString": "bytes memory"
                                                }
                                            }
                                        ],
                                        "expression": {
                                            "argumentTypes": [
                                                {
                                                    "typeIdentifier": "t_bytes_memory_ptr",
                                                    "typeString": "bytes memory"
                                                }
                                            ],
                                            "id": 14800,
                                            "name": "_sendLogPayload",
                                            "nodeType": "Identifier",
                                            "overloadedDeclarations": [],
                                            "referencedDeclaration": 12880,
                                            "src": "15446:15:62",
                                            "typeDescriptions": {
                                                "typeIdentifier": "t_function_internal_view$_t_bytes_memory_ptr_$returns$__$",
                                                "typeString": "function (bytes memory) view"
                                            }
                                        },
                                        "id": 14808,
                                        "isConstant": false,
                                        "isLValue": false,
                                        "isPure": false,
                                        "kind": "functionCall",
                                        "lValueRequested": false,
                                        "names": [],
                                        "nodeType": "FunctionCall",
                                        "src": "15446:80:62",
                                        "tryCall": false,
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_tuple$__$",
                                            "typeString": "tuple()"
                                        }
                                    },
                                    "id": 14809,
                                    "nodeType": "ExpressionStatement",
                                    "src": "15446:80:62"
                                }
                            ]
                        },
                        "id": 14811,
                        "implemented": true,
                        "kind": "function",
                        "modifiers": [],
                        "name": "log",
                        "nameLocation": "15385:3:62",
                        "nodeType": "FunctionDefinition",
                        "parameters": {
                            "id": 14798,
                            "nodeType": "ParameterList",
                            "parameters": [
                                {
                                    "constant": false,
                                    "id": 14793,
                                    "mutability": "mutable",
                                    "name": "p0",
                                    "nameLocation": "15397:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 14811,
                                    "src": "15389:10:62",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_address",
                                        "typeString": "address"
                                    },
                                    "typeName": {
                                        "id": 14792,
                                        "name": "address",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "15389:7:62",
                                        "stateMutability": "nonpayable",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_address",
                                            "typeString": "address"
                                        }
                                    },
                                    "visibility": "internal"
                                },
                                {
                                    "constant": false,
                                    "id": 14795,
                                    "mutability": "mutable",
                                    "name": "p1",
                                    "nameLocation": "15415:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 14811,
                                    "src": "15401:16:62",
                                    "stateVariable": false,
                                    "storageLocation": "memory",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_string_memory_ptr",
                                        "typeString": "string"
                                    },
                                    "typeName": {
                                        "id": 14794,
                                        "name": "string",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "15401:6:62",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_string_storage_ptr",
                                            "typeString": "string"
                                        }
                                    },
                                    "visibility": "internal"
                                },
                                {
                                    "constant": false,
                                    "id": 14797,
                                    "mutability": "mutable",
                                    "name": "p2",
                                    "nameLocation": "15424:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 14811,
                                    "src": "15419:7:62",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_uint256",
                                        "typeString": "uint256"
                                    },
                                    "typeName": {
                                        "id": 14796,
                                        "name": "uint",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "15419:4:62",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_uint256",
                                            "typeString": "uint256"
                                        }
                                    },
                                    "visibility": "internal"
                                }
                            ],
                            "src": "15388:39:62"
                        },
                        "returnParameters": {
                            "id": 14799,
                            "nodeType": "ParameterList",
                            "parameters": [],
                            "src": "15442:0:62"
                        },
                        "scope": 20920,
                        "src": "15376:154:62",
                        "stateMutability": "view",
                        "virtual": false,
                        "visibility": "internal"
                    },
                    {
                        "body": {
                            "id": 14830,
                            "nodeType": "Block",
                            "src": "15608:90:62",
                            "statements": [
                                {
                                    "expression": {
                                        "arguments": [
                                            {
                                                "arguments": [
                                                    {
                                                        "hexValue": "6c6f6728616464726573732c737472696e672c737472696e6729",
                                                        "id": 14823,
                                                        "isConstant": false,
                                                        "isLValue": false,
                                                        "isPure": true,
                                                        "kind": "string",
                                                        "lValueRequested": false,
                                                        "nodeType": "Literal",
                                                        "src": "15652:28:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_stringliteral_fb77226597c11cd0c52945168d7176a06b9af41edea6a51823db111f35573158",
                                                            "typeString": "literal_string \"log(address,string,string)\""
                                                        },
                                                        "value": "log(address,string,string)"
                                                    },
                                                    {
                                                        "id": 14824,
                                                        "name": "p0",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 14813,
                                                        "src": "15682:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_address",
                                                            "typeString": "address"
                                                        }
                                                    },
                                                    {
                                                        "id": 14825,
                                                        "name": "p1",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 14815,
                                                        "src": "15686:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_string_memory_ptr",
                                                            "typeString": "string memory"
                                                        }
                                                    },
                                                    {
                                                        "id": 14826,
                                                        "name": "p2",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 14817,
                                                        "src": "15690:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_string_memory_ptr",
                                                            "typeString": "string memory"
                                                        }
                                                    }
                                                ],
                                                "expression": {
                                                    "argumentTypes": [
                                                        {
                                                            "typeIdentifier": "t_stringliteral_fb77226597c11cd0c52945168d7176a06b9af41edea6a51823db111f35573158",
                                                            "typeString": "literal_string \"log(address,string,string)\""
                                                        },
                                                        {
                                                            "typeIdentifier": "t_address",
                                                            "typeString": "address"
                                                        },
                                                        {
                                                            "typeIdentifier": "t_string_memory_ptr",
                                                            "typeString": "string memory"
                                                        },
                                                        {
                                                            "typeIdentifier": "t_string_memory_ptr",
                                                            "typeString": "string memory"
                                                        }
                                                    ],
                                                    "expression": {
                                                        "id": 14821,
                                                        "name": "abi",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 4294967295,
                                                        "src": "15628:3:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_magic_abi",
                                                            "typeString": "abi"
                                                        }
                                                    },
                                                    "id": 14822,
                                                    "isConstant": false,
                                                    "isLValue": false,
                                                    "isPure": true,
                                                    "lValueRequested": false,
                                                    "memberName": "encodeWithSignature",
                                                    "nodeType": "MemberAccess",
                                                    "src": "15628:23:62",
                                                    "typeDescriptions": {
                                                        "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$",
                                                        "typeString": "function (string memory) pure returns (bytes memory)"
                                                    }
                                                },
                                                "id": 14827,
                                                "isConstant": false,
                                                "isLValue": false,
                                                "isPure": false,
                                                "kind": "functionCall",
                                                "lValueRequested": false,
                                                "names": [],
                                                "nodeType": "FunctionCall",
                                                "src": "15628:65:62",
                                                "tryCall": false,
                                                "typeDescriptions": {
                                                    "typeIdentifier": "t_bytes_memory_ptr",
                                                    "typeString": "bytes memory"
                                                }
                                            }
                                        ],
                                        "expression": {
                                            "argumentTypes": [
                                                {
                                                    "typeIdentifier": "t_bytes_memory_ptr",
                                                    "typeString": "bytes memory"
                                                }
                                            ],
                                            "id": 14820,
                                            "name": "_sendLogPayload",
                                            "nodeType": "Identifier",
                                            "overloadedDeclarations": [],
                                            "referencedDeclaration": 12880,
                                            "src": "15612:15:62",
                                            "typeDescriptions": {
                                                "typeIdentifier": "t_function_internal_view$_t_bytes_memory_ptr_$returns$__$",
                                                "typeString": "function (bytes memory) view"
                                            }
                                        },
                                        "id": 14828,
                                        "isConstant": false,
                                        "isLValue": false,
                                        "isPure": false,
                                        "kind": "functionCall",
                                        "lValueRequested": false,
                                        "names": [],
                                        "nodeType": "FunctionCall",
                                        "src": "15612:82:62",
                                        "tryCall": false,
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_tuple$__$",
                                            "typeString": "tuple()"
                                        }
                                    },
                                    "id": 14829,
                                    "nodeType": "ExpressionStatement",
                                    "src": "15612:82:62"
                                }
                            ]
                        },
                        "id": 14831,
                        "implemented": true,
                        "kind": "function",
                        "modifiers": [],
                        "name": "log",
                        "nameLocation": "15542:3:62",
                        "nodeType": "FunctionDefinition",
                        "parameters": {
                            "id": 14818,
                            "nodeType": "ParameterList",
                            "parameters": [
                                {
                                    "constant": false,
                                    "id": 14813,
                                    "mutability": "mutable",
                                    "name": "p0",
                                    "nameLocation": "15554:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 14831,
                                    "src": "15546:10:62",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_address",
                                        "typeString": "address"
                                    },
                                    "typeName": {
                                        "id": 14812,
                                        "name": "address",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "15546:7:62",
                                        "stateMutability": "nonpayable",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_address",
                                            "typeString": "address"
                                        }
                                    },
                                    "visibility": "internal"
                                },
                                {
                                    "constant": false,
                                    "id": 14815,
                                    "mutability": "mutable",
                                    "name": "p1",
                                    "nameLocation": "15572:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 14831,
                                    "src": "15558:16:62",
                                    "stateVariable": false,
                                    "storageLocation": "memory",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_string_memory_ptr",
                                        "typeString": "string"
                                    },
                                    "typeName": {
                                        "id": 14814,
                                        "name": "string",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "15558:6:62",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_string_storage_ptr",
                                            "typeString": "string"
                                        }
                                    },
                                    "visibility": "internal"
                                },
                                {
                                    "constant": false,
                                    "id": 14817,
                                    "mutability": "mutable",
                                    "name": "p2",
                                    "nameLocation": "15590:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 14831,
                                    "src": "15576:16:62",
                                    "stateVariable": false,
                                    "storageLocation": "memory",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_string_memory_ptr",
                                        "typeString": "string"
                                    },
                                    "typeName": {
                                        "id": 14816,
                                        "name": "string",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "15576:6:62",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_string_storage_ptr",
                                            "typeString": "string"
                                        }
                                    },
                                    "visibility": "internal"
                                }
                            ],
                            "src": "15545:48:62"
                        },
                        "returnParameters": {
                            "id": 14819,
                            "nodeType": "ParameterList",
                            "parameters": [],
                            "src": "15608:0:62"
                        },
                        "scope": 20920,
                        "src": "15533:165:62",
                        "stateMutability": "view",
                        "virtual": false,
                        "visibility": "internal"
                    },
                    {
                        "body": {
                            "id": 14850,
                            "nodeType": "Block",
                            "src": "15767:88:62",
                            "statements": [
                                {
                                    "expression": {
                                        "arguments": [
                                            {
                                                "arguments": [
                                                    {
                                                        "hexValue": "6c6f6728616464726573732c737472696e672c626f6f6c29",
                                                        "id": 14843,
                                                        "isConstant": false,
                                                        "isLValue": false,
                                                        "isPure": true,
                                                        "kind": "string",
                                                        "lValueRequested": false,
                                                        "nodeType": "Literal",
                                                        "src": "15811:26:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_stringliteral_cf020fb14f49566c5748de1f455c699a10a4ed1d7cf32f9adb28d22878df1b96",
                                                            "typeString": "literal_string \"log(address,string,bool)\""
                                                        },
                                                        "value": "log(address,string,bool)"
                                                    },
                                                    {
                                                        "id": 14844,
                                                        "name": "p0",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 14833,
                                                        "src": "15839:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_address",
                                                            "typeString": "address"
                                                        }
                                                    },
                                                    {
                                                        "id": 14845,
                                                        "name": "p1",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 14835,
                                                        "src": "15843:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_string_memory_ptr",
                                                            "typeString": "string memory"
                                                        }
                                                    },
                                                    {
                                                        "id": 14846,
                                                        "name": "p2",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 14837,
                                                        "src": "15847:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_bool",
                                                            "typeString": "bool"
                                                        }
                                                    }
                                                ],
                                                "expression": {
                                                    "argumentTypes": [
                                                        {
                                                            "typeIdentifier": "t_stringliteral_cf020fb14f49566c5748de1f455c699a10a4ed1d7cf32f9adb28d22878df1b96",
                                                            "typeString": "literal_string \"log(address,string,bool)\""
                                                        },
                                                        {
                                                            "typeIdentifier": "t_address",
                                                            "typeString": "address"
                                                        },
                                                        {
                                                            "typeIdentifier": "t_string_memory_ptr",
                                                            "typeString": "string memory"
                                                        },
                                                        {
                                                            "typeIdentifier": "t_bool",
                                                            "typeString": "bool"
                                                        }
                                                    ],
                                                    "expression": {
                                                        "id": 14841,
                                                        "name": "abi",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 4294967295,
                                                        "src": "15787:3:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_magic_abi",
                                                            "typeString": "abi"
                                                        }
                                                    },
                                                    "id": 14842,
                                                    "isConstant": false,
                                                    "isLValue": false,
                                                    "isPure": true,
                                                    "lValueRequested": false,
                                                    "memberName": "encodeWithSignature",
                                                    "nodeType": "MemberAccess",
                                                    "src": "15787:23:62",
                                                    "typeDescriptions": {
                                                        "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$",
                                                        "typeString": "function (string memory) pure returns (bytes memory)"
                                                    }
                                                },
                                                "id": 14847,
                                                "isConstant": false,
                                                "isLValue": false,
                                                "isPure": false,
                                                "kind": "functionCall",
                                                "lValueRequested": false,
                                                "names": [],
                                                "nodeType": "FunctionCall",
                                                "src": "15787:63:62",
                                                "tryCall": false,
                                                "typeDescriptions": {
                                                    "typeIdentifier": "t_bytes_memory_ptr",
                                                    "typeString": "bytes memory"
                                                }
                                            }
                                        ],
                                        "expression": {
                                            "argumentTypes": [
                                                {
                                                    "typeIdentifier": "t_bytes_memory_ptr",
                                                    "typeString": "bytes memory"
                                                }
                                            ],
                                            "id": 14840,
                                            "name": "_sendLogPayload",
                                            "nodeType": "Identifier",
                                            "overloadedDeclarations": [],
                                            "referencedDeclaration": 12880,
                                            "src": "15771:15:62",
                                            "typeDescriptions": {
                                                "typeIdentifier": "t_function_internal_view$_t_bytes_memory_ptr_$returns$__$",
                                                "typeString": "function (bytes memory) view"
                                            }
                                        },
                                        "id": 14848,
                                        "isConstant": false,
                                        "isLValue": false,
                                        "isPure": false,
                                        "kind": "functionCall",
                                        "lValueRequested": false,
                                        "names": [],
                                        "nodeType": "FunctionCall",
                                        "src": "15771:80:62",
                                        "tryCall": false,
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_tuple$__$",
                                            "typeString": "tuple()"
                                        }
                                    },
                                    "id": 14849,
                                    "nodeType": "ExpressionStatement",
                                    "src": "15771:80:62"
                                }
                            ]
                        },
                        "id": 14851,
                        "implemented": true,
                        "kind": "function",
                        "modifiers": [],
                        "name": "log",
                        "nameLocation": "15710:3:62",
                        "nodeType": "FunctionDefinition",
                        "parameters": {
                            "id": 14838,
                            "nodeType": "ParameterList",
                            "parameters": [
                                {
                                    "constant": false,
                                    "id": 14833,
                                    "mutability": "mutable",
                                    "name": "p0",
                                    "nameLocation": "15722:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 14851,
                                    "src": "15714:10:62",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_address",
                                        "typeString": "address"
                                    },
                                    "typeName": {
                                        "id": 14832,
                                        "name": "address",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "15714:7:62",
                                        "stateMutability": "nonpayable",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_address",
                                            "typeString": "address"
                                        }
                                    },
                                    "visibility": "internal"
                                },
                                {
                                    "constant": false,
                                    "id": 14835,
                                    "mutability": "mutable",
                                    "name": "p1",
                                    "nameLocation": "15740:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 14851,
                                    "src": "15726:16:62",
                                    "stateVariable": false,
                                    "storageLocation": "memory",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_string_memory_ptr",
                                        "typeString": "string"
                                    },
                                    "typeName": {
                                        "id": 14834,
                                        "name": "string",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "15726:6:62",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_string_storage_ptr",
                                            "typeString": "string"
                                        }
                                    },
                                    "visibility": "internal"
                                },
                                {
                                    "constant": false,
                                    "id": 14837,
                                    "mutability": "mutable",
                                    "name": "p2",
                                    "nameLocation": "15749:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 14851,
                                    "src": "15744:7:62",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_bool",
                                        "typeString": "bool"
                                    },
                                    "typeName": {
                                        "id": 14836,
                                        "name": "bool",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "15744:4:62",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_bool",
                                            "typeString": "bool"
                                        }
                                    },
                                    "visibility": "internal"
                                }
                            ],
                            "src": "15713:39:62"
                        },
                        "returnParameters": {
                            "id": 14839,
                            "nodeType": "ParameterList",
                            "parameters": [],
                            "src": "15767:0:62"
                        },
                        "scope": 20920,
                        "src": "15701:154:62",
                        "stateMutability": "view",
                        "virtual": false,
                        "visibility": "internal"
                    },
                    {
                        "body": {
                            "id": 14870,
                            "nodeType": "Block",
                            "src": "15927:91:62",
                            "statements": [
                                {
                                    "expression": {
                                        "arguments": [
                                            {
                                                "arguments": [
                                                    {
                                                        "hexValue": "6c6f6728616464726573732c737472696e672c6164647265737329",
                                                        "id": 14863,
                                                        "isConstant": false,
                                                        "isLValue": false,
                                                        "isPure": true,
                                                        "kind": "string",
                                                        "lValueRequested": false,
                                                        "nodeType": "Literal",
                                                        "src": "15971:29:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_stringliteral_f08744e82875525f1ef885a48453f58e96cac98a5d32bd6d8c38e4977aede231",
                                                            "typeString": "literal_string \"log(address,string,address)\""
                                                        },
                                                        "value": "log(address,string,address)"
                                                    },
                                                    {
                                                        "id": 14864,
                                                        "name": "p0",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 14853,
                                                        "src": "16002:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_address",
                                                            "typeString": "address"
                                                        }
                                                    },
                                                    {
                                                        "id": 14865,
                                                        "name": "p1",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 14855,
                                                        "src": "16006:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_string_memory_ptr",
                                                            "typeString": "string memory"
                                                        }
                                                    },
                                                    {
                                                        "id": 14866,
                                                        "name": "p2",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 14857,
                                                        "src": "16010:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_address",
                                                            "typeString": "address"
                                                        }
                                                    }
                                                ],
                                                "expression": {
                                                    "argumentTypes": [
                                                        {
                                                            "typeIdentifier": "t_stringliteral_f08744e82875525f1ef885a48453f58e96cac98a5d32bd6d8c38e4977aede231",
                                                            "typeString": "literal_string \"log(address,string,address)\""
                                                        },
                                                        {
                                                            "typeIdentifier": "t_address",
                                                            "typeString": "address"
                                                        },
                                                        {
                                                            "typeIdentifier": "t_string_memory_ptr",
                                                            "typeString": "string memory"
                                                        },
                                                        {
                                                            "typeIdentifier": "t_address",
                                                            "typeString": "address"
                                                        }
                                                    ],
                                                    "expression": {
                                                        "id": 14861,
                                                        "name": "abi",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 4294967295,
                                                        "src": "15947:3:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_magic_abi",
                                                            "typeString": "abi"
                                                        }
                                                    },
                                                    "id": 14862,
                                                    "isConstant": false,
                                                    "isLValue": false,
                                                    "isPure": true,
                                                    "lValueRequested": false,
                                                    "memberName": "encodeWithSignature",
                                                    "nodeType": "MemberAccess",
                                                    "src": "15947:23:62",
                                                    "typeDescriptions": {
                                                        "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$",
                                                        "typeString": "function (string memory) pure returns (bytes memory)"
                                                    }
                                                },
                                                "id": 14867,
                                                "isConstant": false,
                                                "isLValue": false,
                                                "isPure": false,
                                                "kind": "functionCall",
                                                "lValueRequested": false,
                                                "names": [],
                                                "nodeType": "FunctionCall",
                                                "src": "15947:66:62",
                                                "tryCall": false,
                                                "typeDescriptions": {
                                                    "typeIdentifier": "t_bytes_memory_ptr",
                                                    "typeString": "bytes memory"
                                                }
                                            }
                                        ],
                                        "expression": {
                                            "argumentTypes": [
                                                {
                                                    "typeIdentifier": "t_bytes_memory_ptr",
                                                    "typeString": "bytes memory"
                                                }
                                            ],
                                            "id": 14860,
                                            "name": "_sendLogPayload",
                                            "nodeType": "Identifier",
                                            "overloadedDeclarations": [],
                                            "referencedDeclaration": 12880,
                                            "src": "15931:15:62",
                                            "typeDescriptions": {
                                                "typeIdentifier": "t_function_internal_view$_t_bytes_memory_ptr_$returns$__$",
                                                "typeString": "function (bytes memory) view"
                                            }
                                        },
                                        "id": 14868,
                                        "isConstant": false,
                                        "isLValue": false,
                                        "isPure": false,
                                        "kind": "functionCall",
                                        "lValueRequested": false,
                                        "names": [],
                                        "nodeType": "FunctionCall",
                                        "src": "15931:83:62",
                                        "tryCall": false,
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_tuple$__$",
                                            "typeString": "tuple()"
                                        }
                                    },
                                    "id": 14869,
                                    "nodeType": "ExpressionStatement",
                                    "src": "15931:83:62"
                                }
                            ]
                        },
                        "id": 14871,
                        "implemented": true,
                        "kind": "function",
                        "modifiers": [],
                        "name": "log",
                        "nameLocation": "15867:3:62",
                        "nodeType": "FunctionDefinition",
                        "parameters": {
                            "id": 14858,
                            "nodeType": "ParameterList",
                            "parameters": [
                                {
                                    "constant": false,
                                    "id": 14853,
                                    "mutability": "mutable",
                                    "name": "p0",
                                    "nameLocation": "15879:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 14871,
                                    "src": "15871:10:62",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_address",
                                        "typeString": "address"
                                    },
                                    "typeName": {
                                        "id": 14852,
                                        "name": "address",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "15871:7:62",
                                        "stateMutability": "nonpayable",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_address",
                                            "typeString": "address"
                                        }
                                    },
                                    "visibility": "internal"
                                },
                                {
                                    "constant": false,
                                    "id": 14855,
                                    "mutability": "mutable",
                                    "name": "p1",
                                    "nameLocation": "15897:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 14871,
                                    "src": "15883:16:62",
                                    "stateVariable": false,
                                    "storageLocation": "memory",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_string_memory_ptr",
                                        "typeString": "string"
                                    },
                                    "typeName": {
                                        "id": 14854,
                                        "name": "string",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "15883:6:62",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_string_storage_ptr",
                                            "typeString": "string"
                                        }
                                    },
                                    "visibility": "internal"
                                },
                                {
                                    "constant": false,
                                    "id": 14857,
                                    "mutability": "mutable",
                                    "name": "p2",
                                    "nameLocation": "15909:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 14871,
                                    "src": "15901:10:62",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_address",
                                        "typeString": "address"
                                    },
                                    "typeName": {
                                        "id": 14856,
                                        "name": "address",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "15901:7:62",
                                        "stateMutability": "nonpayable",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_address",
                                            "typeString": "address"
                                        }
                                    },
                                    "visibility": "internal"
                                }
                            ],
                            "src": "15870:42:62"
                        },
                        "returnParameters": {
                            "id": 14859,
                            "nodeType": "ParameterList",
                            "parameters": [],
                            "src": "15927:0:62"
                        },
                        "scope": 20920,
                        "src": "15858:160:62",
                        "stateMutability": "view",
                        "virtual": false,
                        "visibility": "internal"
                    },
                    {
                        "body": {
                            "id": 14890,
                            "nodeType": "Block",
                            "src": "16078:86:62",
                            "statements": [
                                {
                                    "expression": {
                                        "arguments": [
                                            {
                                                "arguments": [
                                                    {
                                                        "hexValue": "6c6f6728616464726573732c626f6f6c2c75696e7429",
                                                        "id": 14883,
                                                        "isConstant": false,
                                                        "isLValue": false,
                                                        "isPure": true,
                                                        "kind": "string",
                                                        "lValueRequested": false,
                                                        "nodeType": "Literal",
                                                        "src": "16122:24:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_stringliteral_2c468d157d9cb3bd4f3bc977d201b067de313f8e774b0377d5c5b2b5c9426095",
                                                            "typeString": "literal_string \"log(address,bool,uint)\""
                                                        },
                                                        "value": "log(address,bool,uint)"
                                                    },
                                                    {
                                                        "id": 14884,
                                                        "name": "p0",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 14873,
                                                        "src": "16148:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_address",
                                                            "typeString": "address"
                                                        }
                                                    },
                                                    {
                                                        "id": 14885,
                                                        "name": "p1",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 14875,
                                                        "src": "16152:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_bool",
                                                            "typeString": "bool"
                                                        }
                                                    },
                                                    {
                                                        "id": 14886,
                                                        "name": "p2",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 14877,
                                                        "src": "16156:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_uint256",
                                                            "typeString": "uint256"
                                                        }
                                                    }
                                                ],
                                                "expression": {
                                                    "argumentTypes": [
                                                        {
                                                            "typeIdentifier": "t_stringliteral_2c468d157d9cb3bd4f3bc977d201b067de313f8e774b0377d5c5b2b5c9426095",
                                                            "typeString": "literal_string \"log(address,bool,uint)\""
                                                        },
                                                        {
                                                            "typeIdentifier": "t_address",
                                                            "typeString": "address"
                                                        },
                                                        {
                                                            "typeIdentifier": "t_bool",
                                                            "typeString": "bool"
                                                        },
                                                        {
                                                            "typeIdentifier": "t_uint256",
                                                            "typeString": "uint256"
                                                        }
                                                    ],
                                                    "expression": {
                                                        "id": 14881,
                                                        "name": "abi",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 4294967295,
                                                        "src": "16098:3:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_magic_abi",
                                                            "typeString": "abi"
                                                        }
                                                    },
                                                    "id": 14882,
                                                    "isConstant": false,
                                                    "isLValue": false,
                                                    "isPure": true,
                                                    "lValueRequested": false,
                                                    "memberName": "encodeWithSignature",
                                                    "nodeType": "MemberAccess",
                                                    "src": "16098:23:62",
                                                    "typeDescriptions": {
                                                        "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$",
                                                        "typeString": "function (string memory) pure returns (bytes memory)"
                                                    }
                                                },
                                                "id": 14887,
                                                "isConstant": false,
                                                "isLValue": false,
                                                "isPure": false,
                                                "kind": "functionCall",
                                                "lValueRequested": false,
                                                "names": [],
                                                "nodeType": "FunctionCall",
                                                "src": "16098:61:62",
                                                "tryCall": false,
                                                "typeDescriptions": {
                                                    "typeIdentifier": "t_bytes_memory_ptr",
                                                    "typeString": "bytes memory"
                                                }
                                            }
                                        ],
                                        "expression": {
                                            "argumentTypes": [
                                                {
                                                    "typeIdentifier": "t_bytes_memory_ptr",
                                                    "typeString": "bytes memory"
                                                }
                                            ],
                                            "id": 14880,
                                            "name": "_sendLogPayload",
                                            "nodeType": "Identifier",
                                            "overloadedDeclarations": [],
                                            "referencedDeclaration": 12880,
                                            "src": "16082:15:62",
                                            "typeDescriptions": {
                                                "typeIdentifier": "t_function_internal_view$_t_bytes_memory_ptr_$returns$__$",
                                                "typeString": "function (bytes memory) view"
                                            }
                                        },
                                        "id": 14888,
                                        "isConstant": false,
                                        "isLValue": false,
                                        "isPure": false,
                                        "kind": "functionCall",
                                        "lValueRequested": false,
                                        "names": [],
                                        "nodeType": "FunctionCall",
                                        "src": "16082:78:62",
                                        "tryCall": false,
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_tuple$__$",
                                            "typeString": "tuple()"
                                        }
                                    },
                                    "id": 14889,
                                    "nodeType": "ExpressionStatement",
                                    "src": "16082:78:62"
                                }
                            ]
                        },
                        "id": 14891,
                        "implemented": true,
                        "kind": "function",
                        "modifiers": [],
                        "name": "log",
                        "nameLocation": "16030:3:62",
                        "nodeType": "FunctionDefinition",
                        "parameters": {
                            "id": 14878,
                            "nodeType": "ParameterList",
                            "parameters": [
                                {
                                    "constant": false,
                                    "id": 14873,
                                    "mutability": "mutable",
                                    "name": "p0",
                                    "nameLocation": "16042:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 14891,
                                    "src": "16034:10:62",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_address",
                                        "typeString": "address"
                                    },
                                    "typeName": {
                                        "id": 14872,
                                        "name": "address",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "16034:7:62",
                                        "stateMutability": "nonpayable",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_address",
                                            "typeString": "address"
                                        }
                                    },
                                    "visibility": "internal"
                                },
                                {
                                    "constant": false,
                                    "id": 14875,
                                    "mutability": "mutable",
                                    "name": "p1",
                                    "nameLocation": "16051:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 14891,
                                    "src": "16046:7:62",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_bool",
                                        "typeString": "bool"
                                    },
                                    "typeName": {
                                        "id": 14874,
                                        "name": "bool",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "16046:4:62",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_bool",
                                            "typeString": "bool"
                                        }
                                    },
                                    "visibility": "internal"
                                },
                                {
                                    "constant": false,
                                    "id": 14877,
                                    "mutability": "mutable",
                                    "name": "p2",
                                    "nameLocation": "16060:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 14891,
                                    "src": "16055:7:62",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_uint256",
                                        "typeString": "uint256"
                                    },
                                    "typeName": {
                                        "id": 14876,
                                        "name": "uint",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "16055:4:62",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_uint256",
                                            "typeString": "uint256"
                                        }
                                    },
                                    "visibility": "internal"
                                }
                            ],
                            "src": "16033:30:62"
                        },
                        "returnParameters": {
                            "id": 14879,
                            "nodeType": "ParameterList",
                            "parameters": [],
                            "src": "16078:0:62"
                        },
                        "scope": 20920,
                        "src": "16021:143:62",
                        "stateMutability": "view",
                        "virtual": false,
                        "visibility": "internal"
                    },
                    {
                        "body": {
                            "id": 14910,
                            "nodeType": "Block",
                            "src": "16233:88:62",
                            "statements": [
                                {
                                    "expression": {
                                        "arguments": [
                                            {
                                                "arguments": [
                                                    {
                                                        "hexValue": "6c6f6728616464726573732c626f6f6c2c737472696e6729",
                                                        "id": 14903,
                                                        "isConstant": false,
                                                        "isLValue": false,
                                                        "isPure": true,
                                                        "kind": "string",
                                                        "lValueRequested": false,
                                                        "nodeType": "Literal",
                                                        "src": "16277:26:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_stringliteral_212255cc5ff4a2d867f69451c60f51c24e41784276f4ceffe8ec3af322690750",
                                                            "typeString": "literal_string \"log(address,bool,string)\""
                                                        },
                                                        "value": "log(address,bool,string)"
                                                    },
                                                    {
                                                        "id": 14904,
                                                        "name": "p0",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 14893,
                                                        "src": "16305:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_address",
                                                            "typeString": "address"
                                                        }
                                                    },
                                                    {
                                                        "id": 14905,
                                                        "name": "p1",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 14895,
                                                        "src": "16309:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_bool",
                                                            "typeString": "bool"
                                                        }
                                                    },
                                                    {
                                                        "id": 14906,
                                                        "name": "p2",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 14897,
                                                        "src": "16313:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_string_memory_ptr",
                                                            "typeString": "string memory"
                                                        }
                                                    }
                                                ],
                                                "expression": {
                                                    "argumentTypes": [
                                                        {
                                                            "typeIdentifier": "t_stringliteral_212255cc5ff4a2d867f69451c60f51c24e41784276f4ceffe8ec3af322690750",
                                                            "typeString": "literal_string \"log(address,bool,string)\""
                                                        },
                                                        {
                                                            "typeIdentifier": "t_address",
                                                            "typeString": "address"
                                                        },
                                                        {
                                                            "typeIdentifier": "t_bool",
                                                            "typeString": "bool"
                                                        },
                                                        {
                                                            "typeIdentifier": "t_string_memory_ptr",
                                                            "typeString": "string memory"
                                                        }
                                                    ],
                                                    "expression": {
                                                        "id": 14901,
                                                        "name": "abi",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 4294967295,
                                                        "src": "16253:3:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_magic_abi",
                                                            "typeString": "abi"
                                                        }
                                                    },
                                                    "id": 14902,
                                                    "isConstant": false,
                                                    "isLValue": false,
                                                    "isPure": true,
                                                    "lValueRequested": false,
                                                    "memberName": "encodeWithSignature",
                                                    "nodeType": "MemberAccess",
                                                    "src": "16253:23:62",
                                                    "typeDescriptions": {
                                                        "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$",
                                                        "typeString": "function (string memory) pure returns (bytes memory)"
                                                    }
                                                },
                                                "id": 14907,
                                                "isConstant": false,
                                                "isLValue": false,
                                                "isPure": false,
                                                "kind": "functionCall",
                                                "lValueRequested": false,
                                                "names": [],
                                                "nodeType": "FunctionCall",
                                                "src": "16253:63:62",
                                                "tryCall": false,
                                                "typeDescriptions": {
                                                    "typeIdentifier": "t_bytes_memory_ptr",
                                                    "typeString": "bytes memory"
                                                }
                                            }
                                        ],
                                        "expression": {
                                            "argumentTypes": [
                                                {
                                                    "typeIdentifier": "t_bytes_memory_ptr",
                                                    "typeString": "bytes memory"
                                                }
                                            ],
                                            "id": 14900,
                                            "name": "_sendLogPayload",
                                            "nodeType": "Identifier",
                                            "overloadedDeclarations": [],
                                            "referencedDeclaration": 12880,
                                            "src": "16237:15:62",
                                            "typeDescriptions": {
                                                "typeIdentifier": "t_function_internal_view$_t_bytes_memory_ptr_$returns$__$",
                                                "typeString": "function (bytes memory) view"
                                            }
                                        },
                                        "id": 14908,
                                        "isConstant": false,
                                        "isLValue": false,
                                        "isPure": false,
                                        "kind": "functionCall",
                                        "lValueRequested": false,
                                        "names": [],
                                        "nodeType": "FunctionCall",
                                        "src": "16237:80:62",
                                        "tryCall": false,
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_tuple$__$",
                                            "typeString": "tuple()"
                                        }
                                    },
                                    "id": 14909,
                                    "nodeType": "ExpressionStatement",
                                    "src": "16237:80:62"
                                }
                            ]
                        },
                        "id": 14911,
                        "implemented": true,
                        "kind": "function",
                        "modifiers": [],
                        "name": "log",
                        "nameLocation": "16176:3:62",
                        "nodeType": "FunctionDefinition",
                        "parameters": {
                            "id": 14898,
                            "nodeType": "ParameterList",
                            "parameters": [
                                {
                                    "constant": false,
                                    "id": 14893,
                                    "mutability": "mutable",
                                    "name": "p0",
                                    "nameLocation": "16188:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 14911,
                                    "src": "16180:10:62",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_address",
                                        "typeString": "address"
                                    },
                                    "typeName": {
                                        "id": 14892,
                                        "name": "address",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "16180:7:62",
                                        "stateMutability": "nonpayable",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_address",
                                            "typeString": "address"
                                        }
                                    },
                                    "visibility": "internal"
                                },
                                {
                                    "constant": false,
                                    "id": 14895,
                                    "mutability": "mutable",
                                    "name": "p1",
                                    "nameLocation": "16197:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 14911,
                                    "src": "16192:7:62",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_bool",
                                        "typeString": "bool"
                                    },
                                    "typeName": {
                                        "id": 14894,
                                        "name": "bool",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "16192:4:62",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_bool",
                                            "typeString": "bool"
                                        }
                                    },
                                    "visibility": "internal"
                                },
                                {
                                    "constant": false,
                                    "id": 14897,
                                    "mutability": "mutable",
                                    "name": "p2",
                                    "nameLocation": "16215:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 14911,
                                    "src": "16201:16:62",
                                    "stateVariable": false,
                                    "storageLocation": "memory",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_string_memory_ptr",
                                        "typeString": "string"
                                    },
                                    "typeName": {
                                        "id": 14896,
                                        "name": "string",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "16201:6:62",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_string_storage_ptr",
                                            "typeString": "string"
                                        }
                                    },
                                    "visibility": "internal"
                                }
                            ],
                            "src": "16179:39:62"
                        },
                        "returnParameters": {
                            "id": 14899,
                            "nodeType": "ParameterList",
                            "parameters": [],
                            "src": "16233:0:62"
                        },
                        "scope": 20920,
                        "src": "16167:154:62",
                        "stateMutability": "view",
                        "virtual": false,
                        "visibility": "internal"
                    },
                    {
                        "body": {
                            "id": 14930,
                            "nodeType": "Block",
                            "src": "16381:86:62",
                            "statements": [
                                {
                                    "expression": {
                                        "arguments": [
                                            {
                                                "arguments": [
                                                    {
                                                        "hexValue": "6c6f6728616464726573732c626f6f6c2c626f6f6c29",
                                                        "id": 14923,
                                                        "isConstant": false,
                                                        "isLValue": false,
                                                        "isPure": true,
                                                        "kind": "string",
                                                        "lValueRequested": false,
                                                        "nodeType": "Literal",
                                                        "src": "16425:24:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_stringliteral_eb830c92a079b46f3abcb83e519f578cffe7387941b6885067265feec096d279",
                                                            "typeString": "literal_string \"log(address,bool,bool)\""
                                                        },
                                                        "value": "log(address,bool,bool)"
                                                    },
                                                    {
                                                        "id": 14924,
                                                        "name": "p0",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 14913,
                                                        "src": "16451:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_address",
                                                            "typeString": "address"
                                                        }
                                                    },
                                                    {
                                                        "id": 14925,
                                                        "name": "p1",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 14915,
                                                        "src": "16455:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_bool",
                                                            "typeString": "bool"
                                                        }
                                                    },
                                                    {
                                                        "id": 14926,
                                                        "name": "p2",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 14917,
                                                        "src": "16459:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_bool",
                                                            "typeString": "bool"
                                                        }
                                                    }
                                                ],
                                                "expression": {
                                                    "argumentTypes": [
                                                        {
                                                            "typeIdentifier": "t_stringliteral_eb830c92a079b46f3abcb83e519f578cffe7387941b6885067265feec096d279",
                                                            "typeString": "literal_string \"log(address,bool,bool)\""
                                                        },
                                                        {
                                                            "typeIdentifier": "t_address",
                                                            "typeString": "address"
                                                        },
                                                        {
                                                            "typeIdentifier": "t_bool",
                                                            "typeString": "bool"
                                                        },
                                                        {
                                                            "typeIdentifier": "t_bool",
                                                            "typeString": "bool"
                                                        }
                                                    ],
                                                    "expression": {
                                                        "id": 14921,
                                                        "name": "abi",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 4294967295,
                                                        "src": "16401:3:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_magic_abi",
                                                            "typeString": "abi"
                                                        }
                                                    },
                                                    "id": 14922,
                                                    "isConstant": false,
                                                    "isLValue": false,
                                                    "isPure": true,
                                                    "lValueRequested": false,
                                                    "memberName": "encodeWithSignature",
                                                    "nodeType": "MemberAccess",
                                                    "src": "16401:23:62",
                                                    "typeDescriptions": {
                                                        "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$",
                                                        "typeString": "function (string memory) pure returns (bytes memory)"
                                                    }
                                                },
                                                "id": 14927,
                                                "isConstant": false,
                                                "isLValue": false,
                                                "isPure": false,
                                                "kind": "functionCall",
                                                "lValueRequested": false,
                                                "names": [],
                                                "nodeType": "FunctionCall",
                                                "src": "16401:61:62",
                                                "tryCall": false,
                                                "typeDescriptions": {
                                                    "typeIdentifier": "t_bytes_memory_ptr",
                                                    "typeString": "bytes memory"
                                                }
                                            }
                                        ],
                                        "expression": {
                                            "argumentTypes": [
                                                {
                                                    "typeIdentifier": "t_bytes_memory_ptr",
                                                    "typeString": "bytes memory"
                                                }
                                            ],
                                            "id": 14920,
                                            "name": "_sendLogPayload",
                                            "nodeType": "Identifier",
                                            "overloadedDeclarations": [],
                                            "referencedDeclaration": 12880,
                                            "src": "16385:15:62",
                                            "typeDescriptions": {
                                                "typeIdentifier": "t_function_internal_view$_t_bytes_memory_ptr_$returns$__$",
                                                "typeString": "function (bytes memory) view"
                                            }
                                        },
                                        "id": 14928,
                                        "isConstant": false,
                                        "isLValue": false,
                                        "isPure": false,
                                        "kind": "functionCall",
                                        "lValueRequested": false,
                                        "names": [],
                                        "nodeType": "FunctionCall",
                                        "src": "16385:78:62",
                                        "tryCall": false,
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_tuple$__$",
                                            "typeString": "tuple()"
                                        }
                                    },
                                    "id": 14929,
                                    "nodeType": "ExpressionStatement",
                                    "src": "16385:78:62"
                                }
                            ]
                        },
                        "id": 14931,
                        "implemented": true,
                        "kind": "function",
                        "modifiers": [],
                        "name": "log",
                        "nameLocation": "16333:3:62",
                        "nodeType": "FunctionDefinition",
                        "parameters": {
                            "id": 14918,
                            "nodeType": "ParameterList",
                            "parameters": [
                                {
                                    "constant": false,
                                    "id": 14913,
                                    "mutability": "mutable",
                                    "name": "p0",
                                    "nameLocation": "16345:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 14931,
                                    "src": "16337:10:62",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_address",
                                        "typeString": "address"
                                    },
                                    "typeName": {
                                        "id": 14912,
                                        "name": "address",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "16337:7:62",
                                        "stateMutability": "nonpayable",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_address",
                                            "typeString": "address"
                                        }
                                    },
                                    "visibility": "internal"
                                },
                                {
                                    "constant": false,
                                    "id": 14915,
                                    "mutability": "mutable",
                                    "name": "p1",
                                    "nameLocation": "16354:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 14931,
                                    "src": "16349:7:62",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_bool",
                                        "typeString": "bool"
                                    },
                                    "typeName": {
                                        "id": 14914,
                                        "name": "bool",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "16349:4:62",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_bool",
                                            "typeString": "bool"
                                        }
                                    },
                                    "visibility": "internal"
                                },
                                {
                                    "constant": false,
                                    "id": 14917,
                                    "mutability": "mutable",
                                    "name": "p2",
                                    "nameLocation": "16363:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 14931,
                                    "src": "16358:7:62",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_bool",
                                        "typeString": "bool"
                                    },
                                    "typeName": {
                                        "id": 14916,
                                        "name": "bool",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "16358:4:62",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_bool",
                                            "typeString": "bool"
                                        }
                                    },
                                    "visibility": "internal"
                                }
                            ],
                            "src": "16336:30:62"
                        },
                        "returnParameters": {
                            "id": 14919,
                            "nodeType": "ParameterList",
                            "parameters": [],
                            "src": "16381:0:62"
                        },
                        "scope": 20920,
                        "src": "16324:143:62",
                        "stateMutability": "view",
                        "virtual": false,
                        "visibility": "internal"
                    },
                    {
                        "body": {
                            "id": 14950,
                            "nodeType": "Block",
                            "src": "16530:89:62",
                            "statements": [
                                {
                                    "expression": {
                                        "arguments": [
                                            {
                                                "arguments": [
                                                    {
                                                        "hexValue": "6c6f6728616464726573732c626f6f6c2c6164647265737329",
                                                        "id": 14943,
                                                        "isConstant": false,
                                                        "isLValue": false,
                                                        "isPure": true,
                                                        "kind": "string",
                                                        "lValueRequested": false,
                                                        "nodeType": "Literal",
                                                        "src": "16574:27:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_stringliteral_f11699ed537119f000a51ba9fbd5bb55b3990a1a718acbe99659bd1bc84dc18d",
                                                            "typeString": "literal_string \"log(address,bool,address)\""
                                                        },
                                                        "value": "log(address,bool,address)"
                                                    },
                                                    {
                                                        "id": 14944,
                                                        "name": "p0",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 14933,
                                                        "src": "16603:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_address",
                                                            "typeString": "address"
                                                        }
                                                    },
                                                    {
                                                        "id": 14945,
                                                        "name": "p1",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 14935,
                                                        "src": "16607:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_bool",
                                                            "typeString": "bool"
                                                        }
                                                    },
                                                    {
                                                        "id": 14946,
                                                        "name": "p2",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 14937,
                                                        "src": "16611:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_address",
                                                            "typeString": "address"
                                                        }
                                                    }
                                                ],
                                                "expression": {
                                                    "argumentTypes": [
                                                        {
                                                            "typeIdentifier": "t_stringliteral_f11699ed537119f000a51ba9fbd5bb55b3990a1a718acbe99659bd1bc84dc18d",
                                                            "typeString": "literal_string \"log(address,bool,address)\""
                                                        },
                                                        {
                                                            "typeIdentifier": "t_address",
                                                            "typeString": "address"
                                                        },
                                                        {
                                                            "typeIdentifier": "t_bool",
                                                            "typeString": "bool"
                                                        },
                                                        {
                                                            "typeIdentifier": "t_address",
                                                            "typeString": "address"
                                                        }
                                                    ],
                                                    "expression": {
                                                        "id": 14941,
                                                        "name": "abi",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 4294967295,
                                                        "src": "16550:3:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_magic_abi",
                                                            "typeString": "abi"
                                                        }
                                                    },
                                                    "id": 14942,
                                                    "isConstant": false,
                                                    "isLValue": false,
                                                    "isPure": true,
                                                    "lValueRequested": false,
                                                    "memberName": "encodeWithSignature",
                                                    "nodeType": "MemberAccess",
                                                    "src": "16550:23:62",
                                                    "typeDescriptions": {
                                                        "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$",
                                                        "typeString": "function (string memory) pure returns (bytes memory)"
                                                    }
                                                },
                                                "id": 14947,
                                                "isConstant": false,
                                                "isLValue": false,
                                                "isPure": false,
                                                "kind": "functionCall",
                                                "lValueRequested": false,
                                                "names": [],
                                                "nodeType": "FunctionCall",
                                                "src": "16550:64:62",
                                                "tryCall": false,
                                                "typeDescriptions": {
                                                    "typeIdentifier": "t_bytes_memory_ptr",
                                                    "typeString": "bytes memory"
                                                }
                                            }
                                        ],
                                        "expression": {
                                            "argumentTypes": [
                                                {
                                                    "typeIdentifier": "t_bytes_memory_ptr",
                                                    "typeString": "bytes memory"
                                                }
                                            ],
                                            "id": 14940,
                                            "name": "_sendLogPayload",
                                            "nodeType": "Identifier",
                                            "overloadedDeclarations": [],
                                            "referencedDeclaration": 12880,
                                            "src": "16534:15:62",
                                            "typeDescriptions": {
                                                "typeIdentifier": "t_function_internal_view$_t_bytes_memory_ptr_$returns$__$",
                                                "typeString": "function (bytes memory) view"
                                            }
                                        },
                                        "id": 14948,
                                        "isConstant": false,
                                        "isLValue": false,
                                        "isPure": false,
                                        "kind": "functionCall",
                                        "lValueRequested": false,
                                        "names": [],
                                        "nodeType": "FunctionCall",
                                        "src": "16534:81:62",
                                        "tryCall": false,
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_tuple$__$",
                                            "typeString": "tuple()"
                                        }
                                    },
                                    "id": 14949,
                                    "nodeType": "ExpressionStatement",
                                    "src": "16534:81:62"
                                }
                            ]
                        },
                        "id": 14951,
                        "implemented": true,
                        "kind": "function",
                        "modifiers": [],
                        "name": "log",
                        "nameLocation": "16479:3:62",
                        "nodeType": "FunctionDefinition",
                        "parameters": {
                            "id": 14938,
                            "nodeType": "ParameterList",
                            "parameters": [
                                {
                                    "constant": false,
                                    "id": 14933,
                                    "mutability": "mutable",
                                    "name": "p0",
                                    "nameLocation": "16491:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 14951,
                                    "src": "16483:10:62",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_address",
                                        "typeString": "address"
                                    },
                                    "typeName": {
                                        "id": 14932,
                                        "name": "address",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "16483:7:62",
                                        "stateMutability": "nonpayable",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_address",
                                            "typeString": "address"
                                        }
                                    },
                                    "visibility": "internal"
                                },
                                {
                                    "constant": false,
                                    "id": 14935,
                                    "mutability": "mutable",
                                    "name": "p1",
                                    "nameLocation": "16500:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 14951,
                                    "src": "16495:7:62",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_bool",
                                        "typeString": "bool"
                                    },
                                    "typeName": {
                                        "id": 14934,
                                        "name": "bool",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "16495:4:62",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_bool",
                                            "typeString": "bool"
                                        }
                                    },
                                    "visibility": "internal"
                                },
                                {
                                    "constant": false,
                                    "id": 14937,
                                    "mutability": "mutable",
                                    "name": "p2",
                                    "nameLocation": "16512:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 14951,
                                    "src": "16504:10:62",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_address",
                                        "typeString": "address"
                                    },
                                    "typeName": {
                                        "id": 14936,
                                        "name": "address",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "16504:7:62",
                                        "stateMutability": "nonpayable",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_address",
                                            "typeString": "address"
                                        }
                                    },
                                    "visibility": "internal"
                                }
                            ],
                            "src": "16482:33:62"
                        },
                        "returnParameters": {
                            "id": 14939,
                            "nodeType": "ParameterList",
                            "parameters": [],
                            "src": "16530:0:62"
                        },
                        "scope": 20920,
                        "src": "16470:149:62",
                        "stateMutability": "view",
                        "virtual": false,
                        "visibility": "internal"
                    },
                    {
                        "body": {
                            "id": 14970,
                            "nodeType": "Block",
                            "src": "16682:89:62",
                            "statements": [
                                {
                                    "expression": {
                                        "arguments": [
                                            {
                                                "arguments": [
                                                    {
                                                        "hexValue": "6c6f6728616464726573732c616464726573732c75696e7429",
                                                        "id": 14963,
                                                        "isConstant": false,
                                                        "isLValue": false,
                                                        "isPure": true,
                                                        "kind": "string",
                                                        "lValueRequested": false,
                                                        "nodeType": "Literal",
                                                        "src": "16726:27:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_stringliteral_6c366d7295b93bbfacc4df0ea28f0eef60efacfffd447f8f2823cbe5b2fedb07",
                                                            "typeString": "literal_string \"log(address,address,uint)\""
                                                        },
                                                        "value": "log(address,address,uint)"
                                                    },
                                                    {
                                                        "id": 14964,
                                                        "name": "p0",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 14953,
                                                        "src": "16755:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_address",
                                                            "typeString": "address"
                                                        }
                                                    },
                                                    {
                                                        "id": 14965,
                                                        "name": "p1",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 14955,
                                                        "src": "16759:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_address",
                                                            "typeString": "address"
                                                        }
                                                    },
                                                    {
                                                        "id": 14966,
                                                        "name": "p2",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 14957,
                                                        "src": "16763:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_uint256",
                                                            "typeString": "uint256"
                                                        }
                                                    }
                                                ],
                                                "expression": {
                                                    "argumentTypes": [
                                                        {
                                                            "typeIdentifier": "t_stringliteral_6c366d7295b93bbfacc4df0ea28f0eef60efacfffd447f8f2823cbe5b2fedb07",
                                                            "typeString": "literal_string \"log(address,address,uint)\""
                                                        },
                                                        {
                                                            "typeIdentifier": "t_address",
                                                            "typeString": "address"
                                                        },
                                                        {
                                                            "typeIdentifier": "t_address",
                                                            "typeString": "address"
                                                        },
                                                        {
                                                            "typeIdentifier": "t_uint256",
                                                            "typeString": "uint256"
                                                        }
                                                    ],
                                                    "expression": {
                                                        "id": 14961,
                                                        "name": "abi",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 4294967295,
                                                        "src": "16702:3:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_magic_abi",
                                                            "typeString": "abi"
                                                        }
                                                    },
                                                    "id": 14962,
                                                    "isConstant": false,
                                                    "isLValue": false,
                                                    "isPure": true,
                                                    "lValueRequested": false,
                                                    "memberName": "encodeWithSignature",
                                                    "nodeType": "MemberAccess",
                                                    "src": "16702:23:62",
                                                    "typeDescriptions": {
                                                        "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$",
                                                        "typeString": "function (string memory) pure returns (bytes memory)"
                                                    }
                                                },
                                                "id": 14967,
                                                "isConstant": false,
                                                "isLValue": false,
                                                "isPure": false,
                                                "kind": "functionCall",
                                                "lValueRequested": false,
                                                "names": [],
                                                "nodeType": "FunctionCall",
                                                "src": "16702:64:62",
                                                "tryCall": false,
                                                "typeDescriptions": {
                                                    "typeIdentifier": "t_bytes_memory_ptr",
                                                    "typeString": "bytes memory"
                                                }
                                            }
                                        ],
                                        "expression": {
                                            "argumentTypes": [
                                                {
                                                    "typeIdentifier": "t_bytes_memory_ptr",
                                                    "typeString": "bytes memory"
                                                }
                                            ],
                                            "id": 14960,
                                            "name": "_sendLogPayload",
                                            "nodeType": "Identifier",
                                            "overloadedDeclarations": [],
                                            "referencedDeclaration": 12880,
                                            "src": "16686:15:62",
                                            "typeDescriptions": {
                                                "typeIdentifier": "t_function_internal_view$_t_bytes_memory_ptr_$returns$__$",
                                                "typeString": "function (bytes memory) view"
                                            }
                                        },
                                        "id": 14968,
                                        "isConstant": false,
                                        "isLValue": false,
                                        "isPure": false,
                                        "kind": "functionCall",
                                        "lValueRequested": false,
                                        "names": [],
                                        "nodeType": "FunctionCall",
                                        "src": "16686:81:62",
                                        "tryCall": false,
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_tuple$__$",
                                            "typeString": "tuple()"
                                        }
                                    },
                                    "id": 14969,
                                    "nodeType": "ExpressionStatement",
                                    "src": "16686:81:62"
                                }
                            ]
                        },
                        "id": 14971,
                        "implemented": true,
                        "kind": "function",
                        "modifiers": [],
                        "name": "log",
                        "nameLocation": "16631:3:62",
                        "nodeType": "FunctionDefinition",
                        "parameters": {
                            "id": 14958,
                            "nodeType": "ParameterList",
                            "parameters": [
                                {
                                    "constant": false,
                                    "id": 14953,
                                    "mutability": "mutable",
                                    "name": "p0",
                                    "nameLocation": "16643:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 14971,
                                    "src": "16635:10:62",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_address",
                                        "typeString": "address"
                                    },
                                    "typeName": {
                                        "id": 14952,
                                        "name": "address",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "16635:7:62",
                                        "stateMutability": "nonpayable",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_address",
                                            "typeString": "address"
                                        }
                                    },
                                    "visibility": "internal"
                                },
                                {
                                    "constant": false,
                                    "id": 14955,
                                    "mutability": "mutable",
                                    "name": "p1",
                                    "nameLocation": "16655:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 14971,
                                    "src": "16647:10:62",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_address",
                                        "typeString": "address"
                                    },
                                    "typeName": {
                                        "id": 14954,
                                        "name": "address",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "16647:7:62",
                                        "stateMutability": "nonpayable",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_address",
                                            "typeString": "address"
                                        }
                                    },
                                    "visibility": "internal"
                                },
                                {
                                    "constant": false,
                                    "id": 14957,
                                    "mutability": "mutable",
                                    "name": "p2",
                                    "nameLocation": "16664:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 14971,
                                    "src": "16659:7:62",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_uint256",
                                        "typeString": "uint256"
                                    },
                                    "typeName": {
                                        "id": 14956,
                                        "name": "uint",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "16659:4:62",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_uint256",
                                            "typeString": "uint256"
                                        }
                                    },
                                    "visibility": "internal"
                                }
                            ],
                            "src": "16634:33:62"
                        },
                        "returnParameters": {
                            "id": 14959,
                            "nodeType": "ParameterList",
                            "parameters": [],
                            "src": "16682:0:62"
                        },
                        "scope": 20920,
                        "src": "16622:149:62",
                        "stateMutability": "view",
                        "virtual": false,
                        "visibility": "internal"
                    },
                    {
                        "body": {
                            "id": 14990,
                            "nodeType": "Block",
                            "src": "16843:91:62",
                            "statements": [
                                {
                                    "expression": {
                                        "arguments": [
                                            {
                                                "arguments": [
                                                    {
                                                        "hexValue": "6c6f6728616464726573732c616464726573732c737472696e6729",
                                                        "id": 14983,
                                                        "isConstant": false,
                                                        "isLValue": false,
                                                        "isPure": true,
                                                        "kind": "string",
                                                        "lValueRequested": false,
                                                        "nodeType": "Literal",
                                                        "src": "16887:29:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_stringliteral_007150be50a4671a6be318012e9cd2eabb1e1bc8869b45c34abbaa04d81c8eee",
                                                            "typeString": "literal_string \"log(address,address,string)\""
                                                        },
                                                        "value": "log(address,address,string)"
                                                    },
                                                    {
                                                        "id": 14984,
                                                        "name": "p0",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 14973,
                                                        "src": "16918:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_address",
                                                            "typeString": "address"
                                                        }
                                                    },
                                                    {
                                                        "id": 14985,
                                                        "name": "p1",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 14975,
                                                        "src": "16922:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_address",
                                                            "typeString": "address"
                                                        }
                                                    },
                                                    {
                                                        "id": 14986,
                                                        "name": "p2",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 14977,
                                                        "src": "16926:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_string_memory_ptr",
                                                            "typeString": "string memory"
                                                        }
                                                    }
                                                ],
                                                "expression": {
                                                    "argumentTypes": [
                                                        {
                                                            "typeIdentifier": "t_stringliteral_007150be50a4671a6be318012e9cd2eabb1e1bc8869b45c34abbaa04d81c8eee",
                                                            "typeString": "literal_string \"log(address,address,string)\""
                                                        },
                                                        {
                                                            "typeIdentifier": "t_address",
                                                            "typeString": "address"
                                                        },
                                                        {
                                                            "typeIdentifier": "t_address",
                                                            "typeString": "address"
                                                        },
                                                        {
                                                            "typeIdentifier": "t_string_memory_ptr",
                                                            "typeString": "string memory"
                                                        }
                                                    ],
                                                    "expression": {
                                                        "id": 14981,
                                                        "name": "abi",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 4294967295,
                                                        "src": "16863:3:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_magic_abi",
                                                            "typeString": "abi"
                                                        }
                                                    },
                                                    "id": 14982,
                                                    "isConstant": false,
                                                    "isLValue": false,
                                                    "isPure": true,
                                                    "lValueRequested": false,
                                                    "memberName": "encodeWithSignature",
                                                    "nodeType": "MemberAccess",
                                                    "src": "16863:23:62",
                                                    "typeDescriptions": {
                                                        "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$",
                                                        "typeString": "function (string memory) pure returns (bytes memory)"
                                                    }
                                                },
                                                "id": 14987,
                                                "isConstant": false,
                                                "isLValue": false,
                                                "isPure": false,
                                                "kind": "functionCall",
                                                "lValueRequested": false,
                                                "names": [],
                                                "nodeType": "FunctionCall",
                                                "src": "16863:66:62",
                                                "tryCall": false,
                                                "typeDescriptions": {
                                                    "typeIdentifier": "t_bytes_memory_ptr",
                                                    "typeString": "bytes memory"
                                                }
                                            }
                                        ],
                                        "expression": {
                                            "argumentTypes": [
                                                {
                                                    "typeIdentifier": "t_bytes_memory_ptr",
                                                    "typeString": "bytes memory"
                                                }
                                            ],
                                            "id": 14980,
                                            "name": "_sendLogPayload",
                                            "nodeType": "Identifier",
                                            "overloadedDeclarations": [],
                                            "referencedDeclaration": 12880,
                                            "src": "16847:15:62",
                                            "typeDescriptions": {
                                                "typeIdentifier": "t_function_internal_view$_t_bytes_memory_ptr_$returns$__$",
                                                "typeString": "function (bytes memory) view"
                                            }
                                        },
                                        "id": 14988,
                                        "isConstant": false,
                                        "isLValue": false,
                                        "isPure": false,
                                        "kind": "functionCall",
                                        "lValueRequested": false,
                                        "names": [],
                                        "nodeType": "FunctionCall",
                                        "src": "16847:83:62",
                                        "tryCall": false,
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_tuple$__$",
                                            "typeString": "tuple()"
                                        }
                                    },
                                    "id": 14989,
                                    "nodeType": "ExpressionStatement",
                                    "src": "16847:83:62"
                                }
                            ]
                        },
                        "id": 14991,
                        "implemented": true,
                        "kind": "function",
                        "modifiers": [],
                        "name": "log",
                        "nameLocation": "16783:3:62",
                        "nodeType": "FunctionDefinition",
                        "parameters": {
                            "id": 14978,
                            "nodeType": "ParameterList",
                            "parameters": [
                                {
                                    "constant": false,
                                    "id": 14973,
                                    "mutability": "mutable",
                                    "name": "p0",
                                    "nameLocation": "16795:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 14991,
                                    "src": "16787:10:62",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_address",
                                        "typeString": "address"
                                    },
                                    "typeName": {
                                        "id": 14972,
                                        "name": "address",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "16787:7:62",
                                        "stateMutability": "nonpayable",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_address",
                                            "typeString": "address"
                                        }
                                    },
                                    "visibility": "internal"
                                },
                                {
                                    "constant": false,
                                    "id": 14975,
                                    "mutability": "mutable",
                                    "name": "p1",
                                    "nameLocation": "16807:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 14991,
                                    "src": "16799:10:62",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_address",
                                        "typeString": "address"
                                    },
                                    "typeName": {
                                        "id": 14974,
                                        "name": "address",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "16799:7:62",
                                        "stateMutability": "nonpayable",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_address",
                                            "typeString": "address"
                                        }
                                    },
                                    "visibility": "internal"
                                },
                                {
                                    "constant": false,
                                    "id": 14977,
                                    "mutability": "mutable",
                                    "name": "p2",
                                    "nameLocation": "16825:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 14991,
                                    "src": "16811:16:62",
                                    "stateVariable": false,
                                    "storageLocation": "memory",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_string_memory_ptr",
                                        "typeString": "string"
                                    },
                                    "typeName": {
                                        "id": 14976,
                                        "name": "string",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "16811:6:62",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_string_storage_ptr",
                                            "typeString": "string"
                                        }
                                    },
                                    "visibility": "internal"
                                }
                            ],
                            "src": "16786:42:62"
                        },
                        "returnParameters": {
                            "id": 14979,
                            "nodeType": "ParameterList",
                            "parameters": [],
                            "src": "16843:0:62"
                        },
                        "scope": 20920,
                        "src": "16774:160:62",
                        "stateMutability": "view",
                        "virtual": false,
                        "visibility": "internal"
                    },
                    {
                        "body": {
                            "id": 15010,
                            "nodeType": "Block",
                            "src": "16997:89:62",
                            "statements": [
                                {
                                    "expression": {
                                        "arguments": [
                                            {
                                                "arguments": [
                                                    {
                                                        "hexValue": "6c6f6728616464726573732c616464726573732c626f6f6c29",
                                                        "id": 15003,
                                                        "isConstant": false,
                                                        "isLValue": false,
                                                        "isPure": true,
                                                        "kind": "string",
                                                        "lValueRequested": false,
                                                        "nodeType": "Literal",
                                                        "src": "17041:27:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_stringliteral_f2a6628622808c8bbef4f3e513ab11e708a8f5073988f2f7988e111aa26586dc",
                                                            "typeString": "literal_string \"log(address,address,bool)\""
                                                        },
                                                        "value": "log(address,address,bool)"
                                                    },
                                                    {
                                                        "id": 15004,
                                                        "name": "p0",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 14993,
                                                        "src": "17070:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_address",
                                                            "typeString": "address"
                                                        }
                                                    },
                                                    {
                                                        "id": 15005,
                                                        "name": "p1",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 14995,
                                                        "src": "17074:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_address",
                                                            "typeString": "address"
                                                        }
                                                    },
                                                    {
                                                        "id": 15006,
                                                        "name": "p2",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 14997,
                                                        "src": "17078:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_bool",
                                                            "typeString": "bool"
                                                        }
                                                    }
                                                ],
                                                "expression": {
                                                    "argumentTypes": [
                                                        {
                                                            "typeIdentifier": "t_stringliteral_f2a6628622808c8bbef4f3e513ab11e708a8f5073988f2f7988e111aa26586dc",
                                                            "typeString": "literal_string \"log(address,address,bool)\""
                                                        },
                                                        {
                                                            "typeIdentifier": "t_address",
                                                            "typeString": "address"
                                                        },
                                                        {
                                                            "typeIdentifier": "t_address",
                                                            "typeString": "address"
                                                        },
                                                        {
                                                            "typeIdentifier": "t_bool",
                                                            "typeString": "bool"
                                                        }
                                                    ],
                                                    "expression": {
                                                        "id": 15001,
                                                        "name": "abi",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 4294967295,
                                                        "src": "17017:3:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_magic_abi",
                                                            "typeString": "abi"
                                                        }
                                                    },
                                                    "id": 15002,
                                                    "isConstant": false,
                                                    "isLValue": false,
                                                    "isPure": true,
                                                    "lValueRequested": false,
                                                    "memberName": "encodeWithSignature",
                                                    "nodeType": "MemberAccess",
                                                    "src": "17017:23:62",
                                                    "typeDescriptions": {
                                                        "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$",
                                                        "typeString": "function (string memory) pure returns (bytes memory)"
                                                    }
                                                },
                                                "id": 15007,
                                                "isConstant": false,
                                                "isLValue": false,
                                                "isPure": false,
                                                "kind": "functionCall",
                                                "lValueRequested": false,
                                                "names": [],
                                                "nodeType": "FunctionCall",
                                                "src": "17017:64:62",
                                                "tryCall": false,
                                                "typeDescriptions": {
                                                    "typeIdentifier": "t_bytes_memory_ptr",
                                                    "typeString": "bytes memory"
                                                }
                                            }
                                        ],
                                        "expression": {
                                            "argumentTypes": [
                                                {
                                                    "typeIdentifier": "t_bytes_memory_ptr",
                                                    "typeString": "bytes memory"
                                                }
                                            ],
                                            "id": 15000,
                                            "name": "_sendLogPayload",
                                            "nodeType": "Identifier",
                                            "overloadedDeclarations": [],
                                            "referencedDeclaration": 12880,
                                            "src": "17001:15:62",
                                            "typeDescriptions": {
                                                "typeIdentifier": "t_function_internal_view$_t_bytes_memory_ptr_$returns$__$",
                                                "typeString": "function (bytes memory) view"
                                            }
                                        },
                                        "id": 15008,
                                        "isConstant": false,
                                        "isLValue": false,
                                        "isPure": false,
                                        "kind": "functionCall",
                                        "lValueRequested": false,
                                        "names": [],
                                        "nodeType": "FunctionCall",
                                        "src": "17001:81:62",
                                        "tryCall": false,
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_tuple$__$",
                                            "typeString": "tuple()"
                                        }
                                    },
                                    "id": 15009,
                                    "nodeType": "ExpressionStatement",
                                    "src": "17001:81:62"
                                }
                            ]
                        },
                        "id": 15011,
                        "implemented": true,
                        "kind": "function",
                        "modifiers": [],
                        "name": "log",
                        "nameLocation": "16946:3:62",
                        "nodeType": "FunctionDefinition",
                        "parameters": {
                            "id": 14998,
                            "nodeType": "ParameterList",
                            "parameters": [
                                {
                                    "constant": false,
                                    "id": 14993,
                                    "mutability": "mutable",
                                    "name": "p0",
                                    "nameLocation": "16958:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 15011,
                                    "src": "16950:10:62",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_address",
                                        "typeString": "address"
                                    },
                                    "typeName": {
                                        "id": 14992,
                                        "name": "address",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "16950:7:62",
                                        "stateMutability": "nonpayable",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_address",
                                            "typeString": "address"
                                        }
                                    },
                                    "visibility": "internal"
                                },
                                {
                                    "constant": false,
                                    "id": 14995,
                                    "mutability": "mutable",
                                    "name": "p1",
                                    "nameLocation": "16970:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 15011,
                                    "src": "16962:10:62",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_address",
                                        "typeString": "address"
                                    },
                                    "typeName": {
                                        "id": 14994,
                                        "name": "address",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "16962:7:62",
                                        "stateMutability": "nonpayable",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_address",
                                            "typeString": "address"
                                        }
                                    },
                                    "visibility": "internal"
                                },
                                {
                                    "constant": false,
                                    "id": 14997,
                                    "mutability": "mutable",
                                    "name": "p2",
                                    "nameLocation": "16979:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 15011,
                                    "src": "16974:7:62",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_bool",
                                        "typeString": "bool"
                                    },
                                    "typeName": {
                                        "id": 14996,
                                        "name": "bool",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "16974:4:62",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_bool",
                                            "typeString": "bool"
                                        }
                                    },
                                    "visibility": "internal"
                                }
                            ],
                            "src": "16949:33:62"
                        },
                        "returnParameters": {
                            "id": 14999,
                            "nodeType": "ParameterList",
                            "parameters": [],
                            "src": "16997:0:62"
                        },
                        "scope": 20920,
                        "src": "16937:149:62",
                        "stateMutability": "view",
                        "virtual": false,
                        "visibility": "internal"
                    },
                    {
                        "body": {
                            "id": 15030,
                            "nodeType": "Block",
                            "src": "17152:92:62",
                            "statements": [
                                {
                                    "expression": {
                                        "arguments": [
                                            {
                                                "arguments": [
                                                    {
                                                        "hexValue": "6c6f6728616464726573732c616464726573732c6164647265737329",
                                                        "id": 15023,
                                                        "isConstant": false,
                                                        "isLValue": false,
                                                        "isPure": true,
                                                        "kind": "string",
                                                        "lValueRequested": false,
                                                        "nodeType": "Literal",
                                                        "src": "17196:30:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_stringliteral_018c84c25fb680b5bcd4e1ab1848682497c9dd3b635564a91c36ce3d1414c830",
                                                            "typeString": "literal_string \"log(address,address,address)\""
                                                        },
                                                        "value": "log(address,address,address)"
                                                    },
                                                    {
                                                        "id": 15024,
                                                        "name": "p0",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 15013,
                                                        "src": "17228:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_address",
                                                            "typeString": "address"
                                                        }
                                                    },
                                                    {
                                                        "id": 15025,
                                                        "name": "p1",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 15015,
                                                        "src": "17232:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_address",
                                                            "typeString": "address"
                                                        }
                                                    },
                                                    {
                                                        "id": 15026,
                                                        "name": "p2",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 15017,
                                                        "src": "17236:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_address",
                                                            "typeString": "address"
                                                        }
                                                    }
                                                ],
                                                "expression": {
                                                    "argumentTypes": [
                                                        {
                                                            "typeIdentifier": "t_stringliteral_018c84c25fb680b5bcd4e1ab1848682497c9dd3b635564a91c36ce3d1414c830",
                                                            "typeString": "literal_string \"log(address,address,address)\""
                                                        },
                                                        {
                                                            "typeIdentifier": "t_address",
                                                            "typeString": "address"
                                                        },
                                                        {
                                                            "typeIdentifier": "t_address",
                                                            "typeString": "address"
                                                        },
                                                        {
                                                            "typeIdentifier": "t_address",
                                                            "typeString": "address"
                                                        }
                                                    ],
                                                    "expression": {
                                                        "id": 15021,
                                                        "name": "abi",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 4294967295,
                                                        "src": "17172:3:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_magic_abi",
                                                            "typeString": "abi"
                                                        }
                                                    },
                                                    "id": 15022,
                                                    "isConstant": false,
                                                    "isLValue": false,
                                                    "isPure": true,
                                                    "lValueRequested": false,
                                                    "memberName": "encodeWithSignature",
                                                    "nodeType": "MemberAccess",
                                                    "src": "17172:23:62",
                                                    "typeDescriptions": {
                                                        "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$",
                                                        "typeString": "function (string memory) pure returns (bytes memory)"
                                                    }
                                                },
                                                "id": 15027,
                                                "isConstant": false,
                                                "isLValue": false,
                                                "isPure": false,
                                                "kind": "functionCall",
                                                "lValueRequested": false,
                                                "names": [],
                                                "nodeType": "FunctionCall",
                                                "src": "17172:67:62",
                                                "tryCall": false,
                                                "typeDescriptions": {
                                                    "typeIdentifier": "t_bytes_memory_ptr",
                                                    "typeString": "bytes memory"
                                                }
                                            }
                                        ],
                                        "expression": {
                                            "argumentTypes": [
                                                {
                                                    "typeIdentifier": "t_bytes_memory_ptr",
                                                    "typeString": "bytes memory"
                                                }
                                            ],
                                            "id": 15020,
                                            "name": "_sendLogPayload",
                                            "nodeType": "Identifier",
                                            "overloadedDeclarations": [],
                                            "referencedDeclaration": 12880,
                                            "src": "17156:15:62",
                                            "typeDescriptions": {
                                                "typeIdentifier": "t_function_internal_view$_t_bytes_memory_ptr_$returns$__$",
                                                "typeString": "function (bytes memory) view"
                                            }
                                        },
                                        "id": 15028,
                                        "isConstant": false,
                                        "isLValue": false,
                                        "isPure": false,
                                        "kind": "functionCall",
                                        "lValueRequested": false,
                                        "names": [],
                                        "nodeType": "FunctionCall",
                                        "src": "17156:84:62",
                                        "tryCall": false,
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_tuple$__$",
                                            "typeString": "tuple()"
                                        }
                                    },
                                    "id": 15029,
                                    "nodeType": "ExpressionStatement",
                                    "src": "17156:84:62"
                                }
                            ]
                        },
                        "id": 15031,
                        "implemented": true,
                        "kind": "function",
                        "modifiers": [],
                        "name": "log",
                        "nameLocation": "17098:3:62",
                        "nodeType": "FunctionDefinition",
                        "parameters": {
                            "id": 15018,
                            "nodeType": "ParameterList",
                            "parameters": [
                                {
                                    "constant": false,
                                    "id": 15013,
                                    "mutability": "mutable",
                                    "name": "p0",
                                    "nameLocation": "17110:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 15031,
                                    "src": "17102:10:62",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_address",
                                        "typeString": "address"
                                    },
                                    "typeName": {
                                        "id": 15012,
                                        "name": "address",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "17102:7:62",
                                        "stateMutability": "nonpayable",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_address",
                                            "typeString": "address"
                                        }
                                    },
                                    "visibility": "internal"
                                },
                                {
                                    "constant": false,
                                    "id": 15015,
                                    "mutability": "mutable",
                                    "name": "p1",
                                    "nameLocation": "17122:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 15031,
                                    "src": "17114:10:62",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_address",
                                        "typeString": "address"
                                    },
                                    "typeName": {
                                        "id": 15014,
                                        "name": "address",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "17114:7:62",
                                        "stateMutability": "nonpayable",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_address",
                                            "typeString": "address"
                                        }
                                    },
                                    "visibility": "internal"
                                },
                                {
                                    "constant": false,
                                    "id": 15017,
                                    "mutability": "mutable",
                                    "name": "p2",
                                    "nameLocation": "17134:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 15031,
                                    "src": "17126:10:62",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_address",
                                        "typeString": "address"
                                    },
                                    "typeName": {
                                        "id": 15016,
                                        "name": "address",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "17126:7:62",
                                        "stateMutability": "nonpayable",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_address",
                                            "typeString": "address"
                                        }
                                    },
                                    "visibility": "internal"
                                }
                            ],
                            "src": "17101:36:62"
                        },
                        "returnParameters": {
                            "id": 15019,
                            "nodeType": "ParameterList",
                            "parameters": [],
                            "src": "17152:0:62"
                        },
                        "scope": 20920,
                        "src": "17089:155:62",
                        "stateMutability": "view",
                        "virtual": false,
                        "visibility": "internal"
                    },
                    {
                        "body": {
                            "id": 15053,
                            "nodeType": "Block",
                            "src": "17310:92:62",
                            "statements": [
                                {
                                    "expression": {
                                        "arguments": [
                                            {
                                                "arguments": [
                                                    {
                                                        "hexValue": "6c6f672875696e742c75696e742c75696e742c75696e7429",
                                                        "id": 15045,
                                                        "isConstant": false,
                                                        "isLValue": false,
                                                        "isPure": true,
                                                        "kind": "string",
                                                        "lValueRequested": false,
                                                        "nodeType": "Literal",
                                                        "src": "17354:26:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_stringliteral_5ca0ad3ec7f731e4661cde447171efd221faf44c50b57eba4cc4965c1f89c0b6",
                                                            "typeString": "literal_string \"log(uint,uint,uint,uint)\""
                                                        },
                                                        "value": "log(uint,uint,uint,uint)"
                                                    },
                                                    {
                                                        "id": 15046,
                                                        "name": "p0",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 15033,
                                                        "src": "17382:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_uint256",
                                                            "typeString": "uint256"
                                                        }
                                                    },
                                                    {
                                                        "id": 15047,
                                                        "name": "p1",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 15035,
                                                        "src": "17386:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_uint256",
                                                            "typeString": "uint256"
                                                        }
                                                    },
                                                    {
                                                        "id": 15048,
                                                        "name": "p2",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 15037,
                                                        "src": "17390:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_uint256",
                                                            "typeString": "uint256"
                                                        }
                                                    },
                                                    {
                                                        "id": 15049,
                                                        "name": "p3",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 15039,
                                                        "src": "17394:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_uint256",
                                                            "typeString": "uint256"
                                                        }
                                                    }
                                                ],
                                                "expression": {
                                                    "argumentTypes": [
                                                        {
                                                            "typeIdentifier": "t_stringliteral_5ca0ad3ec7f731e4661cde447171efd221faf44c50b57eba4cc4965c1f89c0b6",
                                                            "typeString": "literal_string \"log(uint,uint,uint,uint)\""
                                                        },
                                                        {
                                                            "typeIdentifier": "t_uint256",
                                                            "typeString": "uint256"
                                                        },
                                                        {
                                                            "typeIdentifier": "t_uint256",
                                                            "typeString": "uint256"
                                                        },
                                                        {
                                                            "typeIdentifier": "t_uint256",
                                                            "typeString": "uint256"
                                                        },
                                                        {
                                                            "typeIdentifier": "t_uint256",
                                                            "typeString": "uint256"
                                                        }
                                                    ],
                                                    "expression": {
                                                        "id": 15043,
                                                        "name": "abi",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 4294967295,
                                                        "src": "17330:3:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_magic_abi",
                                                            "typeString": "abi"
                                                        }
                                                    },
                                                    "id": 15044,
                                                    "isConstant": false,
                                                    "isLValue": false,
                                                    "isPure": true,
                                                    "lValueRequested": false,
                                                    "memberName": "encodeWithSignature",
                                                    "nodeType": "MemberAccess",
                                                    "src": "17330:23:62",
                                                    "typeDescriptions": {
                                                        "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$",
                                                        "typeString": "function (string memory) pure returns (bytes memory)"
                                                    }
                                                },
                                                "id": 15050,
                                                "isConstant": false,
                                                "isLValue": false,
                                                "isPure": false,
                                                "kind": "functionCall",
                                                "lValueRequested": false,
                                                "names": [],
                                                "nodeType": "FunctionCall",
                                                "src": "17330:67:62",
                                                "tryCall": false,
                                                "typeDescriptions": {
                                                    "typeIdentifier": "t_bytes_memory_ptr",
                                                    "typeString": "bytes memory"
                                                }
                                            }
                                        ],
                                        "expression": {
                                            "argumentTypes": [
                                                {
                                                    "typeIdentifier": "t_bytes_memory_ptr",
                                                    "typeString": "bytes memory"
                                                }
                                            ],
                                            "id": 15042,
                                            "name": "_sendLogPayload",
                                            "nodeType": "Identifier",
                                            "overloadedDeclarations": [],
                                            "referencedDeclaration": 12880,
                                            "src": "17314:15:62",
                                            "typeDescriptions": {
                                                "typeIdentifier": "t_function_internal_view$_t_bytes_memory_ptr_$returns$__$",
                                                "typeString": "function (bytes memory) view"
                                            }
                                        },
                                        "id": 15051,
                                        "isConstant": false,
                                        "isLValue": false,
                                        "isPure": false,
                                        "kind": "functionCall",
                                        "lValueRequested": false,
                                        "names": [],
                                        "nodeType": "FunctionCall",
                                        "src": "17314:84:62",
                                        "tryCall": false,
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_tuple$__$",
                                            "typeString": "tuple()"
                                        }
                                    },
                                    "id": 15052,
                                    "nodeType": "ExpressionStatement",
                                    "src": "17314:84:62"
                                }
                            ]
                        },
                        "id": 15054,
                        "implemented": true,
                        "kind": "function",
                        "modifiers": [],
                        "name": "log",
                        "nameLocation": "17256:3:62",
                        "nodeType": "FunctionDefinition",
                        "parameters": {
                            "id": 15040,
                            "nodeType": "ParameterList",
                            "parameters": [
                                {
                                    "constant": false,
                                    "id": 15033,
                                    "mutability": "mutable",
                                    "name": "p0",
                                    "nameLocation": "17265:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 15054,
                                    "src": "17260:7:62",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_uint256",
                                        "typeString": "uint256"
                                    },
                                    "typeName": {
                                        "id": 15032,
                                        "name": "uint",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "17260:4:62",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_uint256",
                                            "typeString": "uint256"
                                        }
                                    },
                                    "visibility": "internal"
                                },
                                {
                                    "constant": false,
                                    "id": 15035,
                                    "mutability": "mutable",
                                    "name": "p1",
                                    "nameLocation": "17274:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 15054,
                                    "src": "17269:7:62",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_uint256",
                                        "typeString": "uint256"
                                    },
                                    "typeName": {
                                        "id": 15034,
                                        "name": "uint",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "17269:4:62",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_uint256",
                                            "typeString": "uint256"
                                        }
                                    },
                                    "visibility": "internal"
                                },
                                {
                                    "constant": false,
                                    "id": 15037,
                                    "mutability": "mutable",
                                    "name": "p2",
                                    "nameLocation": "17283:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 15054,
                                    "src": "17278:7:62",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_uint256",
                                        "typeString": "uint256"
                                    },
                                    "typeName": {
                                        "id": 15036,
                                        "name": "uint",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "17278:4:62",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_uint256",
                                            "typeString": "uint256"
                                        }
                                    },
                                    "visibility": "internal"
                                },
                                {
                                    "constant": false,
                                    "id": 15039,
                                    "mutability": "mutable",
                                    "name": "p3",
                                    "nameLocation": "17292:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 15054,
                                    "src": "17287:7:62",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_uint256",
                                        "typeString": "uint256"
                                    },
                                    "typeName": {
                                        "id": 15038,
                                        "name": "uint",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "17287:4:62",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_uint256",
                                            "typeString": "uint256"
                                        }
                                    },
                                    "visibility": "internal"
                                }
                            ],
                            "src": "17259:36:62"
                        },
                        "returnParameters": {
                            "id": 15041,
                            "nodeType": "ParameterList",
                            "parameters": [],
                            "src": "17310:0:62"
                        },
                        "scope": 20920,
                        "src": "17247:155:62",
                        "stateMutability": "view",
                        "virtual": false,
                        "visibility": "internal"
                    },
                    {
                        "body": {
                            "id": 15076,
                            "nodeType": "Block",
                            "src": "17477:94:62",
                            "statements": [
                                {
                                    "expression": {
                                        "arguments": [
                                            {
                                                "arguments": [
                                                    {
                                                        "hexValue": "6c6f672875696e742c75696e742c75696e742c737472696e6729",
                                                        "id": 15068,
                                                        "isConstant": false,
                                                        "isLValue": false,
                                                        "isPure": true,
                                                        "kind": "string",
                                                        "lValueRequested": false,
                                                        "nodeType": "Literal",
                                                        "src": "17521:28:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_stringliteral_78ad7a0c8cf57ba0e3b9e892fd6558ba40a5d4c84ef5c8c5e36bfc8d7f23b0c5",
                                                            "typeString": "literal_string \"log(uint,uint,uint,string)\""
                                                        },
                                                        "value": "log(uint,uint,uint,string)"
                                                    },
                                                    {
                                                        "id": 15069,
                                                        "name": "p0",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 15056,
                                                        "src": "17551:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_uint256",
                                                            "typeString": "uint256"
                                                        }
                                                    },
                                                    {
                                                        "id": 15070,
                                                        "name": "p1",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 15058,
                                                        "src": "17555:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_uint256",
                                                            "typeString": "uint256"
                                                        }
                                                    },
                                                    {
                                                        "id": 15071,
                                                        "name": "p2",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 15060,
                                                        "src": "17559:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_uint256",
                                                            "typeString": "uint256"
                                                        }
                                                    },
                                                    {
                                                        "id": 15072,
                                                        "name": "p3",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 15062,
                                                        "src": "17563:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_string_memory_ptr",
                                                            "typeString": "string memory"
                                                        }
                                                    }
                                                ],
                                                "expression": {
                                                    "argumentTypes": [
                                                        {
                                                            "typeIdentifier": "t_stringliteral_78ad7a0c8cf57ba0e3b9e892fd6558ba40a5d4c84ef5c8c5e36bfc8d7f23b0c5",
                                                            "typeString": "literal_string \"log(uint,uint,uint,string)\""
                                                        },
                                                        {
                                                            "typeIdentifier": "t_uint256",
                                                            "typeString": "uint256"
                                                        },
                                                        {
                                                            "typeIdentifier": "t_uint256",
                                                            "typeString": "uint256"
                                                        },
                                                        {
                                                            "typeIdentifier": "t_uint256",
                                                            "typeString": "uint256"
                                                        },
                                                        {
                                                            "typeIdentifier": "t_string_memory_ptr",
                                                            "typeString": "string memory"
                                                        }
                                                    ],
                                                    "expression": {
                                                        "id": 15066,
                                                        "name": "abi",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 4294967295,
                                                        "src": "17497:3:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_magic_abi",
                                                            "typeString": "abi"
                                                        }
                                                    },
                                                    "id": 15067,
                                                    "isConstant": false,
                                                    "isLValue": false,
                                                    "isPure": true,
                                                    "lValueRequested": false,
                                                    "memberName": "encodeWithSignature",
                                                    "nodeType": "MemberAccess",
                                                    "src": "17497:23:62",
                                                    "typeDescriptions": {
                                                        "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$",
                                                        "typeString": "function (string memory) pure returns (bytes memory)"
                                                    }
                                                },
                                                "id": 15073,
                                                "isConstant": false,
                                                "isLValue": false,
                                                "isPure": false,
                                                "kind": "functionCall",
                                                "lValueRequested": false,
                                                "names": [],
                                                "nodeType": "FunctionCall",
                                                "src": "17497:69:62",
                                                "tryCall": false,
                                                "typeDescriptions": {
                                                    "typeIdentifier": "t_bytes_memory_ptr",
                                                    "typeString": "bytes memory"
                                                }
                                            }
                                        ],
                                        "expression": {
                                            "argumentTypes": [
                                                {
                                                    "typeIdentifier": "t_bytes_memory_ptr",
                                                    "typeString": "bytes memory"
                                                }
                                            ],
                                            "id": 15065,
                                            "name": "_sendLogPayload",
                                            "nodeType": "Identifier",
                                            "overloadedDeclarations": [],
                                            "referencedDeclaration": 12880,
                                            "src": "17481:15:62",
                                            "typeDescriptions": {
                                                "typeIdentifier": "t_function_internal_view$_t_bytes_memory_ptr_$returns$__$",
                                                "typeString": "function (bytes memory) view"
                                            }
                                        },
                                        "id": 15074,
                                        "isConstant": false,
                                        "isLValue": false,
                                        "isPure": false,
                                        "kind": "functionCall",
                                        "lValueRequested": false,
                                        "names": [],
                                        "nodeType": "FunctionCall",
                                        "src": "17481:86:62",
                                        "tryCall": false,
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_tuple$__$",
                                            "typeString": "tuple()"
                                        }
                                    },
                                    "id": 15075,
                                    "nodeType": "ExpressionStatement",
                                    "src": "17481:86:62"
                                }
                            ]
                        },
                        "id": 15077,
                        "implemented": true,
                        "kind": "function",
                        "modifiers": [],
                        "name": "log",
                        "nameLocation": "17414:3:62",
                        "nodeType": "FunctionDefinition",
                        "parameters": {
                            "id": 15063,
                            "nodeType": "ParameterList",
                            "parameters": [
                                {
                                    "constant": false,
                                    "id": 15056,
                                    "mutability": "mutable",
                                    "name": "p0",
                                    "nameLocation": "17423:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 15077,
                                    "src": "17418:7:62",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_uint256",
                                        "typeString": "uint256"
                                    },
                                    "typeName": {
                                        "id": 15055,
                                        "name": "uint",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "17418:4:62",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_uint256",
                                            "typeString": "uint256"
                                        }
                                    },
                                    "visibility": "internal"
                                },
                                {
                                    "constant": false,
                                    "id": 15058,
                                    "mutability": "mutable",
                                    "name": "p1",
                                    "nameLocation": "17432:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 15077,
                                    "src": "17427:7:62",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_uint256",
                                        "typeString": "uint256"
                                    },
                                    "typeName": {
                                        "id": 15057,
                                        "name": "uint",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "17427:4:62",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_uint256",
                                            "typeString": "uint256"
                                        }
                                    },
                                    "visibility": "internal"
                                },
                                {
                                    "constant": false,
                                    "id": 15060,
                                    "mutability": "mutable",
                                    "name": "p2",
                                    "nameLocation": "17441:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 15077,
                                    "src": "17436:7:62",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_uint256",
                                        "typeString": "uint256"
                                    },
                                    "typeName": {
                                        "id": 15059,
                                        "name": "uint",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "17436:4:62",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_uint256",
                                            "typeString": "uint256"
                                        }
                                    },
                                    "visibility": "internal"
                                },
                                {
                                    "constant": false,
                                    "id": 15062,
                                    "mutability": "mutable",
                                    "name": "p3",
                                    "nameLocation": "17459:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 15077,
                                    "src": "17445:16:62",
                                    "stateVariable": false,
                                    "storageLocation": "memory",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_string_memory_ptr",
                                        "typeString": "string"
                                    },
                                    "typeName": {
                                        "id": 15061,
                                        "name": "string",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "17445:6:62",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_string_storage_ptr",
                                            "typeString": "string"
                                        }
                                    },
                                    "visibility": "internal"
                                }
                            ],
                            "src": "17417:45:62"
                        },
                        "returnParameters": {
                            "id": 15064,
                            "nodeType": "ParameterList",
                            "parameters": [],
                            "src": "17477:0:62"
                        },
                        "scope": 20920,
                        "src": "17405:166:62",
                        "stateMutability": "view",
                        "virtual": false,
                        "visibility": "internal"
                    },
                    {
                        "body": {
                            "id": 15099,
                            "nodeType": "Block",
                            "src": "17637:92:62",
                            "statements": [
                                {
                                    "expression": {
                                        "arguments": [
                                            {
                                                "arguments": [
                                                    {
                                                        "hexValue": "6c6f672875696e742c75696e742c75696e742c626f6f6c29",
                                                        "id": 15091,
                                                        "isConstant": false,
                                                        "isLValue": false,
                                                        "isPure": true,
                                                        "kind": "string",
                                                        "lValueRequested": false,
                                                        "nodeType": "Literal",
                                                        "src": "17681:26:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_stringliteral_6452b9cbdf8b8479d7ee301237b2d6dfa173fc92538628ab30d643fb4351918f",
                                                            "typeString": "literal_string \"log(uint,uint,uint,bool)\""
                                                        },
                                                        "value": "log(uint,uint,uint,bool)"
                                                    },
                                                    {
                                                        "id": 15092,
                                                        "name": "p0",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 15079,
                                                        "src": "17709:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_uint256",
                                                            "typeString": "uint256"
                                                        }
                                                    },
                                                    {
                                                        "id": 15093,
                                                        "name": "p1",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 15081,
                                                        "src": "17713:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_uint256",
                                                            "typeString": "uint256"
                                                        }
                                                    },
                                                    {
                                                        "id": 15094,
                                                        "name": "p2",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 15083,
                                                        "src": "17717:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_uint256",
                                                            "typeString": "uint256"
                                                        }
                                                    },
                                                    {
                                                        "id": 15095,
                                                        "name": "p3",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 15085,
                                                        "src": "17721:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_bool",
                                                            "typeString": "bool"
                                                        }
                                                    }
                                                ],
                                                "expression": {
                                                    "argumentTypes": [
                                                        {
                                                            "typeIdentifier": "t_stringliteral_6452b9cbdf8b8479d7ee301237b2d6dfa173fc92538628ab30d643fb4351918f",
                                                            "typeString": "literal_string \"log(uint,uint,uint,bool)\""
                                                        },
                                                        {
                                                            "typeIdentifier": "t_uint256",
                                                            "typeString": "uint256"
                                                        },
                                                        {
                                                            "typeIdentifier": "t_uint256",
                                                            "typeString": "uint256"
                                                        },
                                                        {
                                                            "typeIdentifier": "t_uint256",
                                                            "typeString": "uint256"
                                                        },
                                                        {
                                                            "typeIdentifier": "t_bool",
                                                            "typeString": "bool"
                                                        }
                                                    ],
                                                    "expression": {
                                                        "id": 15089,
                                                        "name": "abi",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 4294967295,
                                                        "src": "17657:3:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_magic_abi",
                                                            "typeString": "abi"
                                                        }
                                                    },
                                                    "id": 15090,
                                                    "isConstant": false,
                                                    "isLValue": false,
                                                    "isPure": true,
                                                    "lValueRequested": false,
                                                    "memberName": "encodeWithSignature",
                                                    "nodeType": "MemberAccess",
                                                    "src": "17657:23:62",
                                                    "typeDescriptions": {
                                                        "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$",
                                                        "typeString": "function (string memory) pure returns (bytes memory)"
                                                    }
                                                },
                                                "id": 15096,
                                                "isConstant": false,
                                                "isLValue": false,
                                                "isPure": false,
                                                "kind": "functionCall",
                                                "lValueRequested": false,
                                                "names": [],
                                                "nodeType": "FunctionCall",
                                                "src": "17657:67:62",
                                                "tryCall": false,
                                                "typeDescriptions": {
                                                    "typeIdentifier": "t_bytes_memory_ptr",
                                                    "typeString": "bytes memory"
                                                }
                                            }
                                        ],
                                        "expression": {
                                            "argumentTypes": [
                                                {
                                                    "typeIdentifier": "t_bytes_memory_ptr",
                                                    "typeString": "bytes memory"
                                                }
                                            ],
                                            "id": 15088,
                                            "name": "_sendLogPayload",
                                            "nodeType": "Identifier",
                                            "overloadedDeclarations": [],
                                            "referencedDeclaration": 12880,
                                            "src": "17641:15:62",
                                            "typeDescriptions": {
                                                "typeIdentifier": "t_function_internal_view$_t_bytes_memory_ptr_$returns$__$",
                                                "typeString": "function (bytes memory) view"
                                            }
                                        },
                                        "id": 15097,
                                        "isConstant": false,
                                        "isLValue": false,
                                        "isPure": false,
                                        "kind": "functionCall",
                                        "lValueRequested": false,
                                        "names": [],
                                        "nodeType": "FunctionCall",
                                        "src": "17641:84:62",
                                        "tryCall": false,
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_tuple$__$",
                                            "typeString": "tuple()"
                                        }
                                    },
                                    "id": 15098,
                                    "nodeType": "ExpressionStatement",
                                    "src": "17641:84:62"
                                }
                            ]
                        },
                        "id": 15100,
                        "implemented": true,
                        "kind": "function",
                        "modifiers": [],
                        "name": "log",
                        "nameLocation": "17583:3:62",
                        "nodeType": "FunctionDefinition",
                        "parameters": {
                            "id": 15086,
                            "nodeType": "ParameterList",
                            "parameters": [
                                {
                                    "constant": false,
                                    "id": 15079,
                                    "mutability": "mutable",
                                    "name": "p0",
                                    "nameLocation": "17592:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 15100,
                                    "src": "17587:7:62",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_uint256",
                                        "typeString": "uint256"
                                    },
                                    "typeName": {
                                        "id": 15078,
                                        "name": "uint",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "17587:4:62",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_uint256",
                                            "typeString": "uint256"
                                        }
                                    },
                                    "visibility": "internal"
                                },
                                {
                                    "constant": false,
                                    "id": 15081,
                                    "mutability": "mutable",
                                    "name": "p1",
                                    "nameLocation": "17601:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 15100,
                                    "src": "17596:7:62",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_uint256",
                                        "typeString": "uint256"
                                    },
                                    "typeName": {
                                        "id": 15080,
                                        "name": "uint",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "17596:4:62",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_uint256",
                                            "typeString": "uint256"
                                        }
                                    },
                                    "visibility": "internal"
                                },
                                {
                                    "constant": false,
                                    "id": 15083,
                                    "mutability": "mutable",
                                    "name": "p2",
                                    "nameLocation": "17610:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 15100,
                                    "src": "17605:7:62",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_uint256",
                                        "typeString": "uint256"
                                    },
                                    "typeName": {
                                        "id": 15082,
                                        "name": "uint",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "17605:4:62",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_uint256",
                                            "typeString": "uint256"
                                        }
                                    },
                                    "visibility": "internal"
                                },
                                {
                                    "constant": false,
                                    "id": 15085,
                                    "mutability": "mutable",
                                    "name": "p3",
                                    "nameLocation": "17619:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 15100,
                                    "src": "17614:7:62",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_bool",
                                        "typeString": "bool"
                                    },
                                    "typeName": {
                                        "id": 15084,
                                        "name": "bool",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "17614:4:62",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_bool",
                                            "typeString": "bool"
                                        }
                                    },
                                    "visibility": "internal"
                                }
                            ],
                            "src": "17586:36:62"
                        },
                        "returnParameters": {
                            "id": 15087,
                            "nodeType": "ParameterList",
                            "parameters": [],
                            "src": "17637:0:62"
                        },
                        "scope": 20920,
                        "src": "17574:155:62",
                        "stateMutability": "view",
                        "virtual": false,
                        "visibility": "internal"
                    },
                    {
                        "body": {
                            "id": 15122,
                            "nodeType": "Block",
                            "src": "17798:95:62",
                            "statements": [
                                {
                                    "expression": {
                                        "arguments": [
                                            {
                                                "arguments": [
                                                    {
                                                        "hexValue": "6c6f672875696e742c75696e742c75696e742c6164647265737329",
                                                        "id": 15114,
                                                        "isConstant": false,
                                                        "isLValue": false,
                                                        "isPure": true,
                                                        "kind": "string",
                                                        "lValueRequested": false,
                                                        "nodeType": "Literal",
                                                        "src": "17842:29:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_stringliteral_e0853f69a5584c9e0aa87ddae9bd870cf5164166d612d334644e66176c1213ba",
                                                            "typeString": "literal_string \"log(uint,uint,uint,address)\""
                                                        },
                                                        "value": "log(uint,uint,uint,address)"
                                                    },
                                                    {
                                                        "id": 15115,
                                                        "name": "p0",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 15102,
                                                        "src": "17873:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_uint256",
                                                            "typeString": "uint256"
                                                        }
                                                    },
                                                    {
                                                        "id": 15116,
                                                        "name": "p1",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 15104,
                                                        "src": "17877:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_uint256",
                                                            "typeString": "uint256"
                                                        }
                                                    },
                                                    {
                                                        "id": 15117,
                                                        "name": "p2",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 15106,
                                                        "src": "17881:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_uint256",
                                                            "typeString": "uint256"
                                                        }
                                                    },
                                                    {
                                                        "id": 15118,
                                                        "name": "p3",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 15108,
                                                        "src": "17885:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_address",
                                                            "typeString": "address"
                                                        }
                                                    }
                                                ],
                                                "expression": {
                                                    "argumentTypes": [
                                                        {
                                                            "typeIdentifier": "t_stringliteral_e0853f69a5584c9e0aa87ddae9bd870cf5164166d612d334644e66176c1213ba",
                                                            "typeString": "literal_string \"log(uint,uint,uint,address)\""
                                                        },
                                                        {
                                                            "typeIdentifier": "t_uint256",
                                                            "typeString": "uint256"
                                                        },
                                                        {
                                                            "typeIdentifier": "t_uint256",
                                                            "typeString": "uint256"
                                                        },
                                                        {
                                                            "typeIdentifier": "t_uint256",
                                                            "typeString": "uint256"
                                                        },
                                                        {
                                                            "typeIdentifier": "t_address",
                                                            "typeString": "address"
                                                        }
                                                    ],
                                                    "expression": {
                                                        "id": 15112,
                                                        "name": "abi",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 4294967295,
                                                        "src": "17818:3:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_magic_abi",
                                                            "typeString": "abi"
                                                        }
                                                    },
                                                    "id": 15113,
                                                    "isConstant": false,
                                                    "isLValue": false,
                                                    "isPure": true,
                                                    "lValueRequested": false,
                                                    "memberName": "encodeWithSignature",
                                                    "nodeType": "MemberAccess",
                                                    "src": "17818:23:62",
                                                    "typeDescriptions": {
                                                        "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$",
                                                        "typeString": "function (string memory) pure returns (bytes memory)"
                                                    }
                                                },
                                                "id": 15119,
                                                "isConstant": false,
                                                "isLValue": false,
                                                "isPure": false,
                                                "kind": "functionCall",
                                                "lValueRequested": false,
                                                "names": [],
                                                "nodeType": "FunctionCall",
                                                "src": "17818:70:62",
                                                "tryCall": false,
                                                "typeDescriptions": {
                                                    "typeIdentifier": "t_bytes_memory_ptr",
                                                    "typeString": "bytes memory"
                                                }
                                            }
                                        ],
                                        "expression": {
                                            "argumentTypes": [
                                                {
                                                    "typeIdentifier": "t_bytes_memory_ptr",
                                                    "typeString": "bytes memory"
                                                }
                                            ],
                                            "id": 15111,
                                            "name": "_sendLogPayload",
                                            "nodeType": "Identifier",
                                            "overloadedDeclarations": [],
                                            "referencedDeclaration": 12880,
                                            "src": "17802:15:62",
                                            "typeDescriptions": {
                                                "typeIdentifier": "t_function_internal_view$_t_bytes_memory_ptr_$returns$__$",
                                                "typeString": "function (bytes memory) view"
                                            }
                                        },
                                        "id": 15120,
                                        "isConstant": false,
                                        "isLValue": false,
                                        "isPure": false,
                                        "kind": "functionCall",
                                        "lValueRequested": false,
                                        "names": [],
                                        "nodeType": "FunctionCall",
                                        "src": "17802:87:62",
                                        "tryCall": false,
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_tuple$__$",
                                            "typeString": "tuple()"
                                        }
                                    },
                                    "id": 15121,
                                    "nodeType": "ExpressionStatement",
                                    "src": "17802:87:62"
                                }
                            ]
                        },
                        "id": 15123,
                        "implemented": true,
                        "kind": "function",
                        "modifiers": [],
                        "name": "log",
                        "nameLocation": "17741:3:62",
                        "nodeType": "FunctionDefinition",
                        "parameters": {
                            "id": 15109,
                            "nodeType": "ParameterList",
                            "parameters": [
                                {
                                    "constant": false,
                                    "id": 15102,
                                    "mutability": "mutable",
                                    "name": "p0",
                                    "nameLocation": "17750:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 15123,
                                    "src": "17745:7:62",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_uint256",
                                        "typeString": "uint256"
                                    },
                                    "typeName": {
                                        "id": 15101,
                                        "name": "uint",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "17745:4:62",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_uint256",
                                            "typeString": "uint256"
                                        }
                                    },
                                    "visibility": "internal"
                                },
                                {
                                    "constant": false,
                                    "id": 15104,
                                    "mutability": "mutable",
                                    "name": "p1",
                                    "nameLocation": "17759:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 15123,
                                    "src": "17754:7:62",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_uint256",
                                        "typeString": "uint256"
                                    },
                                    "typeName": {
                                        "id": 15103,
                                        "name": "uint",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "17754:4:62",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_uint256",
                                            "typeString": "uint256"
                                        }
                                    },
                                    "visibility": "internal"
                                },
                                {
                                    "constant": false,
                                    "id": 15106,
                                    "mutability": "mutable",
                                    "name": "p2",
                                    "nameLocation": "17768:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 15123,
                                    "src": "17763:7:62",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_uint256",
                                        "typeString": "uint256"
                                    },
                                    "typeName": {
                                        "id": 15105,
                                        "name": "uint",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "17763:4:62",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_uint256",
                                            "typeString": "uint256"
                                        }
                                    },
                                    "visibility": "internal"
                                },
                                {
                                    "constant": false,
                                    "id": 15108,
                                    "mutability": "mutable",
                                    "name": "p3",
                                    "nameLocation": "17780:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 15123,
                                    "src": "17772:10:62",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_address",
                                        "typeString": "address"
                                    },
                                    "typeName": {
                                        "id": 15107,
                                        "name": "address",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "17772:7:62",
                                        "stateMutability": "nonpayable",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_address",
                                            "typeString": "address"
                                        }
                                    },
                                    "visibility": "internal"
                                }
                            ],
                            "src": "17744:39:62"
                        },
                        "returnParameters": {
                            "id": 15110,
                            "nodeType": "ParameterList",
                            "parameters": [],
                            "src": "17798:0:62"
                        },
                        "scope": 20920,
                        "src": "17732:161:62",
                        "stateMutability": "view",
                        "virtual": false,
                        "visibility": "internal"
                    },
                    {
                        "body": {
                            "id": 15145,
                            "nodeType": "Block",
                            "src": "17968:94:62",
                            "statements": [
                                {
                                    "expression": {
                                        "arguments": [
                                            {
                                                "arguments": [
                                                    {
                                                        "hexValue": "6c6f672875696e742c75696e742c737472696e672c75696e7429",
                                                        "id": 15137,
                                                        "isConstant": false,
                                                        "isLValue": false,
                                                        "isPure": true,
                                                        "kind": "string",
                                                        "lValueRequested": false,
                                                        "nodeType": "Literal",
                                                        "src": "18012:28:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_stringliteral_3894163d4e8f3eec101fb8e2c1029563bd05d05ee1d1790a46910ebbbdc3072e",
                                                            "typeString": "literal_string \"log(uint,uint,string,uint)\""
                                                        },
                                                        "value": "log(uint,uint,string,uint)"
                                                    },
                                                    {
                                                        "id": 15138,
                                                        "name": "p0",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 15125,
                                                        "src": "18042:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_uint256",
                                                            "typeString": "uint256"
                                                        }
                                                    },
                                                    {
                                                        "id": 15139,
                                                        "name": "p1",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 15127,
                                                        "src": "18046:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_uint256",
                                                            "typeString": "uint256"
                                                        }
                                                    },
                                                    {
                                                        "id": 15140,
                                                        "name": "p2",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 15129,
                                                        "src": "18050:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_string_memory_ptr",
                                                            "typeString": "string memory"
                                                        }
                                                    },
                                                    {
                                                        "id": 15141,
                                                        "name": "p3",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 15131,
                                                        "src": "18054:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_uint256",
                                                            "typeString": "uint256"
                                                        }
                                                    }
                                                ],
                                                "expression": {
                                                    "argumentTypes": [
                                                        {
                                                            "typeIdentifier": "t_stringliteral_3894163d4e8f3eec101fb8e2c1029563bd05d05ee1d1790a46910ebbbdc3072e",
                                                            "typeString": "literal_string \"log(uint,uint,string,uint)\""
                                                        },
                                                        {
                                                            "typeIdentifier": "t_uint256",
                                                            "typeString": "uint256"
                                                        },
                                                        {
                                                            "typeIdentifier": "t_uint256",
                                                            "typeString": "uint256"
                                                        },
                                                        {
                                                            "typeIdentifier": "t_string_memory_ptr",
                                                            "typeString": "string memory"
                                                        },
                                                        {
                                                            "typeIdentifier": "t_uint256",
                                                            "typeString": "uint256"
                                                        }
                                                    ],
                                                    "expression": {
                                                        "id": 15135,
                                                        "name": "abi",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 4294967295,
                                                        "src": "17988:3:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_magic_abi",
                                                            "typeString": "abi"
                                                        }
                                                    },
                                                    "id": 15136,
                                                    "isConstant": false,
                                                    "isLValue": false,
                                                    "isPure": true,
                                                    "lValueRequested": false,
                                                    "memberName": "encodeWithSignature",
                                                    "nodeType": "MemberAccess",
                                                    "src": "17988:23:62",
                                                    "typeDescriptions": {
                                                        "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$",
                                                        "typeString": "function (string memory) pure returns (bytes memory)"
                                                    }
                                                },
                                                "id": 15142,
                                                "isConstant": false,
                                                "isLValue": false,
                                                "isPure": false,
                                                "kind": "functionCall",
                                                "lValueRequested": false,
                                                "names": [],
                                                "nodeType": "FunctionCall",
                                                "src": "17988:69:62",
                                                "tryCall": false,
                                                "typeDescriptions": {
                                                    "typeIdentifier": "t_bytes_memory_ptr",
                                                    "typeString": "bytes memory"
                                                }
                                            }
                                        ],
                                        "expression": {
                                            "argumentTypes": [
                                                {
                                                    "typeIdentifier": "t_bytes_memory_ptr",
                                                    "typeString": "bytes memory"
                                                }
                                            ],
                                            "id": 15134,
                                            "name": "_sendLogPayload",
                                            "nodeType": "Identifier",
                                            "overloadedDeclarations": [],
                                            "referencedDeclaration": 12880,
                                            "src": "17972:15:62",
                                            "typeDescriptions": {
                                                "typeIdentifier": "t_function_internal_view$_t_bytes_memory_ptr_$returns$__$",
                                                "typeString": "function (bytes memory) view"
                                            }
                                        },
                                        "id": 15143,
                                        "isConstant": false,
                                        "isLValue": false,
                                        "isPure": false,
                                        "kind": "functionCall",
                                        "lValueRequested": false,
                                        "names": [],
                                        "nodeType": "FunctionCall",
                                        "src": "17972:86:62",
                                        "tryCall": false,
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_tuple$__$",
                                            "typeString": "tuple()"
                                        }
                                    },
                                    "id": 15144,
                                    "nodeType": "ExpressionStatement",
                                    "src": "17972:86:62"
                                }
                            ]
                        },
                        "id": 15146,
                        "implemented": true,
                        "kind": "function",
                        "modifiers": [],
                        "name": "log",
                        "nameLocation": "17905:3:62",
                        "nodeType": "FunctionDefinition",
                        "parameters": {
                            "id": 15132,
                            "nodeType": "ParameterList",
                            "parameters": [
                                {
                                    "constant": false,
                                    "id": 15125,
                                    "mutability": "mutable",
                                    "name": "p0",
                                    "nameLocation": "17914:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 15146,
                                    "src": "17909:7:62",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_uint256",
                                        "typeString": "uint256"
                                    },
                                    "typeName": {
                                        "id": 15124,
                                        "name": "uint",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "17909:4:62",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_uint256",
                                            "typeString": "uint256"
                                        }
                                    },
                                    "visibility": "internal"
                                },
                                {
                                    "constant": false,
                                    "id": 15127,
                                    "mutability": "mutable",
                                    "name": "p1",
                                    "nameLocation": "17923:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 15146,
                                    "src": "17918:7:62",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_uint256",
                                        "typeString": "uint256"
                                    },
                                    "typeName": {
                                        "id": 15126,
                                        "name": "uint",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "17918:4:62",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_uint256",
                                            "typeString": "uint256"
                                        }
                                    },
                                    "visibility": "internal"
                                },
                                {
                                    "constant": false,
                                    "id": 15129,
                                    "mutability": "mutable",
                                    "name": "p2",
                                    "nameLocation": "17941:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 15146,
                                    "src": "17927:16:62",
                                    "stateVariable": false,
                                    "storageLocation": "memory",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_string_memory_ptr",
                                        "typeString": "string"
                                    },
                                    "typeName": {
                                        "id": 15128,
                                        "name": "string",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "17927:6:62",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_string_storage_ptr",
                                            "typeString": "string"
                                        }
                                    },
                                    "visibility": "internal"
                                },
                                {
                                    "constant": false,
                                    "id": 15131,
                                    "mutability": "mutable",
                                    "name": "p3",
                                    "nameLocation": "17950:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 15146,
                                    "src": "17945:7:62",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_uint256",
                                        "typeString": "uint256"
                                    },
                                    "typeName": {
                                        "id": 15130,
                                        "name": "uint",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "17945:4:62",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_uint256",
                                            "typeString": "uint256"
                                        }
                                    },
                                    "visibility": "internal"
                                }
                            ],
                            "src": "17908:45:62"
                        },
                        "returnParameters": {
                            "id": 15133,
                            "nodeType": "ParameterList",
                            "parameters": [],
                            "src": "17968:0:62"
                        },
                        "scope": 20920,
                        "src": "17896:166:62",
                        "stateMutability": "view",
                        "virtual": false,
                        "visibility": "internal"
                    },
                    {
                        "body": {
                            "id": 15168,
                            "nodeType": "Block",
                            "src": "18146:96:62",
                            "statements": [
                                {
                                    "expression": {
                                        "arguments": [
                                            {
                                                "arguments": [
                                                    {
                                                        "hexValue": "6c6f672875696e742c75696e742c737472696e672c737472696e6729",
                                                        "id": 15160,
                                                        "isConstant": false,
                                                        "isLValue": false,
                                                        "isPure": true,
                                                        "kind": "string",
                                                        "lValueRequested": false,
                                                        "nodeType": "Literal",
                                                        "src": "18190:30:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_stringliteral_7c032a3207958e3d969ab52b045e7a59226129ee4b9e813f7071f9a5e80813f6",
                                                            "typeString": "literal_string \"log(uint,uint,string,string)\""
                                                        },
                                                        "value": "log(uint,uint,string,string)"
                                                    },
                                                    {
                                                        "id": 15161,
                                                        "name": "p0",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 15148,
                                                        "src": "18222:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_uint256",
                                                            "typeString": "uint256"
                                                        }
                                                    },
                                                    {
                                                        "id": 15162,
                                                        "name": "p1",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 15150,
                                                        "src": "18226:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_uint256",
                                                            "typeString": "uint256"
                                                        }
                                                    },
                                                    {
                                                        "id": 15163,
                                                        "name": "p2",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 15152,
                                                        "src": "18230:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_string_memory_ptr",
                                                            "typeString": "string memory"
                                                        }
                                                    },
                                                    {
                                                        "id": 15164,
                                                        "name": "p3",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 15154,
                                                        "src": "18234:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_string_memory_ptr",
                                                            "typeString": "string memory"
                                                        }
                                                    }
                                                ],
                                                "expression": {
                                                    "argumentTypes": [
                                                        {
                                                            "typeIdentifier": "t_stringliteral_7c032a3207958e3d969ab52b045e7a59226129ee4b9e813f7071f9a5e80813f6",
                                                            "typeString": "literal_string \"log(uint,uint,string,string)\""
                                                        },
                                                        {
                                                            "typeIdentifier": "t_uint256",
                                                            "typeString": "uint256"
                                                        },
                                                        {
                                                            "typeIdentifier": "t_uint256",
                                                            "typeString": "uint256"
                                                        },
                                                        {
                                                            "typeIdentifier": "t_string_memory_ptr",
                                                            "typeString": "string memory"
                                                        },
                                                        {
                                                            "typeIdentifier": "t_string_memory_ptr",
                                                            "typeString": "string memory"
                                                        }
                                                    ],
                                                    "expression": {
                                                        "id": 15158,
                                                        "name": "abi",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 4294967295,
                                                        "src": "18166:3:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_magic_abi",
                                                            "typeString": "abi"
                                                        }
                                                    },
                                                    "id": 15159,
                                                    "isConstant": false,
                                                    "isLValue": false,
                                                    "isPure": true,
                                                    "lValueRequested": false,
                                                    "memberName": "encodeWithSignature",
                                                    "nodeType": "MemberAccess",
                                                    "src": "18166:23:62",
                                                    "typeDescriptions": {
                                                        "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$",
                                                        "typeString": "function (string memory) pure returns (bytes memory)"
                                                    }
                                                },
                                                "id": 15165,
                                                "isConstant": false,
                                                "isLValue": false,
                                                "isPure": false,
                                                "kind": "functionCall",
                                                "lValueRequested": false,
                                                "names": [],
                                                "nodeType": "FunctionCall",
                                                "src": "18166:71:62",
                                                "tryCall": false,
                                                "typeDescriptions": {
                                                    "typeIdentifier": "t_bytes_memory_ptr",
                                                    "typeString": "bytes memory"
                                                }
                                            }
                                        ],
                                        "expression": {
                                            "argumentTypes": [
                                                {
                                                    "typeIdentifier": "t_bytes_memory_ptr",
                                                    "typeString": "bytes memory"
                                                }
                                            ],
                                            "id": 15157,
                                            "name": "_sendLogPayload",
                                            "nodeType": "Identifier",
                                            "overloadedDeclarations": [],
                                            "referencedDeclaration": 12880,
                                            "src": "18150:15:62",
                                            "typeDescriptions": {
                                                "typeIdentifier": "t_function_internal_view$_t_bytes_memory_ptr_$returns$__$",
                                                "typeString": "function (bytes memory) view"
                                            }
                                        },
                                        "id": 15166,
                                        "isConstant": false,
                                        "isLValue": false,
                                        "isPure": false,
                                        "kind": "functionCall",
                                        "lValueRequested": false,
                                        "names": [],
                                        "nodeType": "FunctionCall",
                                        "src": "18150:88:62",
                                        "tryCall": false,
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_tuple$__$",
                                            "typeString": "tuple()"
                                        }
                                    },
                                    "id": 15167,
                                    "nodeType": "ExpressionStatement",
                                    "src": "18150:88:62"
                                }
                            ]
                        },
                        "id": 15169,
                        "implemented": true,
                        "kind": "function",
                        "modifiers": [],
                        "name": "log",
                        "nameLocation": "18074:3:62",
                        "nodeType": "FunctionDefinition",
                        "parameters": {
                            "id": 15155,
                            "nodeType": "ParameterList",
                            "parameters": [
                                {
                                    "constant": false,
                                    "id": 15148,
                                    "mutability": "mutable",
                                    "name": "p0",
                                    "nameLocation": "18083:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 15169,
                                    "src": "18078:7:62",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_uint256",
                                        "typeString": "uint256"
                                    },
                                    "typeName": {
                                        "id": 15147,
                                        "name": "uint",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "18078:4:62",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_uint256",
                                            "typeString": "uint256"
                                        }
                                    },
                                    "visibility": "internal"
                                },
                                {
                                    "constant": false,
                                    "id": 15150,
                                    "mutability": "mutable",
                                    "name": "p1",
                                    "nameLocation": "18092:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 15169,
                                    "src": "18087:7:62",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_uint256",
                                        "typeString": "uint256"
                                    },
                                    "typeName": {
                                        "id": 15149,
                                        "name": "uint",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "18087:4:62",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_uint256",
                                            "typeString": "uint256"
                                        }
                                    },
                                    "visibility": "internal"
                                },
                                {
                                    "constant": false,
                                    "id": 15152,
                                    "mutability": "mutable",
                                    "name": "p2",
                                    "nameLocation": "18110:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 15169,
                                    "src": "18096:16:62",
                                    "stateVariable": false,
                                    "storageLocation": "memory",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_string_memory_ptr",
                                        "typeString": "string"
                                    },
                                    "typeName": {
                                        "id": 15151,
                                        "name": "string",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "18096:6:62",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_string_storage_ptr",
                                            "typeString": "string"
                                        }
                                    },
                                    "visibility": "internal"
                                },
                                {
                                    "constant": false,
                                    "id": 15154,
                                    "mutability": "mutable",
                                    "name": "p3",
                                    "nameLocation": "18128:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 15169,
                                    "src": "18114:16:62",
                                    "stateVariable": false,
                                    "storageLocation": "memory",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_string_memory_ptr",
                                        "typeString": "string"
                                    },
                                    "typeName": {
                                        "id": 15153,
                                        "name": "string",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "18114:6:62",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_string_storage_ptr",
                                            "typeString": "string"
                                        }
                                    },
                                    "visibility": "internal"
                                }
                            ],
                            "src": "18077:54:62"
                        },
                        "returnParameters": {
                            "id": 15156,
                            "nodeType": "ParameterList",
                            "parameters": [],
                            "src": "18146:0:62"
                        },
                        "scope": 20920,
                        "src": "18065:177:62",
                        "stateMutability": "view",
                        "virtual": false,
                        "visibility": "internal"
                    },
                    {
                        "body": {
                            "id": 15191,
                            "nodeType": "Block",
                            "src": "18317:94:62",
                            "statements": [
                                {
                                    "expression": {
                                        "arguments": [
                                            {
                                                "arguments": [
                                                    {
                                                        "hexValue": "6c6f672875696e742c75696e742c737472696e672c626f6f6c29",
                                                        "id": 15183,
                                                        "isConstant": false,
                                                        "isLValue": false,
                                                        "isPure": true,
                                                        "kind": "string",
                                                        "lValueRequested": false,
                                                        "nodeType": "Literal",
                                                        "src": "18361:28:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_stringliteral_b22eaf06d72d481cf9b94b8f4d5fb89cf08bbfd924ee166a250ac94617be65b9",
                                                            "typeString": "literal_string \"log(uint,uint,string,bool)\""
                                                        },
                                                        "value": "log(uint,uint,string,bool)"
                                                    },
                                                    {
                                                        "id": 15184,
                                                        "name": "p0",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 15171,
                                                        "src": "18391:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_uint256",
                                                            "typeString": "uint256"
                                                        }
                                                    },
                                                    {
                                                        "id": 15185,
                                                        "name": "p1",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 15173,
                                                        "src": "18395:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_uint256",
                                                            "typeString": "uint256"
                                                        }
                                                    },
                                                    {
                                                        "id": 15186,
                                                        "name": "p2",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 15175,
                                                        "src": "18399:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_string_memory_ptr",
                                                            "typeString": "string memory"
                                                        }
                                                    },
                                                    {
                                                        "id": 15187,
                                                        "name": "p3",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 15177,
                                                        "src": "18403:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_bool",
                                                            "typeString": "bool"
                                                        }
                                                    }
                                                ],
                                                "expression": {
                                                    "argumentTypes": [
                                                        {
                                                            "typeIdentifier": "t_stringliteral_b22eaf06d72d481cf9b94b8f4d5fb89cf08bbfd924ee166a250ac94617be65b9",
                                                            "typeString": "literal_string \"log(uint,uint,string,bool)\""
                                                        },
                                                        {
                                                            "typeIdentifier": "t_uint256",
                                                            "typeString": "uint256"
                                                        },
                                                        {
                                                            "typeIdentifier": "t_uint256",
                                                            "typeString": "uint256"
                                                        },
                                                        {
                                                            "typeIdentifier": "t_string_memory_ptr",
                                                            "typeString": "string memory"
                                                        },
                                                        {
                                                            "typeIdentifier": "t_bool",
                                                            "typeString": "bool"
                                                        }
                                                    ],
                                                    "expression": {
                                                        "id": 15181,
                                                        "name": "abi",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 4294967295,
                                                        "src": "18337:3:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_magic_abi",
                                                            "typeString": "abi"
                                                        }
                                                    },
                                                    "id": 15182,
                                                    "isConstant": false,
                                                    "isLValue": false,
                                                    "isPure": true,
                                                    "lValueRequested": false,
                                                    "memberName": "encodeWithSignature",
                                                    "nodeType": "MemberAccess",
                                                    "src": "18337:23:62",
                                                    "typeDescriptions": {
                                                        "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$",
                                                        "typeString": "function (string memory) pure returns (bytes memory)"
                                                    }
                                                },
                                                "id": 15188,
                                                "isConstant": false,
                                                "isLValue": false,
                                                "isPure": false,
                                                "kind": "functionCall",
                                                "lValueRequested": false,
                                                "names": [],
                                                "nodeType": "FunctionCall",
                                                "src": "18337:69:62",
                                                "tryCall": false,
                                                "typeDescriptions": {
                                                    "typeIdentifier": "t_bytes_memory_ptr",
                                                    "typeString": "bytes memory"
                                                }
                                            }
                                        ],
                                        "expression": {
                                            "argumentTypes": [
                                                {
                                                    "typeIdentifier": "t_bytes_memory_ptr",
                                                    "typeString": "bytes memory"
                                                }
                                            ],
                                            "id": 15180,
                                            "name": "_sendLogPayload",
                                            "nodeType": "Identifier",
                                            "overloadedDeclarations": [],
                                            "referencedDeclaration": 12880,
                                            "src": "18321:15:62",
                                            "typeDescriptions": {
                                                "typeIdentifier": "t_function_internal_view$_t_bytes_memory_ptr_$returns$__$",
                                                "typeString": "function (bytes memory) view"
                                            }
                                        },
                                        "id": 15189,
                                        "isConstant": false,
                                        "isLValue": false,
                                        "isPure": false,
                                        "kind": "functionCall",
                                        "lValueRequested": false,
                                        "names": [],
                                        "nodeType": "FunctionCall",
                                        "src": "18321:86:62",
                                        "tryCall": false,
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_tuple$__$",
                                            "typeString": "tuple()"
                                        }
                                    },
                                    "id": 15190,
                                    "nodeType": "ExpressionStatement",
                                    "src": "18321:86:62"
                                }
                            ]
                        },
                        "id": 15192,
                        "implemented": true,
                        "kind": "function",
                        "modifiers": [],
                        "name": "log",
                        "nameLocation": "18254:3:62",
                        "nodeType": "FunctionDefinition",
                        "parameters": {
                            "id": 15178,
                            "nodeType": "ParameterList",
                            "parameters": [
                                {
                                    "constant": false,
                                    "id": 15171,
                                    "mutability": "mutable",
                                    "name": "p0",
                                    "nameLocation": "18263:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 15192,
                                    "src": "18258:7:62",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_uint256",
                                        "typeString": "uint256"
                                    },
                                    "typeName": {
                                        "id": 15170,
                                        "name": "uint",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "18258:4:62",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_uint256",
                                            "typeString": "uint256"
                                        }
                                    },
                                    "visibility": "internal"
                                },
                                {
                                    "constant": false,
                                    "id": 15173,
                                    "mutability": "mutable",
                                    "name": "p1",
                                    "nameLocation": "18272:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 15192,
                                    "src": "18267:7:62",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_uint256",
                                        "typeString": "uint256"
                                    },
                                    "typeName": {
                                        "id": 15172,
                                        "name": "uint",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "18267:4:62",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_uint256",
                                            "typeString": "uint256"
                                        }
                                    },
                                    "visibility": "internal"
                                },
                                {
                                    "constant": false,
                                    "id": 15175,
                                    "mutability": "mutable",
                                    "name": "p2",
                                    "nameLocation": "18290:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 15192,
                                    "src": "18276:16:62",
                                    "stateVariable": false,
                                    "storageLocation": "memory",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_string_memory_ptr",
                                        "typeString": "string"
                                    },
                                    "typeName": {
                                        "id": 15174,
                                        "name": "string",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "18276:6:62",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_string_storage_ptr",
                                            "typeString": "string"
                                        }
                                    },
                                    "visibility": "internal"
                                },
                                {
                                    "constant": false,
                                    "id": 15177,
                                    "mutability": "mutable",
                                    "name": "p3",
                                    "nameLocation": "18299:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 15192,
                                    "src": "18294:7:62",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_bool",
                                        "typeString": "bool"
                                    },
                                    "typeName": {
                                        "id": 15176,
                                        "name": "bool",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "18294:4:62",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_bool",
                                            "typeString": "bool"
                                        }
                                    },
                                    "visibility": "internal"
                                }
                            ],
                            "src": "18257:45:62"
                        },
                        "returnParameters": {
                            "id": 15179,
                            "nodeType": "ParameterList",
                            "parameters": [],
                            "src": "18317:0:62"
                        },
                        "scope": 20920,
                        "src": "18245:166:62",
                        "stateMutability": "view",
                        "virtual": false,
                        "visibility": "internal"
                    },
                    {
                        "body": {
                            "id": 15214,
                            "nodeType": "Block",
                            "src": "18489:97:62",
                            "statements": [
                                {
                                    "expression": {
                                        "arguments": [
                                            {
                                                "arguments": [
                                                    {
                                                        "hexValue": "6c6f672875696e742c75696e742c737472696e672c6164647265737329",
                                                        "id": 15206,
                                                        "isConstant": false,
                                                        "isLValue": false,
                                                        "isPure": true,
                                                        "kind": "string",
                                                        "lValueRequested": false,
                                                        "nodeType": "Literal",
                                                        "src": "18533:31:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_stringliteral_433285a23ec6b1f0f76da64682232527561857544109f80e3e5d46b0e16980e7",
                                                            "typeString": "literal_string \"log(uint,uint,string,address)\""
                                                        },
                                                        "value": "log(uint,uint,string,address)"
                                                    },
                                                    {
                                                        "id": 15207,
                                                        "name": "p0",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 15194,
                                                        "src": "18566:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_uint256",
                                                            "typeString": "uint256"
                                                        }
                                                    },
                                                    {
                                                        "id": 15208,
                                                        "name": "p1",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 15196,
                                                        "src": "18570:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_uint256",
                                                            "typeString": "uint256"
                                                        }
                                                    },
                                                    {
                                                        "id": 15209,
                                                        "name": "p2",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 15198,
                                                        "src": "18574:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_string_memory_ptr",
                                                            "typeString": "string memory"
                                                        }
                                                    },
                                                    {
                                                        "id": 15210,
                                                        "name": "p3",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 15200,
                                                        "src": "18578:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_address",
                                                            "typeString": "address"
                                                        }
                                                    }
                                                ],
                                                "expression": {
                                                    "argumentTypes": [
                                                        {
                                                            "typeIdentifier": "t_stringliteral_433285a23ec6b1f0f76da64682232527561857544109f80e3e5d46b0e16980e7",
                                                            "typeString": "literal_string \"log(uint,uint,string,address)\""
                                                        },
                                                        {
                                                            "typeIdentifier": "t_uint256",
                                                            "typeString": "uint256"
                                                        },
                                                        {
                                                            "typeIdentifier": "t_uint256",
                                                            "typeString": "uint256"
                                                        },
                                                        {
                                                            "typeIdentifier": "t_string_memory_ptr",
                                                            "typeString": "string memory"
                                                        },
                                                        {
                                                            "typeIdentifier": "t_address",
                                                            "typeString": "address"
                                                        }
                                                    ],
                                                    "expression": {
                                                        "id": 15204,
                                                        "name": "abi",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 4294967295,
                                                        "src": "18509:3:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_magic_abi",
                                                            "typeString": "abi"
                                                        }
                                                    },
                                                    "id": 15205,
                                                    "isConstant": false,
                                                    "isLValue": false,
                                                    "isPure": true,
                                                    "lValueRequested": false,
                                                    "memberName": "encodeWithSignature",
                                                    "nodeType": "MemberAccess",
                                                    "src": "18509:23:62",
                                                    "typeDescriptions": {
                                                        "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$",
                                                        "typeString": "function (string memory) pure returns (bytes memory)"
                                                    }
                                                },
                                                "id": 15211,
                                                "isConstant": false,
                                                "isLValue": false,
                                                "isPure": false,
                                                "kind": "functionCall",
                                                "lValueRequested": false,
                                                "names": [],
                                                "nodeType": "FunctionCall",
                                                "src": "18509:72:62",
                                                "tryCall": false,
                                                "typeDescriptions": {
                                                    "typeIdentifier": "t_bytes_memory_ptr",
                                                    "typeString": "bytes memory"
                                                }
                                            }
                                        ],
                                        "expression": {
                                            "argumentTypes": [
                                                {
                                                    "typeIdentifier": "t_bytes_memory_ptr",
                                                    "typeString": "bytes memory"
                                                }
                                            ],
                                            "id": 15203,
                                            "name": "_sendLogPayload",
                                            "nodeType": "Identifier",
                                            "overloadedDeclarations": [],
                                            "referencedDeclaration": 12880,
                                            "src": "18493:15:62",
                                            "typeDescriptions": {
                                                "typeIdentifier": "t_function_internal_view$_t_bytes_memory_ptr_$returns$__$",
                                                "typeString": "function (bytes memory) view"
                                            }
                                        },
                                        "id": 15212,
                                        "isConstant": false,
                                        "isLValue": false,
                                        "isPure": false,
                                        "kind": "functionCall",
                                        "lValueRequested": false,
                                        "names": [],
                                        "nodeType": "FunctionCall",
                                        "src": "18493:89:62",
                                        "tryCall": false,
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_tuple$__$",
                                            "typeString": "tuple()"
                                        }
                                    },
                                    "id": 15213,
                                    "nodeType": "ExpressionStatement",
                                    "src": "18493:89:62"
                                }
                            ]
                        },
                        "id": 15215,
                        "implemented": true,
                        "kind": "function",
                        "modifiers": [],
                        "name": "log",
                        "nameLocation": "18423:3:62",
                        "nodeType": "FunctionDefinition",
                        "parameters": {
                            "id": 15201,
                            "nodeType": "ParameterList",
                            "parameters": [
                                {
                                    "constant": false,
                                    "id": 15194,
                                    "mutability": "mutable",
                                    "name": "p0",
                                    "nameLocation": "18432:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 15215,
                                    "src": "18427:7:62",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_uint256",
                                        "typeString": "uint256"
                                    },
                                    "typeName": {
                                        "id": 15193,
                                        "name": "uint",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "18427:4:62",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_uint256",
                                            "typeString": "uint256"
                                        }
                                    },
                                    "visibility": "internal"
                                },
                                {
                                    "constant": false,
                                    "id": 15196,
                                    "mutability": "mutable",
                                    "name": "p1",
                                    "nameLocation": "18441:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 15215,
                                    "src": "18436:7:62",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_uint256",
                                        "typeString": "uint256"
                                    },
                                    "typeName": {
                                        "id": 15195,
                                        "name": "uint",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "18436:4:62",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_uint256",
                                            "typeString": "uint256"
                                        }
                                    },
                                    "visibility": "internal"
                                },
                                {
                                    "constant": false,
                                    "id": 15198,
                                    "mutability": "mutable",
                                    "name": "p2",
                                    "nameLocation": "18459:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 15215,
                                    "src": "18445:16:62",
                                    "stateVariable": false,
                                    "storageLocation": "memory",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_string_memory_ptr",
                                        "typeString": "string"
                                    },
                                    "typeName": {
                                        "id": 15197,
                                        "name": "string",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "18445:6:62",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_string_storage_ptr",
                                            "typeString": "string"
                                        }
                                    },
                                    "visibility": "internal"
                                },
                                {
                                    "constant": false,
                                    "id": 15200,
                                    "mutability": "mutable",
                                    "name": "p3",
                                    "nameLocation": "18471:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 15215,
                                    "src": "18463:10:62",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_address",
                                        "typeString": "address"
                                    },
                                    "typeName": {
                                        "id": 15199,
                                        "name": "address",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "18463:7:62",
                                        "stateMutability": "nonpayable",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_address",
                                            "typeString": "address"
                                        }
                                    },
                                    "visibility": "internal"
                                }
                            ],
                            "src": "18426:48:62"
                        },
                        "returnParameters": {
                            "id": 15202,
                            "nodeType": "ParameterList",
                            "parameters": [],
                            "src": "18489:0:62"
                        },
                        "scope": 20920,
                        "src": "18414:172:62",
                        "stateMutability": "view",
                        "virtual": false,
                        "visibility": "internal"
                    },
                    {
                        "body": {
                            "id": 15237,
                            "nodeType": "Block",
                            "src": "18652:92:62",
                            "statements": [
                                {
                                    "expression": {
                                        "arguments": [
                                            {
                                                "arguments": [
                                                    {
                                                        "hexValue": "6c6f672875696e742c75696e742c626f6f6c2c75696e7429",
                                                        "id": 15229,
                                                        "isConstant": false,
                                                        "isLValue": false,
                                                        "isPure": true,
                                                        "kind": "string",
                                                        "lValueRequested": false,
                                                        "nodeType": "Literal",
                                                        "src": "18696:26:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_stringliteral_6c647c8c5fed6e02ad4f1c7bfb891e58ba00758f5d6cb92966fd0684c5b3fc8d",
                                                            "typeString": "literal_string \"log(uint,uint,bool,uint)\""
                                                        },
                                                        "value": "log(uint,uint,bool,uint)"
                                                    },
                                                    {
                                                        "id": 15230,
                                                        "name": "p0",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 15217,
                                                        "src": "18724:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_uint256",
                                                            "typeString": "uint256"
                                                        }
                                                    },
                                                    {
                                                        "id": 15231,
                                                        "name": "p1",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 15219,
                                                        "src": "18728:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_uint256",
                                                            "typeString": "uint256"
                                                        }
                                                    },
                                                    {
                                                        "id": 15232,
                                                        "name": "p2",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 15221,
                                                        "src": "18732:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_bool",
                                                            "typeString": "bool"
                                                        }
                                                    },
                                                    {
                                                        "id": 15233,
                                                        "name": "p3",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 15223,
                                                        "src": "18736:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_uint256",
                                                            "typeString": "uint256"
                                                        }
                                                    }
                                                ],
                                                "expression": {
                                                    "argumentTypes": [
                                                        {
                                                            "typeIdentifier": "t_stringliteral_6c647c8c5fed6e02ad4f1c7bfb891e58ba00758f5d6cb92966fd0684c5b3fc8d",
                                                            "typeString": "literal_string \"log(uint,uint,bool,uint)\""
                                                        },
                                                        {
                                                            "typeIdentifier": "t_uint256",
                                                            "typeString": "uint256"
                                                        },
                                                        {
                                                            "typeIdentifier": "t_uint256",
                                                            "typeString": "uint256"
                                                        },
                                                        {
                                                            "typeIdentifier": "t_bool",
                                                            "typeString": "bool"
                                                        },
                                                        {
                                                            "typeIdentifier": "t_uint256",
                                                            "typeString": "uint256"
                                                        }
                                                    ],
                                                    "expression": {
                                                        "id": 15227,
                                                        "name": "abi",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 4294967295,
                                                        "src": "18672:3:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_magic_abi",
                                                            "typeString": "abi"
                                                        }
                                                    },
                                                    "id": 15228,
                                                    "isConstant": false,
                                                    "isLValue": false,
                                                    "isPure": true,
                                                    "lValueRequested": false,
                                                    "memberName": "encodeWithSignature",
                                                    "nodeType": "MemberAccess",
                                                    "src": "18672:23:62",
                                                    "typeDescriptions": {
                                                        "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$",
                                                        "typeString": "function (string memory) pure returns (bytes memory)"
                                                    }
                                                },
                                                "id": 15234,
                                                "isConstant": false,
                                                "isLValue": false,
                                                "isPure": false,
                                                "kind": "functionCall",
                                                "lValueRequested": false,
                                                "names": [],
                                                "nodeType": "FunctionCall",
                                                "src": "18672:67:62",
                                                "tryCall": false,
                                                "typeDescriptions": {
                                                    "typeIdentifier": "t_bytes_memory_ptr",
                                                    "typeString": "bytes memory"
                                                }
                                            }
                                        ],
                                        "expression": {
                                            "argumentTypes": [
                                                {
                                                    "typeIdentifier": "t_bytes_memory_ptr",
                                                    "typeString": "bytes memory"
                                                }
                                            ],
                                            "id": 15226,
                                            "name": "_sendLogPayload",
                                            "nodeType": "Identifier",
                                            "overloadedDeclarations": [],
                                            "referencedDeclaration": 12880,
                                            "src": "18656:15:62",
                                            "typeDescriptions": {
                                                "typeIdentifier": "t_function_internal_view$_t_bytes_memory_ptr_$returns$__$",
                                                "typeString": "function (bytes memory) view"
                                            }
                                        },
                                        "id": 15235,
                                        "isConstant": false,
                                        "isLValue": false,
                                        "isPure": false,
                                        "kind": "functionCall",
                                        "lValueRequested": false,
                                        "names": [],
                                        "nodeType": "FunctionCall",
                                        "src": "18656:84:62",
                                        "tryCall": false,
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_tuple$__$",
                                            "typeString": "tuple()"
                                        }
                                    },
                                    "id": 15236,
                                    "nodeType": "ExpressionStatement",
                                    "src": "18656:84:62"
                                }
                            ]
                        },
                        "id": 15238,
                        "implemented": true,
                        "kind": "function",
                        "modifiers": [],
                        "name": "log",
                        "nameLocation": "18598:3:62",
                        "nodeType": "FunctionDefinition",
                        "parameters": {
                            "id": 15224,
                            "nodeType": "ParameterList",
                            "parameters": [
                                {
                                    "constant": false,
                                    "id": 15217,
                                    "mutability": "mutable",
                                    "name": "p0",
                                    "nameLocation": "18607:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 15238,
                                    "src": "18602:7:62",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_uint256",
                                        "typeString": "uint256"
                                    },
                                    "typeName": {
                                        "id": 15216,
                                        "name": "uint",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "18602:4:62",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_uint256",
                                            "typeString": "uint256"
                                        }
                                    },
                                    "visibility": "internal"
                                },
                                {
                                    "constant": false,
                                    "id": 15219,
                                    "mutability": "mutable",
                                    "name": "p1",
                                    "nameLocation": "18616:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 15238,
                                    "src": "18611:7:62",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_uint256",
                                        "typeString": "uint256"
                                    },
                                    "typeName": {
                                        "id": 15218,
                                        "name": "uint",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "18611:4:62",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_uint256",
                                            "typeString": "uint256"
                                        }
                                    },
                                    "visibility": "internal"
                                },
                                {
                                    "constant": false,
                                    "id": 15221,
                                    "mutability": "mutable",
                                    "name": "p2",
                                    "nameLocation": "18625:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 15238,
                                    "src": "18620:7:62",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_bool",
                                        "typeString": "bool"
                                    },
                                    "typeName": {
                                        "id": 15220,
                                        "name": "bool",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "18620:4:62",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_bool",
                                            "typeString": "bool"
                                        }
                                    },
                                    "visibility": "internal"
                                },
                                {
                                    "constant": false,
                                    "id": 15223,
                                    "mutability": "mutable",
                                    "name": "p3",
                                    "nameLocation": "18634:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 15238,
                                    "src": "18629:7:62",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_uint256",
                                        "typeString": "uint256"
                                    },
                                    "typeName": {
                                        "id": 15222,
                                        "name": "uint",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "18629:4:62",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_uint256",
                                            "typeString": "uint256"
                                        }
                                    },
                                    "visibility": "internal"
                                }
                            ],
                            "src": "18601:36:62"
                        },
                        "returnParameters": {
                            "id": 15225,
                            "nodeType": "ParameterList",
                            "parameters": [],
                            "src": "18652:0:62"
                        },
                        "scope": 20920,
                        "src": "18589:155:62",
                        "stateMutability": "view",
                        "virtual": false,
                        "visibility": "internal"
                    },
                    {
                        "body": {
                            "id": 15260,
                            "nodeType": "Block",
                            "src": "18819:94:62",
                            "statements": [
                                {
                                    "expression": {
                                        "arguments": [
                                            {
                                                "arguments": [
                                                    {
                                                        "hexValue": "6c6f672875696e742c75696e742c626f6f6c2c737472696e6729",
                                                        "id": 15252,
                                                        "isConstant": false,
                                                        "isLValue": false,
                                                        "isPure": true,
                                                        "kind": "string",
                                                        "lValueRequested": false,
                                                        "nodeType": "Literal",
                                                        "src": "18863:28:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_stringliteral_efd9cbeee79713372dd0a748a26a3fb36cbe4eb4e01a37fbde0cde0e101fc85a",
                                                            "typeString": "literal_string \"log(uint,uint,bool,string)\""
                                                        },
                                                        "value": "log(uint,uint,bool,string)"
                                                    },
                                                    {
                                                        "id": 15253,
                                                        "name": "p0",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 15240,
                                                        "src": "18893:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_uint256",
                                                            "typeString": "uint256"
                                                        }
                                                    },
                                                    {
                                                        "id": 15254,
                                                        "name": "p1",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 15242,
                                                        "src": "18897:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_uint256",
                                                            "typeString": "uint256"
                                                        }
                                                    },
                                                    {
                                                        "id": 15255,
                                                        "name": "p2",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 15244,
                                                        "src": "18901:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_bool",
                                                            "typeString": "bool"
                                                        }
                                                    },
                                                    {
                                                        "id": 15256,
                                                        "name": "p3",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 15246,
                                                        "src": "18905:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_string_memory_ptr",
                                                            "typeString": "string memory"
                                                        }
                                                    }
                                                ],
                                                "expression": {
                                                    "argumentTypes": [
                                                        {
                                                            "typeIdentifier": "t_stringliteral_efd9cbeee79713372dd0a748a26a3fb36cbe4eb4e01a37fbde0cde0e101fc85a",
                                                            "typeString": "literal_string \"log(uint,uint,bool,string)\""
                                                        },
                                                        {
                                                            "typeIdentifier": "t_uint256",
                                                            "typeString": "uint256"
                                                        },
                                                        {
                                                            "typeIdentifier": "t_uint256",
                                                            "typeString": "uint256"
                                                        },
                                                        {
                                                            "typeIdentifier": "t_bool",
                                                            "typeString": "bool"
                                                        },
                                                        {
                                                            "typeIdentifier": "t_string_memory_ptr",
                                                            "typeString": "string memory"
                                                        }
                                                    ],
                                                    "expression": {
                                                        "id": 15250,
                                                        "name": "abi",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 4294967295,
                                                        "src": "18839:3:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_magic_abi",
                                                            "typeString": "abi"
                                                        }
                                                    },
                                                    "id": 15251,
                                                    "isConstant": false,
                                                    "isLValue": false,
                                                    "isPure": true,
                                                    "lValueRequested": false,
                                                    "memberName": "encodeWithSignature",
                                                    "nodeType": "MemberAccess",
                                                    "src": "18839:23:62",
                                                    "typeDescriptions": {
                                                        "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$",
                                                        "typeString": "function (string memory) pure returns (bytes memory)"
                                                    }
                                                },
                                                "id": 15257,
                                                "isConstant": false,
                                                "isLValue": false,
                                                "isPure": false,
                                                "kind": "functionCall",
                                                "lValueRequested": false,
                                                "names": [],
                                                "nodeType": "FunctionCall",
                                                "src": "18839:69:62",
                                                "tryCall": false,
                                                "typeDescriptions": {
                                                    "typeIdentifier": "t_bytes_memory_ptr",
                                                    "typeString": "bytes memory"
                                                }
                                            }
                                        ],
                                        "expression": {
                                            "argumentTypes": [
                                                {
                                                    "typeIdentifier": "t_bytes_memory_ptr",
                                                    "typeString": "bytes memory"
                                                }
                                            ],
                                            "id": 15249,
                                            "name": "_sendLogPayload",
                                            "nodeType": "Identifier",
                                            "overloadedDeclarations": [],
                                            "referencedDeclaration": 12880,
                                            "src": "18823:15:62",
                                            "typeDescriptions": {
                                                "typeIdentifier": "t_function_internal_view$_t_bytes_memory_ptr_$returns$__$",
                                                "typeString": "function (bytes memory) view"
                                            }
                                        },
                                        "id": 15258,
                                        "isConstant": false,
                                        "isLValue": false,
                                        "isPure": false,
                                        "kind": "functionCall",
                                        "lValueRequested": false,
                                        "names": [],
                                        "nodeType": "FunctionCall",
                                        "src": "18823:86:62",
                                        "tryCall": false,
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_tuple$__$",
                                            "typeString": "tuple()"
                                        }
                                    },
                                    "id": 15259,
                                    "nodeType": "ExpressionStatement",
                                    "src": "18823:86:62"
                                }
                            ]
                        },
                        "id": 15261,
                        "implemented": true,
                        "kind": "function",
                        "modifiers": [],
                        "name": "log",
                        "nameLocation": "18756:3:62",
                        "nodeType": "FunctionDefinition",
                        "parameters": {
                            "id": 15247,
                            "nodeType": "ParameterList",
                            "parameters": [
                                {
                                    "constant": false,
                                    "id": 15240,
                                    "mutability": "mutable",
                                    "name": "p0",
                                    "nameLocation": "18765:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 15261,
                                    "src": "18760:7:62",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_uint256",
                                        "typeString": "uint256"
                                    },
                                    "typeName": {
                                        "id": 15239,
                                        "name": "uint",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "18760:4:62",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_uint256",
                                            "typeString": "uint256"
                                        }
                                    },
                                    "visibility": "internal"
                                },
                                {
                                    "constant": false,
                                    "id": 15242,
                                    "mutability": "mutable",
                                    "name": "p1",
                                    "nameLocation": "18774:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 15261,
                                    "src": "18769:7:62",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_uint256",
                                        "typeString": "uint256"
                                    },
                                    "typeName": {
                                        "id": 15241,
                                        "name": "uint",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "18769:4:62",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_uint256",
                                            "typeString": "uint256"
                                        }
                                    },
                                    "visibility": "internal"
                                },
                                {
                                    "constant": false,
                                    "id": 15244,
                                    "mutability": "mutable",
                                    "name": "p2",
                                    "nameLocation": "18783:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 15261,
                                    "src": "18778:7:62",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_bool",
                                        "typeString": "bool"
                                    },
                                    "typeName": {
                                        "id": 15243,
                                        "name": "bool",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "18778:4:62",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_bool",
                                            "typeString": "bool"
                                        }
                                    },
                                    "visibility": "internal"
                                },
                                {
                                    "constant": false,
                                    "id": 15246,
                                    "mutability": "mutable",
                                    "name": "p3",
                                    "nameLocation": "18801:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 15261,
                                    "src": "18787:16:62",
                                    "stateVariable": false,
                                    "storageLocation": "memory",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_string_memory_ptr",
                                        "typeString": "string"
                                    },
                                    "typeName": {
                                        "id": 15245,
                                        "name": "string",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "18787:6:62",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_string_storage_ptr",
                                            "typeString": "string"
                                        }
                                    },
                                    "visibility": "internal"
                                }
                            ],
                            "src": "18759:45:62"
                        },
                        "returnParameters": {
                            "id": 15248,
                            "nodeType": "ParameterList",
                            "parameters": [],
                            "src": "18819:0:62"
                        },
                        "scope": 20920,
                        "src": "18747:166:62",
                        "stateMutability": "view",
                        "virtual": false,
                        "visibility": "internal"
                    },
                    {
                        "body": {
                            "id": 15283,
                            "nodeType": "Block",
                            "src": "18979:92:62",
                            "statements": [
                                {
                                    "expression": {
                                        "arguments": [
                                            {
                                                "arguments": [
                                                    {
                                                        "hexValue": "6c6f672875696e742c75696e742c626f6f6c2c626f6f6c29",
                                                        "id": 15275,
                                                        "isConstant": false,
                                                        "isLValue": false,
                                                        "isPure": true,
                                                        "kind": "string",
                                                        "lValueRequested": false,
                                                        "nodeType": "Literal",
                                                        "src": "19023:26:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_stringliteral_94be3bb13e096cdbc5a1999a524e3b6664a32da7e2c2954ae0e2b792a0dd1f41",
                                                            "typeString": "literal_string \"log(uint,uint,bool,bool)\""
                                                        },
                                                        "value": "log(uint,uint,bool,bool)"
                                                    },
                                                    {
                                                        "id": 15276,
                                                        "name": "p0",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 15263,
                                                        "src": "19051:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_uint256",
                                                            "typeString": "uint256"
                                                        }
                                                    },
                                                    {
                                                        "id": 15277,
                                                        "name": "p1",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 15265,
                                                        "src": "19055:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_uint256",
                                                            "typeString": "uint256"
                                                        }
                                                    },
                                                    {
                                                        "id": 15278,
                                                        "name": "p2",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 15267,
                                                        "src": "19059:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_bool",
                                                            "typeString": "bool"
                                                        }
                                                    },
                                                    {
                                                        "id": 15279,
                                                        "name": "p3",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 15269,
                                                        "src": "19063:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_bool",
                                                            "typeString": "bool"
                                                        }
                                                    }
                                                ],
                                                "expression": {
                                                    "argumentTypes": [
                                                        {
                                                            "typeIdentifier": "t_stringliteral_94be3bb13e096cdbc5a1999a524e3b6664a32da7e2c2954ae0e2b792a0dd1f41",
                                                            "typeString": "literal_string \"log(uint,uint,bool,bool)\""
                                                        },
                                                        {
                                                            "typeIdentifier": "t_uint256",
                                                            "typeString": "uint256"
                                                        },
                                                        {
                                                            "typeIdentifier": "t_uint256",
                                                            "typeString": "uint256"
                                                        },
                                                        {
                                                            "typeIdentifier": "t_bool",
                                                            "typeString": "bool"
                                                        },
                                                        {
                                                            "typeIdentifier": "t_bool",
                                                            "typeString": "bool"
                                                        }
                                                    ],
                                                    "expression": {
                                                        "id": 15273,
                                                        "name": "abi",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 4294967295,
                                                        "src": "18999:3:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_magic_abi",
                                                            "typeString": "abi"
                                                        }
                                                    },
                                                    "id": 15274,
                                                    "isConstant": false,
                                                    "isLValue": false,
                                                    "isPure": true,
                                                    "lValueRequested": false,
                                                    "memberName": "encodeWithSignature",
                                                    "nodeType": "MemberAccess",
                                                    "src": "18999:23:62",
                                                    "typeDescriptions": {
                                                        "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$",
                                                        "typeString": "function (string memory) pure returns (bytes memory)"
                                                    }
                                                },
                                                "id": 15280,
                                                "isConstant": false,
                                                "isLValue": false,
                                                "isPure": false,
                                                "kind": "functionCall",
                                                "lValueRequested": false,
                                                "names": [],
                                                "nodeType": "FunctionCall",
                                                "src": "18999:67:62",
                                                "tryCall": false,
                                                "typeDescriptions": {
                                                    "typeIdentifier": "t_bytes_memory_ptr",
                                                    "typeString": "bytes memory"
                                                }
                                            }
                                        ],
                                        "expression": {
                                            "argumentTypes": [
                                                {
                                                    "typeIdentifier": "t_bytes_memory_ptr",
                                                    "typeString": "bytes memory"
                                                }
                                            ],
                                            "id": 15272,
                                            "name": "_sendLogPayload",
                                            "nodeType": "Identifier",
                                            "overloadedDeclarations": [],
                                            "referencedDeclaration": 12880,
                                            "src": "18983:15:62",
                                            "typeDescriptions": {
                                                "typeIdentifier": "t_function_internal_view$_t_bytes_memory_ptr_$returns$__$",
                                                "typeString": "function (bytes memory) view"
                                            }
                                        },
                                        "id": 15281,
                                        "isConstant": false,
                                        "isLValue": false,
                                        "isPure": false,
                                        "kind": "functionCall",
                                        "lValueRequested": false,
                                        "names": [],
                                        "nodeType": "FunctionCall",
                                        "src": "18983:84:62",
                                        "tryCall": false,
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_tuple$__$",
                                            "typeString": "tuple()"
                                        }
                                    },
                                    "id": 15282,
                                    "nodeType": "ExpressionStatement",
                                    "src": "18983:84:62"
                                }
                            ]
                        },
                        "id": 15284,
                        "implemented": true,
                        "kind": "function",
                        "modifiers": [],
                        "name": "log",
                        "nameLocation": "18925:3:62",
                        "nodeType": "FunctionDefinition",
                        "parameters": {
                            "id": 15270,
                            "nodeType": "ParameterList",
                            "parameters": [
                                {
                                    "constant": false,
                                    "id": 15263,
                                    "mutability": "mutable",
                                    "name": "p0",
                                    "nameLocation": "18934:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 15284,
                                    "src": "18929:7:62",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_uint256",
                                        "typeString": "uint256"
                                    },
                                    "typeName": {
                                        "id": 15262,
                                        "name": "uint",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "18929:4:62",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_uint256",
                                            "typeString": "uint256"
                                        }
                                    },
                                    "visibility": "internal"
                                },
                                {
                                    "constant": false,
                                    "id": 15265,
                                    "mutability": "mutable",
                                    "name": "p1",
                                    "nameLocation": "18943:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 15284,
                                    "src": "18938:7:62",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_uint256",
                                        "typeString": "uint256"
                                    },
                                    "typeName": {
                                        "id": 15264,
                                        "name": "uint",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "18938:4:62",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_uint256",
                                            "typeString": "uint256"
                                        }
                                    },
                                    "visibility": "internal"
                                },
                                {
                                    "constant": false,
                                    "id": 15267,
                                    "mutability": "mutable",
                                    "name": "p2",
                                    "nameLocation": "18952:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 15284,
                                    "src": "18947:7:62",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_bool",
                                        "typeString": "bool"
                                    },
                                    "typeName": {
                                        "id": 15266,
                                        "name": "bool",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "18947:4:62",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_bool",
                                            "typeString": "bool"
                                        }
                                    },
                                    "visibility": "internal"
                                },
                                {
                                    "constant": false,
                                    "id": 15269,
                                    "mutability": "mutable",
                                    "name": "p3",
                                    "nameLocation": "18961:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 15284,
                                    "src": "18956:7:62",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_bool",
                                        "typeString": "bool"
                                    },
                                    "typeName": {
                                        "id": 15268,
                                        "name": "bool",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "18956:4:62",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_bool",
                                            "typeString": "bool"
                                        }
                                    },
                                    "visibility": "internal"
                                }
                            ],
                            "src": "18928:36:62"
                        },
                        "returnParameters": {
                            "id": 15271,
                            "nodeType": "ParameterList",
                            "parameters": [],
                            "src": "18979:0:62"
                        },
                        "scope": 20920,
                        "src": "18916:155:62",
                        "stateMutability": "view",
                        "virtual": false,
                        "visibility": "internal"
                    },
                    {
                        "body": {
                            "id": 15306,
                            "nodeType": "Block",
                            "src": "19140:95:62",
                            "statements": [
                                {
                                    "expression": {
                                        "arguments": [
                                            {
                                                "arguments": [
                                                    {
                                                        "hexValue": "6c6f672875696e742c75696e742c626f6f6c2c6164647265737329",
                                                        "id": 15298,
                                                        "isConstant": false,
                                                        "isLValue": false,
                                                        "isPure": true,
                                                        "kind": "string",
                                                        "lValueRequested": false,
                                                        "nodeType": "Literal",
                                                        "src": "19184:29:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_stringliteral_e117744fcc46e4484cabd18d640497b4a9d76b7f775e79fe9a95e42427bd8976",
                                                            "typeString": "literal_string \"log(uint,uint,bool,address)\""
                                                        },
                                                        "value": "log(uint,uint,bool,address)"
                                                    },
                                                    {
                                                        "id": 15299,
                                                        "name": "p0",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 15286,
                                                        "src": "19215:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_uint256",
                                                            "typeString": "uint256"
                                                        }
                                                    },
                                                    {
                                                        "id": 15300,
                                                        "name": "p1",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 15288,
                                                        "src": "19219:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_uint256",
                                                            "typeString": "uint256"
                                                        }
                                                    },
                                                    {
                                                        "id": 15301,
                                                        "name": "p2",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 15290,
                                                        "src": "19223:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_bool",
                                                            "typeString": "bool"
                                                        }
                                                    },
                                                    {
                                                        "id": 15302,
                                                        "name": "p3",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 15292,
                                                        "src": "19227:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_address",
                                                            "typeString": "address"
                                                        }
                                                    }
                                                ],
                                                "expression": {
                                                    "argumentTypes": [
                                                        {
                                                            "typeIdentifier": "t_stringliteral_e117744fcc46e4484cabd18d640497b4a9d76b7f775e79fe9a95e42427bd8976",
                                                            "typeString": "literal_string \"log(uint,uint,bool,address)\""
                                                        },
                                                        {
                                                            "typeIdentifier": "t_uint256",
                                                            "typeString": "uint256"
                                                        },
                                                        {
                                                            "typeIdentifier": "t_uint256",
                                                            "typeString": "uint256"
                                                        },
                                                        {
                                                            "typeIdentifier": "t_bool",
                                                            "typeString": "bool"
                                                        },
                                                        {
                                                            "typeIdentifier": "t_address",
                                                            "typeString": "address"
                                                        }
                                                    ],
                                                    "expression": {
                                                        "id": 15296,
                                                        "name": "abi",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 4294967295,
                                                        "src": "19160:3:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_magic_abi",
                                                            "typeString": "abi"
                                                        }
                                                    },
                                                    "id": 15297,
                                                    "isConstant": false,
                                                    "isLValue": false,
                                                    "isPure": true,
                                                    "lValueRequested": false,
                                                    "memberName": "encodeWithSignature",
                                                    "nodeType": "MemberAccess",
                                                    "src": "19160:23:62",
                                                    "typeDescriptions": {
                                                        "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$",
                                                        "typeString": "function (string memory) pure returns (bytes memory)"
                                                    }
                                                },
                                                "id": 15303,
                                                "isConstant": false,
                                                "isLValue": false,
                                                "isPure": false,
                                                "kind": "functionCall",
                                                "lValueRequested": false,
                                                "names": [],
                                                "nodeType": "FunctionCall",
                                                "src": "19160:70:62",
                                                "tryCall": false,
                                                "typeDescriptions": {
                                                    "typeIdentifier": "t_bytes_memory_ptr",
                                                    "typeString": "bytes memory"
                                                }
                                            }
                                        ],
                                        "expression": {
                                            "argumentTypes": [
                                                {
                                                    "typeIdentifier": "t_bytes_memory_ptr",
                                                    "typeString": "bytes memory"
                                                }
                                            ],
                                            "id": 15295,
                                            "name": "_sendLogPayload",
                                            "nodeType": "Identifier",
                                            "overloadedDeclarations": [],
                                            "referencedDeclaration": 12880,
                                            "src": "19144:15:62",
                                            "typeDescriptions": {
                                                "typeIdentifier": "t_function_internal_view$_t_bytes_memory_ptr_$returns$__$",
                                                "typeString": "function (bytes memory) view"
                                            }
                                        },
                                        "id": 15304,
                                        "isConstant": false,
                                        "isLValue": false,
                                        "isPure": false,
                                        "kind": "functionCall",
                                        "lValueRequested": false,
                                        "names": [],
                                        "nodeType": "FunctionCall",
                                        "src": "19144:87:62",
                                        "tryCall": false,
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_tuple$__$",
                                            "typeString": "tuple()"
                                        }
                                    },
                                    "id": 15305,
                                    "nodeType": "ExpressionStatement",
                                    "src": "19144:87:62"
                                }
                            ]
                        },
                        "id": 15307,
                        "implemented": true,
                        "kind": "function",
                        "modifiers": [],
                        "name": "log",
                        "nameLocation": "19083:3:62",
                        "nodeType": "FunctionDefinition",
                        "parameters": {
                            "id": 15293,
                            "nodeType": "ParameterList",
                            "parameters": [
                                {
                                    "constant": false,
                                    "id": 15286,
                                    "mutability": "mutable",
                                    "name": "p0",
                                    "nameLocation": "19092:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 15307,
                                    "src": "19087:7:62",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_uint256",
                                        "typeString": "uint256"
                                    },
                                    "typeName": {
                                        "id": 15285,
                                        "name": "uint",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "19087:4:62",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_uint256",
                                            "typeString": "uint256"
                                        }
                                    },
                                    "visibility": "internal"
                                },
                                {
                                    "constant": false,
                                    "id": 15288,
                                    "mutability": "mutable",
                                    "name": "p1",
                                    "nameLocation": "19101:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 15307,
                                    "src": "19096:7:62",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_uint256",
                                        "typeString": "uint256"
                                    },
                                    "typeName": {
                                        "id": 15287,
                                        "name": "uint",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "19096:4:62",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_uint256",
                                            "typeString": "uint256"
                                        }
                                    },
                                    "visibility": "internal"
                                },
                                {
                                    "constant": false,
                                    "id": 15290,
                                    "mutability": "mutable",
                                    "name": "p2",
                                    "nameLocation": "19110:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 15307,
                                    "src": "19105:7:62",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_bool",
                                        "typeString": "bool"
                                    },
                                    "typeName": {
                                        "id": 15289,
                                        "name": "bool",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "19105:4:62",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_bool",
                                            "typeString": "bool"
                                        }
                                    },
                                    "visibility": "internal"
                                },
                                {
                                    "constant": false,
                                    "id": 15292,
                                    "mutability": "mutable",
                                    "name": "p3",
                                    "nameLocation": "19122:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 15307,
                                    "src": "19114:10:62",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_address",
                                        "typeString": "address"
                                    },
                                    "typeName": {
                                        "id": 15291,
                                        "name": "address",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "19114:7:62",
                                        "stateMutability": "nonpayable",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_address",
                                            "typeString": "address"
                                        }
                                    },
                                    "visibility": "internal"
                                }
                            ],
                            "src": "19086:39:62"
                        },
                        "returnParameters": {
                            "id": 15294,
                            "nodeType": "ParameterList",
                            "parameters": [],
                            "src": "19140:0:62"
                        },
                        "scope": 20920,
                        "src": "19074:161:62",
                        "stateMutability": "view",
                        "virtual": false,
                        "visibility": "internal"
                    },
                    {
                        "body": {
                            "id": 15329,
                            "nodeType": "Block",
                            "src": "19304:95:62",
                            "statements": [
                                {
                                    "expression": {
                                        "arguments": [
                                            {
                                                "arguments": [
                                                    {
                                                        "hexValue": "6c6f672875696e742c75696e742c616464726573732c75696e7429",
                                                        "id": 15321,
                                                        "isConstant": false,
                                                        "isLValue": false,
                                                        "isPure": true,
                                                        "kind": "string",
                                                        "lValueRequested": false,
                                                        "nodeType": "Literal",
                                                        "src": "19348:29:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_stringliteral_610ba8c0cae1123f7f8ad76791afd86dc185a4f1fe79a263112118ddb5231e9f",
                                                            "typeString": "literal_string \"log(uint,uint,address,uint)\""
                                                        },
                                                        "value": "log(uint,uint,address,uint)"
                                                    },
                                                    {
                                                        "id": 15322,
                                                        "name": "p0",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 15309,
                                                        "src": "19379:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_uint256",
                                                            "typeString": "uint256"
                                                        }
                                                    },
                                                    {
                                                        "id": 15323,
                                                        "name": "p1",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 15311,
                                                        "src": "19383:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_uint256",
                                                            "typeString": "uint256"
                                                        }
                                                    },
                                                    {
                                                        "id": 15324,
                                                        "name": "p2",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 15313,
                                                        "src": "19387:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_address",
                                                            "typeString": "address"
                                                        }
                                                    },
                                                    {
                                                        "id": 15325,
                                                        "name": "p3",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 15315,
                                                        "src": "19391:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_uint256",
                                                            "typeString": "uint256"
                                                        }
                                                    }
                                                ],
                                                "expression": {
                                                    "argumentTypes": [
                                                        {
                                                            "typeIdentifier": "t_stringliteral_610ba8c0cae1123f7f8ad76791afd86dc185a4f1fe79a263112118ddb5231e9f",
                                                            "typeString": "literal_string \"log(uint,uint,address,uint)\""
                                                        },
                                                        {
                                                            "typeIdentifier": "t_uint256",
                                                            "typeString": "uint256"
                                                        },
                                                        {
                                                            "typeIdentifier": "t_uint256",
                                                            "typeString": "uint256"
                                                        },
                                                        {
                                                            "typeIdentifier": "t_address",
                                                            "typeString": "address"
                                                        },
                                                        {
                                                            "typeIdentifier": "t_uint256",
                                                            "typeString": "uint256"
                                                        }
                                                    ],
                                                    "expression": {
                                                        "id": 15319,
                                                        "name": "abi",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 4294967295,
                                                        "src": "19324:3:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_magic_abi",
                                                            "typeString": "abi"
                                                        }
                                                    },
                                                    "id": 15320,
                                                    "isConstant": false,
                                                    "isLValue": false,
                                                    "isPure": true,
                                                    "lValueRequested": false,
                                                    "memberName": "encodeWithSignature",
                                                    "nodeType": "MemberAccess",
                                                    "src": "19324:23:62",
                                                    "typeDescriptions": {
                                                        "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$",
                                                        "typeString": "function (string memory) pure returns (bytes memory)"
                                                    }
                                                },
                                                "id": 15326,
                                                "isConstant": false,
                                                "isLValue": false,
                                                "isPure": false,
                                                "kind": "functionCall",
                                                "lValueRequested": false,
                                                "names": [],
                                                "nodeType": "FunctionCall",
                                                "src": "19324:70:62",
                                                "tryCall": false,
                                                "typeDescriptions": {
                                                    "typeIdentifier": "t_bytes_memory_ptr",
                                                    "typeString": "bytes memory"
                                                }
                                            }
                                        ],
                                        "expression": {
                                            "argumentTypes": [
                                                {
                                                    "typeIdentifier": "t_bytes_memory_ptr",
                                                    "typeString": "bytes memory"
                                                }
                                            ],
                                            "id": 15318,
                                            "name": "_sendLogPayload",
                                            "nodeType": "Identifier",
                                            "overloadedDeclarations": [],
                                            "referencedDeclaration": 12880,
                                            "src": "19308:15:62",
                                            "typeDescriptions": {
                                                "typeIdentifier": "t_function_internal_view$_t_bytes_memory_ptr_$returns$__$",
                                                "typeString": "function (bytes memory) view"
                                            }
                                        },
                                        "id": 15327,
                                        "isConstant": false,
                                        "isLValue": false,
                                        "isPure": false,
                                        "kind": "functionCall",
                                        "lValueRequested": false,
                                        "names": [],
                                        "nodeType": "FunctionCall",
                                        "src": "19308:87:62",
                                        "tryCall": false,
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_tuple$__$",
                                            "typeString": "tuple()"
                                        }
                                    },
                                    "id": 15328,
                                    "nodeType": "ExpressionStatement",
                                    "src": "19308:87:62"
                                }
                            ]
                        },
                        "id": 15330,
                        "implemented": true,
                        "kind": "function",
                        "modifiers": [],
                        "name": "log",
                        "nameLocation": "19247:3:62",
                        "nodeType": "FunctionDefinition",
                        "parameters": {
                            "id": 15316,
                            "nodeType": "ParameterList",
                            "parameters": [
                                {
                                    "constant": false,
                                    "id": 15309,
                                    "mutability": "mutable",
                                    "name": "p0",
                                    "nameLocation": "19256:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 15330,
                                    "src": "19251:7:62",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_uint256",
                                        "typeString": "uint256"
                                    },
                                    "typeName": {
                                        "id": 15308,
                                        "name": "uint",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "19251:4:62",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_uint256",
                                            "typeString": "uint256"
                                        }
                                    },
                                    "visibility": "internal"
                                },
                                {
                                    "constant": false,
                                    "id": 15311,
                                    "mutability": "mutable",
                                    "name": "p1",
                                    "nameLocation": "19265:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 15330,
                                    "src": "19260:7:62",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_uint256",
                                        "typeString": "uint256"
                                    },
                                    "typeName": {
                                        "id": 15310,
                                        "name": "uint",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "19260:4:62",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_uint256",
                                            "typeString": "uint256"
                                        }
                                    },
                                    "visibility": "internal"
                                },
                                {
                                    "constant": false,
                                    "id": 15313,
                                    "mutability": "mutable",
                                    "name": "p2",
                                    "nameLocation": "19277:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 15330,
                                    "src": "19269:10:62",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_address",
                                        "typeString": "address"
                                    },
                                    "typeName": {
                                        "id": 15312,
                                        "name": "address",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "19269:7:62",
                                        "stateMutability": "nonpayable",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_address",
                                            "typeString": "address"
                                        }
                                    },
                                    "visibility": "internal"
                                },
                                {
                                    "constant": false,
                                    "id": 15315,
                                    "mutability": "mutable",
                                    "name": "p3",
                                    "nameLocation": "19286:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 15330,
                                    "src": "19281:7:62",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_uint256",
                                        "typeString": "uint256"
                                    },
                                    "typeName": {
                                        "id": 15314,
                                        "name": "uint",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "19281:4:62",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_uint256",
                                            "typeString": "uint256"
                                        }
                                    },
                                    "visibility": "internal"
                                }
                            ],
                            "src": "19250:39:62"
                        },
                        "returnParameters": {
                            "id": 15317,
                            "nodeType": "ParameterList",
                            "parameters": [],
                            "src": "19304:0:62"
                        },
                        "scope": 20920,
                        "src": "19238:161:62",
                        "stateMutability": "view",
                        "virtual": false,
                        "visibility": "internal"
                    },
                    {
                        "body": {
                            "id": 15352,
                            "nodeType": "Block",
                            "src": "19477:97:62",
                            "statements": [
                                {
                                    "expression": {
                                        "arguments": [
                                            {
                                                "arguments": [
                                                    {
                                                        "hexValue": "6c6f672875696e742c75696e742c616464726573732c737472696e6729",
                                                        "id": 15344,
                                                        "isConstant": false,
                                                        "isLValue": false,
                                                        "isPure": true,
                                                        "kind": "string",
                                                        "lValueRequested": false,
                                                        "nodeType": "Literal",
                                                        "src": "19521:31:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_stringliteral_d6a2d1de1bf5c0a47e82220cd592c8fb4a4a43f17ecab471044861ef70454227",
                                                            "typeString": "literal_string \"log(uint,uint,address,string)\""
                                                        },
                                                        "value": "log(uint,uint,address,string)"
                                                    },
                                                    {
                                                        "id": 15345,
                                                        "name": "p0",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 15332,
                                                        "src": "19554:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_uint256",
                                                            "typeString": "uint256"
                                                        }
                                                    },
                                                    {
                                                        "id": 15346,
                                                        "name": "p1",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 15334,
                                                        "src": "19558:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_uint256",
                                                            "typeString": "uint256"
                                                        }
                                                    },
                                                    {
                                                        "id": 15347,
                                                        "name": "p2",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 15336,
                                                        "src": "19562:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_address",
                                                            "typeString": "address"
                                                        }
                                                    },
                                                    {
                                                        "id": 15348,
                                                        "name": "p3",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 15338,
                                                        "src": "19566:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_string_memory_ptr",
                                                            "typeString": "string memory"
                                                        }
                                                    }
                                                ],
                                                "expression": {
                                                    "argumentTypes": [
                                                        {
                                                            "typeIdentifier": "t_stringliteral_d6a2d1de1bf5c0a47e82220cd592c8fb4a4a43f17ecab471044861ef70454227",
                                                            "typeString": "literal_string \"log(uint,uint,address,string)\""
                                                        },
                                                        {
                                                            "typeIdentifier": "t_uint256",
                                                            "typeString": "uint256"
                                                        },
                                                        {
                                                            "typeIdentifier": "t_uint256",
                                                            "typeString": "uint256"
                                                        },
                                                        {
                                                            "typeIdentifier": "t_address",
                                                            "typeString": "address"
                                                        },
                                                        {
                                                            "typeIdentifier": "t_string_memory_ptr",
                                                            "typeString": "string memory"
                                                        }
                                                    ],
                                                    "expression": {
                                                        "id": 15342,
                                                        "name": "abi",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 4294967295,
                                                        "src": "19497:3:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_magic_abi",
                                                            "typeString": "abi"
                                                        }
                                                    },
                                                    "id": 15343,
                                                    "isConstant": false,
                                                    "isLValue": false,
                                                    "isPure": true,
                                                    "lValueRequested": false,
                                                    "memberName": "encodeWithSignature",
                                                    "nodeType": "MemberAccess",
                                                    "src": "19497:23:62",
                                                    "typeDescriptions": {
                                                        "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$",
                                                        "typeString": "function (string memory) pure returns (bytes memory)"
                                                    }
                                                },
                                                "id": 15349,
                                                "isConstant": false,
                                                "isLValue": false,
                                                "isPure": false,
                                                "kind": "functionCall",
                                                "lValueRequested": false,
                                                "names": [],
                                                "nodeType": "FunctionCall",
                                                "src": "19497:72:62",
                                                "tryCall": false,
                                                "typeDescriptions": {
                                                    "typeIdentifier": "t_bytes_memory_ptr",
                                                    "typeString": "bytes memory"
                                                }
                                            }
                                        ],
                                        "expression": {
                                            "argumentTypes": [
                                                {
                                                    "typeIdentifier": "t_bytes_memory_ptr",
                                                    "typeString": "bytes memory"
                                                }
                                            ],
                                            "id": 15341,
                                            "name": "_sendLogPayload",
                                            "nodeType": "Identifier",
                                            "overloadedDeclarations": [],
                                            "referencedDeclaration": 12880,
                                            "src": "19481:15:62",
                                            "typeDescriptions": {
                                                "typeIdentifier": "t_function_internal_view$_t_bytes_memory_ptr_$returns$__$",
                                                "typeString": "function (bytes memory) view"
                                            }
                                        },
                                        "id": 15350,
                                        "isConstant": false,
                                        "isLValue": false,
                                        "isPure": false,
                                        "kind": "functionCall",
                                        "lValueRequested": false,
                                        "names": [],
                                        "nodeType": "FunctionCall",
                                        "src": "19481:89:62",
                                        "tryCall": false,
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_tuple$__$",
                                            "typeString": "tuple()"
                                        }
                                    },
                                    "id": 15351,
                                    "nodeType": "ExpressionStatement",
                                    "src": "19481:89:62"
                                }
                            ]
                        },
                        "id": 15353,
                        "implemented": true,
                        "kind": "function",
                        "modifiers": [],
                        "name": "log",
                        "nameLocation": "19411:3:62",
                        "nodeType": "FunctionDefinition",
                        "parameters": {
                            "id": 15339,
                            "nodeType": "ParameterList",
                            "parameters": [
                                {
                                    "constant": false,
                                    "id": 15332,
                                    "mutability": "mutable",
                                    "name": "p0",
                                    "nameLocation": "19420:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 15353,
                                    "src": "19415:7:62",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_uint256",
                                        "typeString": "uint256"
                                    },
                                    "typeName": {
                                        "id": 15331,
                                        "name": "uint",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "19415:4:62",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_uint256",
                                            "typeString": "uint256"
                                        }
                                    },
                                    "visibility": "internal"
                                },
                                {
                                    "constant": false,
                                    "id": 15334,
                                    "mutability": "mutable",
                                    "name": "p1",
                                    "nameLocation": "19429:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 15353,
                                    "src": "19424:7:62",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_uint256",
                                        "typeString": "uint256"
                                    },
                                    "typeName": {
                                        "id": 15333,
                                        "name": "uint",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "19424:4:62",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_uint256",
                                            "typeString": "uint256"
                                        }
                                    },
                                    "visibility": "internal"
                                },
                                {
                                    "constant": false,
                                    "id": 15336,
                                    "mutability": "mutable",
                                    "name": "p2",
                                    "nameLocation": "19441:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 15353,
                                    "src": "19433:10:62",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_address",
                                        "typeString": "address"
                                    },
                                    "typeName": {
                                        "id": 15335,
                                        "name": "address",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "19433:7:62",
                                        "stateMutability": "nonpayable",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_address",
                                            "typeString": "address"
                                        }
                                    },
                                    "visibility": "internal"
                                },
                                {
                                    "constant": false,
                                    "id": 15338,
                                    "mutability": "mutable",
                                    "name": "p3",
                                    "nameLocation": "19459:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 15353,
                                    "src": "19445:16:62",
                                    "stateVariable": false,
                                    "storageLocation": "memory",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_string_memory_ptr",
                                        "typeString": "string"
                                    },
                                    "typeName": {
                                        "id": 15337,
                                        "name": "string",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "19445:6:62",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_string_storage_ptr",
                                            "typeString": "string"
                                        }
                                    },
                                    "visibility": "internal"
                                }
                            ],
                            "src": "19414:48:62"
                        },
                        "returnParameters": {
                            "id": 15340,
                            "nodeType": "ParameterList",
                            "parameters": [],
                            "src": "19477:0:62"
                        },
                        "scope": 20920,
                        "src": "19402:172:62",
                        "stateMutability": "view",
                        "virtual": false,
                        "visibility": "internal"
                    },
                    {
                        "body": {
                            "id": 15375,
                            "nodeType": "Block",
                            "src": "19643:95:62",
                            "statements": [
                                {
                                    "expression": {
                                        "arguments": [
                                            {
                                                "arguments": [
                                                    {
                                                        "hexValue": "6c6f672875696e742c75696e742c616464726573732c626f6f6c29",
                                                        "id": 15367,
                                                        "isConstant": false,
                                                        "isLValue": false,
                                                        "isPure": true,
                                                        "kind": "string",
                                                        "lValueRequested": false,
                                                        "nodeType": "Literal",
                                                        "src": "19687:29:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_stringliteral_a8e820ae9dc5fd5a845e5dabf2b296e5588fe5a0d8101de14323ebe3e8e2b6c0",
                                                            "typeString": "literal_string \"log(uint,uint,address,bool)\""
                                                        },
                                                        "value": "log(uint,uint,address,bool)"
                                                    },
                                                    {
                                                        "id": 15368,
                                                        "name": "p0",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 15355,
                                                        "src": "19718:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_uint256",
                                                            "typeString": "uint256"
                                                        }
                                                    },
                                                    {
                                                        "id": 15369,
                                                        "name": "p1",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 15357,
                                                        "src": "19722:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_uint256",
                                                            "typeString": "uint256"
                                                        }
                                                    },
                                                    {
                                                        "id": 15370,
                                                        "name": "p2",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 15359,
                                                        "src": "19726:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_address",
                                                            "typeString": "address"
                                                        }
                                                    },
                                                    {
                                                        "id": 15371,
                                                        "name": "p3",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 15361,
                                                        "src": "19730:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_bool",
                                                            "typeString": "bool"
                                                        }
                                                    }
                                                ],
                                                "expression": {
                                                    "argumentTypes": [
                                                        {
                                                            "typeIdentifier": "t_stringliteral_a8e820ae9dc5fd5a845e5dabf2b296e5588fe5a0d8101de14323ebe3e8e2b6c0",
                                                            "typeString": "literal_string \"log(uint,uint,address,bool)\""
                                                        },
                                                        {
                                                            "typeIdentifier": "t_uint256",
                                                            "typeString": "uint256"
                                                        },
                                                        {
                                                            "typeIdentifier": "t_uint256",
                                                            "typeString": "uint256"
                                                        },
                                                        {
                                                            "typeIdentifier": "t_address",
                                                            "typeString": "address"
                                                        },
                                                        {
                                                            "typeIdentifier": "t_bool",
                                                            "typeString": "bool"
                                                        }
                                                    ],
                                                    "expression": {
                                                        "id": 15365,
                                                        "name": "abi",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 4294967295,
                                                        "src": "19663:3:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_magic_abi",
                                                            "typeString": "abi"
                                                        }
                                                    },
                                                    "id": 15366,
                                                    "isConstant": false,
                                                    "isLValue": false,
                                                    "isPure": true,
                                                    "lValueRequested": false,
                                                    "memberName": "encodeWithSignature",
                                                    "nodeType": "MemberAccess",
                                                    "src": "19663:23:62",
                                                    "typeDescriptions": {
                                                        "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$",
                                                        "typeString": "function (string memory) pure returns (bytes memory)"
                                                    }
                                                },
                                                "id": 15372,
                                                "isConstant": false,
                                                "isLValue": false,
                                                "isPure": false,
                                                "kind": "functionCall",
                                                "lValueRequested": false,
                                                "names": [],
                                                "nodeType": "FunctionCall",
                                                "src": "19663:70:62",
                                                "tryCall": false,
                                                "typeDescriptions": {
                                                    "typeIdentifier": "t_bytes_memory_ptr",
                                                    "typeString": "bytes memory"
                                                }
                                            }
                                        ],
                                        "expression": {
                                            "argumentTypes": [
                                                {
                                                    "typeIdentifier": "t_bytes_memory_ptr",
                                                    "typeString": "bytes memory"
                                                }
                                            ],
                                            "id": 15364,
                                            "name": "_sendLogPayload",
                                            "nodeType": "Identifier",
                                            "overloadedDeclarations": [],
                                            "referencedDeclaration": 12880,
                                            "src": "19647:15:62",
                                            "typeDescriptions": {
                                                "typeIdentifier": "t_function_internal_view$_t_bytes_memory_ptr_$returns$__$",
                                                "typeString": "function (bytes memory) view"
                                            }
                                        },
                                        "id": 15373,
                                        "isConstant": false,
                                        "isLValue": false,
                                        "isPure": false,
                                        "kind": "functionCall",
                                        "lValueRequested": false,
                                        "names": [],
                                        "nodeType": "FunctionCall",
                                        "src": "19647:87:62",
                                        "tryCall": false,
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_tuple$__$",
                                            "typeString": "tuple()"
                                        }
                                    },
                                    "id": 15374,
                                    "nodeType": "ExpressionStatement",
                                    "src": "19647:87:62"
                                }
                            ]
                        },
                        "id": 15376,
                        "implemented": true,
                        "kind": "function",
                        "modifiers": [],
                        "name": "log",
                        "nameLocation": "19586:3:62",
                        "nodeType": "FunctionDefinition",
                        "parameters": {
                            "id": 15362,
                            "nodeType": "ParameterList",
                            "parameters": [
                                {
                                    "constant": false,
                                    "id": 15355,
                                    "mutability": "mutable",
                                    "name": "p0",
                                    "nameLocation": "19595:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 15376,
                                    "src": "19590:7:62",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_uint256",
                                        "typeString": "uint256"
                                    },
                                    "typeName": {
                                        "id": 15354,
                                        "name": "uint",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "19590:4:62",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_uint256",
                                            "typeString": "uint256"
                                        }
                                    },
                                    "visibility": "internal"
                                },
                                {
                                    "constant": false,
                                    "id": 15357,
                                    "mutability": "mutable",
                                    "name": "p1",
                                    "nameLocation": "19604:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 15376,
                                    "src": "19599:7:62",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_uint256",
                                        "typeString": "uint256"
                                    },
                                    "typeName": {
                                        "id": 15356,
                                        "name": "uint",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "19599:4:62",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_uint256",
                                            "typeString": "uint256"
                                        }
                                    },
                                    "visibility": "internal"
                                },
                                {
                                    "constant": false,
                                    "id": 15359,
                                    "mutability": "mutable",
                                    "name": "p2",
                                    "nameLocation": "19616:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 15376,
                                    "src": "19608:10:62",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_address",
                                        "typeString": "address"
                                    },
                                    "typeName": {
                                        "id": 15358,
                                        "name": "address",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "19608:7:62",
                                        "stateMutability": "nonpayable",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_address",
                                            "typeString": "address"
                                        }
                                    },
                                    "visibility": "internal"
                                },
                                {
                                    "constant": false,
                                    "id": 15361,
                                    "mutability": "mutable",
                                    "name": "p3",
                                    "nameLocation": "19625:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 15376,
                                    "src": "19620:7:62",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_bool",
                                        "typeString": "bool"
                                    },
                                    "typeName": {
                                        "id": 15360,
                                        "name": "bool",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "19620:4:62",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_bool",
                                            "typeString": "bool"
                                        }
                                    },
                                    "visibility": "internal"
                                }
                            ],
                            "src": "19589:39:62"
                        },
                        "returnParameters": {
                            "id": 15363,
                            "nodeType": "ParameterList",
                            "parameters": [],
                            "src": "19643:0:62"
                        },
                        "scope": 20920,
                        "src": "19577:161:62",
                        "stateMutability": "view",
                        "virtual": false,
                        "visibility": "internal"
                    },
                    {
                        "body": {
                            "id": 15398,
                            "nodeType": "Block",
                            "src": "19810:98:62",
                            "statements": [
                                {
                                    "expression": {
                                        "arguments": [
                                            {
                                                "arguments": [
                                                    {
                                                        "hexValue": "6c6f672875696e742c75696e742c616464726573732c6164647265737329",
                                                        "id": 15390,
                                                        "isConstant": false,
                                                        "isLValue": false,
                                                        "isPure": true,
                                                        "kind": "string",
                                                        "lValueRequested": false,
                                                        "nodeType": "Literal",
                                                        "src": "19854:32:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_stringliteral_ca939b20e9284d76bbbc091d0d45d06f650171230ac4f1f35652b8b6e1579811",
                                                            "typeString": "literal_string \"log(uint,uint,address,address)\""
                                                        },
                                                        "value": "log(uint,uint,address,address)"
                                                    },
                                                    {
                                                        "id": 15391,
                                                        "name": "p0",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 15378,
                                                        "src": "19888:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_uint256",
                                                            "typeString": "uint256"
                                                        }
                                                    },
                                                    {
                                                        "id": 15392,
                                                        "name": "p1",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 15380,
                                                        "src": "19892:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_uint256",
                                                            "typeString": "uint256"
                                                        }
                                                    },
                                                    {
                                                        "id": 15393,
                                                        "name": "p2",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 15382,
                                                        "src": "19896:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_address",
                                                            "typeString": "address"
                                                        }
                                                    },
                                                    {
                                                        "id": 15394,
                                                        "name": "p3",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 15384,
                                                        "src": "19900:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_address",
                                                            "typeString": "address"
                                                        }
                                                    }
                                                ],
                                                "expression": {
                                                    "argumentTypes": [
                                                        {
                                                            "typeIdentifier": "t_stringliteral_ca939b20e9284d76bbbc091d0d45d06f650171230ac4f1f35652b8b6e1579811",
                                                            "typeString": "literal_string \"log(uint,uint,address,address)\""
                                                        },
                                                        {
                                                            "typeIdentifier": "t_uint256",
                                                            "typeString": "uint256"
                                                        },
                                                        {
                                                            "typeIdentifier": "t_uint256",
                                                            "typeString": "uint256"
                                                        },
                                                        {
                                                            "typeIdentifier": "t_address",
                                                            "typeString": "address"
                                                        },
                                                        {
                                                            "typeIdentifier": "t_address",
                                                            "typeString": "address"
                                                        }
                                                    ],
                                                    "expression": {
                                                        "id": 15388,
                                                        "name": "abi",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 4294967295,
                                                        "src": "19830:3:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_magic_abi",
                                                            "typeString": "abi"
                                                        }
                                                    },
                                                    "id": 15389,
                                                    "isConstant": false,
                                                    "isLValue": false,
                                                    "isPure": true,
                                                    "lValueRequested": false,
                                                    "memberName": "encodeWithSignature",
                                                    "nodeType": "MemberAccess",
                                                    "src": "19830:23:62",
                                                    "typeDescriptions": {
                                                        "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$",
                                                        "typeString": "function (string memory) pure returns (bytes memory)"
                                                    }
                                                },
                                                "id": 15395,
                                                "isConstant": false,
                                                "isLValue": false,
                                                "isPure": false,
                                                "kind": "functionCall",
                                                "lValueRequested": false,
                                                "names": [],
                                                "nodeType": "FunctionCall",
                                                "src": "19830:73:62",
                                                "tryCall": false,
                                                "typeDescriptions": {
                                                    "typeIdentifier": "t_bytes_memory_ptr",
                                                    "typeString": "bytes memory"
                                                }
                                            }
                                        ],
                                        "expression": {
                                            "argumentTypes": [
                                                {
                                                    "typeIdentifier": "t_bytes_memory_ptr",
                                                    "typeString": "bytes memory"
                                                }
                                            ],
                                            "id": 15387,
                                            "name": "_sendLogPayload",
                                            "nodeType": "Identifier",
                                            "overloadedDeclarations": [],
                                            "referencedDeclaration": 12880,
                                            "src": "19814:15:62",
                                            "typeDescriptions": {
                                                "typeIdentifier": "t_function_internal_view$_t_bytes_memory_ptr_$returns$__$",
                                                "typeString": "function (bytes memory) view"
                                            }
                                        },
                                        "id": 15396,
                                        "isConstant": false,
                                        "isLValue": false,
                                        "isPure": false,
                                        "kind": "functionCall",
                                        "lValueRequested": false,
                                        "names": [],
                                        "nodeType": "FunctionCall",
                                        "src": "19814:90:62",
                                        "tryCall": false,
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_tuple$__$",
                                            "typeString": "tuple()"
                                        }
                                    },
                                    "id": 15397,
                                    "nodeType": "ExpressionStatement",
                                    "src": "19814:90:62"
                                }
                            ]
                        },
                        "id": 15399,
                        "implemented": true,
                        "kind": "function",
                        "modifiers": [],
                        "name": "log",
                        "nameLocation": "19750:3:62",
                        "nodeType": "FunctionDefinition",
                        "parameters": {
                            "id": 15385,
                            "nodeType": "ParameterList",
                            "parameters": [
                                {
                                    "constant": false,
                                    "id": 15378,
                                    "mutability": "mutable",
                                    "name": "p0",
                                    "nameLocation": "19759:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 15399,
                                    "src": "19754:7:62",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_uint256",
                                        "typeString": "uint256"
                                    },
                                    "typeName": {
                                        "id": 15377,
                                        "name": "uint",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "19754:4:62",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_uint256",
                                            "typeString": "uint256"
                                        }
                                    },
                                    "visibility": "internal"
                                },
                                {
                                    "constant": false,
                                    "id": 15380,
                                    "mutability": "mutable",
                                    "name": "p1",
                                    "nameLocation": "19768:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 15399,
                                    "src": "19763:7:62",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_uint256",
                                        "typeString": "uint256"
                                    },
                                    "typeName": {
                                        "id": 15379,
                                        "name": "uint",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "19763:4:62",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_uint256",
                                            "typeString": "uint256"
                                        }
                                    },
                                    "visibility": "internal"
                                },
                                {
                                    "constant": false,
                                    "id": 15382,
                                    "mutability": "mutable",
                                    "name": "p2",
                                    "nameLocation": "19780:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 15399,
                                    "src": "19772:10:62",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_address",
                                        "typeString": "address"
                                    },
                                    "typeName": {
                                        "id": 15381,
                                        "name": "address",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "19772:7:62",
                                        "stateMutability": "nonpayable",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_address",
                                            "typeString": "address"
                                        }
                                    },
                                    "visibility": "internal"
                                },
                                {
                                    "constant": false,
                                    "id": 15384,
                                    "mutability": "mutable",
                                    "name": "p3",
                                    "nameLocation": "19792:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 15399,
                                    "src": "19784:10:62",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_address",
                                        "typeString": "address"
                                    },
                                    "typeName": {
                                        "id": 15383,
                                        "name": "address",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "19784:7:62",
                                        "stateMutability": "nonpayable",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_address",
                                            "typeString": "address"
                                        }
                                    },
                                    "visibility": "internal"
                                }
                            ],
                            "src": "19753:42:62"
                        },
                        "returnParameters": {
                            "id": 15386,
                            "nodeType": "ParameterList",
                            "parameters": [],
                            "src": "19810:0:62"
                        },
                        "scope": 20920,
                        "src": "19741:167:62",
                        "stateMutability": "view",
                        "virtual": false,
                        "visibility": "internal"
                    },
                    {
                        "body": {
                            "id": 15421,
                            "nodeType": "Block",
                            "src": "19983:94:62",
                            "statements": [
                                {
                                    "expression": {
                                        "arguments": [
                                            {
                                                "arguments": [
                                                    {
                                                        "hexValue": "6c6f672875696e742c737472696e672c75696e742c75696e7429",
                                                        "id": 15413,
                                                        "isConstant": false,
                                                        "isLValue": false,
                                                        "isPure": true,
                                                        "kind": "string",
                                                        "lValueRequested": false,
                                                        "nodeType": "Literal",
                                                        "src": "20027:28:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_stringliteral_c0043807b5f951e0375253205c951c6e6a6b19b5de111342e8f6be7c7f284628",
                                                            "typeString": "literal_string \"log(uint,string,uint,uint)\""
                                                        },
                                                        "value": "log(uint,string,uint,uint)"
                                                    },
                                                    {
                                                        "id": 15414,
                                                        "name": "p0",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 15401,
                                                        "src": "20057:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_uint256",
                                                            "typeString": "uint256"
                                                        }
                                                    },
                                                    {
                                                        "id": 15415,
                                                        "name": "p1",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 15403,
                                                        "src": "20061:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_string_memory_ptr",
                                                            "typeString": "string memory"
                                                        }
                                                    },
                                                    {
                                                        "id": 15416,
                                                        "name": "p2",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 15405,
                                                        "src": "20065:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_uint256",
                                                            "typeString": "uint256"
                                                        }
                                                    },
                                                    {
                                                        "id": 15417,
                                                        "name": "p3",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 15407,
                                                        "src": "20069:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_uint256",
                                                            "typeString": "uint256"
                                                        }
                                                    }
                                                ],
                                                "expression": {
                                                    "argumentTypes": [
                                                        {
                                                            "typeIdentifier": "t_stringliteral_c0043807b5f951e0375253205c951c6e6a6b19b5de111342e8f6be7c7f284628",
                                                            "typeString": "literal_string \"log(uint,string,uint,uint)\""
                                                        },
                                                        {
                                                            "typeIdentifier": "t_uint256",
                                                            "typeString": "uint256"
                                                        },
                                                        {
                                                            "typeIdentifier": "t_string_memory_ptr",
                                                            "typeString": "string memory"
                                                        },
                                                        {
                                                            "typeIdentifier": "t_uint256",
                                                            "typeString": "uint256"
                                                        },
                                                        {
                                                            "typeIdentifier": "t_uint256",
                                                            "typeString": "uint256"
                                                        }
                                                    ],
                                                    "expression": {
                                                        "id": 15411,
                                                        "name": "abi",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 4294967295,
                                                        "src": "20003:3:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_magic_abi",
                                                            "typeString": "abi"
                                                        }
                                                    },
                                                    "id": 15412,
                                                    "isConstant": false,
                                                    "isLValue": false,
                                                    "isPure": true,
                                                    "lValueRequested": false,
                                                    "memberName": "encodeWithSignature",
                                                    "nodeType": "MemberAccess",
                                                    "src": "20003:23:62",
                                                    "typeDescriptions": {
                                                        "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$",
                                                        "typeString": "function (string memory) pure returns (bytes memory)"
                                                    }
                                                },
                                                "id": 15418,
                                                "isConstant": false,
                                                "isLValue": false,
                                                "isPure": false,
                                                "kind": "functionCall",
                                                "lValueRequested": false,
                                                "names": [],
                                                "nodeType": "FunctionCall",
                                                "src": "20003:69:62",
                                                "tryCall": false,
                                                "typeDescriptions": {
                                                    "typeIdentifier": "t_bytes_memory_ptr",
                                                    "typeString": "bytes memory"
                                                }
                                            }
                                        ],
                                        "expression": {
                                            "argumentTypes": [
                                                {
                                                    "typeIdentifier": "t_bytes_memory_ptr",
                                                    "typeString": "bytes memory"
                                                }
                                            ],
                                            "id": 15410,
                                            "name": "_sendLogPayload",
                                            "nodeType": "Identifier",
                                            "overloadedDeclarations": [],
                                            "referencedDeclaration": 12880,
                                            "src": "19987:15:62",
                                            "typeDescriptions": {
                                                "typeIdentifier": "t_function_internal_view$_t_bytes_memory_ptr_$returns$__$",
                                                "typeString": "function (bytes memory) view"
                                            }
                                        },
                                        "id": 15419,
                                        "isConstant": false,
                                        "isLValue": false,
                                        "isPure": false,
                                        "kind": "functionCall",
                                        "lValueRequested": false,
                                        "names": [],
                                        "nodeType": "FunctionCall",
                                        "src": "19987:86:62",
                                        "tryCall": false,
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_tuple$__$",
                                            "typeString": "tuple()"
                                        }
                                    },
                                    "id": 15420,
                                    "nodeType": "ExpressionStatement",
                                    "src": "19987:86:62"
                                }
                            ]
                        },
                        "id": 15422,
                        "implemented": true,
                        "kind": "function",
                        "modifiers": [],
                        "name": "log",
                        "nameLocation": "19920:3:62",
                        "nodeType": "FunctionDefinition",
                        "parameters": {
                            "id": 15408,
                            "nodeType": "ParameterList",
                            "parameters": [
                                {
                                    "constant": false,
                                    "id": 15401,
                                    "mutability": "mutable",
                                    "name": "p0",
                                    "nameLocation": "19929:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 15422,
                                    "src": "19924:7:62",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_uint256",
                                        "typeString": "uint256"
                                    },
                                    "typeName": {
                                        "id": 15400,
                                        "name": "uint",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "19924:4:62",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_uint256",
                                            "typeString": "uint256"
                                        }
                                    },
                                    "visibility": "internal"
                                },
                                {
                                    "constant": false,
                                    "id": 15403,
                                    "mutability": "mutable",
                                    "name": "p1",
                                    "nameLocation": "19947:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 15422,
                                    "src": "19933:16:62",
                                    "stateVariable": false,
                                    "storageLocation": "memory",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_string_memory_ptr",
                                        "typeString": "string"
                                    },
                                    "typeName": {
                                        "id": 15402,
                                        "name": "string",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "19933:6:62",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_string_storage_ptr",
                                            "typeString": "string"
                                        }
                                    },
                                    "visibility": "internal"
                                },
                                {
                                    "constant": false,
                                    "id": 15405,
                                    "mutability": "mutable",
                                    "name": "p2",
                                    "nameLocation": "19956:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 15422,
                                    "src": "19951:7:62",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_uint256",
                                        "typeString": "uint256"
                                    },
                                    "typeName": {
                                        "id": 15404,
                                        "name": "uint",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "19951:4:62",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_uint256",
                                            "typeString": "uint256"
                                        }
                                    },
                                    "visibility": "internal"
                                },
                                {
                                    "constant": false,
                                    "id": 15407,
                                    "mutability": "mutable",
                                    "name": "p3",
                                    "nameLocation": "19965:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 15422,
                                    "src": "19960:7:62",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_uint256",
                                        "typeString": "uint256"
                                    },
                                    "typeName": {
                                        "id": 15406,
                                        "name": "uint",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "19960:4:62",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_uint256",
                                            "typeString": "uint256"
                                        }
                                    },
                                    "visibility": "internal"
                                }
                            ],
                            "src": "19923:45:62"
                        },
                        "returnParameters": {
                            "id": 15409,
                            "nodeType": "ParameterList",
                            "parameters": [],
                            "src": "19983:0:62"
                        },
                        "scope": 20920,
                        "src": "19911:166:62",
                        "stateMutability": "view",
                        "virtual": false,
                        "visibility": "internal"
                    },
                    {
                        "body": {
                            "id": 15444,
                            "nodeType": "Block",
                            "src": "20161:96:62",
                            "statements": [
                                {
                                    "expression": {
                                        "arguments": [
                                            {
                                                "arguments": [
                                                    {
                                                        "hexValue": "6c6f672875696e742c737472696e672c75696e742c737472696e6729",
                                                        "id": 15436,
                                                        "isConstant": false,
                                                        "isLValue": false,
                                                        "isPure": true,
                                                        "kind": "string",
                                                        "lValueRequested": false,
                                                        "nodeType": "Literal",
                                                        "src": "20205:30:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_stringliteral_a2bc0c99cedfd873182e8eb1e68799dc8925c663b8ce2430858586fba62fe313",
                                                            "typeString": "literal_string \"log(uint,string,uint,string)\""
                                                        },
                                                        "value": "log(uint,string,uint,string)"
                                                    },
                                                    {
                                                        "id": 15437,
                                                        "name": "p0",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 15424,
                                                        "src": "20237:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_uint256",
                                                            "typeString": "uint256"
                                                        }
                                                    },
                                                    {
                                                        "id": 15438,
                                                        "name": "p1",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 15426,
                                                        "src": "20241:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_string_memory_ptr",
                                                            "typeString": "string memory"
                                                        }
                                                    },
                                                    {
                                                        "id": 15439,
                                                        "name": "p2",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 15428,
                                                        "src": "20245:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_uint256",
                                                            "typeString": "uint256"
                                                        }
                                                    },
                                                    {
                                                        "id": 15440,
                                                        "name": "p3",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 15430,
                                                        "src": "20249:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_string_memory_ptr",
                                                            "typeString": "string memory"
                                                        }
                                                    }
                                                ],
                                                "expression": {
                                                    "argumentTypes": [
                                                        {
                                                            "typeIdentifier": "t_stringliteral_a2bc0c99cedfd873182e8eb1e68799dc8925c663b8ce2430858586fba62fe313",
                                                            "typeString": "literal_string \"log(uint,string,uint,string)\""
                                                        },
                                                        {
                                                            "typeIdentifier": "t_uint256",
                                                            "typeString": "uint256"
                                                        },
                                                        {
                                                            "typeIdentifier": "t_string_memory_ptr",
                                                            "typeString": "string memory"
                                                        },
                                                        {
                                                            "typeIdentifier": "t_uint256",
                                                            "typeString": "uint256"
                                                        },
                                                        {
                                                            "typeIdentifier": "t_string_memory_ptr",
                                                            "typeString": "string memory"
                                                        }
                                                    ],
                                                    "expression": {
                                                        "id": 15434,
                                                        "name": "abi",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 4294967295,
                                                        "src": "20181:3:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_magic_abi",
                                                            "typeString": "abi"
                                                        }
                                                    },
                                                    "id": 15435,
                                                    "isConstant": false,
                                                    "isLValue": false,
                                                    "isPure": true,
                                                    "lValueRequested": false,
                                                    "memberName": "encodeWithSignature",
                                                    "nodeType": "MemberAccess",
                                                    "src": "20181:23:62",
                                                    "typeDescriptions": {
                                                        "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$",
                                                        "typeString": "function (string memory) pure returns (bytes memory)"
                                                    }
                                                },
                                                "id": 15441,
                                                "isConstant": false,
                                                "isLValue": false,
                                                "isPure": false,
                                                "kind": "functionCall",
                                                "lValueRequested": false,
                                                "names": [],
                                                "nodeType": "FunctionCall",
                                                "src": "20181:71:62",
                                                "tryCall": false,
                                                "typeDescriptions": {
                                                    "typeIdentifier": "t_bytes_memory_ptr",
                                                    "typeString": "bytes memory"
                                                }
                                            }
                                        ],
                                        "expression": {
                                            "argumentTypes": [
                                                {
                                                    "typeIdentifier": "t_bytes_memory_ptr",
                                                    "typeString": "bytes memory"
                                                }
                                            ],
                                            "id": 15433,
                                            "name": "_sendLogPayload",
                                            "nodeType": "Identifier",
                                            "overloadedDeclarations": [],
                                            "referencedDeclaration": 12880,
                                            "src": "20165:15:62",
                                            "typeDescriptions": {
                                                "typeIdentifier": "t_function_internal_view$_t_bytes_memory_ptr_$returns$__$",
                                                "typeString": "function (bytes memory) view"
                                            }
                                        },
                                        "id": 15442,
                                        "isConstant": false,
                                        "isLValue": false,
                                        "isPure": false,
                                        "kind": "functionCall",
                                        "lValueRequested": false,
                                        "names": [],
                                        "nodeType": "FunctionCall",
                                        "src": "20165:88:62",
                                        "tryCall": false,
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_tuple$__$",
                                            "typeString": "tuple()"
                                        }
                                    },
                                    "id": 15443,
                                    "nodeType": "ExpressionStatement",
                                    "src": "20165:88:62"
                                }
                            ]
                        },
                        "id": 15445,
                        "implemented": true,
                        "kind": "function",
                        "modifiers": [],
                        "name": "log",
                        "nameLocation": "20089:3:62",
                        "nodeType": "FunctionDefinition",
                        "parameters": {
                            "id": 15431,
                            "nodeType": "ParameterList",
                            "parameters": [
                                {
                                    "constant": false,
                                    "id": 15424,
                                    "mutability": "mutable",
                                    "name": "p0",
                                    "nameLocation": "20098:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 15445,
                                    "src": "20093:7:62",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_uint256",
                                        "typeString": "uint256"
                                    },
                                    "typeName": {
                                        "id": 15423,
                                        "name": "uint",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "20093:4:62",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_uint256",
                                            "typeString": "uint256"
                                        }
                                    },
                                    "visibility": "internal"
                                },
                                {
                                    "constant": false,
                                    "id": 15426,
                                    "mutability": "mutable",
                                    "name": "p1",
                                    "nameLocation": "20116:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 15445,
                                    "src": "20102:16:62",
                                    "stateVariable": false,
                                    "storageLocation": "memory",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_string_memory_ptr",
                                        "typeString": "string"
                                    },
                                    "typeName": {
                                        "id": 15425,
                                        "name": "string",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "20102:6:62",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_string_storage_ptr",
                                            "typeString": "string"
                                        }
                                    },
                                    "visibility": "internal"
                                },
                                {
                                    "constant": false,
                                    "id": 15428,
                                    "mutability": "mutable",
                                    "name": "p2",
                                    "nameLocation": "20125:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 15445,
                                    "src": "20120:7:62",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_uint256",
                                        "typeString": "uint256"
                                    },
                                    "typeName": {
                                        "id": 15427,
                                        "name": "uint",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "20120:4:62",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_uint256",
                                            "typeString": "uint256"
                                        }
                                    },
                                    "visibility": "internal"
                                },
                                {
                                    "constant": false,
                                    "id": 15430,
                                    "mutability": "mutable",
                                    "name": "p3",
                                    "nameLocation": "20143:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 15445,
                                    "src": "20129:16:62",
                                    "stateVariable": false,
                                    "storageLocation": "memory",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_string_memory_ptr",
                                        "typeString": "string"
                                    },
                                    "typeName": {
                                        "id": 15429,
                                        "name": "string",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "20129:6:62",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_string_storage_ptr",
                                            "typeString": "string"
                                        }
                                    },
                                    "visibility": "internal"
                                }
                            ],
                            "src": "20092:54:62"
                        },
                        "returnParameters": {
                            "id": 15432,
                            "nodeType": "ParameterList",
                            "parameters": [],
                            "src": "20161:0:62"
                        },
                        "scope": 20920,
                        "src": "20080:177:62",
                        "stateMutability": "view",
                        "virtual": false,
                        "visibility": "internal"
                    },
                    {
                        "body": {
                            "id": 15467,
                            "nodeType": "Block",
                            "src": "20332:94:62",
                            "statements": [
                                {
                                    "expression": {
                                        "arguments": [
                                            {
                                                "arguments": [
                                                    {
                                                        "hexValue": "6c6f672875696e742c737472696e672c75696e742c626f6f6c29",
                                                        "id": 15459,
                                                        "isConstant": false,
                                                        "isLValue": false,
                                                        "isPure": true,
                                                        "kind": "string",
                                                        "lValueRequested": false,
                                                        "nodeType": "Literal",
                                                        "src": "20376:28:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_stringliteral_875a6e2ed2444d0d09e264b06717914212d8a793bea0f48b5633e707ac53784d",
                                                            "typeString": "literal_string \"log(uint,string,uint,bool)\""
                                                        },
                                                        "value": "log(uint,string,uint,bool)"
                                                    },
                                                    {
                                                        "id": 15460,
                                                        "name": "p0",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 15447,
                                                        "src": "20406:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_uint256",
                                                            "typeString": "uint256"
                                                        }
                                                    },
                                                    {
                                                        "id": 15461,
                                                        "name": "p1",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 15449,
                                                        "src": "20410:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_string_memory_ptr",
                                                            "typeString": "string memory"
                                                        }
                                                    },
                                                    {
                                                        "id": 15462,
                                                        "name": "p2",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 15451,
                                                        "src": "20414:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_uint256",
                                                            "typeString": "uint256"
                                                        }
                                                    },
                                                    {
                                                        "id": 15463,
                                                        "name": "p3",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 15453,
                                                        "src": "20418:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_bool",
                                                            "typeString": "bool"
                                                        }
                                                    }
                                                ],
                                                "expression": {
                                                    "argumentTypes": [
                                                        {
                                                            "typeIdentifier": "t_stringliteral_875a6e2ed2444d0d09e264b06717914212d8a793bea0f48b5633e707ac53784d",
                                                            "typeString": "literal_string \"log(uint,string,uint,bool)\""
                                                        },
                                                        {
                                                            "typeIdentifier": "t_uint256",
                                                            "typeString": "uint256"
                                                        },
                                                        {
                                                            "typeIdentifier": "t_string_memory_ptr",
                                                            "typeString": "string memory"
                                                        },
                                                        {
                                                            "typeIdentifier": "t_uint256",
                                                            "typeString": "uint256"
                                                        },
                                                        {
                                                            "typeIdentifier": "t_bool",
                                                            "typeString": "bool"
                                                        }
                                                    ],
                                                    "expression": {
                                                        "id": 15457,
                                                        "name": "abi",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 4294967295,
                                                        "src": "20352:3:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_magic_abi",
                                                            "typeString": "abi"
                                                        }
                                                    },
                                                    "id": 15458,
                                                    "isConstant": false,
                                                    "isLValue": false,
                                                    "isPure": true,
                                                    "lValueRequested": false,
                                                    "memberName": "encodeWithSignature",
                                                    "nodeType": "MemberAccess",
                                                    "src": "20352:23:62",
                                                    "typeDescriptions": {
                                                        "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$",
                                                        "typeString": "function (string memory) pure returns (bytes memory)"
                                                    }
                                                },
                                                "id": 15464,
                                                "isConstant": false,
                                                "isLValue": false,
                                                "isPure": false,
                                                "kind": "functionCall",
                                                "lValueRequested": false,
                                                "names": [],
                                                "nodeType": "FunctionCall",
                                                "src": "20352:69:62",
                                                "tryCall": false,
                                                "typeDescriptions": {
                                                    "typeIdentifier": "t_bytes_memory_ptr",
                                                    "typeString": "bytes memory"
                                                }
                                            }
                                        ],
                                        "expression": {
                                            "argumentTypes": [
                                                {
                                                    "typeIdentifier": "t_bytes_memory_ptr",
                                                    "typeString": "bytes memory"
                                                }
                                            ],
                                            "id": 15456,
                                            "name": "_sendLogPayload",
                                            "nodeType": "Identifier",
                                            "overloadedDeclarations": [],
                                            "referencedDeclaration": 12880,
                                            "src": "20336:15:62",
                                            "typeDescriptions": {
                                                "typeIdentifier": "t_function_internal_view$_t_bytes_memory_ptr_$returns$__$",
                                                "typeString": "function (bytes memory) view"
                                            }
                                        },
                                        "id": 15465,
                                        "isConstant": false,
                                        "isLValue": false,
                                        "isPure": false,
                                        "kind": "functionCall",
                                        "lValueRequested": false,
                                        "names": [],
                                        "nodeType": "FunctionCall",
                                        "src": "20336:86:62",
                                        "tryCall": false,
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_tuple$__$",
                                            "typeString": "tuple()"
                                        }
                                    },
                                    "id": 15466,
                                    "nodeType": "ExpressionStatement",
                                    "src": "20336:86:62"
                                }
                            ]
                        },
                        "id": 15468,
                        "implemented": true,
                        "kind": "function",
                        "modifiers": [],
                        "name": "log",
                        "nameLocation": "20269:3:62",
                        "nodeType": "FunctionDefinition",
                        "parameters": {
                            "id": 15454,
                            "nodeType": "ParameterList",
                            "parameters": [
                                {
                                    "constant": false,
                                    "id": 15447,
                                    "mutability": "mutable",
                                    "name": "p0",
                                    "nameLocation": "20278:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 15468,
                                    "src": "20273:7:62",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_uint256",
                                        "typeString": "uint256"
                                    },
                                    "typeName": {
                                        "id": 15446,
                                        "name": "uint",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "20273:4:62",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_uint256",
                                            "typeString": "uint256"
                                        }
                                    },
                                    "visibility": "internal"
                                },
                                {
                                    "constant": false,
                                    "id": 15449,
                                    "mutability": "mutable",
                                    "name": "p1",
                                    "nameLocation": "20296:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 15468,
                                    "src": "20282:16:62",
                                    "stateVariable": false,
                                    "storageLocation": "memory",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_string_memory_ptr",
                                        "typeString": "string"
                                    },
                                    "typeName": {
                                        "id": 15448,
                                        "name": "string",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "20282:6:62",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_string_storage_ptr",
                                            "typeString": "string"
                                        }
                                    },
                                    "visibility": "internal"
                                },
                                {
                                    "constant": false,
                                    "id": 15451,
                                    "mutability": "mutable",
                                    "name": "p2",
                                    "nameLocation": "20305:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 15468,
                                    "src": "20300:7:62",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_uint256",
                                        "typeString": "uint256"
                                    },
                                    "typeName": {
                                        "id": 15450,
                                        "name": "uint",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "20300:4:62",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_uint256",
                                            "typeString": "uint256"
                                        }
                                    },
                                    "visibility": "internal"
                                },
                                {
                                    "constant": false,
                                    "id": 15453,
                                    "mutability": "mutable",
                                    "name": "p3",
                                    "nameLocation": "20314:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 15468,
                                    "src": "20309:7:62",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_bool",
                                        "typeString": "bool"
                                    },
                                    "typeName": {
                                        "id": 15452,
                                        "name": "bool",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "20309:4:62",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_bool",
                                            "typeString": "bool"
                                        }
                                    },
                                    "visibility": "internal"
                                }
                            ],
                            "src": "20272:45:62"
                        },
                        "returnParameters": {
                            "id": 15455,
                            "nodeType": "ParameterList",
                            "parameters": [],
                            "src": "20332:0:62"
                        },
                        "scope": 20920,
                        "src": "20260:166:62",
                        "stateMutability": "view",
                        "virtual": false,
                        "visibility": "internal"
                    },
                    {
                        "body": {
                            "id": 15490,
                            "nodeType": "Block",
                            "src": "20504:97:62",
                            "statements": [
                                {
                                    "expression": {
                                        "arguments": [
                                            {
                                                "arguments": [
                                                    {
                                                        "hexValue": "6c6f672875696e742c737472696e672c75696e742c6164647265737329",
                                                        "id": 15482,
                                                        "isConstant": false,
                                                        "isLValue": false,
                                                        "isPure": true,
                                                        "kind": "string",
                                                        "lValueRequested": false,
                                                        "nodeType": "Literal",
                                                        "src": "20548:31:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_stringliteral_ab7bd9fd9b149127bbb235a3e1bec9a2e844f3968bdc1f48944c4b1973dacfda",
                                                            "typeString": "literal_string \"log(uint,string,uint,address)\""
                                                        },
                                                        "value": "log(uint,string,uint,address)"
                                                    },
                                                    {
                                                        "id": 15483,
                                                        "name": "p0",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 15470,
                                                        "src": "20581:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_uint256",
                                                            "typeString": "uint256"
                                                        }
                                                    },
                                                    {
                                                        "id": 15484,
                                                        "name": "p1",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 15472,
                                                        "src": "20585:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_string_memory_ptr",
                                                            "typeString": "string memory"
                                                        }
                                                    },
                                                    {
                                                        "id": 15485,
                                                        "name": "p2",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 15474,
                                                        "src": "20589:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_uint256",
                                                            "typeString": "uint256"
                                                        }
                                                    },
                                                    {
                                                        "id": 15486,
                                                        "name": "p3",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 15476,
                                                        "src": "20593:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_address",
                                                            "typeString": "address"
                                                        }
                                                    }
                                                ],
                                                "expression": {
                                                    "argumentTypes": [
                                                        {
                                                            "typeIdentifier": "t_stringliteral_ab7bd9fd9b149127bbb235a3e1bec9a2e844f3968bdc1f48944c4b1973dacfda",
                                                            "typeString": "literal_string \"log(uint,string,uint,address)\""
                                                        },
                                                        {
                                                            "typeIdentifier": "t_uint256",
                                                            "typeString": "uint256"
                                                        },
                                                        {
                                                            "typeIdentifier": "t_string_memory_ptr",
                                                            "typeString": "string memory"
                                                        },
                                                        {
                                                            "typeIdentifier": "t_uint256",
                                                            "typeString": "uint256"
                                                        },
                                                        {
                                                            "typeIdentifier": "t_address",
                                                            "typeString": "address"
                                                        }
                                                    ],
                                                    "expression": {
                                                        "id": 15480,
                                                        "name": "abi",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 4294967295,
                                                        "src": "20524:3:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_magic_abi",
                                                            "typeString": "abi"
                                                        }
                                                    },
                                                    "id": 15481,
                                                    "isConstant": false,
                                                    "isLValue": false,
                                                    "isPure": true,
                                                    "lValueRequested": false,
                                                    "memberName": "encodeWithSignature",
                                                    "nodeType": "MemberAccess",
                                                    "src": "20524:23:62",
                                                    "typeDescriptions": {
                                                        "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$",
                                                        "typeString": "function (string memory) pure returns (bytes memory)"
                                                    }
                                                },
                                                "id": 15487,
                                                "isConstant": false,
                                                "isLValue": false,
                                                "isPure": false,
                                                "kind": "functionCall",
                                                "lValueRequested": false,
                                                "names": [],
                                                "nodeType": "FunctionCall",
                                                "src": "20524:72:62",
                                                "tryCall": false,
                                                "typeDescriptions": {
                                                    "typeIdentifier": "t_bytes_memory_ptr",
                                                    "typeString": "bytes memory"
                                                }
                                            }
                                        ],
                                        "expression": {
                                            "argumentTypes": [
                                                {
                                                    "typeIdentifier": "t_bytes_memory_ptr",
                                                    "typeString": "bytes memory"
                                                }
                                            ],
                                            "id": 15479,
                                            "name": "_sendLogPayload",
                                            "nodeType": "Identifier",
                                            "overloadedDeclarations": [],
                                            "referencedDeclaration": 12880,
                                            "src": "20508:15:62",
                                            "typeDescriptions": {
                                                "typeIdentifier": "t_function_internal_view$_t_bytes_memory_ptr_$returns$__$",
                                                "typeString": "function (bytes memory) view"
                                            }
                                        },
                                        "id": 15488,
                                        "isConstant": false,
                                        "isLValue": false,
                                        "isPure": false,
                                        "kind": "functionCall",
                                        "lValueRequested": false,
                                        "names": [],
                                        "nodeType": "FunctionCall",
                                        "src": "20508:89:62",
                                        "tryCall": false,
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_tuple$__$",
                                            "typeString": "tuple()"
                                        }
                                    },
                                    "id": 15489,
                                    "nodeType": "ExpressionStatement",
                                    "src": "20508:89:62"
                                }
                            ]
                        },
                        "id": 15491,
                        "implemented": true,
                        "kind": "function",
                        "modifiers": [],
                        "name": "log",
                        "nameLocation": "20438:3:62",
                        "nodeType": "FunctionDefinition",
                        "parameters": {
                            "id": 15477,
                            "nodeType": "ParameterList",
                            "parameters": [
                                {
                                    "constant": false,
                                    "id": 15470,
                                    "mutability": "mutable",
                                    "name": "p0",
                                    "nameLocation": "20447:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 15491,
                                    "src": "20442:7:62",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_uint256",
                                        "typeString": "uint256"
                                    },
                                    "typeName": {
                                        "id": 15469,
                                        "name": "uint",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "20442:4:62",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_uint256",
                                            "typeString": "uint256"
                                        }
                                    },
                                    "visibility": "internal"
                                },
                                {
                                    "constant": false,
                                    "id": 15472,
                                    "mutability": "mutable",
                                    "name": "p1",
                                    "nameLocation": "20465:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 15491,
                                    "src": "20451:16:62",
                                    "stateVariable": false,
                                    "storageLocation": "memory",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_string_memory_ptr",
                                        "typeString": "string"
                                    },
                                    "typeName": {
                                        "id": 15471,
                                        "name": "string",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "20451:6:62",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_string_storage_ptr",
                                            "typeString": "string"
                                        }
                                    },
                                    "visibility": "internal"
                                },
                                {
                                    "constant": false,
                                    "id": 15474,
                                    "mutability": "mutable",
                                    "name": "p2",
                                    "nameLocation": "20474:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 15491,
                                    "src": "20469:7:62",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_uint256",
                                        "typeString": "uint256"
                                    },
                                    "typeName": {
                                        "id": 15473,
                                        "name": "uint",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "20469:4:62",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_uint256",
                                            "typeString": "uint256"
                                        }
                                    },
                                    "visibility": "internal"
                                },
                                {
                                    "constant": false,
                                    "id": 15476,
                                    "mutability": "mutable",
                                    "name": "p3",
                                    "nameLocation": "20486:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 15491,
                                    "src": "20478:10:62",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_address",
                                        "typeString": "address"
                                    },
                                    "typeName": {
                                        "id": 15475,
                                        "name": "address",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "20478:7:62",
                                        "stateMutability": "nonpayable",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_address",
                                            "typeString": "address"
                                        }
                                    },
                                    "visibility": "internal"
                                }
                            ],
                            "src": "20441:48:62"
                        },
                        "returnParameters": {
                            "id": 15478,
                            "nodeType": "ParameterList",
                            "parameters": [],
                            "src": "20504:0:62"
                        },
                        "scope": 20920,
                        "src": "20429:172:62",
                        "stateMutability": "view",
                        "virtual": false,
                        "visibility": "internal"
                    },
                    {
                        "body": {
                            "id": 15513,
                            "nodeType": "Block",
                            "src": "20685:96:62",
                            "statements": [
                                {
                                    "expression": {
                                        "arguments": [
                                            {
                                                "arguments": [
                                                    {
                                                        "hexValue": "6c6f672875696e742c737472696e672c737472696e672c75696e7429",
                                                        "id": 15505,
                                                        "isConstant": false,
                                                        "isLValue": false,
                                                        "isPure": true,
                                                        "kind": "string",
                                                        "lValueRequested": false,
                                                        "nodeType": "Literal",
                                                        "src": "20729:30:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_stringliteral_76ec635e4702367bf449b895743175fa2654af8170b6d9c20dd183616d0a192b",
                                                            "typeString": "literal_string \"log(uint,string,string,uint)\""
                                                        },
                                                        "value": "log(uint,string,string,uint)"
                                                    },
                                                    {
                                                        "id": 15506,
                                                        "name": "p0",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 15493,
                                                        "src": "20761:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_uint256",
                                                            "typeString": "uint256"
                                                        }
                                                    },
                                                    {
                                                        "id": 15507,
                                                        "name": "p1",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 15495,
                                                        "src": "20765:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_string_memory_ptr",
                                                            "typeString": "string memory"
                                                        }
                                                    },
                                                    {
                                                        "id": 15508,
                                                        "name": "p2",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 15497,
                                                        "src": "20769:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_string_memory_ptr",
                                                            "typeString": "string memory"
                                                        }
                                                    },
                                                    {
                                                        "id": 15509,
                                                        "name": "p3",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 15499,
                                                        "src": "20773:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_uint256",
                                                            "typeString": "uint256"
                                                        }
                                                    }
                                                ],
                                                "expression": {
                                                    "argumentTypes": [
                                                        {
                                                            "typeIdentifier": "t_stringliteral_76ec635e4702367bf449b895743175fa2654af8170b6d9c20dd183616d0a192b",
                                                            "typeString": "literal_string \"log(uint,string,string,uint)\""
                                                        },
                                                        {
                                                            "typeIdentifier": "t_uint256",
                                                            "typeString": "uint256"
                                                        },
                                                        {
                                                            "typeIdentifier": "t_string_memory_ptr",
                                                            "typeString": "string memory"
                                                        },
                                                        {
                                                            "typeIdentifier": "t_string_memory_ptr",
                                                            "typeString": "string memory"
                                                        },
                                                        {
                                                            "typeIdentifier": "t_uint256",
                                                            "typeString": "uint256"
                                                        }
                                                    ],
                                                    "expression": {
                                                        "id": 15503,
                                                        "name": "abi",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 4294967295,
                                                        "src": "20705:3:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_magic_abi",
                                                            "typeString": "abi"
                                                        }
                                                    },
                                                    "id": 15504,
                                                    "isConstant": false,
                                                    "isLValue": false,
                                                    "isPure": true,
                                                    "lValueRequested": false,
                                                    "memberName": "encodeWithSignature",
                                                    "nodeType": "MemberAccess",
                                                    "src": "20705:23:62",
                                                    "typeDescriptions": {
                                                        "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$",
                                                        "typeString": "function (string memory) pure returns (bytes memory)"
                                                    }
                                                },
                                                "id": 15510,
                                                "isConstant": false,
                                                "isLValue": false,
                                                "isPure": false,
                                                "kind": "functionCall",
                                                "lValueRequested": false,
                                                "names": [],
                                                "nodeType": "FunctionCall",
                                                "src": "20705:71:62",
                                                "tryCall": false,
                                                "typeDescriptions": {
                                                    "typeIdentifier": "t_bytes_memory_ptr",
                                                    "typeString": "bytes memory"
                                                }
                                            }
                                        ],
                                        "expression": {
                                            "argumentTypes": [
                                                {
                                                    "typeIdentifier": "t_bytes_memory_ptr",
                                                    "typeString": "bytes memory"
                                                }
                                            ],
                                            "id": 15502,
                                            "name": "_sendLogPayload",
                                            "nodeType": "Identifier",
                                            "overloadedDeclarations": [],
                                            "referencedDeclaration": 12880,
                                            "src": "20689:15:62",
                                            "typeDescriptions": {
                                                "typeIdentifier": "t_function_internal_view$_t_bytes_memory_ptr_$returns$__$",
                                                "typeString": "function (bytes memory) view"
                                            }
                                        },
                                        "id": 15511,
                                        "isConstant": false,
                                        "isLValue": false,
                                        "isPure": false,
                                        "kind": "functionCall",
                                        "lValueRequested": false,
                                        "names": [],
                                        "nodeType": "FunctionCall",
                                        "src": "20689:88:62",
                                        "tryCall": false,
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_tuple$__$",
                                            "typeString": "tuple()"
                                        }
                                    },
                                    "id": 15512,
                                    "nodeType": "ExpressionStatement",
                                    "src": "20689:88:62"
                                }
                            ]
                        },
                        "id": 15514,
                        "implemented": true,
                        "kind": "function",
                        "modifiers": [],
                        "name": "log",
                        "nameLocation": "20613:3:62",
                        "nodeType": "FunctionDefinition",
                        "parameters": {
                            "id": 15500,
                            "nodeType": "ParameterList",
                            "parameters": [
                                {
                                    "constant": false,
                                    "id": 15493,
                                    "mutability": "mutable",
                                    "name": "p0",
                                    "nameLocation": "20622:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 15514,
                                    "src": "20617:7:62",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_uint256",
                                        "typeString": "uint256"
                                    },
                                    "typeName": {
                                        "id": 15492,
                                        "name": "uint",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "20617:4:62",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_uint256",
                                            "typeString": "uint256"
                                        }
                                    },
                                    "visibility": "internal"
                                },
                                {
                                    "constant": false,
                                    "id": 15495,
                                    "mutability": "mutable",
                                    "name": "p1",
                                    "nameLocation": "20640:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 15514,
                                    "src": "20626:16:62",
                                    "stateVariable": false,
                                    "storageLocation": "memory",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_string_memory_ptr",
                                        "typeString": "string"
                                    },
                                    "typeName": {
                                        "id": 15494,
                                        "name": "string",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "20626:6:62",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_string_storage_ptr",
                                            "typeString": "string"
                                        }
                                    },
                                    "visibility": "internal"
                                },
                                {
                                    "constant": false,
                                    "id": 15497,
                                    "mutability": "mutable",
                                    "name": "p2",
                                    "nameLocation": "20658:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 15514,
                                    "src": "20644:16:62",
                                    "stateVariable": false,
                                    "storageLocation": "memory",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_string_memory_ptr",
                                        "typeString": "string"
                                    },
                                    "typeName": {
                                        "id": 15496,
                                        "name": "string",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "20644:6:62",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_string_storage_ptr",
                                            "typeString": "string"
                                        }
                                    },
                                    "visibility": "internal"
                                },
                                {
                                    "constant": false,
                                    "id": 15499,
                                    "mutability": "mutable",
                                    "name": "p3",
                                    "nameLocation": "20667:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 15514,
                                    "src": "20662:7:62",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_uint256",
                                        "typeString": "uint256"
                                    },
                                    "typeName": {
                                        "id": 15498,
                                        "name": "uint",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "20662:4:62",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_uint256",
                                            "typeString": "uint256"
                                        }
                                    },
                                    "visibility": "internal"
                                }
                            ],
                            "src": "20616:54:62"
                        },
                        "returnParameters": {
                            "id": 15501,
                            "nodeType": "ParameterList",
                            "parameters": [],
                            "src": "20685:0:62"
                        },
                        "scope": 20920,
                        "src": "20604:177:62",
                        "stateMutability": "view",
                        "virtual": false,
                        "visibility": "internal"
                    },
                    {
                        "body": {
                            "id": 15536,
                            "nodeType": "Block",
                            "src": "20874:98:62",
                            "statements": [
                                {
                                    "expression": {
                                        "arguments": [
                                            {
                                                "arguments": [
                                                    {
                                                        "hexValue": "6c6f672875696e742c737472696e672c737472696e672c737472696e6729",
                                                        "id": 15528,
                                                        "isConstant": false,
                                                        "isLValue": false,
                                                        "isPure": true,
                                                        "kind": "string",
                                                        "lValueRequested": false,
                                                        "nodeType": "Literal",
                                                        "src": "20918:32:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_stringliteral_57dd0a119927787a0c91b48333e191a1b3a4082dcb6efc912e2ba5b047e15156",
                                                            "typeString": "literal_string \"log(uint,string,string,string)\""
                                                        },
                                                        "value": "log(uint,string,string,string)"
                                                    },
                                                    {
                                                        "id": 15529,
                                                        "name": "p0",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 15516,
                                                        "src": "20952:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_uint256",
                                                            "typeString": "uint256"
                                                        }
                                                    },
                                                    {
                                                        "id": 15530,
                                                        "name": "p1",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 15518,
                                                        "src": "20956:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_string_memory_ptr",
                                                            "typeString": "string memory"
                                                        }
                                                    },
                                                    {
                                                        "id": 15531,
                                                        "name": "p2",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 15520,
                                                        "src": "20960:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_string_memory_ptr",
                                                            "typeString": "string memory"
                                                        }
                                                    },
                                                    {
                                                        "id": 15532,
                                                        "name": "p3",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 15522,
                                                        "src": "20964:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_string_memory_ptr",
                                                            "typeString": "string memory"
                                                        }
                                                    }
                                                ],
                                                "expression": {
                                                    "argumentTypes": [
                                                        {
                                                            "typeIdentifier": "t_stringliteral_57dd0a119927787a0c91b48333e191a1b3a4082dcb6efc912e2ba5b047e15156",
                                                            "typeString": "literal_string \"log(uint,string,string,string)\""
                                                        },
                                                        {
                                                            "typeIdentifier": "t_uint256",
                                                            "typeString": "uint256"
                                                        },
                                                        {
                                                            "typeIdentifier": "t_string_memory_ptr",
                                                            "typeString": "string memory"
                                                        },
                                                        {
                                                            "typeIdentifier": "t_string_memory_ptr",
                                                            "typeString": "string memory"
                                                        },
                                                        {
                                                            "typeIdentifier": "t_string_memory_ptr",
                                                            "typeString": "string memory"
                                                        }
                                                    ],
                                                    "expression": {
                                                        "id": 15526,
                                                        "name": "abi",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 4294967295,
                                                        "src": "20894:3:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_magic_abi",
                                                            "typeString": "abi"
                                                        }
                                                    },
                                                    "id": 15527,
                                                    "isConstant": false,
                                                    "isLValue": false,
                                                    "isPure": true,
                                                    "lValueRequested": false,
                                                    "memberName": "encodeWithSignature",
                                                    "nodeType": "MemberAccess",
                                                    "src": "20894:23:62",
                                                    "typeDescriptions": {
                                                        "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$",
                                                        "typeString": "function (string memory) pure returns (bytes memory)"
                                                    }
                                                },
                                                "id": 15533,
                                                "isConstant": false,
                                                "isLValue": false,
                                                "isPure": false,
                                                "kind": "functionCall",
                                                "lValueRequested": false,
                                                "names": [],
                                                "nodeType": "FunctionCall",
                                                "src": "20894:73:62",
                                                "tryCall": false,
                                                "typeDescriptions": {
                                                    "typeIdentifier": "t_bytes_memory_ptr",
                                                    "typeString": "bytes memory"
                                                }
                                            }
                                        ],
                                        "expression": {
                                            "argumentTypes": [
                                                {
                                                    "typeIdentifier": "t_bytes_memory_ptr",
                                                    "typeString": "bytes memory"
                                                }
                                            ],
                                            "id": 15525,
                                            "name": "_sendLogPayload",
                                            "nodeType": "Identifier",
                                            "overloadedDeclarations": [],
                                            "referencedDeclaration": 12880,
                                            "src": "20878:15:62",
                                            "typeDescriptions": {
                                                "typeIdentifier": "t_function_internal_view$_t_bytes_memory_ptr_$returns$__$",
                                                "typeString": "function (bytes memory) view"
                                            }
                                        },
                                        "id": 15534,
                                        "isConstant": false,
                                        "isLValue": false,
                                        "isPure": false,
                                        "kind": "functionCall",
                                        "lValueRequested": false,
                                        "names": [],
                                        "nodeType": "FunctionCall",
                                        "src": "20878:90:62",
                                        "tryCall": false,
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_tuple$__$",
                                            "typeString": "tuple()"
                                        }
                                    },
                                    "id": 15535,
                                    "nodeType": "ExpressionStatement",
                                    "src": "20878:90:62"
                                }
                            ]
                        },
                        "id": 15537,
                        "implemented": true,
                        "kind": "function",
                        "modifiers": [],
                        "name": "log",
                        "nameLocation": "20793:3:62",
                        "nodeType": "FunctionDefinition",
                        "parameters": {
                            "id": 15523,
                            "nodeType": "ParameterList",
                            "parameters": [
                                {
                                    "constant": false,
                                    "id": 15516,
                                    "mutability": "mutable",
                                    "name": "p0",
                                    "nameLocation": "20802:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 15537,
                                    "src": "20797:7:62",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_uint256",
                                        "typeString": "uint256"
                                    },
                                    "typeName": {
                                        "id": 15515,
                                        "name": "uint",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "20797:4:62",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_uint256",
                                            "typeString": "uint256"
                                        }
                                    },
                                    "visibility": "internal"
                                },
                                {
                                    "constant": false,
                                    "id": 15518,
                                    "mutability": "mutable",
                                    "name": "p1",
                                    "nameLocation": "20820:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 15537,
                                    "src": "20806:16:62",
                                    "stateVariable": false,
                                    "storageLocation": "memory",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_string_memory_ptr",
                                        "typeString": "string"
                                    },
                                    "typeName": {
                                        "id": 15517,
                                        "name": "string",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "20806:6:62",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_string_storage_ptr",
                                            "typeString": "string"
                                        }
                                    },
                                    "visibility": "internal"
                                },
                                {
                                    "constant": false,
                                    "id": 15520,
                                    "mutability": "mutable",
                                    "name": "p2",
                                    "nameLocation": "20838:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 15537,
                                    "src": "20824:16:62",
                                    "stateVariable": false,
                                    "storageLocation": "memory",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_string_memory_ptr",
                                        "typeString": "string"
                                    },
                                    "typeName": {
                                        "id": 15519,
                                        "name": "string",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "20824:6:62",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_string_storage_ptr",
                                            "typeString": "string"
                                        }
                                    },
                                    "visibility": "internal"
                                },
                                {
                                    "constant": false,
                                    "id": 15522,
                                    "mutability": "mutable",
                                    "name": "p3",
                                    "nameLocation": "20856:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 15537,
                                    "src": "20842:16:62",
                                    "stateVariable": false,
                                    "storageLocation": "memory",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_string_memory_ptr",
                                        "typeString": "string"
                                    },
                                    "typeName": {
                                        "id": 15521,
                                        "name": "string",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "20842:6:62",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_string_storage_ptr",
                                            "typeString": "string"
                                        }
                                    },
                                    "visibility": "internal"
                                }
                            ],
                            "src": "20796:63:62"
                        },
                        "returnParameters": {
                            "id": 15524,
                            "nodeType": "ParameterList",
                            "parameters": [],
                            "src": "20874:0:62"
                        },
                        "scope": 20920,
                        "src": "20784:188:62",
                        "stateMutability": "view",
                        "virtual": false,
                        "visibility": "internal"
                    },
                    {
                        "body": {
                            "id": 15559,
                            "nodeType": "Block",
                            "src": "21056:96:62",
                            "statements": [
                                {
                                    "expression": {
                                        "arguments": [
                                            {
                                                "arguments": [
                                                    {
                                                        "hexValue": "6c6f672875696e742c737472696e672c737472696e672c626f6f6c29",
                                                        "id": 15551,
                                                        "isConstant": false,
                                                        "isLValue": false,
                                                        "isPure": true,
                                                        "kind": "string",
                                                        "lValueRequested": false,
                                                        "nodeType": "Literal",
                                                        "src": "21100:30:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_stringliteral_12862b98fdb7950b0e6908443bc9d7894b44d5616424da5cdb6206a848affcbc",
                                                            "typeString": "literal_string \"log(uint,string,string,bool)\""
                                                        },
                                                        "value": "log(uint,string,string,bool)"
                                                    },
                                                    {
                                                        "id": 15552,
                                                        "name": "p0",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 15539,
                                                        "src": "21132:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_uint256",
                                                            "typeString": "uint256"
                                                        }
                                                    },
                                                    {
                                                        "id": 15553,
                                                        "name": "p1",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 15541,
                                                        "src": "21136:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_string_memory_ptr",
                                                            "typeString": "string memory"
                                                        }
                                                    },
                                                    {
                                                        "id": 15554,
                                                        "name": "p2",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 15543,
                                                        "src": "21140:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_string_memory_ptr",
                                                            "typeString": "string memory"
                                                        }
                                                    },
                                                    {
                                                        "id": 15555,
                                                        "name": "p3",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 15545,
                                                        "src": "21144:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_bool",
                                                            "typeString": "bool"
                                                        }
                                                    }
                                                ],
                                                "expression": {
                                                    "argumentTypes": [
                                                        {
                                                            "typeIdentifier": "t_stringliteral_12862b98fdb7950b0e6908443bc9d7894b44d5616424da5cdb6206a848affcbc",
                                                            "typeString": "literal_string \"log(uint,string,string,bool)\""
                                                        },
                                                        {
                                                            "typeIdentifier": "t_uint256",
                                                            "typeString": "uint256"
                                                        },
                                                        {
                                                            "typeIdentifier": "t_string_memory_ptr",
                                                            "typeString": "string memory"
                                                        },
                                                        {
                                                            "typeIdentifier": "t_string_memory_ptr",
                                                            "typeString": "string memory"
                                                        },
                                                        {
                                                            "typeIdentifier": "t_bool",
                                                            "typeString": "bool"
                                                        }
                                                    ],
                                                    "expression": {
                                                        "id": 15549,
                                                        "name": "abi",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 4294967295,
                                                        "src": "21076:3:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_magic_abi",
                                                            "typeString": "abi"
                                                        }
                                                    },
                                                    "id": 15550,
                                                    "isConstant": false,
                                                    "isLValue": false,
                                                    "isPure": true,
                                                    "lValueRequested": false,
                                                    "memberName": "encodeWithSignature",
                                                    "nodeType": "MemberAccess",
                                                    "src": "21076:23:62",
                                                    "typeDescriptions": {
                                                        "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$",
                                                        "typeString": "function (string memory) pure returns (bytes memory)"
                                                    }
                                                },
                                                "id": 15556,
                                                "isConstant": false,
                                                "isLValue": false,
                                                "isPure": false,
                                                "kind": "functionCall",
                                                "lValueRequested": false,
                                                "names": [],
                                                "nodeType": "FunctionCall",
                                                "src": "21076:71:62",
                                                "tryCall": false,
                                                "typeDescriptions": {
                                                    "typeIdentifier": "t_bytes_memory_ptr",
                                                    "typeString": "bytes memory"
                                                }
                                            }
                                        ],
                                        "expression": {
                                            "argumentTypes": [
                                                {
                                                    "typeIdentifier": "t_bytes_memory_ptr",
                                                    "typeString": "bytes memory"
                                                }
                                            ],
                                            "id": 15548,
                                            "name": "_sendLogPayload",
                                            "nodeType": "Identifier",
                                            "overloadedDeclarations": [],
                                            "referencedDeclaration": 12880,
                                            "src": "21060:15:62",
                                            "typeDescriptions": {
                                                "typeIdentifier": "t_function_internal_view$_t_bytes_memory_ptr_$returns$__$",
                                                "typeString": "function (bytes memory) view"
                                            }
                                        },
                                        "id": 15557,
                                        "isConstant": false,
                                        "isLValue": false,
                                        "isPure": false,
                                        "kind": "functionCall",
                                        "lValueRequested": false,
                                        "names": [],
                                        "nodeType": "FunctionCall",
                                        "src": "21060:88:62",
                                        "tryCall": false,
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_tuple$__$",
                                            "typeString": "tuple()"
                                        }
                                    },
                                    "id": 15558,
                                    "nodeType": "ExpressionStatement",
                                    "src": "21060:88:62"
                                }
                            ]
                        },
                        "id": 15560,
                        "implemented": true,
                        "kind": "function",
                        "modifiers": [],
                        "name": "log",
                        "nameLocation": "20984:3:62",
                        "nodeType": "FunctionDefinition",
                        "parameters": {
                            "id": 15546,
                            "nodeType": "ParameterList",
                            "parameters": [
                                {
                                    "constant": false,
                                    "id": 15539,
                                    "mutability": "mutable",
                                    "name": "p0",
                                    "nameLocation": "20993:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 15560,
                                    "src": "20988:7:62",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_uint256",
                                        "typeString": "uint256"
                                    },
                                    "typeName": {
                                        "id": 15538,
                                        "name": "uint",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "20988:4:62",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_uint256",
                                            "typeString": "uint256"
                                        }
                                    },
                                    "visibility": "internal"
                                },
                                {
                                    "constant": false,
                                    "id": 15541,
                                    "mutability": "mutable",
                                    "name": "p1",
                                    "nameLocation": "21011:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 15560,
                                    "src": "20997:16:62",
                                    "stateVariable": false,
                                    "storageLocation": "memory",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_string_memory_ptr",
                                        "typeString": "string"
                                    },
                                    "typeName": {
                                        "id": 15540,
                                        "name": "string",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "20997:6:62",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_string_storage_ptr",
                                            "typeString": "string"
                                        }
                                    },
                                    "visibility": "internal"
                                },
                                {
                                    "constant": false,
                                    "id": 15543,
                                    "mutability": "mutable",
                                    "name": "p2",
                                    "nameLocation": "21029:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 15560,
                                    "src": "21015:16:62",
                                    "stateVariable": false,
                                    "storageLocation": "memory",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_string_memory_ptr",
                                        "typeString": "string"
                                    },
                                    "typeName": {
                                        "id": 15542,
                                        "name": "string",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "21015:6:62",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_string_storage_ptr",
                                            "typeString": "string"
                                        }
                                    },
                                    "visibility": "internal"
                                },
                                {
                                    "constant": false,
                                    "id": 15545,
                                    "mutability": "mutable",
                                    "name": "p3",
                                    "nameLocation": "21038:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 15560,
                                    "src": "21033:7:62",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_bool",
                                        "typeString": "bool"
                                    },
                                    "typeName": {
                                        "id": 15544,
                                        "name": "bool",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "21033:4:62",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_bool",
                                            "typeString": "bool"
                                        }
                                    },
                                    "visibility": "internal"
                                }
                            ],
                            "src": "20987:54:62"
                        },
                        "returnParameters": {
                            "id": 15547,
                            "nodeType": "ParameterList",
                            "parameters": [],
                            "src": "21056:0:62"
                        },
                        "scope": 20920,
                        "src": "20975:177:62",
                        "stateMutability": "view",
                        "virtual": false,
                        "visibility": "internal"
                    },
                    {
                        "body": {
                            "id": 15582,
                            "nodeType": "Block",
                            "src": "21239:99:62",
                            "statements": [
                                {
                                    "expression": {
                                        "arguments": [
                                            {
                                                "arguments": [
                                                    {
                                                        "hexValue": "6c6f672875696e742c737472696e672c737472696e672c6164647265737329",
                                                        "id": 15574,
                                                        "isConstant": false,
                                                        "isLValue": false,
                                                        "isPure": true,
                                                        "kind": "string",
                                                        "lValueRequested": false,
                                                        "nodeType": "Literal",
                                                        "src": "21283:33:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_stringliteral_cc988aa0514d1ed8be70a6bf2bdff4972e3f3420811b4adbd40f9b75b873fded",
                                                            "typeString": "literal_string \"log(uint,string,string,address)\""
                                                        },
                                                        "value": "log(uint,string,string,address)"
                                                    },
                                                    {
                                                        "id": 15575,
                                                        "name": "p0",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 15562,
                                                        "src": "21318:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_uint256",
                                                            "typeString": "uint256"
                                                        }
                                                    },
                                                    {
                                                        "id": 15576,
                                                        "name": "p1",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 15564,
                                                        "src": "21322:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_string_memory_ptr",
                                                            "typeString": "string memory"
                                                        }
                                                    },
                                                    {
                                                        "id": 15577,
                                                        "name": "p2",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 15566,
                                                        "src": "21326:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_string_memory_ptr",
                                                            "typeString": "string memory"
                                                        }
                                                    },
                                                    {
                                                        "id": 15578,
                                                        "name": "p3",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 15568,
                                                        "src": "21330:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_address",
                                                            "typeString": "address"
                                                        }
                                                    }
                                                ],
                                                "expression": {
                                                    "argumentTypes": [
                                                        {
                                                            "typeIdentifier": "t_stringliteral_cc988aa0514d1ed8be70a6bf2bdff4972e3f3420811b4adbd40f9b75b873fded",
                                                            "typeString": "literal_string \"log(uint,string,string,address)\""
                                                        },
                                                        {
                                                            "typeIdentifier": "t_uint256",
                                                            "typeString": "uint256"
                                                        },
                                                        {
                                                            "typeIdentifier": "t_string_memory_ptr",
                                                            "typeString": "string memory"
                                                        },
                                                        {
                                                            "typeIdentifier": "t_string_memory_ptr",
                                                            "typeString": "string memory"
                                                        },
                                                        {
                                                            "typeIdentifier": "t_address",
                                                            "typeString": "address"
                                                        }
                                                    ],
                                                    "expression": {
                                                        "id": 15572,
                                                        "name": "abi",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 4294967295,
                                                        "src": "21259:3:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_magic_abi",
                                                            "typeString": "abi"
                                                        }
                                                    },
                                                    "id": 15573,
                                                    "isConstant": false,
                                                    "isLValue": false,
                                                    "isPure": true,
                                                    "lValueRequested": false,
                                                    "memberName": "encodeWithSignature",
                                                    "nodeType": "MemberAccess",
                                                    "src": "21259:23:62",
                                                    "typeDescriptions": {
                                                        "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$",
                                                        "typeString": "function (string memory) pure returns (bytes memory)"
                                                    }
                                                },
                                                "id": 15579,
                                                "isConstant": false,
                                                "isLValue": false,
                                                "isPure": false,
                                                "kind": "functionCall",
                                                "lValueRequested": false,
                                                "names": [],
                                                "nodeType": "FunctionCall",
                                                "src": "21259:74:62",
                                                "tryCall": false,
                                                "typeDescriptions": {
                                                    "typeIdentifier": "t_bytes_memory_ptr",
                                                    "typeString": "bytes memory"
                                                }
                                            }
                                        ],
                                        "expression": {
                                            "argumentTypes": [
                                                {
                                                    "typeIdentifier": "t_bytes_memory_ptr",
                                                    "typeString": "bytes memory"
                                                }
                                            ],
                                            "id": 15571,
                                            "name": "_sendLogPayload",
                                            "nodeType": "Identifier",
                                            "overloadedDeclarations": [],
                                            "referencedDeclaration": 12880,
                                            "src": "21243:15:62",
                                            "typeDescriptions": {
                                                "typeIdentifier": "t_function_internal_view$_t_bytes_memory_ptr_$returns$__$",
                                                "typeString": "function (bytes memory) view"
                                            }
                                        },
                                        "id": 15580,
                                        "isConstant": false,
                                        "isLValue": false,
                                        "isPure": false,
                                        "kind": "functionCall",
                                        "lValueRequested": false,
                                        "names": [],
                                        "nodeType": "FunctionCall",
                                        "src": "21243:91:62",
                                        "tryCall": false,
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_tuple$__$",
                                            "typeString": "tuple()"
                                        }
                                    },
                                    "id": 15581,
                                    "nodeType": "ExpressionStatement",
                                    "src": "21243:91:62"
                                }
                            ]
                        },
                        "id": 15583,
                        "implemented": true,
                        "kind": "function",
                        "modifiers": [],
                        "name": "log",
                        "nameLocation": "21164:3:62",
                        "nodeType": "FunctionDefinition",
                        "parameters": {
                            "id": 15569,
                            "nodeType": "ParameterList",
                            "parameters": [
                                {
                                    "constant": false,
                                    "id": 15562,
                                    "mutability": "mutable",
                                    "name": "p0",
                                    "nameLocation": "21173:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 15583,
                                    "src": "21168:7:62",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_uint256",
                                        "typeString": "uint256"
                                    },
                                    "typeName": {
                                        "id": 15561,
                                        "name": "uint",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "21168:4:62",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_uint256",
                                            "typeString": "uint256"
                                        }
                                    },
                                    "visibility": "internal"
                                },
                                {
                                    "constant": false,
                                    "id": 15564,
                                    "mutability": "mutable",
                                    "name": "p1",
                                    "nameLocation": "21191:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 15583,
                                    "src": "21177:16:62",
                                    "stateVariable": false,
                                    "storageLocation": "memory",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_string_memory_ptr",
                                        "typeString": "string"
                                    },
                                    "typeName": {
                                        "id": 15563,
                                        "name": "string",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "21177:6:62",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_string_storage_ptr",
                                            "typeString": "string"
                                        }
                                    },
                                    "visibility": "internal"
                                },
                                {
                                    "constant": false,
                                    "id": 15566,
                                    "mutability": "mutable",
                                    "name": "p2",
                                    "nameLocation": "21209:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 15583,
                                    "src": "21195:16:62",
                                    "stateVariable": false,
                                    "storageLocation": "memory",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_string_memory_ptr",
                                        "typeString": "string"
                                    },
                                    "typeName": {
                                        "id": 15565,
                                        "name": "string",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "21195:6:62",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_string_storage_ptr",
                                            "typeString": "string"
                                        }
                                    },
                                    "visibility": "internal"
                                },
                                {
                                    "constant": false,
                                    "id": 15568,
                                    "mutability": "mutable",
                                    "name": "p3",
                                    "nameLocation": "21221:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 15583,
                                    "src": "21213:10:62",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_address",
                                        "typeString": "address"
                                    },
                                    "typeName": {
                                        "id": 15567,
                                        "name": "address",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "21213:7:62",
                                        "stateMutability": "nonpayable",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_address",
                                            "typeString": "address"
                                        }
                                    },
                                    "visibility": "internal"
                                }
                            ],
                            "src": "21167:57:62"
                        },
                        "returnParameters": {
                            "id": 15570,
                            "nodeType": "ParameterList",
                            "parameters": [],
                            "src": "21239:0:62"
                        },
                        "scope": 20920,
                        "src": "21155:183:62",
                        "stateMutability": "view",
                        "virtual": false,
                        "visibility": "internal"
                    },
                    {
                        "body": {
                            "id": 15605,
                            "nodeType": "Block",
                            "src": "21413:94:62",
                            "statements": [
                                {
                                    "expression": {
                                        "arguments": [
                                            {
                                                "arguments": [
                                                    {
                                                        "hexValue": "6c6f672875696e742c737472696e672c626f6f6c2c75696e7429",
                                                        "id": 15597,
                                                        "isConstant": false,
                                                        "isLValue": false,
                                                        "isPure": true,
                                                        "kind": "string",
                                                        "lValueRequested": false,
                                                        "nodeType": "Literal",
                                                        "src": "21457:28:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_stringliteral_a4b48a7f4bdefee99950b35e5da7ba9724c3954e445cc3077000bce7a4265081",
                                                            "typeString": "literal_string \"log(uint,string,bool,uint)\""
                                                        },
                                                        "value": "log(uint,string,bool,uint)"
                                                    },
                                                    {
                                                        "id": 15598,
                                                        "name": "p0",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 15585,
                                                        "src": "21487:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_uint256",
                                                            "typeString": "uint256"
                                                        }
                                                    },
                                                    {
                                                        "id": 15599,
                                                        "name": "p1",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 15587,
                                                        "src": "21491:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_string_memory_ptr",
                                                            "typeString": "string memory"
                                                        }
                                                    },
                                                    {
                                                        "id": 15600,
                                                        "name": "p2",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 15589,
                                                        "src": "21495:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_bool",
                                                            "typeString": "bool"
                                                        }
                                                    },
                                                    {
                                                        "id": 15601,
                                                        "name": "p3",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 15591,
                                                        "src": "21499:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_uint256",
                                                            "typeString": "uint256"
                                                        }
                                                    }
                                                ],
                                                "expression": {
                                                    "argumentTypes": [
                                                        {
                                                            "typeIdentifier": "t_stringliteral_a4b48a7f4bdefee99950b35e5da7ba9724c3954e445cc3077000bce7a4265081",
                                                            "typeString": "literal_string \"log(uint,string,bool,uint)\""
                                                        },
                                                        {
                                                            "typeIdentifier": "t_uint256",
                                                            "typeString": "uint256"
                                                        },
                                                        {
                                                            "typeIdentifier": "t_string_memory_ptr",
                                                            "typeString": "string memory"
                                                        },
                                                        {
                                                            "typeIdentifier": "t_bool",
                                                            "typeString": "bool"
                                                        },
                                                        {
                                                            "typeIdentifier": "t_uint256",
                                                            "typeString": "uint256"
                                                        }
                                                    ],
                                                    "expression": {
                                                        "id": 15595,
                                                        "name": "abi",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 4294967295,
                                                        "src": "21433:3:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_magic_abi",
                                                            "typeString": "abi"
                                                        }
                                                    },
                                                    "id": 15596,
                                                    "isConstant": false,
                                                    "isLValue": false,
                                                    "isPure": true,
                                                    "lValueRequested": false,
                                                    "memberName": "encodeWithSignature",
                                                    "nodeType": "MemberAccess",
                                                    "src": "21433:23:62",
                                                    "typeDescriptions": {
                                                        "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$",
                                                        "typeString": "function (string memory) pure returns (bytes memory)"
                                                    }
                                                },
                                                "id": 15602,
                                                "isConstant": false,
                                                "isLValue": false,
                                                "isPure": false,
                                                "kind": "functionCall",
                                                "lValueRequested": false,
                                                "names": [],
                                                "nodeType": "FunctionCall",
                                                "src": "21433:69:62",
                                                "tryCall": false,
                                                "typeDescriptions": {
                                                    "typeIdentifier": "t_bytes_memory_ptr",
                                                    "typeString": "bytes memory"
                                                }
                                            }
                                        ],
                                        "expression": {
                                            "argumentTypes": [
                                                {
                                                    "typeIdentifier": "t_bytes_memory_ptr",
                                                    "typeString": "bytes memory"
                                                }
                                            ],
                                            "id": 15594,
                                            "name": "_sendLogPayload",
                                            "nodeType": "Identifier",
                                            "overloadedDeclarations": [],
                                            "referencedDeclaration": 12880,
                                            "src": "21417:15:62",
                                            "typeDescriptions": {
                                                "typeIdentifier": "t_function_internal_view$_t_bytes_memory_ptr_$returns$__$",
                                                "typeString": "function (bytes memory) view"
                                            }
                                        },
                                        "id": 15603,
                                        "isConstant": false,
                                        "isLValue": false,
                                        "isPure": false,
                                        "kind": "functionCall",
                                        "lValueRequested": false,
                                        "names": [],
                                        "nodeType": "FunctionCall",
                                        "src": "21417:86:62",
                                        "tryCall": false,
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_tuple$__$",
                                            "typeString": "tuple()"
                                        }
                                    },
                                    "id": 15604,
                                    "nodeType": "ExpressionStatement",
                                    "src": "21417:86:62"
                                }
                            ]
                        },
                        "id": 15606,
                        "implemented": true,
                        "kind": "function",
                        "modifiers": [],
                        "name": "log",
                        "nameLocation": "21350:3:62",
                        "nodeType": "FunctionDefinition",
                        "parameters": {
                            "id": 15592,
                            "nodeType": "ParameterList",
                            "parameters": [
                                {
                                    "constant": false,
                                    "id": 15585,
                                    "mutability": "mutable",
                                    "name": "p0",
                                    "nameLocation": "21359:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 15606,
                                    "src": "21354:7:62",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_uint256",
                                        "typeString": "uint256"
                                    },
                                    "typeName": {
                                        "id": 15584,
                                        "name": "uint",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "21354:4:62",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_uint256",
                                            "typeString": "uint256"
                                        }
                                    },
                                    "visibility": "internal"
                                },
                                {
                                    "constant": false,
                                    "id": 15587,
                                    "mutability": "mutable",
                                    "name": "p1",
                                    "nameLocation": "21377:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 15606,
                                    "src": "21363:16:62",
                                    "stateVariable": false,
                                    "storageLocation": "memory",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_string_memory_ptr",
                                        "typeString": "string"
                                    },
                                    "typeName": {
                                        "id": 15586,
                                        "name": "string",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "21363:6:62",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_string_storage_ptr",
                                            "typeString": "string"
                                        }
                                    },
                                    "visibility": "internal"
                                },
                                {
                                    "constant": false,
                                    "id": 15589,
                                    "mutability": "mutable",
                                    "name": "p2",
                                    "nameLocation": "21386:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 15606,
                                    "src": "21381:7:62",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_bool",
                                        "typeString": "bool"
                                    },
                                    "typeName": {
                                        "id": 15588,
                                        "name": "bool",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "21381:4:62",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_bool",
                                            "typeString": "bool"
                                        }
                                    },
                                    "visibility": "internal"
                                },
                                {
                                    "constant": false,
                                    "id": 15591,
                                    "mutability": "mutable",
                                    "name": "p3",
                                    "nameLocation": "21395:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 15606,
                                    "src": "21390:7:62",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_uint256",
                                        "typeString": "uint256"
                                    },
                                    "typeName": {
                                        "id": 15590,
                                        "name": "uint",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "21390:4:62",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_uint256",
                                            "typeString": "uint256"
                                        }
                                    },
                                    "visibility": "internal"
                                }
                            ],
                            "src": "21353:45:62"
                        },
                        "returnParameters": {
                            "id": 15593,
                            "nodeType": "ParameterList",
                            "parameters": [],
                            "src": "21413:0:62"
                        },
                        "scope": 20920,
                        "src": "21341:166:62",
                        "stateMutability": "view",
                        "virtual": false,
                        "visibility": "internal"
                    },
                    {
                        "body": {
                            "id": 15628,
                            "nodeType": "Block",
                            "src": "21591:96:62",
                            "statements": [
                                {
                                    "expression": {
                                        "arguments": [
                                            {
                                                "arguments": [
                                                    {
                                                        "hexValue": "6c6f672875696e742c737472696e672c626f6f6c2c737472696e6729",
                                                        "id": 15620,
                                                        "isConstant": false,
                                                        "isLValue": false,
                                                        "isPure": true,
                                                        "kind": "string",
                                                        "lValueRequested": false,
                                                        "nodeType": "Literal",
                                                        "src": "21635:30:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_stringliteral_8d489ca064b1083bafb8388fd8f3d44c2255dbe322f7a52abe786a76257d06e4",
                                                            "typeString": "literal_string \"log(uint,string,bool,string)\""
                                                        },
                                                        "value": "log(uint,string,bool,string)"
                                                    },
                                                    {
                                                        "id": 15621,
                                                        "name": "p0",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 15608,
                                                        "src": "21667:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_uint256",
                                                            "typeString": "uint256"
                                                        }
                                                    },
                                                    {
                                                        "id": 15622,
                                                        "name": "p1",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 15610,
                                                        "src": "21671:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_string_memory_ptr",
                                                            "typeString": "string memory"
                                                        }
                                                    },
                                                    {
                                                        "id": 15623,
                                                        "name": "p2",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 15612,
                                                        "src": "21675:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_bool",
                                                            "typeString": "bool"
                                                        }
                                                    },
                                                    {
                                                        "id": 15624,
                                                        "name": "p3",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 15614,
                                                        "src": "21679:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_string_memory_ptr",
                                                            "typeString": "string memory"
                                                        }
                                                    }
                                                ],
                                                "expression": {
                                                    "argumentTypes": [
                                                        {
                                                            "typeIdentifier": "t_stringliteral_8d489ca064b1083bafb8388fd8f3d44c2255dbe322f7a52abe786a76257d06e4",
                                                            "typeString": "literal_string \"log(uint,string,bool,string)\""
                                                        },
                                                        {
                                                            "typeIdentifier": "t_uint256",
                                                            "typeString": "uint256"
                                                        },
                                                        {
                                                            "typeIdentifier": "t_string_memory_ptr",
                                                            "typeString": "string memory"
                                                        },
                                                        {
                                                            "typeIdentifier": "t_bool",
                                                            "typeString": "bool"
                                                        },
                                                        {
                                                            "typeIdentifier": "t_string_memory_ptr",
                                                            "typeString": "string memory"
                                                        }
                                                    ],
                                                    "expression": {
                                                        "id": 15618,
                                                        "name": "abi",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 4294967295,
                                                        "src": "21611:3:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_magic_abi",
                                                            "typeString": "abi"
                                                        }
                                                    },
                                                    "id": 15619,
                                                    "isConstant": false,
                                                    "isLValue": false,
                                                    "isPure": true,
                                                    "lValueRequested": false,
                                                    "memberName": "encodeWithSignature",
                                                    "nodeType": "MemberAccess",
                                                    "src": "21611:23:62",
                                                    "typeDescriptions": {
                                                        "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$",
                                                        "typeString": "function (string memory) pure returns (bytes memory)"
                                                    }
                                                },
                                                "id": 15625,
                                                "isConstant": false,
                                                "isLValue": false,
                                                "isPure": false,
                                                "kind": "functionCall",
                                                "lValueRequested": false,
                                                "names": [],
                                                "nodeType": "FunctionCall",
                                                "src": "21611:71:62",
                                                "tryCall": false,
                                                "typeDescriptions": {
                                                    "typeIdentifier": "t_bytes_memory_ptr",
                                                    "typeString": "bytes memory"
                                                }
                                            }
                                        ],
                                        "expression": {
                                            "argumentTypes": [
                                                {
                                                    "typeIdentifier": "t_bytes_memory_ptr",
                                                    "typeString": "bytes memory"
                                                }
                                            ],
                                            "id": 15617,
                                            "name": "_sendLogPayload",
                                            "nodeType": "Identifier",
                                            "overloadedDeclarations": [],
                                            "referencedDeclaration": 12880,
                                            "src": "21595:15:62",
                                            "typeDescriptions": {
                                                "typeIdentifier": "t_function_internal_view$_t_bytes_memory_ptr_$returns$__$",
                                                "typeString": "function (bytes memory) view"
                                            }
                                        },
                                        "id": 15626,
                                        "isConstant": false,
                                        "isLValue": false,
                                        "isPure": false,
                                        "kind": "functionCall",
                                        "lValueRequested": false,
                                        "names": [],
                                        "nodeType": "FunctionCall",
                                        "src": "21595:88:62",
                                        "tryCall": false,
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_tuple$__$",
                                            "typeString": "tuple()"
                                        }
                                    },
                                    "id": 15627,
                                    "nodeType": "ExpressionStatement",
                                    "src": "21595:88:62"
                                }
                            ]
                        },
                        "id": 15629,
                        "implemented": true,
                        "kind": "function",
                        "modifiers": [],
                        "name": "log",
                        "nameLocation": "21519:3:62",
                        "nodeType": "FunctionDefinition",
                        "parameters": {
                            "id": 15615,
                            "nodeType": "ParameterList",
                            "parameters": [
                                {
                                    "constant": false,
                                    "id": 15608,
                                    "mutability": "mutable",
                                    "name": "p0",
                                    "nameLocation": "21528:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 15629,
                                    "src": "21523:7:62",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_uint256",
                                        "typeString": "uint256"
                                    },
                                    "typeName": {
                                        "id": 15607,
                                        "name": "uint",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "21523:4:62",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_uint256",
                                            "typeString": "uint256"
                                        }
                                    },
                                    "visibility": "internal"
                                },
                                {
                                    "constant": false,
                                    "id": 15610,
                                    "mutability": "mutable",
                                    "name": "p1",
                                    "nameLocation": "21546:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 15629,
                                    "src": "21532:16:62",
                                    "stateVariable": false,
                                    "storageLocation": "memory",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_string_memory_ptr",
                                        "typeString": "string"
                                    },
                                    "typeName": {
                                        "id": 15609,
                                        "name": "string",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "21532:6:62",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_string_storage_ptr",
                                            "typeString": "string"
                                        }
                                    },
                                    "visibility": "internal"
                                },
                                {
                                    "constant": false,
                                    "id": 15612,
                                    "mutability": "mutable",
                                    "name": "p2",
                                    "nameLocation": "21555:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 15629,
                                    "src": "21550:7:62",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_bool",
                                        "typeString": "bool"
                                    },
                                    "typeName": {
                                        "id": 15611,
                                        "name": "bool",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "21550:4:62",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_bool",
                                            "typeString": "bool"
                                        }
                                    },
                                    "visibility": "internal"
                                },
                                {
                                    "constant": false,
                                    "id": 15614,
                                    "mutability": "mutable",
                                    "name": "p3",
                                    "nameLocation": "21573:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 15629,
                                    "src": "21559:16:62",
                                    "stateVariable": false,
                                    "storageLocation": "memory",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_string_memory_ptr",
                                        "typeString": "string"
                                    },
                                    "typeName": {
                                        "id": 15613,
                                        "name": "string",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "21559:6:62",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_string_storage_ptr",
                                            "typeString": "string"
                                        }
                                    },
                                    "visibility": "internal"
                                }
                            ],
                            "src": "21522:54:62"
                        },
                        "returnParameters": {
                            "id": 15616,
                            "nodeType": "ParameterList",
                            "parameters": [],
                            "src": "21591:0:62"
                        },
                        "scope": 20920,
                        "src": "21510:177:62",
                        "stateMutability": "view",
                        "virtual": false,
                        "visibility": "internal"
                    },
                    {
                        "body": {
                            "id": 15651,
                            "nodeType": "Block",
                            "src": "21762:94:62",
                            "statements": [
                                {
                                    "expression": {
                                        "arguments": [
                                            {
                                                "arguments": [
                                                    {
                                                        "hexValue": "6c6f672875696e742c737472696e672c626f6f6c2c626f6f6c29",
                                                        "id": 15643,
                                                        "isConstant": false,
                                                        "isLValue": false,
                                                        "isPure": true,
                                                        "kind": "string",
                                                        "lValueRequested": false,
                                                        "nodeType": "Literal",
                                                        "src": "21806:28:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_stringliteral_51bc2bc161debf765eefa84d88e06440adeb87045d559377a9edb97406168b2a",
                                                            "typeString": "literal_string \"log(uint,string,bool,bool)\""
                                                        },
                                                        "value": "log(uint,string,bool,bool)"
                                                    },
                                                    {
                                                        "id": 15644,
                                                        "name": "p0",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 15631,
                                                        "src": "21836:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_uint256",
                                                            "typeString": "uint256"
                                                        }
                                                    },
                                                    {
                                                        "id": 15645,
                                                        "name": "p1",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 15633,
                                                        "src": "21840:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_string_memory_ptr",
                                                            "typeString": "string memory"
                                                        }
                                                    },
                                                    {
                                                        "id": 15646,
                                                        "name": "p2",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 15635,
                                                        "src": "21844:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_bool",
                                                            "typeString": "bool"
                                                        }
                                                    },
                                                    {
                                                        "id": 15647,
                                                        "name": "p3",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 15637,
                                                        "src": "21848:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_bool",
                                                            "typeString": "bool"
                                                        }
                                                    }
                                                ],
                                                "expression": {
                                                    "argumentTypes": [
                                                        {
                                                            "typeIdentifier": "t_stringliteral_51bc2bc161debf765eefa84d88e06440adeb87045d559377a9edb97406168b2a",
                                                            "typeString": "literal_string \"log(uint,string,bool,bool)\""
                                                        },
                                                        {
                                                            "typeIdentifier": "t_uint256",
                                                            "typeString": "uint256"
                                                        },
                                                        {
                                                            "typeIdentifier": "t_string_memory_ptr",
                                                            "typeString": "string memory"
                                                        },
                                                        {
                                                            "typeIdentifier": "t_bool",
                                                            "typeString": "bool"
                                                        },
                                                        {
                                                            "typeIdentifier": "t_bool",
                                                            "typeString": "bool"
                                                        }
                                                    ],
                                                    "expression": {
                                                        "id": 15641,
                                                        "name": "abi",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 4294967295,
                                                        "src": "21782:3:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_magic_abi",
                                                            "typeString": "abi"
                                                        }
                                                    },
                                                    "id": 15642,
                                                    "isConstant": false,
                                                    "isLValue": false,
                                                    "isPure": true,
                                                    "lValueRequested": false,
                                                    "memberName": "encodeWithSignature",
                                                    "nodeType": "MemberAccess",
                                                    "src": "21782:23:62",
                                                    "typeDescriptions": {
                                                        "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$",
                                                        "typeString": "function (string memory) pure returns (bytes memory)"
                                                    }
                                                },
                                                "id": 15648,
                                                "isConstant": false,
                                                "isLValue": false,
                                                "isPure": false,
                                                "kind": "functionCall",
                                                "lValueRequested": false,
                                                "names": [],
                                                "nodeType": "FunctionCall",
                                                "src": "21782:69:62",
                                                "tryCall": false,
                                                "typeDescriptions": {
                                                    "typeIdentifier": "t_bytes_memory_ptr",
                                                    "typeString": "bytes memory"
                                                }
                                            }
                                        ],
                                        "expression": {
                                            "argumentTypes": [
                                                {
                                                    "typeIdentifier": "t_bytes_memory_ptr",
                                                    "typeString": "bytes memory"
                                                }
                                            ],
                                            "id": 15640,
                                            "name": "_sendLogPayload",
                                            "nodeType": "Identifier",
                                            "overloadedDeclarations": [],
                                            "referencedDeclaration": 12880,
                                            "src": "21766:15:62",
                                            "typeDescriptions": {
                                                "typeIdentifier": "t_function_internal_view$_t_bytes_memory_ptr_$returns$__$",
                                                "typeString": "function (bytes memory) view"
                                            }
                                        },
                                        "id": 15649,
                                        "isConstant": false,
                                        "isLValue": false,
                                        "isPure": false,
                                        "kind": "functionCall",
                                        "lValueRequested": false,
                                        "names": [],
                                        "nodeType": "FunctionCall",
                                        "src": "21766:86:62",
                                        "tryCall": false,
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_tuple$__$",
                                            "typeString": "tuple()"
                                        }
                                    },
                                    "id": 15650,
                                    "nodeType": "ExpressionStatement",
                                    "src": "21766:86:62"
                                }
                            ]
                        },
                        "id": 15652,
                        "implemented": true,
                        "kind": "function",
                        "modifiers": [],
                        "name": "log",
                        "nameLocation": "21699:3:62",
                        "nodeType": "FunctionDefinition",
                        "parameters": {
                            "id": 15638,
                            "nodeType": "ParameterList",
                            "parameters": [
                                {
                                    "constant": false,
                                    "id": 15631,
                                    "mutability": "mutable",
                                    "name": "p0",
                                    "nameLocation": "21708:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 15652,
                                    "src": "21703:7:62",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_uint256",
                                        "typeString": "uint256"
                                    },
                                    "typeName": {
                                        "id": 15630,
                                        "name": "uint",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "21703:4:62",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_uint256",
                                            "typeString": "uint256"
                                        }
                                    },
                                    "visibility": "internal"
                                },
                                {
                                    "constant": false,
                                    "id": 15633,
                                    "mutability": "mutable",
                                    "name": "p1",
                                    "nameLocation": "21726:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 15652,
                                    "src": "21712:16:62",
                                    "stateVariable": false,
                                    "storageLocation": "memory",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_string_memory_ptr",
                                        "typeString": "string"
                                    },
                                    "typeName": {
                                        "id": 15632,
                                        "name": "string",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "21712:6:62",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_string_storage_ptr",
                                            "typeString": "string"
                                        }
                                    },
                                    "visibility": "internal"
                                },
                                {
                                    "constant": false,
                                    "id": 15635,
                                    "mutability": "mutable",
                                    "name": "p2",
                                    "nameLocation": "21735:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 15652,
                                    "src": "21730:7:62",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_bool",
                                        "typeString": "bool"
                                    },
                                    "typeName": {
                                        "id": 15634,
                                        "name": "bool",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "21730:4:62",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_bool",
                                            "typeString": "bool"
                                        }
                                    },
                                    "visibility": "internal"
                                },
                                {
                                    "constant": false,
                                    "id": 15637,
                                    "mutability": "mutable",
                                    "name": "p3",
                                    "nameLocation": "21744:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 15652,
                                    "src": "21739:7:62",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_bool",
                                        "typeString": "bool"
                                    },
                                    "typeName": {
                                        "id": 15636,
                                        "name": "bool",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "21739:4:62",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_bool",
                                            "typeString": "bool"
                                        }
                                    },
                                    "visibility": "internal"
                                }
                            ],
                            "src": "21702:45:62"
                        },
                        "returnParameters": {
                            "id": 15639,
                            "nodeType": "ParameterList",
                            "parameters": [],
                            "src": "21762:0:62"
                        },
                        "scope": 20920,
                        "src": "21690:166:62",
                        "stateMutability": "view",
                        "virtual": false,
                        "visibility": "internal"
                    },
                    {
                        "body": {
                            "id": 15674,
                            "nodeType": "Block",
                            "src": "21934:97:62",
                            "statements": [
                                {
                                    "expression": {
                                        "arguments": [
                                            {
                                                "arguments": [
                                                    {
                                                        "hexValue": "6c6f672875696e742c737472696e672c626f6f6c2c6164647265737329",
                                                        "id": 15666,
                                                        "isConstant": false,
                                                        "isLValue": false,
                                                        "isPure": true,
                                                        "kind": "string",
                                                        "lValueRequested": false,
                                                        "nodeType": "Literal",
                                                        "src": "21978:31:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_stringliteral_796f28a06ededa438107c0866560412d4d4337e29da4c7300f50c49a73c18829",
                                                            "typeString": "literal_string \"log(uint,string,bool,address)\""
                                                        },
                                                        "value": "log(uint,string,bool,address)"
                                                    },
                                                    {
                                                        "id": 15667,
                                                        "name": "p0",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 15654,
                                                        "src": "22011:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_uint256",
                                                            "typeString": "uint256"
                                                        }
                                                    },
                                                    {
                                                        "id": 15668,
                                                        "name": "p1",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 15656,
                                                        "src": "22015:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_string_memory_ptr",
                                                            "typeString": "string memory"
                                                        }
                                                    },
                                                    {
                                                        "id": 15669,
                                                        "name": "p2",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 15658,
                                                        "src": "22019:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_bool",
                                                            "typeString": "bool"
                                                        }
                                                    },
                                                    {
                                                        "id": 15670,
                                                        "name": "p3",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 15660,
                                                        "src": "22023:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_address",
                                                            "typeString": "address"
                                                        }
                                                    }
                                                ],
                                                "expression": {
                                                    "argumentTypes": [
                                                        {
                                                            "typeIdentifier": "t_stringliteral_796f28a06ededa438107c0866560412d4d4337e29da4c7300f50c49a73c18829",
                                                            "typeString": "literal_string \"log(uint,string,bool,address)\""
                                                        },
                                                        {
                                                            "typeIdentifier": "t_uint256",
                                                            "typeString": "uint256"
                                                        },
                                                        {
                                                            "typeIdentifier": "t_string_memory_ptr",
                                                            "typeString": "string memory"
                                                        },
                                                        {
                                                            "typeIdentifier": "t_bool",
                                                            "typeString": "bool"
                                                        },
                                                        {
                                                            "typeIdentifier": "t_address",
                                                            "typeString": "address"
                                                        }
                                                    ],
                                                    "expression": {
                                                        "id": 15664,
                                                        "name": "abi",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 4294967295,
                                                        "src": "21954:3:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_magic_abi",
                                                            "typeString": "abi"
                                                        }
                                                    },
                                                    "id": 15665,
                                                    "isConstant": false,
                                                    "isLValue": false,
                                                    "isPure": true,
                                                    "lValueRequested": false,
                                                    "memberName": "encodeWithSignature",
                                                    "nodeType": "MemberAccess",
                                                    "src": "21954:23:62",
                                                    "typeDescriptions": {
                                                        "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$",
                                                        "typeString": "function (string memory) pure returns (bytes memory)"
                                                    }
                                                },
                                                "id": 15671,
                                                "isConstant": false,
                                                "isLValue": false,
                                                "isPure": false,
                                                "kind": "functionCall",
                                                "lValueRequested": false,
                                                "names": [],
                                                "nodeType": "FunctionCall",
                                                "src": "21954:72:62",
                                                "tryCall": false,
                                                "typeDescriptions": {
                                                    "typeIdentifier": "t_bytes_memory_ptr",
                                                    "typeString": "bytes memory"
                                                }
                                            }
                                        ],
                                        "expression": {
                                            "argumentTypes": [
                                                {
                                                    "typeIdentifier": "t_bytes_memory_ptr",
                                                    "typeString": "bytes memory"
                                                }
                                            ],
                                            "id": 15663,
                                            "name": "_sendLogPayload",
                                            "nodeType": "Identifier",
                                            "overloadedDeclarations": [],
                                            "referencedDeclaration": 12880,
                                            "src": "21938:15:62",
                                            "typeDescriptions": {
                                                "typeIdentifier": "t_function_internal_view$_t_bytes_memory_ptr_$returns$__$",
                                                "typeString": "function (bytes memory) view"
                                            }
                                        },
                                        "id": 15672,
                                        "isConstant": false,
                                        "isLValue": false,
                                        "isPure": false,
                                        "kind": "functionCall",
                                        "lValueRequested": false,
                                        "names": [],
                                        "nodeType": "FunctionCall",
                                        "src": "21938:89:62",
                                        "tryCall": false,
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_tuple$__$",
                                            "typeString": "tuple()"
                                        }
                                    },
                                    "id": 15673,
                                    "nodeType": "ExpressionStatement",
                                    "src": "21938:89:62"
                                }
                            ]
                        },
                        "id": 15675,
                        "implemented": true,
                        "kind": "function",
                        "modifiers": [],
                        "name": "log",
                        "nameLocation": "21868:3:62",
                        "nodeType": "FunctionDefinition",
                        "parameters": {
                            "id": 15661,
                            "nodeType": "ParameterList",
                            "parameters": [
                                {
                                    "constant": false,
                                    "id": 15654,
                                    "mutability": "mutable",
                                    "name": "p0",
                                    "nameLocation": "21877:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 15675,
                                    "src": "21872:7:62",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_uint256",
                                        "typeString": "uint256"
                                    },
                                    "typeName": {
                                        "id": 15653,
                                        "name": "uint",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "21872:4:62",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_uint256",
                                            "typeString": "uint256"
                                        }
                                    },
                                    "visibility": "internal"
                                },
                                {
                                    "constant": false,
                                    "id": 15656,
                                    "mutability": "mutable",
                                    "name": "p1",
                                    "nameLocation": "21895:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 15675,
                                    "src": "21881:16:62",
                                    "stateVariable": false,
                                    "storageLocation": "memory",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_string_memory_ptr",
                                        "typeString": "string"
                                    },
                                    "typeName": {
                                        "id": 15655,
                                        "name": "string",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "21881:6:62",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_string_storage_ptr",
                                            "typeString": "string"
                                        }
                                    },
                                    "visibility": "internal"
                                },
                                {
                                    "constant": false,
                                    "id": 15658,
                                    "mutability": "mutable",
                                    "name": "p2",
                                    "nameLocation": "21904:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 15675,
                                    "src": "21899:7:62",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_bool",
                                        "typeString": "bool"
                                    },
                                    "typeName": {
                                        "id": 15657,
                                        "name": "bool",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "21899:4:62",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_bool",
                                            "typeString": "bool"
                                        }
                                    },
                                    "visibility": "internal"
                                },
                                {
                                    "constant": false,
                                    "id": 15660,
                                    "mutability": "mutable",
                                    "name": "p3",
                                    "nameLocation": "21916:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 15675,
                                    "src": "21908:10:62",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_address",
                                        "typeString": "address"
                                    },
                                    "typeName": {
                                        "id": 15659,
                                        "name": "address",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "21908:7:62",
                                        "stateMutability": "nonpayable",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_address",
                                            "typeString": "address"
                                        }
                                    },
                                    "visibility": "internal"
                                }
                            ],
                            "src": "21871:48:62"
                        },
                        "returnParameters": {
                            "id": 15662,
                            "nodeType": "ParameterList",
                            "parameters": [],
                            "src": "21934:0:62"
                        },
                        "scope": 20920,
                        "src": "21859:172:62",
                        "stateMutability": "view",
                        "virtual": false,
                        "visibility": "internal"
                    },
                    {
                        "body": {
                            "id": 15697,
                            "nodeType": "Block",
                            "src": "22109:97:62",
                            "statements": [
                                {
                                    "expression": {
                                        "arguments": [
                                            {
                                                "arguments": [
                                                    {
                                                        "hexValue": "6c6f672875696e742c737472696e672c616464726573732c75696e7429",
                                                        "id": 15689,
                                                        "isConstant": false,
                                                        "isLValue": false,
                                                        "isPure": true,
                                                        "kind": "string",
                                                        "lValueRequested": false,
                                                        "nodeType": "Literal",
                                                        "src": "22153:31:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_stringliteral_98e7f3f3a2c39a91982b0a3ae7f29043579abd563fc10531c052f92c3317af43",
                                                            "typeString": "literal_string \"log(uint,string,address,uint)\""
                                                        },
                                                        "value": "log(uint,string,address,uint)"
                                                    },
                                                    {
                                                        "id": 15690,
                                                        "name": "p0",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 15677,
                                                        "src": "22186:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_uint256",
                                                            "typeString": "uint256"
                                                        }
                                                    },
                                                    {
                                                        "id": 15691,
                                                        "name": "p1",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 15679,
                                                        "src": "22190:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_string_memory_ptr",
                                                            "typeString": "string memory"
                                                        }
                                                    },
                                                    {
                                                        "id": 15692,
                                                        "name": "p2",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 15681,
                                                        "src": "22194:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_address",
                                                            "typeString": "address"
                                                        }
                                                    },
                                                    {
                                                        "id": 15693,
                                                        "name": "p3",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 15683,
                                                        "src": "22198:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_uint256",
                                                            "typeString": "uint256"
                                                        }
                                                    }
                                                ],
                                                "expression": {
                                                    "argumentTypes": [
                                                        {
                                                            "typeIdentifier": "t_stringliteral_98e7f3f3a2c39a91982b0a3ae7f29043579abd563fc10531c052f92c3317af43",
                                                            "typeString": "literal_string \"log(uint,string,address,uint)\""
                                                        },
                                                        {
                                                            "typeIdentifier": "t_uint256",
                                                            "typeString": "uint256"
                                                        },
                                                        {
                                                            "typeIdentifier": "t_string_memory_ptr",
                                                            "typeString": "string memory"
                                                        },
                                                        {
                                                            "typeIdentifier": "t_address",
                                                            "typeString": "address"
                                                        },
                                                        {
                                                            "typeIdentifier": "t_uint256",
                                                            "typeString": "uint256"
                                                        }
                                                    ],
                                                    "expression": {
                                                        "id": 15687,
                                                        "name": "abi",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 4294967295,
                                                        "src": "22129:3:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_magic_abi",
                                                            "typeString": "abi"
                                                        }
                                                    },
                                                    "id": 15688,
                                                    "isConstant": false,
                                                    "isLValue": false,
                                                    "isPure": true,
                                                    "lValueRequested": false,
                                                    "memberName": "encodeWithSignature",
                                                    "nodeType": "MemberAccess",
                                                    "src": "22129:23:62",
                                                    "typeDescriptions": {
                                                        "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$",
                                                        "typeString": "function (string memory) pure returns (bytes memory)"
                                                    }
                                                },
                                                "id": 15694,
                                                "isConstant": false,
                                                "isLValue": false,
                                                "isPure": false,
                                                "kind": "functionCall",
                                                "lValueRequested": false,
                                                "names": [],
                                                "nodeType": "FunctionCall",
                                                "src": "22129:72:62",
                                                "tryCall": false,
                                                "typeDescriptions": {
                                                    "typeIdentifier": "t_bytes_memory_ptr",
                                                    "typeString": "bytes memory"
                                                }
                                            }
                                        ],
                                        "expression": {
                                            "argumentTypes": [
                                                {
                                                    "typeIdentifier": "t_bytes_memory_ptr",
                                                    "typeString": "bytes memory"
                                                }
                                            ],
                                            "id": 15686,
                                            "name": "_sendLogPayload",
                                            "nodeType": "Identifier",
                                            "overloadedDeclarations": [],
                                            "referencedDeclaration": 12880,
                                            "src": "22113:15:62",
                                            "typeDescriptions": {
                                                "typeIdentifier": "t_function_internal_view$_t_bytes_memory_ptr_$returns$__$",
                                                "typeString": "function (bytes memory) view"
                                            }
                                        },
                                        "id": 15695,
                                        "isConstant": false,
                                        "isLValue": false,
                                        "isPure": false,
                                        "kind": "functionCall",
                                        "lValueRequested": false,
                                        "names": [],
                                        "nodeType": "FunctionCall",
                                        "src": "22113:89:62",
                                        "tryCall": false,
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_tuple$__$",
                                            "typeString": "tuple()"
                                        }
                                    },
                                    "id": 15696,
                                    "nodeType": "ExpressionStatement",
                                    "src": "22113:89:62"
                                }
                            ]
                        },
                        "id": 15698,
                        "implemented": true,
                        "kind": "function",
                        "modifiers": [],
                        "name": "log",
                        "nameLocation": "22043:3:62",
                        "nodeType": "FunctionDefinition",
                        "parameters": {
                            "id": 15684,
                            "nodeType": "ParameterList",
                            "parameters": [
                                {
                                    "constant": false,
                                    "id": 15677,
                                    "mutability": "mutable",
                                    "name": "p0",
                                    "nameLocation": "22052:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 15698,
                                    "src": "22047:7:62",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_uint256",
                                        "typeString": "uint256"
                                    },
                                    "typeName": {
                                        "id": 15676,
                                        "name": "uint",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "22047:4:62",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_uint256",
                                            "typeString": "uint256"
                                        }
                                    },
                                    "visibility": "internal"
                                },
                                {
                                    "constant": false,
                                    "id": 15679,
                                    "mutability": "mutable",
                                    "name": "p1",
                                    "nameLocation": "22070:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 15698,
                                    "src": "22056:16:62",
                                    "stateVariable": false,
                                    "storageLocation": "memory",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_string_memory_ptr",
                                        "typeString": "string"
                                    },
                                    "typeName": {
                                        "id": 15678,
                                        "name": "string",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "22056:6:62",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_string_storage_ptr",
                                            "typeString": "string"
                                        }
                                    },
                                    "visibility": "internal"
                                },
                                {
                                    "constant": false,
                                    "id": 15681,
                                    "mutability": "mutable",
                                    "name": "p2",
                                    "nameLocation": "22082:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 15698,
                                    "src": "22074:10:62",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_address",
                                        "typeString": "address"
                                    },
                                    "typeName": {
                                        "id": 15680,
                                        "name": "address",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "22074:7:62",
                                        "stateMutability": "nonpayable",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_address",
                                            "typeString": "address"
                                        }
                                    },
                                    "visibility": "internal"
                                },
                                {
                                    "constant": false,
                                    "id": 15683,
                                    "mutability": "mutable",
                                    "name": "p3",
                                    "nameLocation": "22091:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 15698,
                                    "src": "22086:7:62",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_uint256",
                                        "typeString": "uint256"
                                    },
                                    "typeName": {
                                        "id": 15682,
                                        "name": "uint",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "22086:4:62",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_uint256",
                                            "typeString": "uint256"
                                        }
                                    },
                                    "visibility": "internal"
                                }
                            ],
                            "src": "22046:48:62"
                        },
                        "returnParameters": {
                            "id": 15685,
                            "nodeType": "ParameterList",
                            "parameters": [],
                            "src": "22109:0:62"
                        },
                        "scope": 20920,
                        "src": "22034:172:62",
                        "stateMutability": "view",
                        "virtual": false,
                        "visibility": "internal"
                    },
                    {
                        "body": {
                            "id": 15720,
                            "nodeType": "Block",
                            "src": "22293:99:62",
                            "statements": [
                                {
                                    "expression": {
                                        "arguments": [
                                            {
                                                "arguments": [
                                                    {
                                                        "hexValue": "6c6f672875696e742c737472696e672c616464726573732c737472696e6729",
                                                        "id": 15712,
                                                        "isConstant": false,
                                                        "isLValue": false,
                                                        "isPure": true,
                                                        "kind": "string",
                                                        "lValueRequested": false,
                                                        "nodeType": "Literal",
                                                        "src": "22337:33:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_stringliteral_f898577fdc87bf80b54b2b838f8b58bf5a74554c7beeb61b98f3c2b7d59f31e2",
                                                            "typeString": "literal_string \"log(uint,string,address,string)\""
                                                        },
                                                        "value": "log(uint,string,address,string)"
                                                    },
                                                    {
                                                        "id": 15713,
                                                        "name": "p0",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 15700,
                                                        "src": "22372:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_uint256",
                                                            "typeString": "uint256"
                                                        }
                                                    },
                                                    {
                                                        "id": 15714,
                                                        "name": "p1",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 15702,
                                                        "src": "22376:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_string_memory_ptr",
                                                            "typeString": "string memory"
                                                        }
                                                    },
                                                    {
                                                        "id": 15715,
                                                        "name": "p2",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 15704,
                                                        "src": "22380:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_address",
                                                            "typeString": "address"
                                                        }
                                                    },
                                                    {
                                                        "id": 15716,
                                                        "name": "p3",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 15706,
                                                        "src": "22384:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_string_memory_ptr",
                                                            "typeString": "string memory"
                                                        }
                                                    }
                                                ],
                                                "expression": {
                                                    "argumentTypes": [
                                                        {
                                                            "typeIdentifier": "t_stringliteral_f898577fdc87bf80b54b2b838f8b58bf5a74554c7beeb61b98f3c2b7d59f31e2",
                                                            "typeString": "literal_string \"log(uint,string,address,string)\""
                                                        },
                                                        {
                                                            "typeIdentifier": "t_uint256",
                                                            "typeString": "uint256"
                                                        },
                                                        {
                                                            "typeIdentifier": "t_string_memory_ptr",
                                                            "typeString": "string memory"
                                                        },
                                                        {
                                                            "typeIdentifier": "t_address",
                                                            "typeString": "address"
                                                        },
                                                        {
                                                            "typeIdentifier": "t_string_memory_ptr",
                                                            "typeString": "string memory"
                                                        }
                                                    ],
                                                    "expression": {
                                                        "id": 15710,
                                                        "name": "abi",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 4294967295,
                                                        "src": "22313:3:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_magic_abi",
                                                            "typeString": "abi"
                                                        }
                                                    },
                                                    "id": 15711,
                                                    "isConstant": false,
                                                    "isLValue": false,
                                                    "isPure": true,
                                                    "lValueRequested": false,
                                                    "memberName": "encodeWithSignature",
                                                    "nodeType": "MemberAccess",
                                                    "src": "22313:23:62",
                                                    "typeDescriptions": {
                                                        "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$",
                                                        "typeString": "function (string memory) pure returns (bytes memory)"
                                                    }
                                                },
                                                "id": 15717,
                                                "isConstant": false,
                                                "isLValue": false,
                                                "isPure": false,
                                                "kind": "functionCall",
                                                "lValueRequested": false,
                                                "names": [],
                                                "nodeType": "FunctionCall",
                                                "src": "22313:74:62",
                                                "tryCall": false,
                                                "typeDescriptions": {
                                                    "typeIdentifier": "t_bytes_memory_ptr",
                                                    "typeString": "bytes memory"
                                                }
                                            }
                                        ],
                                        "expression": {
                                            "argumentTypes": [
                                                {
                                                    "typeIdentifier": "t_bytes_memory_ptr",
                                                    "typeString": "bytes memory"
                                                }
                                            ],
                                            "id": 15709,
                                            "name": "_sendLogPayload",
                                            "nodeType": "Identifier",
                                            "overloadedDeclarations": [],
                                            "referencedDeclaration": 12880,
                                            "src": "22297:15:62",
                                            "typeDescriptions": {
                                                "typeIdentifier": "t_function_internal_view$_t_bytes_memory_ptr_$returns$__$",
                                                "typeString": "function (bytes memory) view"
                                            }
                                        },
                                        "id": 15718,
                                        "isConstant": false,
                                        "isLValue": false,
                                        "isPure": false,
                                        "kind": "functionCall",
                                        "lValueRequested": false,
                                        "names": [],
                                        "nodeType": "FunctionCall",
                                        "src": "22297:91:62",
                                        "tryCall": false,
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_tuple$__$",
                                            "typeString": "tuple()"
                                        }
                                    },
                                    "id": 15719,
                                    "nodeType": "ExpressionStatement",
                                    "src": "22297:91:62"
                                }
                            ]
                        },
                        "id": 15721,
                        "implemented": true,
                        "kind": "function",
                        "modifiers": [],
                        "name": "log",
                        "nameLocation": "22218:3:62",
                        "nodeType": "FunctionDefinition",
                        "parameters": {
                            "id": 15707,
                            "nodeType": "ParameterList",
                            "parameters": [
                                {
                                    "constant": false,
                                    "id": 15700,
                                    "mutability": "mutable",
                                    "name": "p0",
                                    "nameLocation": "22227:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 15721,
                                    "src": "22222:7:62",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_uint256",
                                        "typeString": "uint256"
                                    },
                                    "typeName": {
                                        "id": 15699,
                                        "name": "uint",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "22222:4:62",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_uint256",
                                            "typeString": "uint256"
                                        }
                                    },
                                    "visibility": "internal"
                                },
                                {
                                    "constant": false,
                                    "id": 15702,
                                    "mutability": "mutable",
                                    "name": "p1",
                                    "nameLocation": "22245:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 15721,
                                    "src": "22231:16:62",
                                    "stateVariable": false,
                                    "storageLocation": "memory",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_string_memory_ptr",
                                        "typeString": "string"
                                    },
                                    "typeName": {
                                        "id": 15701,
                                        "name": "string",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "22231:6:62",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_string_storage_ptr",
                                            "typeString": "string"
                                        }
                                    },
                                    "visibility": "internal"
                                },
                                {
                                    "constant": false,
                                    "id": 15704,
                                    "mutability": "mutable",
                                    "name": "p2",
                                    "nameLocation": "22257:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 15721,
                                    "src": "22249:10:62",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_address",
                                        "typeString": "address"
                                    },
                                    "typeName": {
                                        "id": 15703,
                                        "name": "address",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "22249:7:62",
                                        "stateMutability": "nonpayable",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_address",
                                            "typeString": "address"
                                        }
                                    },
                                    "visibility": "internal"
                                },
                                {
                                    "constant": false,
                                    "id": 15706,
                                    "mutability": "mutable",
                                    "name": "p3",
                                    "nameLocation": "22275:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 15721,
                                    "src": "22261:16:62",
                                    "stateVariable": false,
                                    "storageLocation": "memory",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_string_memory_ptr",
                                        "typeString": "string"
                                    },
                                    "typeName": {
                                        "id": 15705,
                                        "name": "string",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "22261:6:62",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_string_storage_ptr",
                                            "typeString": "string"
                                        }
                                    },
                                    "visibility": "internal"
                                }
                            ],
                            "src": "22221:57:62"
                        },
                        "returnParameters": {
                            "id": 15708,
                            "nodeType": "ParameterList",
                            "parameters": [],
                            "src": "22293:0:62"
                        },
                        "scope": 20920,
                        "src": "22209:183:62",
                        "stateMutability": "view",
                        "virtual": false,
                        "visibility": "internal"
                    },
                    {
                        "body": {
                            "id": 15743,
                            "nodeType": "Block",
                            "src": "22470:97:62",
                            "statements": [
                                {
                                    "expression": {
                                        "arguments": [
                                            {
                                                "arguments": [
                                                    {
                                                        "hexValue": "6c6f672875696e742c737472696e672c616464726573732c626f6f6c29",
                                                        "id": 15735,
                                                        "isConstant": false,
                                                        "isLValue": false,
                                                        "isPure": true,
                                                        "kind": "string",
                                                        "lValueRequested": false,
                                                        "nodeType": "Literal",
                                                        "src": "22514:31:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_stringliteral_f93fff378483bab1a84a8ae346090ff91e793863821a5430c45153390c3262e1",
                                                            "typeString": "literal_string \"log(uint,string,address,bool)\""
                                                        },
                                                        "value": "log(uint,string,address,bool)"
                                                    },
                                                    {
                                                        "id": 15736,
                                                        "name": "p0",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 15723,
                                                        "src": "22547:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_uint256",
                                                            "typeString": "uint256"
                                                        }
                                                    },
                                                    {
                                                        "id": 15737,
                                                        "name": "p1",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 15725,
                                                        "src": "22551:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_string_memory_ptr",
                                                            "typeString": "string memory"
                                                        }
                                                    },
                                                    {
                                                        "id": 15738,
                                                        "name": "p2",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 15727,
                                                        "src": "22555:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_address",
                                                            "typeString": "address"
                                                        }
                                                    },
                                                    {
                                                        "id": 15739,
                                                        "name": "p3",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 15729,
                                                        "src": "22559:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_bool",
                                                            "typeString": "bool"
                                                        }
                                                    }
                                                ],
                                                "expression": {
                                                    "argumentTypes": [
                                                        {
                                                            "typeIdentifier": "t_stringliteral_f93fff378483bab1a84a8ae346090ff91e793863821a5430c45153390c3262e1",
                                                            "typeString": "literal_string \"log(uint,string,address,bool)\""
                                                        },
                                                        {
                                                            "typeIdentifier": "t_uint256",
                                                            "typeString": "uint256"
                                                        },
                                                        {
                                                            "typeIdentifier": "t_string_memory_ptr",
                                                            "typeString": "string memory"
                                                        },
                                                        {
                                                            "typeIdentifier": "t_address",
                                                            "typeString": "address"
                                                        },
                                                        {
                                                            "typeIdentifier": "t_bool",
                                                            "typeString": "bool"
                                                        }
                                                    ],
                                                    "expression": {
                                                        "id": 15733,
                                                        "name": "abi",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 4294967295,
                                                        "src": "22490:3:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_magic_abi",
                                                            "typeString": "abi"
                                                        }
                                                    },
                                                    "id": 15734,
                                                    "isConstant": false,
                                                    "isLValue": false,
                                                    "isPure": true,
                                                    "lValueRequested": false,
                                                    "memberName": "encodeWithSignature",
                                                    "nodeType": "MemberAccess",
                                                    "src": "22490:23:62",
                                                    "typeDescriptions": {
                                                        "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$",
                                                        "typeString": "function (string memory) pure returns (bytes memory)"
                                                    }
                                                },
                                                "id": 15740,
                                                "isConstant": false,
                                                "isLValue": false,
                                                "isPure": false,
                                                "kind": "functionCall",
                                                "lValueRequested": false,
                                                "names": [],
                                                "nodeType": "FunctionCall",
                                                "src": "22490:72:62",
                                                "tryCall": false,
                                                "typeDescriptions": {
                                                    "typeIdentifier": "t_bytes_memory_ptr",
                                                    "typeString": "bytes memory"
                                                }
                                            }
                                        ],
                                        "expression": {
                                            "argumentTypes": [
                                                {
                                                    "typeIdentifier": "t_bytes_memory_ptr",
                                                    "typeString": "bytes memory"
                                                }
                                            ],
                                            "id": 15732,
                                            "name": "_sendLogPayload",
                                            "nodeType": "Identifier",
                                            "overloadedDeclarations": [],
                                            "referencedDeclaration": 12880,
                                            "src": "22474:15:62",
                                            "typeDescriptions": {
                                                "typeIdentifier": "t_function_internal_view$_t_bytes_memory_ptr_$returns$__$",
                                                "typeString": "function (bytes memory) view"
                                            }
                                        },
                                        "id": 15741,
                                        "isConstant": false,
                                        "isLValue": false,
                                        "isPure": false,
                                        "kind": "functionCall",
                                        "lValueRequested": false,
                                        "names": [],
                                        "nodeType": "FunctionCall",
                                        "src": "22474:89:62",
                                        "tryCall": false,
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_tuple$__$",
                                            "typeString": "tuple()"
                                        }
                                    },
                                    "id": 15742,
                                    "nodeType": "ExpressionStatement",
                                    "src": "22474:89:62"
                                }
                            ]
                        },
                        "id": 15744,
                        "implemented": true,
                        "kind": "function",
                        "modifiers": [],
                        "name": "log",
                        "nameLocation": "22404:3:62",
                        "nodeType": "FunctionDefinition",
                        "parameters": {
                            "id": 15730,
                            "nodeType": "ParameterList",
                            "parameters": [
                                {
                                    "constant": false,
                                    "id": 15723,
                                    "mutability": "mutable",
                                    "name": "p0",
                                    "nameLocation": "22413:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 15744,
                                    "src": "22408:7:62",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_uint256",
                                        "typeString": "uint256"
                                    },
                                    "typeName": {
                                        "id": 15722,
                                        "name": "uint",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "22408:4:62",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_uint256",
                                            "typeString": "uint256"
                                        }
                                    },
                                    "visibility": "internal"
                                },
                                {
                                    "constant": false,
                                    "id": 15725,
                                    "mutability": "mutable",
                                    "name": "p1",
                                    "nameLocation": "22431:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 15744,
                                    "src": "22417:16:62",
                                    "stateVariable": false,
                                    "storageLocation": "memory",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_string_memory_ptr",
                                        "typeString": "string"
                                    },
                                    "typeName": {
                                        "id": 15724,
                                        "name": "string",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "22417:6:62",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_string_storage_ptr",
                                            "typeString": "string"
                                        }
                                    },
                                    "visibility": "internal"
                                },
                                {
                                    "constant": false,
                                    "id": 15727,
                                    "mutability": "mutable",
                                    "name": "p2",
                                    "nameLocation": "22443:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 15744,
                                    "src": "22435:10:62",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_address",
                                        "typeString": "address"
                                    },
                                    "typeName": {
                                        "id": 15726,
                                        "name": "address",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "22435:7:62",
                                        "stateMutability": "nonpayable",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_address",
                                            "typeString": "address"
                                        }
                                    },
                                    "visibility": "internal"
                                },
                                {
                                    "constant": false,
                                    "id": 15729,
                                    "mutability": "mutable",
                                    "name": "p3",
                                    "nameLocation": "22452:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 15744,
                                    "src": "22447:7:62",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_bool",
                                        "typeString": "bool"
                                    },
                                    "typeName": {
                                        "id": 15728,
                                        "name": "bool",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "22447:4:62",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_bool",
                                            "typeString": "bool"
                                        }
                                    },
                                    "visibility": "internal"
                                }
                            ],
                            "src": "22407:48:62"
                        },
                        "returnParameters": {
                            "id": 15731,
                            "nodeType": "ParameterList",
                            "parameters": [],
                            "src": "22470:0:62"
                        },
                        "scope": 20920,
                        "src": "22395:172:62",
                        "stateMutability": "view",
                        "virtual": false,
                        "visibility": "internal"
                    },
                    {
                        "body": {
                            "id": 15766,
                            "nodeType": "Block",
                            "src": "22648:100:62",
                            "statements": [
                                {
                                    "expression": {
                                        "arguments": [
                                            {
                                                "arguments": [
                                                    {
                                                        "hexValue": "6c6f672875696e742c737472696e672c616464726573732c6164647265737329",
                                                        "id": 15758,
                                                        "isConstant": false,
                                                        "isLValue": false,
                                                        "isPure": true,
                                                        "kind": "string",
                                                        "lValueRequested": false,
                                                        "nodeType": "Literal",
                                                        "src": "22692:34:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_stringliteral_7fa5458bb859a8b444c46f9915b7879afe7e200298580a00c5813ecf5c0a77cb",
                                                            "typeString": "literal_string \"log(uint,string,address,address)\""
                                                        },
                                                        "value": "log(uint,string,address,address)"
                                                    },
                                                    {
                                                        "id": 15759,
                                                        "name": "p0",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 15746,
                                                        "src": "22728:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_uint256",
                                                            "typeString": "uint256"
                                                        }
                                                    },
                                                    {
                                                        "id": 15760,
                                                        "name": "p1",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 15748,
                                                        "src": "22732:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_string_memory_ptr",
                                                            "typeString": "string memory"
                                                        }
                                                    },
                                                    {
                                                        "id": 15761,
                                                        "name": "p2",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 15750,
                                                        "src": "22736:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_address",
                                                            "typeString": "address"
                                                        }
                                                    },
                                                    {
                                                        "id": 15762,
                                                        "name": "p3",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 15752,
                                                        "src": "22740:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_address",
                                                            "typeString": "address"
                                                        }
                                                    }
                                                ],
                                                "expression": {
                                                    "argumentTypes": [
                                                        {
                                                            "typeIdentifier": "t_stringliteral_7fa5458bb859a8b444c46f9915b7879afe7e200298580a00c5813ecf5c0a77cb",
                                                            "typeString": "literal_string \"log(uint,string,address,address)\""
                                                        },
                                                        {
                                                            "typeIdentifier": "t_uint256",
                                                            "typeString": "uint256"
                                                        },
                                                        {
                                                            "typeIdentifier": "t_string_memory_ptr",
                                                            "typeString": "string memory"
                                                        },
                                                        {
                                                            "typeIdentifier": "t_address",
                                                            "typeString": "address"
                                                        },
                                                        {
                                                            "typeIdentifier": "t_address",
                                                            "typeString": "address"
                                                        }
                                                    ],
                                                    "expression": {
                                                        "id": 15756,
                                                        "name": "abi",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 4294967295,
                                                        "src": "22668:3:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_magic_abi",
                                                            "typeString": "abi"
                                                        }
                                                    },
                                                    "id": 15757,
                                                    "isConstant": false,
                                                    "isLValue": false,
                                                    "isPure": true,
                                                    "lValueRequested": false,
                                                    "memberName": "encodeWithSignature",
                                                    "nodeType": "MemberAccess",
                                                    "src": "22668:23:62",
                                                    "typeDescriptions": {
                                                        "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$",
                                                        "typeString": "function (string memory) pure returns (bytes memory)"
                                                    }
                                                },
                                                "id": 15763,
                                                "isConstant": false,
                                                "isLValue": false,
                                                "isPure": false,
                                                "kind": "functionCall",
                                                "lValueRequested": false,
                                                "names": [],
                                                "nodeType": "FunctionCall",
                                                "src": "22668:75:62",
                                                "tryCall": false,
                                                "typeDescriptions": {
                                                    "typeIdentifier": "t_bytes_memory_ptr",
                                                    "typeString": "bytes memory"
                                                }
                                            }
                                        ],
                                        "expression": {
                                            "argumentTypes": [
                                                {
                                                    "typeIdentifier": "t_bytes_memory_ptr",
                                                    "typeString": "bytes memory"
                                                }
                                            ],
                                            "id": 15755,
                                            "name": "_sendLogPayload",
                                            "nodeType": "Identifier",
                                            "overloadedDeclarations": [],
                                            "referencedDeclaration": 12880,
                                            "src": "22652:15:62",
                                            "typeDescriptions": {
                                                "typeIdentifier": "t_function_internal_view$_t_bytes_memory_ptr_$returns$__$",
                                                "typeString": "function (bytes memory) view"
                                            }
                                        },
                                        "id": 15764,
                                        "isConstant": false,
                                        "isLValue": false,
                                        "isPure": false,
                                        "kind": "functionCall",
                                        "lValueRequested": false,
                                        "names": [],
                                        "nodeType": "FunctionCall",
                                        "src": "22652:92:62",
                                        "tryCall": false,
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_tuple$__$",
                                            "typeString": "tuple()"
                                        }
                                    },
                                    "id": 15765,
                                    "nodeType": "ExpressionStatement",
                                    "src": "22652:92:62"
                                }
                            ]
                        },
                        "id": 15767,
                        "implemented": true,
                        "kind": "function",
                        "modifiers": [],
                        "name": "log",
                        "nameLocation": "22579:3:62",
                        "nodeType": "FunctionDefinition",
                        "parameters": {
                            "id": 15753,
                            "nodeType": "ParameterList",
                            "parameters": [
                                {
                                    "constant": false,
                                    "id": 15746,
                                    "mutability": "mutable",
                                    "name": "p0",
                                    "nameLocation": "22588:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 15767,
                                    "src": "22583:7:62",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_uint256",
                                        "typeString": "uint256"
                                    },
                                    "typeName": {
                                        "id": 15745,
                                        "name": "uint",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "22583:4:62",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_uint256",
                                            "typeString": "uint256"
                                        }
                                    },
                                    "visibility": "internal"
                                },
                                {
                                    "constant": false,
                                    "id": 15748,
                                    "mutability": "mutable",
                                    "name": "p1",
                                    "nameLocation": "22606:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 15767,
                                    "src": "22592:16:62",
                                    "stateVariable": false,
                                    "storageLocation": "memory",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_string_memory_ptr",
                                        "typeString": "string"
                                    },
                                    "typeName": {
                                        "id": 15747,
                                        "name": "string",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "22592:6:62",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_string_storage_ptr",
                                            "typeString": "string"
                                        }
                                    },
                                    "visibility": "internal"
                                },
                                {
                                    "constant": false,
                                    "id": 15750,
                                    "mutability": "mutable",
                                    "name": "p2",
                                    "nameLocation": "22618:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 15767,
                                    "src": "22610:10:62",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_address",
                                        "typeString": "address"
                                    },
                                    "typeName": {
                                        "id": 15749,
                                        "name": "address",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "22610:7:62",
                                        "stateMutability": "nonpayable",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_address",
                                            "typeString": "address"
                                        }
                                    },
                                    "visibility": "internal"
                                },
                                {
                                    "constant": false,
                                    "id": 15752,
                                    "mutability": "mutable",
                                    "name": "p3",
                                    "nameLocation": "22630:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 15767,
                                    "src": "22622:10:62",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_address",
                                        "typeString": "address"
                                    },
                                    "typeName": {
                                        "id": 15751,
                                        "name": "address",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "22622:7:62",
                                        "stateMutability": "nonpayable",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_address",
                                            "typeString": "address"
                                        }
                                    },
                                    "visibility": "internal"
                                }
                            ],
                            "src": "22582:51:62"
                        },
                        "returnParameters": {
                            "id": 15754,
                            "nodeType": "ParameterList",
                            "parameters": [],
                            "src": "22648:0:62"
                        },
                        "scope": 20920,
                        "src": "22570:178:62",
                        "stateMutability": "view",
                        "virtual": false,
                        "visibility": "internal"
                    },
                    {
                        "body": {
                            "id": 15789,
                            "nodeType": "Block",
                            "src": "22814:92:62",
                            "statements": [
                                {
                                    "expression": {
                                        "arguments": [
                                            {
                                                "arguments": [
                                                    {
                                                        "hexValue": "6c6f672875696e742c626f6f6c2c75696e742c75696e7429",
                                                        "id": 15781,
                                                        "isConstant": false,
                                                        "isLValue": false,
                                                        "isPure": true,
                                                        "kind": "string",
                                                        "lValueRequested": false,
                                                        "nodeType": "Literal",
                                                        "src": "22858:26:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_stringliteral_56828da42a6ecdc94480e6d223af96b676cdc4ca9a00b1d88a7646ef1e12541e",
                                                            "typeString": "literal_string \"log(uint,bool,uint,uint)\""
                                                        },
                                                        "value": "log(uint,bool,uint,uint)"
                                                    },
                                                    {
                                                        "id": 15782,
                                                        "name": "p0",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 15769,
                                                        "src": "22886:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_uint256",
                                                            "typeString": "uint256"
                                                        }
                                                    },
                                                    {
                                                        "id": 15783,
                                                        "name": "p1",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 15771,
                                                        "src": "22890:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_bool",
                                                            "typeString": "bool"
                                                        }
                                                    },
                                                    {
                                                        "id": 15784,
                                                        "name": "p2",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 15773,
                                                        "src": "22894:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_uint256",
                                                            "typeString": "uint256"
                                                        }
                                                    },
                                                    {
                                                        "id": 15785,
                                                        "name": "p3",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 15775,
                                                        "src": "22898:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_uint256",
                                                            "typeString": "uint256"
                                                        }
                                                    }
                                                ],
                                                "expression": {
                                                    "argumentTypes": [
                                                        {
                                                            "typeIdentifier": "t_stringliteral_56828da42a6ecdc94480e6d223af96b676cdc4ca9a00b1d88a7646ef1e12541e",
                                                            "typeString": "literal_string \"log(uint,bool,uint,uint)\""
                                                        },
                                                        {
                                                            "typeIdentifier": "t_uint256",
                                                            "typeString": "uint256"
                                                        },
                                                        {
                                                            "typeIdentifier": "t_bool",
                                                            "typeString": "bool"
                                                        },
                                                        {
                                                            "typeIdentifier": "t_uint256",
                                                            "typeString": "uint256"
                                                        },
                                                        {
                                                            "typeIdentifier": "t_uint256",
                                                            "typeString": "uint256"
                                                        }
                                                    ],
                                                    "expression": {
                                                        "id": 15779,
                                                        "name": "abi",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 4294967295,
                                                        "src": "22834:3:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_magic_abi",
                                                            "typeString": "abi"
                                                        }
                                                    },
                                                    "id": 15780,
                                                    "isConstant": false,
                                                    "isLValue": false,
                                                    "isPure": true,
                                                    "lValueRequested": false,
                                                    "memberName": "encodeWithSignature",
                                                    "nodeType": "MemberAccess",
                                                    "src": "22834:23:62",
                                                    "typeDescriptions": {
                                                        "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$",
                                                        "typeString": "function (string memory) pure returns (bytes memory)"
                                                    }
                                                },
                                                "id": 15786,
                                                "isConstant": false,
                                                "isLValue": false,
                                                "isPure": false,
                                                "kind": "functionCall",
                                                "lValueRequested": false,
                                                "names": [],
                                                "nodeType": "FunctionCall",
                                                "src": "22834:67:62",
                                                "tryCall": false,
                                                "typeDescriptions": {
                                                    "typeIdentifier": "t_bytes_memory_ptr",
                                                    "typeString": "bytes memory"
                                                }
                                            }
                                        ],
                                        "expression": {
                                            "argumentTypes": [
                                                {
                                                    "typeIdentifier": "t_bytes_memory_ptr",
                                                    "typeString": "bytes memory"
                                                }
                                            ],
                                            "id": 15778,
                                            "name": "_sendLogPayload",
                                            "nodeType": "Identifier",
                                            "overloadedDeclarations": [],
                                            "referencedDeclaration": 12880,
                                            "src": "22818:15:62",
                                            "typeDescriptions": {
                                                "typeIdentifier": "t_function_internal_view$_t_bytes_memory_ptr_$returns$__$",
                                                "typeString": "function (bytes memory) view"
                                            }
                                        },
                                        "id": 15787,
                                        "isConstant": false,
                                        "isLValue": false,
                                        "isPure": false,
                                        "kind": "functionCall",
                                        "lValueRequested": false,
                                        "names": [],
                                        "nodeType": "FunctionCall",
                                        "src": "22818:84:62",
                                        "tryCall": false,
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_tuple$__$",
                                            "typeString": "tuple()"
                                        }
                                    },
                                    "id": 15788,
                                    "nodeType": "ExpressionStatement",
                                    "src": "22818:84:62"
                                }
                            ]
                        },
                        "id": 15790,
                        "implemented": true,
                        "kind": "function",
                        "modifiers": [],
                        "name": "log",
                        "nameLocation": "22760:3:62",
                        "nodeType": "FunctionDefinition",
                        "parameters": {
                            "id": 15776,
                            "nodeType": "ParameterList",
                            "parameters": [
                                {
                                    "constant": false,
                                    "id": 15769,
                                    "mutability": "mutable",
                                    "name": "p0",
                                    "nameLocation": "22769:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 15790,
                                    "src": "22764:7:62",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_uint256",
                                        "typeString": "uint256"
                                    },
                                    "typeName": {
                                        "id": 15768,
                                        "name": "uint",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "22764:4:62",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_uint256",
                                            "typeString": "uint256"
                                        }
                                    },
                                    "visibility": "internal"
                                },
                                {
                                    "constant": false,
                                    "id": 15771,
                                    "mutability": "mutable",
                                    "name": "p1",
                                    "nameLocation": "22778:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 15790,
                                    "src": "22773:7:62",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_bool",
                                        "typeString": "bool"
                                    },
                                    "typeName": {
                                        "id": 15770,
                                        "name": "bool",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "22773:4:62",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_bool",
                                            "typeString": "bool"
                                        }
                                    },
                                    "visibility": "internal"
                                },
                                {
                                    "constant": false,
                                    "id": 15773,
                                    "mutability": "mutable",
                                    "name": "p2",
                                    "nameLocation": "22787:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 15790,
                                    "src": "22782:7:62",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_uint256",
                                        "typeString": "uint256"
                                    },
                                    "typeName": {
                                        "id": 15772,
                                        "name": "uint",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "22782:4:62",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_uint256",
                                            "typeString": "uint256"
                                        }
                                    },
                                    "visibility": "internal"
                                },
                                {
                                    "constant": false,
                                    "id": 15775,
                                    "mutability": "mutable",
                                    "name": "p3",
                                    "nameLocation": "22796:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 15790,
                                    "src": "22791:7:62",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_uint256",
                                        "typeString": "uint256"
                                    },
                                    "typeName": {
                                        "id": 15774,
                                        "name": "uint",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "22791:4:62",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_uint256",
                                            "typeString": "uint256"
                                        }
                                    },
                                    "visibility": "internal"
                                }
                            ],
                            "src": "22763:36:62"
                        },
                        "returnParameters": {
                            "id": 15777,
                            "nodeType": "ParameterList",
                            "parameters": [],
                            "src": "22814:0:62"
                        },
                        "scope": 20920,
                        "src": "22751:155:62",
                        "stateMutability": "view",
                        "virtual": false,
                        "visibility": "internal"
                    },
                    {
                        "body": {
                            "id": 15812,
                            "nodeType": "Block",
                            "src": "22981:94:62",
                            "statements": [
                                {
                                    "expression": {
                                        "arguments": [
                                            {
                                                "arguments": [
                                                    {
                                                        "hexValue": "6c6f672875696e742c626f6f6c2c75696e742c737472696e6729",
                                                        "id": 15804,
                                                        "isConstant": false,
                                                        "isLValue": false,
                                                        "isPure": true,
                                                        "kind": "string",
                                                        "lValueRequested": false,
                                                        "nodeType": "Literal",
                                                        "src": "23025:28:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_stringliteral_e8ddbc56b4712607102717eb35a3ee6aa0309358d07a4257a282d4a44ceb2f63",
                                                            "typeString": "literal_string \"log(uint,bool,uint,string)\""
                                                        },
                                                        "value": "log(uint,bool,uint,string)"
                                                    },
                                                    {
                                                        "id": 15805,
                                                        "name": "p0",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 15792,
                                                        "src": "23055:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_uint256",
                                                            "typeString": "uint256"
                                                        }
                                                    },
                                                    {
                                                        "id": 15806,
                                                        "name": "p1",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 15794,
                                                        "src": "23059:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_bool",
                                                            "typeString": "bool"
                                                        }
                                                    },
                                                    {
                                                        "id": 15807,
                                                        "name": "p2",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 15796,
                                                        "src": "23063:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_uint256",
                                                            "typeString": "uint256"
                                                        }
                                                    },
                                                    {
                                                        "id": 15808,
                                                        "name": "p3",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 15798,
                                                        "src": "23067:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_string_memory_ptr",
                                                            "typeString": "string memory"
                                                        }
                                                    }
                                                ],
                                                "expression": {
                                                    "argumentTypes": [
                                                        {
                                                            "typeIdentifier": "t_stringliteral_e8ddbc56b4712607102717eb35a3ee6aa0309358d07a4257a282d4a44ceb2f63",
                                                            "typeString": "literal_string \"log(uint,bool,uint,string)\""
                                                        },
                                                        {
                                                            "typeIdentifier": "t_uint256",
                                                            "typeString": "uint256"
                                                        },
                                                        {
                                                            "typeIdentifier": "t_bool",
                                                            "typeString": "bool"
                                                        },
                                                        {
                                                            "typeIdentifier": "t_uint256",
                                                            "typeString": "uint256"
                                                        },
                                                        {
                                                            "typeIdentifier": "t_string_memory_ptr",
                                                            "typeString": "string memory"
                                                        }
                                                    ],
                                                    "expression": {
                                                        "id": 15802,
                                                        "name": "abi",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 4294967295,
                                                        "src": "23001:3:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_magic_abi",
                                                            "typeString": "abi"
                                                        }
                                                    },
                                                    "id": 15803,
                                                    "isConstant": false,
                                                    "isLValue": false,
                                                    "isPure": true,
                                                    "lValueRequested": false,
                                                    "memberName": "encodeWithSignature",
                                                    "nodeType": "MemberAccess",
                                                    "src": "23001:23:62",
                                                    "typeDescriptions": {
                                                        "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$",
                                                        "typeString": "function (string memory) pure returns (bytes memory)"
                                                    }
                                                },
                                                "id": 15809,
                                                "isConstant": false,
                                                "isLValue": false,
                                                "isPure": false,
                                                "kind": "functionCall",
                                                "lValueRequested": false,
                                                "names": [],
                                                "nodeType": "FunctionCall",
                                                "src": "23001:69:62",
                                                "tryCall": false,
                                                "typeDescriptions": {
                                                    "typeIdentifier": "t_bytes_memory_ptr",
                                                    "typeString": "bytes memory"
                                                }
                                            }
                                        ],
                                        "expression": {
                                            "argumentTypes": [
                                                {
                                                    "typeIdentifier": "t_bytes_memory_ptr",
                                                    "typeString": "bytes memory"
                                                }
                                            ],
                                            "id": 15801,
                                            "name": "_sendLogPayload",
                                            "nodeType": "Identifier",
                                            "overloadedDeclarations": [],
                                            "referencedDeclaration": 12880,
                                            "src": "22985:15:62",
                                            "typeDescriptions": {
                                                "typeIdentifier": "t_function_internal_view$_t_bytes_memory_ptr_$returns$__$",
                                                "typeString": "function (bytes memory) view"
                                            }
                                        },
                                        "id": 15810,
                                        "isConstant": false,
                                        "isLValue": false,
                                        "isPure": false,
                                        "kind": "functionCall",
                                        "lValueRequested": false,
                                        "names": [],
                                        "nodeType": "FunctionCall",
                                        "src": "22985:86:62",
                                        "tryCall": false,
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_tuple$__$",
                                            "typeString": "tuple()"
                                        }
                                    },
                                    "id": 15811,
                                    "nodeType": "ExpressionStatement",
                                    "src": "22985:86:62"
                                }
                            ]
                        },
                        "id": 15813,
                        "implemented": true,
                        "kind": "function",
                        "modifiers": [],
                        "name": "log",
                        "nameLocation": "22918:3:62",
                        "nodeType": "FunctionDefinition",
                        "parameters": {
                            "id": 15799,
                            "nodeType": "ParameterList",
                            "parameters": [
                                {
                                    "constant": false,
                                    "id": 15792,
                                    "mutability": "mutable",
                                    "name": "p0",
                                    "nameLocation": "22927:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 15813,
                                    "src": "22922:7:62",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_uint256",
                                        "typeString": "uint256"
                                    },
                                    "typeName": {
                                        "id": 15791,
                                        "name": "uint",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "22922:4:62",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_uint256",
                                            "typeString": "uint256"
                                        }
                                    },
                                    "visibility": "internal"
                                },
                                {
                                    "constant": false,
                                    "id": 15794,
                                    "mutability": "mutable",
                                    "name": "p1",
                                    "nameLocation": "22936:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 15813,
                                    "src": "22931:7:62",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_bool",
                                        "typeString": "bool"
                                    },
                                    "typeName": {
                                        "id": 15793,
                                        "name": "bool",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "22931:4:62",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_bool",
                                            "typeString": "bool"
                                        }
                                    },
                                    "visibility": "internal"
                                },
                                {
                                    "constant": false,
                                    "id": 15796,
                                    "mutability": "mutable",
                                    "name": "p2",
                                    "nameLocation": "22945:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 15813,
                                    "src": "22940:7:62",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_uint256",
                                        "typeString": "uint256"
                                    },
                                    "typeName": {
                                        "id": 15795,
                                        "name": "uint",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "22940:4:62",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_uint256",
                                            "typeString": "uint256"
                                        }
                                    },
                                    "visibility": "internal"
                                },
                                {
                                    "constant": false,
                                    "id": 15798,
                                    "mutability": "mutable",
                                    "name": "p3",
                                    "nameLocation": "22963:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 15813,
                                    "src": "22949:16:62",
                                    "stateVariable": false,
                                    "storageLocation": "memory",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_string_memory_ptr",
                                        "typeString": "string"
                                    },
                                    "typeName": {
                                        "id": 15797,
                                        "name": "string",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "22949:6:62",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_string_storage_ptr",
                                            "typeString": "string"
                                        }
                                    },
                                    "visibility": "internal"
                                }
                            ],
                            "src": "22921:45:62"
                        },
                        "returnParameters": {
                            "id": 15800,
                            "nodeType": "ParameterList",
                            "parameters": [],
                            "src": "22981:0:62"
                        },
                        "scope": 20920,
                        "src": "22909:166:62",
                        "stateMutability": "view",
                        "virtual": false,
                        "visibility": "internal"
                    },
                    {
                        "body": {
                            "id": 15835,
                            "nodeType": "Block",
                            "src": "23141:92:62",
                            "statements": [
                                {
                                    "expression": {
                                        "arguments": [
                                            {
                                                "arguments": [
                                                    {
                                                        "hexValue": "6c6f672875696e742c626f6f6c2c75696e742c626f6f6c29",
                                                        "id": 15827,
                                                        "isConstant": false,
                                                        "isLValue": false,
                                                        "isPure": true,
                                                        "kind": "string",
                                                        "lValueRequested": false,
                                                        "nodeType": "Literal",
                                                        "src": "23185:26:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_stringliteral_d2abc4fdef6f35f3785755f2ca3a26416b52c0c4c5ad8b27342fc84a56532f2f",
                                                            "typeString": "literal_string \"log(uint,bool,uint,bool)\""
                                                        },
                                                        "value": "log(uint,bool,uint,bool)"
                                                    },
                                                    {
                                                        "id": 15828,
                                                        "name": "p0",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 15815,
                                                        "src": "23213:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_uint256",
                                                            "typeString": "uint256"
                                                        }
                                                    },
                                                    {
                                                        "id": 15829,
                                                        "name": "p1",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 15817,
                                                        "src": "23217:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_bool",
                                                            "typeString": "bool"
                                                        }
                                                    },
                                                    {
                                                        "id": 15830,
                                                        "name": "p2",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 15819,
                                                        "src": "23221:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_uint256",
                                                            "typeString": "uint256"
                                                        }
                                                    },
                                                    {
                                                        "id": 15831,
                                                        "name": "p3",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 15821,
                                                        "src": "23225:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_bool",
                                                            "typeString": "bool"
                                                        }
                                                    }
                                                ],
                                                "expression": {
                                                    "argumentTypes": [
                                                        {
                                                            "typeIdentifier": "t_stringliteral_d2abc4fdef6f35f3785755f2ca3a26416b52c0c4c5ad8b27342fc84a56532f2f",
                                                            "typeString": "literal_string \"log(uint,bool,uint,bool)\""
                                                        },
                                                        {
                                                            "typeIdentifier": "t_uint256",
                                                            "typeString": "uint256"
                                                        },
                                                        {
                                                            "typeIdentifier": "t_bool",
                                                            "typeString": "bool"
                                                        },
                                                        {
                                                            "typeIdentifier": "t_uint256",
                                                            "typeString": "uint256"
                                                        },
                                                        {
                                                            "typeIdentifier": "t_bool",
                                                            "typeString": "bool"
                                                        }
                                                    ],
                                                    "expression": {
                                                        "id": 15825,
                                                        "name": "abi",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 4294967295,
                                                        "src": "23161:3:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_magic_abi",
                                                            "typeString": "abi"
                                                        }
                                                    },
                                                    "id": 15826,
                                                    "isConstant": false,
                                                    "isLValue": false,
                                                    "isPure": true,
                                                    "lValueRequested": false,
                                                    "memberName": "encodeWithSignature",
                                                    "nodeType": "MemberAccess",
                                                    "src": "23161:23:62",
                                                    "typeDescriptions": {
                                                        "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$",
                                                        "typeString": "function (string memory) pure returns (bytes memory)"
                                                    }
                                                },
                                                "id": 15832,
                                                "isConstant": false,
                                                "isLValue": false,
                                                "isPure": false,
                                                "kind": "functionCall",
                                                "lValueRequested": false,
                                                "names": [],
                                                "nodeType": "FunctionCall",
                                                "src": "23161:67:62",
                                                "tryCall": false,
                                                "typeDescriptions": {
                                                    "typeIdentifier": "t_bytes_memory_ptr",
                                                    "typeString": "bytes memory"
                                                }
                                            }
                                        ],
                                        "expression": {
                                            "argumentTypes": [
                                                {
                                                    "typeIdentifier": "t_bytes_memory_ptr",
                                                    "typeString": "bytes memory"
                                                }
                                            ],
                                            "id": 15824,
                                            "name": "_sendLogPayload",
                                            "nodeType": "Identifier",
                                            "overloadedDeclarations": [],
                                            "referencedDeclaration": 12880,
                                            "src": "23145:15:62",
                                            "typeDescriptions": {
                                                "typeIdentifier": "t_function_internal_view$_t_bytes_memory_ptr_$returns$__$",
                                                "typeString": "function (bytes memory) view"
                                            }
                                        },
                                        "id": 15833,
                                        "isConstant": false,
                                        "isLValue": false,
                                        "isPure": false,
                                        "kind": "functionCall",
                                        "lValueRequested": false,
                                        "names": [],
                                        "nodeType": "FunctionCall",
                                        "src": "23145:84:62",
                                        "tryCall": false,
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_tuple$__$",
                                            "typeString": "tuple()"
                                        }
                                    },
                                    "id": 15834,
                                    "nodeType": "ExpressionStatement",
                                    "src": "23145:84:62"
                                }
                            ]
                        },
                        "id": 15836,
                        "implemented": true,
                        "kind": "function",
                        "modifiers": [],
                        "name": "log",
                        "nameLocation": "23087:3:62",
                        "nodeType": "FunctionDefinition",
                        "parameters": {
                            "id": 15822,
                            "nodeType": "ParameterList",
                            "parameters": [
                                {
                                    "constant": false,
                                    "id": 15815,
                                    "mutability": "mutable",
                                    "name": "p0",
                                    "nameLocation": "23096:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 15836,
                                    "src": "23091:7:62",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_uint256",
                                        "typeString": "uint256"
                                    },
                                    "typeName": {
                                        "id": 15814,
                                        "name": "uint",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "23091:4:62",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_uint256",
                                            "typeString": "uint256"
                                        }
                                    },
                                    "visibility": "internal"
                                },
                                {
                                    "constant": false,
                                    "id": 15817,
                                    "mutability": "mutable",
                                    "name": "p1",
                                    "nameLocation": "23105:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 15836,
                                    "src": "23100:7:62",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_bool",
                                        "typeString": "bool"
                                    },
                                    "typeName": {
                                        "id": 15816,
                                        "name": "bool",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "23100:4:62",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_bool",
                                            "typeString": "bool"
                                        }
                                    },
                                    "visibility": "internal"
                                },
                                {
                                    "constant": false,
                                    "id": 15819,
                                    "mutability": "mutable",
                                    "name": "p2",
                                    "nameLocation": "23114:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 15836,
                                    "src": "23109:7:62",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_uint256",
                                        "typeString": "uint256"
                                    },
                                    "typeName": {
                                        "id": 15818,
                                        "name": "uint",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "23109:4:62",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_uint256",
                                            "typeString": "uint256"
                                        }
                                    },
                                    "visibility": "internal"
                                },
                                {
                                    "constant": false,
                                    "id": 15821,
                                    "mutability": "mutable",
                                    "name": "p3",
                                    "nameLocation": "23123:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 15836,
                                    "src": "23118:7:62",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_bool",
                                        "typeString": "bool"
                                    },
                                    "typeName": {
                                        "id": 15820,
                                        "name": "bool",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "23118:4:62",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_bool",
                                            "typeString": "bool"
                                        }
                                    },
                                    "visibility": "internal"
                                }
                            ],
                            "src": "23090:36:62"
                        },
                        "returnParameters": {
                            "id": 15823,
                            "nodeType": "ParameterList",
                            "parameters": [],
                            "src": "23141:0:62"
                        },
                        "scope": 20920,
                        "src": "23078:155:62",
                        "stateMutability": "view",
                        "virtual": false,
                        "visibility": "internal"
                    },
                    {
                        "body": {
                            "id": 15858,
                            "nodeType": "Block",
                            "src": "23302:95:62",
                            "statements": [
                                {
                                    "expression": {
                                        "arguments": [
                                            {
                                                "arguments": [
                                                    {
                                                        "hexValue": "6c6f672875696e742c626f6f6c2c75696e742c6164647265737329",
                                                        "id": 15850,
                                                        "isConstant": false,
                                                        "isLValue": false,
                                                        "isPure": true,
                                                        "kind": "string",
                                                        "lValueRequested": false,
                                                        "nodeType": "Literal",
                                                        "src": "23346:29:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_stringliteral_4f40058ea8927b23c60661eeb28f54d3ce10f5f6cdd8e3ce445d34409ceb50a3",
                                                            "typeString": "literal_string \"log(uint,bool,uint,address)\""
                                                        },
                                                        "value": "log(uint,bool,uint,address)"
                                                    },
                                                    {
                                                        "id": 15851,
                                                        "name": "p0",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 15838,
                                                        "src": "23377:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_uint256",
                                                            "typeString": "uint256"
                                                        }
                                                    },
                                                    {
                                                        "id": 15852,
                                                        "name": "p1",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 15840,
                                                        "src": "23381:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_bool",
                                                            "typeString": "bool"
                                                        }
                                                    },
                                                    {
                                                        "id": 15853,
                                                        "name": "p2",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 15842,
                                                        "src": "23385:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_uint256",
                                                            "typeString": "uint256"
                                                        }
                                                    },
                                                    {
                                                        "id": 15854,
                                                        "name": "p3",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 15844,
                                                        "src": "23389:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_address",
                                                            "typeString": "address"
                                                        }
                                                    }
                                                ],
                                                "expression": {
                                                    "argumentTypes": [
                                                        {
                                                            "typeIdentifier": "t_stringliteral_4f40058ea8927b23c60661eeb28f54d3ce10f5f6cdd8e3ce445d34409ceb50a3",
                                                            "typeString": "literal_string \"log(uint,bool,uint,address)\""
                                                        },
                                                        {
                                                            "typeIdentifier": "t_uint256",
                                                            "typeString": "uint256"
                                                        },
                                                        {
                                                            "typeIdentifier": "t_bool",
                                                            "typeString": "bool"
                                                        },
                                                        {
                                                            "typeIdentifier": "t_uint256",
                                                            "typeString": "uint256"
                                                        },
                                                        {
                                                            "typeIdentifier": "t_address",
                                                            "typeString": "address"
                                                        }
                                                    ],
                                                    "expression": {
                                                        "id": 15848,
                                                        "name": "abi",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 4294967295,
                                                        "src": "23322:3:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_magic_abi",
                                                            "typeString": "abi"
                                                        }
                                                    },
                                                    "id": 15849,
                                                    "isConstant": false,
                                                    "isLValue": false,
                                                    "isPure": true,
                                                    "lValueRequested": false,
                                                    "memberName": "encodeWithSignature",
                                                    "nodeType": "MemberAccess",
                                                    "src": "23322:23:62",
                                                    "typeDescriptions": {
                                                        "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$",
                                                        "typeString": "function (string memory) pure returns (bytes memory)"
                                                    }
                                                },
                                                "id": 15855,
                                                "isConstant": false,
                                                "isLValue": false,
                                                "isPure": false,
                                                "kind": "functionCall",
                                                "lValueRequested": false,
                                                "names": [],
                                                "nodeType": "FunctionCall",
                                                "src": "23322:70:62",
                                                "tryCall": false,
                                                "typeDescriptions": {
                                                    "typeIdentifier": "t_bytes_memory_ptr",
                                                    "typeString": "bytes memory"
                                                }
                                            }
                                        ],
                                        "expression": {
                                            "argumentTypes": [
                                                {
                                                    "typeIdentifier": "t_bytes_memory_ptr",
                                                    "typeString": "bytes memory"
                                                }
                                            ],
                                            "id": 15847,
                                            "name": "_sendLogPayload",
                                            "nodeType": "Identifier",
                                            "overloadedDeclarations": [],
                                            "referencedDeclaration": 12880,
                                            "src": "23306:15:62",
                                            "typeDescriptions": {
                                                "typeIdentifier": "t_function_internal_view$_t_bytes_memory_ptr_$returns$__$",
                                                "typeString": "function (bytes memory) view"
                                            }
                                        },
                                        "id": 15856,
                                        "isConstant": false,
                                        "isLValue": false,
                                        "isPure": false,
                                        "kind": "functionCall",
                                        "lValueRequested": false,
                                        "names": [],
                                        "nodeType": "FunctionCall",
                                        "src": "23306:87:62",
                                        "tryCall": false,
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_tuple$__$",
                                            "typeString": "tuple()"
                                        }
                                    },
                                    "id": 15857,
                                    "nodeType": "ExpressionStatement",
                                    "src": "23306:87:62"
                                }
                            ]
                        },
                        "id": 15859,
                        "implemented": true,
                        "kind": "function",
                        "modifiers": [],
                        "name": "log",
                        "nameLocation": "23245:3:62",
                        "nodeType": "FunctionDefinition",
                        "parameters": {
                            "id": 15845,
                            "nodeType": "ParameterList",
                            "parameters": [
                                {
                                    "constant": false,
                                    "id": 15838,
                                    "mutability": "mutable",
                                    "name": "p0",
                                    "nameLocation": "23254:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 15859,
                                    "src": "23249:7:62",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_uint256",
                                        "typeString": "uint256"
                                    },
                                    "typeName": {
                                        "id": 15837,
                                        "name": "uint",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "23249:4:62",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_uint256",
                                            "typeString": "uint256"
                                        }
                                    },
                                    "visibility": "internal"
                                },
                                {
                                    "constant": false,
                                    "id": 15840,
                                    "mutability": "mutable",
                                    "name": "p1",
                                    "nameLocation": "23263:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 15859,
                                    "src": "23258:7:62",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_bool",
                                        "typeString": "bool"
                                    },
                                    "typeName": {
                                        "id": 15839,
                                        "name": "bool",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "23258:4:62",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_bool",
                                            "typeString": "bool"
                                        }
                                    },
                                    "visibility": "internal"
                                },
                                {
                                    "constant": false,
                                    "id": 15842,
                                    "mutability": "mutable",
                                    "name": "p2",
                                    "nameLocation": "23272:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 15859,
                                    "src": "23267:7:62",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_uint256",
                                        "typeString": "uint256"
                                    },
                                    "typeName": {
                                        "id": 15841,
                                        "name": "uint",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "23267:4:62",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_uint256",
                                            "typeString": "uint256"
                                        }
                                    },
                                    "visibility": "internal"
                                },
                                {
                                    "constant": false,
                                    "id": 15844,
                                    "mutability": "mutable",
                                    "name": "p3",
                                    "nameLocation": "23284:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 15859,
                                    "src": "23276:10:62",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_address",
                                        "typeString": "address"
                                    },
                                    "typeName": {
                                        "id": 15843,
                                        "name": "address",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "23276:7:62",
                                        "stateMutability": "nonpayable",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_address",
                                            "typeString": "address"
                                        }
                                    },
                                    "visibility": "internal"
                                }
                            ],
                            "src": "23248:39:62"
                        },
                        "returnParameters": {
                            "id": 15846,
                            "nodeType": "ParameterList",
                            "parameters": [],
                            "src": "23302:0:62"
                        },
                        "scope": 20920,
                        "src": "23236:161:62",
                        "stateMutability": "view",
                        "virtual": false,
                        "visibility": "internal"
                    },
                    {
                        "body": {
                            "id": 15881,
                            "nodeType": "Block",
                            "src": "23472:94:62",
                            "statements": [
                                {
                                    "expression": {
                                        "arguments": [
                                            {
                                                "arguments": [
                                                    {
                                                        "hexValue": "6c6f672875696e742c626f6f6c2c737472696e672c75696e7429",
                                                        "id": 15873,
                                                        "isConstant": false,
                                                        "isLValue": false,
                                                        "isPure": true,
                                                        "kind": "string",
                                                        "lValueRequested": false,
                                                        "nodeType": "Literal",
                                                        "src": "23516:28:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_stringliteral_915fdb28841654f5e04882ad0aa4f5de28bd90db1a700dae8b1eb5e67e36a012",
                                                            "typeString": "literal_string \"log(uint,bool,string,uint)\""
                                                        },
                                                        "value": "log(uint,bool,string,uint)"
                                                    },
                                                    {
                                                        "id": 15874,
                                                        "name": "p0",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 15861,
                                                        "src": "23546:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_uint256",
                                                            "typeString": "uint256"
                                                        }
                                                    },
                                                    {
                                                        "id": 15875,
                                                        "name": "p1",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 15863,
                                                        "src": "23550:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_bool",
                                                            "typeString": "bool"
                                                        }
                                                    },
                                                    {
                                                        "id": 15876,
                                                        "name": "p2",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 15865,
                                                        "src": "23554:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_string_memory_ptr",
                                                            "typeString": "string memory"
                                                        }
                                                    },
                                                    {
                                                        "id": 15877,
                                                        "name": "p3",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 15867,
                                                        "src": "23558:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_uint256",
                                                            "typeString": "uint256"
                                                        }
                                                    }
                                                ],
                                                "expression": {
                                                    "argumentTypes": [
                                                        {
                                                            "typeIdentifier": "t_stringliteral_915fdb28841654f5e04882ad0aa4f5de28bd90db1a700dae8b1eb5e67e36a012",
                                                            "typeString": "literal_string \"log(uint,bool,string,uint)\""
                                                        },
                                                        {
                                                            "typeIdentifier": "t_uint256",
                                                            "typeString": "uint256"
                                                        },
                                                        {
                                                            "typeIdentifier": "t_bool",
                                                            "typeString": "bool"
                                                        },
                                                        {
                                                            "typeIdentifier": "t_string_memory_ptr",
                                                            "typeString": "string memory"
                                                        },
                                                        {
                                                            "typeIdentifier": "t_uint256",
                                                            "typeString": "uint256"
                                                        }
                                                    ],
                                                    "expression": {
                                                        "id": 15871,
                                                        "name": "abi",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 4294967295,
                                                        "src": "23492:3:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_magic_abi",
                                                            "typeString": "abi"
                                                        }
                                                    },
                                                    "id": 15872,
                                                    "isConstant": false,
                                                    "isLValue": false,
                                                    "isPure": true,
                                                    "lValueRequested": false,
                                                    "memberName": "encodeWithSignature",
                                                    "nodeType": "MemberAccess",
                                                    "src": "23492:23:62",
                                                    "typeDescriptions": {
                                                        "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$",
                                                        "typeString": "function (string memory) pure returns (bytes memory)"
                                                    }
                                                },
                                                "id": 15878,
                                                "isConstant": false,
                                                "isLValue": false,
                                                "isPure": false,
                                                "kind": "functionCall",
                                                "lValueRequested": false,
                                                "names": [],
                                                "nodeType": "FunctionCall",
                                                "src": "23492:69:62",
                                                "tryCall": false,
                                                "typeDescriptions": {
                                                    "typeIdentifier": "t_bytes_memory_ptr",
                                                    "typeString": "bytes memory"
                                                }
                                            }
                                        ],
                                        "expression": {
                                            "argumentTypes": [
                                                {
                                                    "typeIdentifier": "t_bytes_memory_ptr",
                                                    "typeString": "bytes memory"
                                                }
                                            ],
                                            "id": 15870,
                                            "name": "_sendLogPayload",
                                            "nodeType": "Identifier",
                                            "overloadedDeclarations": [],
                                            "referencedDeclaration": 12880,
                                            "src": "23476:15:62",
                                            "typeDescriptions": {
                                                "typeIdentifier": "t_function_internal_view$_t_bytes_memory_ptr_$returns$__$",
                                                "typeString": "function (bytes memory) view"
                                            }
                                        },
                                        "id": 15879,
                                        "isConstant": false,
                                        "isLValue": false,
                                        "isPure": false,
                                        "kind": "functionCall",
                                        "lValueRequested": false,
                                        "names": [],
                                        "nodeType": "FunctionCall",
                                        "src": "23476:86:62",
                                        "tryCall": false,
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_tuple$__$",
                                            "typeString": "tuple()"
                                        }
                                    },
                                    "id": 15880,
                                    "nodeType": "ExpressionStatement",
                                    "src": "23476:86:62"
                                }
                            ]
                        },
                        "id": 15882,
                        "implemented": true,
                        "kind": "function",
                        "modifiers": [],
                        "name": "log",
                        "nameLocation": "23409:3:62",
                        "nodeType": "FunctionDefinition",
                        "parameters": {
                            "id": 15868,
                            "nodeType": "ParameterList",
                            "parameters": [
                                {
                                    "constant": false,
                                    "id": 15861,
                                    "mutability": "mutable",
                                    "name": "p0",
                                    "nameLocation": "23418:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 15882,
                                    "src": "23413:7:62",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_uint256",
                                        "typeString": "uint256"
                                    },
                                    "typeName": {
                                        "id": 15860,
                                        "name": "uint",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "23413:4:62",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_uint256",
                                            "typeString": "uint256"
                                        }
                                    },
                                    "visibility": "internal"
                                },
                                {
                                    "constant": false,
                                    "id": 15863,
                                    "mutability": "mutable",
                                    "name": "p1",
                                    "nameLocation": "23427:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 15882,
                                    "src": "23422:7:62",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_bool",
                                        "typeString": "bool"
                                    },
                                    "typeName": {
                                        "id": 15862,
                                        "name": "bool",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "23422:4:62",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_bool",
                                            "typeString": "bool"
                                        }
                                    },
                                    "visibility": "internal"
                                },
                                {
                                    "constant": false,
                                    "id": 15865,
                                    "mutability": "mutable",
                                    "name": "p2",
                                    "nameLocation": "23445:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 15882,
                                    "src": "23431:16:62",
                                    "stateVariable": false,
                                    "storageLocation": "memory",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_string_memory_ptr",
                                        "typeString": "string"
                                    },
                                    "typeName": {
                                        "id": 15864,
                                        "name": "string",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "23431:6:62",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_string_storage_ptr",
                                            "typeString": "string"
                                        }
                                    },
                                    "visibility": "internal"
                                },
                                {
                                    "constant": false,
                                    "id": 15867,
                                    "mutability": "mutable",
                                    "name": "p3",
                                    "nameLocation": "23454:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 15882,
                                    "src": "23449:7:62",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_uint256",
                                        "typeString": "uint256"
                                    },
                                    "typeName": {
                                        "id": 15866,
                                        "name": "uint",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "23449:4:62",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_uint256",
                                            "typeString": "uint256"
                                        }
                                    },
                                    "visibility": "internal"
                                }
                            ],
                            "src": "23412:45:62"
                        },
                        "returnParameters": {
                            "id": 15869,
                            "nodeType": "ParameterList",
                            "parameters": [],
                            "src": "23472:0:62"
                        },
                        "scope": 20920,
                        "src": "23400:166:62",
                        "stateMutability": "view",
                        "virtual": false,
                        "visibility": "internal"
                    },
                    {
                        "body": {
                            "id": 15904,
                            "nodeType": "Block",
                            "src": "23650:96:62",
                            "statements": [
                                {
                                    "expression": {
                                        "arguments": [
                                            {
                                                "arguments": [
                                                    {
                                                        "hexValue": "6c6f672875696e742c626f6f6c2c737472696e672c737472696e6729",
                                                        "id": 15896,
                                                        "isConstant": false,
                                                        "isLValue": false,
                                                        "isPure": true,
                                                        "kind": "string",
                                                        "lValueRequested": false,
                                                        "nodeType": "Literal",
                                                        "src": "23694:30:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_stringliteral_a433fcfd538cd0e077747fbb2c5a6453c1804c6ad4af653273e0d14ab4a0566a",
                                                            "typeString": "literal_string \"log(uint,bool,string,string)\""
                                                        },
                                                        "value": "log(uint,bool,string,string)"
                                                    },
                                                    {
                                                        "id": 15897,
                                                        "name": "p0",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 15884,
                                                        "src": "23726:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_uint256",
                                                            "typeString": "uint256"
                                                        }
                                                    },
                                                    {
                                                        "id": 15898,
                                                        "name": "p1",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 15886,
                                                        "src": "23730:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_bool",
                                                            "typeString": "bool"
                                                        }
                                                    },
                                                    {
                                                        "id": 15899,
                                                        "name": "p2",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 15888,
                                                        "src": "23734:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_string_memory_ptr",
                                                            "typeString": "string memory"
                                                        }
                                                    },
                                                    {
                                                        "id": 15900,
                                                        "name": "p3",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 15890,
                                                        "src": "23738:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_string_memory_ptr",
                                                            "typeString": "string memory"
                                                        }
                                                    }
                                                ],
                                                "expression": {
                                                    "argumentTypes": [
                                                        {
                                                            "typeIdentifier": "t_stringliteral_a433fcfd538cd0e077747fbb2c5a6453c1804c6ad4af653273e0d14ab4a0566a",
                                                            "typeString": "literal_string \"log(uint,bool,string,string)\""
                                                        },
                                                        {
                                                            "typeIdentifier": "t_uint256",
                                                            "typeString": "uint256"
                                                        },
                                                        {
                                                            "typeIdentifier": "t_bool",
                                                            "typeString": "bool"
                                                        },
                                                        {
                                                            "typeIdentifier": "t_string_memory_ptr",
                                                            "typeString": "string memory"
                                                        },
                                                        {
                                                            "typeIdentifier": "t_string_memory_ptr",
                                                            "typeString": "string memory"
                                                        }
                                                    ],
                                                    "expression": {
                                                        "id": 15894,
                                                        "name": "abi",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 4294967295,
                                                        "src": "23670:3:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_magic_abi",
                                                            "typeString": "abi"
                                                        }
                                                    },
                                                    "id": 15895,
                                                    "isConstant": false,
                                                    "isLValue": false,
                                                    "isPure": true,
                                                    "lValueRequested": false,
                                                    "memberName": "encodeWithSignature",
                                                    "nodeType": "MemberAccess",
                                                    "src": "23670:23:62",
                                                    "typeDescriptions": {
                                                        "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$",
                                                        "typeString": "function (string memory) pure returns (bytes memory)"
                                                    }
                                                },
                                                "id": 15901,
                                                "isConstant": false,
                                                "isLValue": false,
                                                "isPure": false,
                                                "kind": "functionCall",
                                                "lValueRequested": false,
                                                "names": [],
                                                "nodeType": "FunctionCall",
                                                "src": "23670:71:62",
                                                "tryCall": false,
                                                "typeDescriptions": {
                                                    "typeIdentifier": "t_bytes_memory_ptr",
                                                    "typeString": "bytes memory"
                                                }
                                            }
                                        ],
                                        "expression": {
                                            "argumentTypes": [
                                                {
                                                    "typeIdentifier": "t_bytes_memory_ptr",
                                                    "typeString": "bytes memory"
                                                }
                                            ],
                                            "id": 15893,
                                            "name": "_sendLogPayload",
                                            "nodeType": "Identifier",
                                            "overloadedDeclarations": [],
                                            "referencedDeclaration": 12880,
                                            "src": "23654:15:62",
                                            "typeDescriptions": {
                                                "typeIdentifier": "t_function_internal_view$_t_bytes_memory_ptr_$returns$__$",
                                                "typeString": "function (bytes memory) view"
                                            }
                                        },
                                        "id": 15902,
                                        "isConstant": false,
                                        "isLValue": false,
                                        "isPure": false,
                                        "kind": "functionCall",
                                        "lValueRequested": false,
                                        "names": [],
                                        "nodeType": "FunctionCall",
                                        "src": "23654:88:62",
                                        "tryCall": false,
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_tuple$__$",
                                            "typeString": "tuple()"
                                        }
                                    },
                                    "id": 15903,
                                    "nodeType": "ExpressionStatement",
                                    "src": "23654:88:62"
                                }
                            ]
                        },
                        "id": 15905,
                        "implemented": true,
                        "kind": "function",
                        "modifiers": [],
                        "name": "log",
                        "nameLocation": "23578:3:62",
                        "nodeType": "FunctionDefinition",
                        "parameters": {
                            "id": 15891,
                            "nodeType": "ParameterList",
                            "parameters": [
                                {
                                    "constant": false,
                                    "id": 15884,
                                    "mutability": "mutable",
                                    "name": "p0",
                                    "nameLocation": "23587:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 15905,
                                    "src": "23582:7:62",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_uint256",
                                        "typeString": "uint256"
                                    },
                                    "typeName": {
                                        "id": 15883,
                                        "name": "uint",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "23582:4:62",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_uint256",
                                            "typeString": "uint256"
                                        }
                                    },
                                    "visibility": "internal"
                                },
                                {
                                    "constant": false,
                                    "id": 15886,
                                    "mutability": "mutable",
                                    "name": "p1",
                                    "nameLocation": "23596:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 15905,
                                    "src": "23591:7:62",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_bool",
                                        "typeString": "bool"
                                    },
                                    "typeName": {
                                        "id": 15885,
                                        "name": "bool",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "23591:4:62",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_bool",
                                            "typeString": "bool"
                                        }
                                    },
                                    "visibility": "internal"
                                },
                                {
                                    "constant": false,
                                    "id": 15888,
                                    "mutability": "mutable",
                                    "name": "p2",
                                    "nameLocation": "23614:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 15905,
                                    "src": "23600:16:62",
                                    "stateVariable": false,
                                    "storageLocation": "memory",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_string_memory_ptr",
                                        "typeString": "string"
                                    },
                                    "typeName": {
                                        "id": 15887,
                                        "name": "string",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "23600:6:62",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_string_storage_ptr",
                                            "typeString": "string"
                                        }
                                    },
                                    "visibility": "internal"
                                },
                                {
                                    "constant": false,
                                    "id": 15890,
                                    "mutability": "mutable",
                                    "name": "p3",
                                    "nameLocation": "23632:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 15905,
                                    "src": "23618:16:62",
                                    "stateVariable": false,
                                    "storageLocation": "memory",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_string_memory_ptr",
                                        "typeString": "string"
                                    },
                                    "typeName": {
                                        "id": 15889,
                                        "name": "string",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "23618:6:62",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_string_storage_ptr",
                                            "typeString": "string"
                                        }
                                    },
                                    "visibility": "internal"
                                }
                            ],
                            "src": "23581:54:62"
                        },
                        "returnParameters": {
                            "id": 15892,
                            "nodeType": "ParameterList",
                            "parameters": [],
                            "src": "23650:0:62"
                        },
                        "scope": 20920,
                        "src": "23569:177:62",
                        "stateMutability": "view",
                        "virtual": false,
                        "visibility": "internal"
                    },
                    {
                        "body": {
                            "id": 15927,
                            "nodeType": "Block",
                            "src": "23821:94:62",
                            "statements": [
                                {
                                    "expression": {
                                        "arguments": [
                                            {
                                                "arguments": [
                                                    {
                                                        "hexValue": "6c6f672875696e742c626f6f6c2c737472696e672c626f6f6c29",
                                                        "id": 15919,
                                                        "isConstant": false,
                                                        "isLValue": false,
                                                        "isPure": true,
                                                        "kind": "string",
                                                        "lValueRequested": false,
                                                        "nodeType": "Literal",
                                                        "src": "23865:28:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_stringliteral_346eb8c74221bcb2c0a69b8dde628b7e6175c4f090782c8f07996b251212e22d",
                                                            "typeString": "literal_string \"log(uint,bool,string,bool)\""
                                                        },
                                                        "value": "log(uint,bool,string,bool)"
                                                    },
                                                    {
                                                        "id": 15920,
                                                        "name": "p0",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 15907,
                                                        "src": "23895:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_uint256",
                                                            "typeString": "uint256"
                                                        }
                                                    },
                                                    {
                                                        "id": 15921,
                                                        "name": "p1",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 15909,
                                                        "src": "23899:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_bool",
                                                            "typeString": "bool"
                                                        }
                                                    },
                                                    {
                                                        "id": 15922,
                                                        "name": "p2",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 15911,
                                                        "src": "23903:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_string_memory_ptr",
                                                            "typeString": "string memory"
                                                        }
                                                    },
                                                    {
                                                        "id": 15923,
                                                        "name": "p3",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 15913,
                                                        "src": "23907:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_bool",
                                                            "typeString": "bool"
                                                        }
                                                    }
                                                ],
                                                "expression": {
                                                    "argumentTypes": [
                                                        {
                                                            "typeIdentifier": "t_stringliteral_346eb8c74221bcb2c0a69b8dde628b7e6175c4f090782c8f07996b251212e22d",
                                                            "typeString": "literal_string \"log(uint,bool,string,bool)\""
                                                        },
                                                        {
                                                            "typeIdentifier": "t_uint256",
                                                            "typeString": "uint256"
                                                        },
                                                        {
                                                            "typeIdentifier": "t_bool",
                                                            "typeString": "bool"
                                                        },
                                                        {
                                                            "typeIdentifier": "t_string_memory_ptr",
                                                            "typeString": "string memory"
                                                        },
                                                        {
                                                            "typeIdentifier": "t_bool",
                                                            "typeString": "bool"
                                                        }
                                                    ],
                                                    "expression": {
                                                        "id": 15917,
                                                        "name": "abi",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 4294967295,
                                                        "src": "23841:3:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_magic_abi",
                                                            "typeString": "abi"
                                                        }
                                                    },
                                                    "id": 15918,
                                                    "isConstant": false,
                                                    "isLValue": false,
                                                    "isPure": true,
                                                    "lValueRequested": false,
                                                    "memberName": "encodeWithSignature",
                                                    "nodeType": "MemberAccess",
                                                    "src": "23841:23:62",
                                                    "typeDescriptions": {
                                                        "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$",
                                                        "typeString": "function (string memory) pure returns (bytes memory)"
                                                    }
                                                },
                                                "id": 15924,
                                                "isConstant": false,
                                                "isLValue": false,
                                                "isPure": false,
                                                "kind": "functionCall",
                                                "lValueRequested": false,
                                                "names": [],
                                                "nodeType": "FunctionCall",
                                                "src": "23841:69:62",
                                                "tryCall": false,
                                                "typeDescriptions": {
                                                    "typeIdentifier": "t_bytes_memory_ptr",
                                                    "typeString": "bytes memory"
                                                }
                                            }
                                        ],
                                        "expression": {
                                            "argumentTypes": [
                                                {
                                                    "typeIdentifier": "t_bytes_memory_ptr",
                                                    "typeString": "bytes memory"
                                                }
                                            ],
                                            "id": 15916,
                                            "name": "_sendLogPayload",
                                            "nodeType": "Identifier",
                                            "overloadedDeclarations": [],
                                            "referencedDeclaration": 12880,
                                            "src": "23825:15:62",
                                            "typeDescriptions": {
                                                "typeIdentifier": "t_function_internal_view$_t_bytes_memory_ptr_$returns$__$",
                                                "typeString": "function (bytes memory) view"
                                            }
                                        },
                                        "id": 15925,
                                        "isConstant": false,
                                        "isLValue": false,
                                        "isPure": false,
                                        "kind": "functionCall",
                                        "lValueRequested": false,
                                        "names": [],
                                        "nodeType": "FunctionCall",
                                        "src": "23825:86:62",
                                        "tryCall": false,
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_tuple$__$",
                                            "typeString": "tuple()"
                                        }
                                    },
                                    "id": 15926,
                                    "nodeType": "ExpressionStatement",
                                    "src": "23825:86:62"
                                }
                            ]
                        },
                        "id": 15928,
                        "implemented": true,
                        "kind": "function",
                        "modifiers": [],
                        "name": "log",
                        "nameLocation": "23758:3:62",
                        "nodeType": "FunctionDefinition",
                        "parameters": {
                            "id": 15914,
                            "nodeType": "ParameterList",
                            "parameters": [
                                {
                                    "constant": false,
                                    "id": 15907,
                                    "mutability": "mutable",
                                    "name": "p0",
                                    "nameLocation": "23767:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 15928,
                                    "src": "23762:7:62",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_uint256",
                                        "typeString": "uint256"
                                    },
                                    "typeName": {
                                        "id": 15906,
                                        "name": "uint",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "23762:4:62",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_uint256",
                                            "typeString": "uint256"
                                        }
                                    },
                                    "visibility": "internal"
                                },
                                {
                                    "constant": false,
                                    "id": 15909,
                                    "mutability": "mutable",
                                    "name": "p1",
                                    "nameLocation": "23776:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 15928,
                                    "src": "23771:7:62",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_bool",
                                        "typeString": "bool"
                                    },
                                    "typeName": {
                                        "id": 15908,
                                        "name": "bool",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "23771:4:62",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_bool",
                                            "typeString": "bool"
                                        }
                                    },
                                    "visibility": "internal"
                                },
                                {
                                    "constant": false,
                                    "id": 15911,
                                    "mutability": "mutable",
                                    "name": "p2",
                                    "nameLocation": "23794:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 15928,
                                    "src": "23780:16:62",
                                    "stateVariable": false,
                                    "storageLocation": "memory",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_string_memory_ptr",
                                        "typeString": "string"
                                    },
                                    "typeName": {
                                        "id": 15910,
                                        "name": "string",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "23780:6:62",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_string_storage_ptr",
                                            "typeString": "string"
                                        }
                                    },
                                    "visibility": "internal"
                                },
                                {
                                    "constant": false,
                                    "id": 15913,
                                    "mutability": "mutable",
                                    "name": "p3",
                                    "nameLocation": "23803:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 15928,
                                    "src": "23798:7:62",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_bool",
                                        "typeString": "bool"
                                    },
                                    "typeName": {
                                        "id": 15912,
                                        "name": "bool",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "23798:4:62",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_bool",
                                            "typeString": "bool"
                                        }
                                    },
                                    "visibility": "internal"
                                }
                            ],
                            "src": "23761:45:62"
                        },
                        "returnParameters": {
                            "id": 15915,
                            "nodeType": "ParameterList",
                            "parameters": [],
                            "src": "23821:0:62"
                        },
                        "scope": 20920,
                        "src": "23749:166:62",
                        "stateMutability": "view",
                        "virtual": false,
                        "visibility": "internal"
                    },
                    {
                        "body": {
                            "id": 15950,
                            "nodeType": "Block",
                            "src": "23993:97:62",
                            "statements": [
                                {
                                    "expression": {
                                        "arguments": [
                                            {
                                                "arguments": [
                                                    {
                                                        "hexValue": "6c6f672875696e742c626f6f6c2c737472696e672c6164647265737329",
                                                        "id": 15942,
                                                        "isConstant": false,
                                                        "isLValue": false,
                                                        "isPure": true,
                                                        "kind": "string",
                                                        "lValueRequested": false,
                                                        "nodeType": "Literal",
                                                        "src": "24037:31:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_stringliteral_496e2bb45f5cdd3680c3e807c53955b9de163e898851c7844433c0a9c91dcd9d",
                                                            "typeString": "literal_string \"log(uint,bool,string,address)\""
                                                        },
                                                        "value": "log(uint,bool,string,address)"
                                                    },
                                                    {
                                                        "id": 15943,
                                                        "name": "p0",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 15930,
                                                        "src": "24070:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_uint256",
                                                            "typeString": "uint256"
                                                        }
                                                    },
                                                    {
                                                        "id": 15944,
                                                        "name": "p1",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 15932,
                                                        "src": "24074:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_bool",
                                                            "typeString": "bool"
                                                        }
                                                    },
                                                    {
                                                        "id": 15945,
                                                        "name": "p2",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 15934,
                                                        "src": "24078:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_string_memory_ptr",
                                                            "typeString": "string memory"
                                                        }
                                                    },
                                                    {
                                                        "id": 15946,
                                                        "name": "p3",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 15936,
                                                        "src": "24082:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_address",
                                                            "typeString": "address"
                                                        }
                                                    }
                                                ],
                                                "expression": {
                                                    "argumentTypes": [
                                                        {
                                                            "typeIdentifier": "t_stringliteral_496e2bb45f5cdd3680c3e807c53955b9de163e898851c7844433c0a9c91dcd9d",
                                                            "typeString": "literal_string \"log(uint,bool,string,address)\""
                                                        },
                                                        {
                                                            "typeIdentifier": "t_uint256",
                                                            "typeString": "uint256"
                                                        },
                                                        {
                                                            "typeIdentifier": "t_bool",
                                                            "typeString": "bool"
                                                        },
                                                        {
                                                            "typeIdentifier": "t_string_memory_ptr",
                                                            "typeString": "string memory"
                                                        },
                                                        {
                                                            "typeIdentifier": "t_address",
                                                            "typeString": "address"
                                                        }
                                                    ],
                                                    "expression": {
                                                        "id": 15940,
                                                        "name": "abi",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 4294967295,
                                                        "src": "24013:3:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_magic_abi",
                                                            "typeString": "abi"
                                                        }
                                                    },
                                                    "id": 15941,
                                                    "isConstant": false,
                                                    "isLValue": false,
                                                    "isPure": true,
                                                    "lValueRequested": false,
                                                    "memberName": "encodeWithSignature",
                                                    "nodeType": "MemberAccess",
                                                    "src": "24013:23:62",
                                                    "typeDescriptions": {
                                                        "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$",
                                                        "typeString": "function (string memory) pure returns (bytes memory)"
                                                    }
                                                },
                                                "id": 15947,
                                                "isConstant": false,
                                                "isLValue": false,
                                                "isPure": false,
                                                "kind": "functionCall",
                                                "lValueRequested": false,
                                                "names": [],
                                                "nodeType": "FunctionCall",
                                                "src": "24013:72:62",
                                                "tryCall": false,
                                                "typeDescriptions": {
                                                    "typeIdentifier": "t_bytes_memory_ptr",
                                                    "typeString": "bytes memory"
                                                }
                                            }
                                        ],
                                        "expression": {
                                            "argumentTypes": [
                                                {
                                                    "typeIdentifier": "t_bytes_memory_ptr",
                                                    "typeString": "bytes memory"
                                                }
                                            ],
                                            "id": 15939,
                                            "name": "_sendLogPayload",
                                            "nodeType": "Identifier",
                                            "overloadedDeclarations": [],
                                            "referencedDeclaration": 12880,
                                            "src": "23997:15:62",
                                            "typeDescriptions": {
                                                "typeIdentifier": "t_function_internal_view$_t_bytes_memory_ptr_$returns$__$",
                                                "typeString": "function (bytes memory) view"
                                            }
                                        },
                                        "id": 15948,
                                        "isConstant": false,
                                        "isLValue": false,
                                        "isPure": false,
                                        "kind": "functionCall",
                                        "lValueRequested": false,
                                        "names": [],
                                        "nodeType": "FunctionCall",
                                        "src": "23997:89:62",
                                        "tryCall": false,
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_tuple$__$",
                                            "typeString": "tuple()"
                                        }
                                    },
                                    "id": 15949,
                                    "nodeType": "ExpressionStatement",
                                    "src": "23997:89:62"
                                }
                            ]
                        },
                        "id": 15951,
                        "implemented": true,
                        "kind": "function",
                        "modifiers": [],
                        "name": "log",
                        "nameLocation": "23927:3:62",
                        "nodeType": "FunctionDefinition",
                        "parameters": {
                            "id": 15937,
                            "nodeType": "ParameterList",
                            "parameters": [
                                {
                                    "constant": false,
                                    "id": 15930,
                                    "mutability": "mutable",
                                    "name": "p0",
                                    "nameLocation": "23936:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 15951,
                                    "src": "23931:7:62",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_uint256",
                                        "typeString": "uint256"
                                    },
                                    "typeName": {
                                        "id": 15929,
                                        "name": "uint",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "23931:4:62",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_uint256",
                                            "typeString": "uint256"
                                        }
                                    },
                                    "visibility": "internal"
                                },
                                {
                                    "constant": false,
                                    "id": 15932,
                                    "mutability": "mutable",
                                    "name": "p1",
                                    "nameLocation": "23945:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 15951,
                                    "src": "23940:7:62",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_bool",
                                        "typeString": "bool"
                                    },
                                    "typeName": {
                                        "id": 15931,
                                        "name": "bool",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "23940:4:62",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_bool",
                                            "typeString": "bool"
                                        }
                                    },
                                    "visibility": "internal"
                                },
                                {
                                    "constant": false,
                                    "id": 15934,
                                    "mutability": "mutable",
                                    "name": "p2",
                                    "nameLocation": "23963:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 15951,
                                    "src": "23949:16:62",
                                    "stateVariable": false,
                                    "storageLocation": "memory",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_string_memory_ptr",
                                        "typeString": "string"
                                    },
                                    "typeName": {
                                        "id": 15933,
                                        "name": "string",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "23949:6:62",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_string_storage_ptr",
                                            "typeString": "string"
                                        }
                                    },
                                    "visibility": "internal"
                                },
                                {
                                    "constant": false,
                                    "id": 15936,
                                    "mutability": "mutable",
                                    "name": "p3",
                                    "nameLocation": "23975:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 15951,
                                    "src": "23967:10:62",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_address",
                                        "typeString": "address"
                                    },
                                    "typeName": {
                                        "id": 15935,
                                        "name": "address",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "23967:7:62",
                                        "stateMutability": "nonpayable",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_address",
                                            "typeString": "address"
                                        }
                                    },
                                    "visibility": "internal"
                                }
                            ],
                            "src": "23930:48:62"
                        },
                        "returnParameters": {
                            "id": 15938,
                            "nodeType": "ParameterList",
                            "parameters": [],
                            "src": "23993:0:62"
                        },
                        "scope": 20920,
                        "src": "23918:172:62",
                        "stateMutability": "view",
                        "virtual": false,
                        "visibility": "internal"
                    },
                    {
                        "body": {
                            "id": 15973,
                            "nodeType": "Block",
                            "src": "24156:92:62",
                            "statements": [
                                {
                                    "expression": {
                                        "arguments": [
                                            {
                                                "arguments": [
                                                    {
                                                        "hexValue": "6c6f672875696e742c626f6f6c2c626f6f6c2c75696e7429",
                                                        "id": 15965,
                                                        "isConstant": false,
                                                        "isLValue": false,
                                                        "isPure": true,
                                                        "kind": "string",
                                                        "lValueRequested": false,
                                                        "nodeType": "Literal",
                                                        "src": "24200:26:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_stringliteral_bd25ad5987e2f3e90d5ff2c9e0dad802782e9040e45e823722ccf598278cf7ed",
                                                            "typeString": "literal_string \"log(uint,bool,bool,uint)\""
                                                        },
                                                        "value": "log(uint,bool,bool,uint)"
                                                    },
                                                    {
                                                        "id": 15966,
                                                        "name": "p0",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 15953,
                                                        "src": "24228:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_uint256",
                                                            "typeString": "uint256"
                                                        }
                                                    },
                                                    {
                                                        "id": 15967,
                                                        "name": "p1",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 15955,
                                                        "src": "24232:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_bool",
                                                            "typeString": "bool"
                                                        }
                                                    },
                                                    {
                                                        "id": 15968,
                                                        "name": "p2",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 15957,
                                                        "src": "24236:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_bool",
                                                            "typeString": "bool"
                                                        }
                                                    },
                                                    {
                                                        "id": 15969,
                                                        "name": "p3",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 15959,
                                                        "src": "24240:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_uint256",
                                                            "typeString": "uint256"
                                                        }
                                                    }
                                                ],
                                                "expression": {
                                                    "argumentTypes": [
                                                        {
                                                            "typeIdentifier": "t_stringliteral_bd25ad5987e2f3e90d5ff2c9e0dad802782e9040e45e823722ccf598278cf7ed",
                                                            "typeString": "literal_string \"log(uint,bool,bool,uint)\""
                                                        },
                                                        {
                                                            "typeIdentifier": "t_uint256",
                                                            "typeString": "uint256"
                                                        },
                                                        {
                                                            "typeIdentifier": "t_bool",
                                                            "typeString": "bool"
                                                        },
                                                        {
                                                            "typeIdentifier": "t_bool",
                                                            "typeString": "bool"
                                                        },
                                                        {
                                                            "typeIdentifier": "t_uint256",
                                                            "typeString": "uint256"
                                                        }
                                                    ],
                                                    "expression": {
                                                        "id": 15963,
                                                        "name": "abi",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 4294967295,
                                                        "src": "24176:3:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_magic_abi",
                                                            "typeString": "abi"
                                                        }
                                                    },
                                                    "id": 15964,
                                                    "isConstant": false,
                                                    "isLValue": false,
                                                    "isPure": true,
                                                    "lValueRequested": false,
                                                    "memberName": "encodeWithSignature",
                                                    "nodeType": "MemberAccess",
                                                    "src": "24176:23:62",
                                                    "typeDescriptions": {
                                                        "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$",
                                                        "typeString": "function (string memory) pure returns (bytes memory)"
                                                    }
                                                },
                                                "id": 15970,
                                                "isConstant": false,
                                                "isLValue": false,
                                                "isPure": false,
                                                "kind": "functionCall",
                                                "lValueRequested": false,
                                                "names": [],
                                                "nodeType": "FunctionCall",
                                                "src": "24176:67:62",
                                                "tryCall": false,
                                                "typeDescriptions": {
                                                    "typeIdentifier": "t_bytes_memory_ptr",
                                                    "typeString": "bytes memory"
                                                }
                                            }
                                        ],
                                        "expression": {
                                            "argumentTypes": [
                                                {
                                                    "typeIdentifier": "t_bytes_memory_ptr",
                                                    "typeString": "bytes memory"
                                                }
                                            ],
                                            "id": 15962,
                                            "name": "_sendLogPayload",
                                            "nodeType": "Identifier",
                                            "overloadedDeclarations": [],
                                            "referencedDeclaration": 12880,
                                            "src": "24160:15:62",
                                            "typeDescriptions": {
                                                "typeIdentifier": "t_function_internal_view$_t_bytes_memory_ptr_$returns$__$",
                                                "typeString": "function (bytes memory) view"
                                            }
                                        },
                                        "id": 15971,
                                        "isConstant": false,
                                        "isLValue": false,
                                        "isPure": false,
                                        "kind": "functionCall",
                                        "lValueRequested": false,
                                        "names": [],
                                        "nodeType": "FunctionCall",
                                        "src": "24160:84:62",
                                        "tryCall": false,
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_tuple$__$",
                                            "typeString": "tuple()"
                                        }
                                    },
                                    "id": 15972,
                                    "nodeType": "ExpressionStatement",
                                    "src": "24160:84:62"
                                }
                            ]
                        },
                        "id": 15974,
                        "implemented": true,
                        "kind": "function",
                        "modifiers": [],
                        "name": "log",
                        "nameLocation": "24102:3:62",
                        "nodeType": "FunctionDefinition",
                        "parameters": {
                            "id": 15960,
                            "nodeType": "ParameterList",
                            "parameters": [
                                {
                                    "constant": false,
                                    "id": 15953,
                                    "mutability": "mutable",
                                    "name": "p0",
                                    "nameLocation": "24111:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 15974,
                                    "src": "24106:7:62",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_uint256",
                                        "typeString": "uint256"
                                    },
                                    "typeName": {
                                        "id": 15952,
                                        "name": "uint",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "24106:4:62",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_uint256",
                                            "typeString": "uint256"
                                        }
                                    },
                                    "visibility": "internal"
                                },
                                {
                                    "constant": false,
                                    "id": 15955,
                                    "mutability": "mutable",
                                    "name": "p1",
                                    "nameLocation": "24120:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 15974,
                                    "src": "24115:7:62",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_bool",
                                        "typeString": "bool"
                                    },
                                    "typeName": {
                                        "id": 15954,
                                        "name": "bool",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "24115:4:62",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_bool",
                                            "typeString": "bool"
                                        }
                                    },
                                    "visibility": "internal"
                                },
                                {
                                    "constant": false,
                                    "id": 15957,
                                    "mutability": "mutable",
                                    "name": "p2",
                                    "nameLocation": "24129:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 15974,
                                    "src": "24124:7:62",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_bool",
                                        "typeString": "bool"
                                    },
                                    "typeName": {
                                        "id": 15956,
                                        "name": "bool",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "24124:4:62",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_bool",
                                            "typeString": "bool"
                                        }
                                    },
                                    "visibility": "internal"
                                },
                                {
                                    "constant": false,
                                    "id": 15959,
                                    "mutability": "mutable",
                                    "name": "p3",
                                    "nameLocation": "24138:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 15974,
                                    "src": "24133:7:62",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_uint256",
                                        "typeString": "uint256"
                                    },
                                    "typeName": {
                                        "id": 15958,
                                        "name": "uint",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "24133:4:62",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_uint256",
                                            "typeString": "uint256"
                                        }
                                    },
                                    "visibility": "internal"
                                }
                            ],
                            "src": "24105:36:62"
                        },
                        "returnParameters": {
                            "id": 15961,
                            "nodeType": "ParameterList",
                            "parameters": [],
                            "src": "24156:0:62"
                        },
                        "scope": 20920,
                        "src": "24093:155:62",
                        "stateMutability": "view",
                        "virtual": false,
                        "visibility": "internal"
                    },
                    {
                        "body": {
                            "id": 15996,
                            "nodeType": "Block",
                            "src": "24323:94:62",
                            "statements": [
                                {
                                    "expression": {
                                        "arguments": [
                                            {
                                                "arguments": [
                                                    {
                                                        "hexValue": "6c6f672875696e742c626f6f6c2c626f6f6c2c737472696e6729",
                                                        "id": 15988,
                                                        "isConstant": false,
                                                        "isLValue": false,
                                                        "isPure": true,
                                                        "kind": "string",
                                                        "lValueRequested": false,
                                                        "nodeType": "Literal",
                                                        "src": "24367:28:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_stringliteral_318ae59b506d4efe5cd02b34be9f24009f0134ab1136defc4789a09e425a8861",
                                                            "typeString": "literal_string \"log(uint,bool,bool,string)\""
                                                        },
                                                        "value": "log(uint,bool,bool,string)"
                                                    },
                                                    {
                                                        "id": 15989,
                                                        "name": "p0",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 15976,
                                                        "src": "24397:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_uint256",
                                                            "typeString": "uint256"
                                                        }
                                                    },
                                                    {
                                                        "id": 15990,
                                                        "name": "p1",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 15978,
                                                        "src": "24401:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_bool",
                                                            "typeString": "bool"
                                                        }
                                                    },
                                                    {
                                                        "id": 15991,
                                                        "name": "p2",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 15980,
                                                        "src": "24405:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_bool",
                                                            "typeString": "bool"
                                                        }
                                                    },
                                                    {
                                                        "id": 15992,
                                                        "name": "p3",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 15982,
                                                        "src": "24409:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_string_memory_ptr",
                                                            "typeString": "string memory"
                                                        }
                                                    }
                                                ],
                                                "expression": {
                                                    "argumentTypes": [
                                                        {
                                                            "typeIdentifier": "t_stringliteral_318ae59b506d4efe5cd02b34be9f24009f0134ab1136defc4789a09e425a8861",
                                                            "typeString": "literal_string \"log(uint,bool,bool,string)\""
                                                        },
                                                        {
                                                            "typeIdentifier": "t_uint256",
                                                            "typeString": "uint256"
                                                        },
                                                        {
                                                            "typeIdentifier": "t_bool",
                                                            "typeString": "bool"
                                                        },
                                                        {
                                                            "typeIdentifier": "t_bool",
                                                            "typeString": "bool"
                                                        },
                                                        {
                                                            "typeIdentifier": "t_string_memory_ptr",
                                                            "typeString": "string memory"
                                                        }
                                                    ],
                                                    "expression": {
                                                        "id": 15986,
                                                        "name": "abi",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 4294967295,
                                                        "src": "24343:3:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_magic_abi",
                                                            "typeString": "abi"
                                                        }
                                                    },
                                                    "id": 15987,
                                                    "isConstant": false,
                                                    "isLValue": false,
                                                    "isPure": true,
                                                    "lValueRequested": false,
                                                    "memberName": "encodeWithSignature",
                                                    "nodeType": "MemberAccess",
                                                    "src": "24343:23:62",
                                                    "typeDescriptions": {
                                                        "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$",
                                                        "typeString": "function (string memory) pure returns (bytes memory)"
                                                    }
                                                },
                                                "id": 15993,
                                                "isConstant": false,
                                                "isLValue": false,
                                                "isPure": false,
                                                "kind": "functionCall",
                                                "lValueRequested": false,
                                                "names": [],
                                                "nodeType": "FunctionCall",
                                                "src": "24343:69:62",
                                                "tryCall": false,
                                                "typeDescriptions": {
                                                    "typeIdentifier": "t_bytes_memory_ptr",
                                                    "typeString": "bytes memory"
                                                }
                                            }
                                        ],
                                        "expression": {
                                            "argumentTypes": [
                                                {
                                                    "typeIdentifier": "t_bytes_memory_ptr",
                                                    "typeString": "bytes memory"
                                                }
                                            ],
                                            "id": 15985,
                                            "name": "_sendLogPayload",
                                            "nodeType": "Identifier",
                                            "overloadedDeclarations": [],
                                            "referencedDeclaration": 12880,
                                            "src": "24327:15:62",
                                            "typeDescriptions": {
                                                "typeIdentifier": "t_function_internal_view$_t_bytes_memory_ptr_$returns$__$",
                                                "typeString": "function (bytes memory) view"
                                            }
                                        },
                                        "id": 15994,
                                        "isConstant": false,
                                        "isLValue": false,
                                        "isPure": false,
                                        "kind": "functionCall",
                                        "lValueRequested": false,
                                        "names": [],
                                        "nodeType": "FunctionCall",
                                        "src": "24327:86:62",
                                        "tryCall": false,
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_tuple$__$",
                                            "typeString": "tuple()"
                                        }
                                    },
                                    "id": 15995,
                                    "nodeType": "ExpressionStatement",
                                    "src": "24327:86:62"
                                }
                            ]
                        },
                        "id": 15997,
                        "implemented": true,
                        "kind": "function",
                        "modifiers": [],
                        "name": "log",
                        "nameLocation": "24260:3:62",
                        "nodeType": "FunctionDefinition",
                        "parameters": {
                            "id": 15983,
                            "nodeType": "ParameterList",
                            "parameters": [
                                {
                                    "constant": false,
                                    "id": 15976,
                                    "mutability": "mutable",
                                    "name": "p0",
                                    "nameLocation": "24269:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 15997,
                                    "src": "24264:7:62",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_uint256",
                                        "typeString": "uint256"
                                    },
                                    "typeName": {
                                        "id": 15975,
                                        "name": "uint",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "24264:4:62",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_uint256",
                                            "typeString": "uint256"
                                        }
                                    },
                                    "visibility": "internal"
                                },
                                {
                                    "constant": false,
                                    "id": 15978,
                                    "mutability": "mutable",
                                    "name": "p1",
                                    "nameLocation": "24278:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 15997,
                                    "src": "24273:7:62",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_bool",
                                        "typeString": "bool"
                                    },
                                    "typeName": {
                                        "id": 15977,
                                        "name": "bool",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "24273:4:62",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_bool",
                                            "typeString": "bool"
                                        }
                                    },
                                    "visibility": "internal"
                                },
                                {
                                    "constant": false,
                                    "id": 15980,
                                    "mutability": "mutable",
                                    "name": "p2",
                                    "nameLocation": "24287:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 15997,
                                    "src": "24282:7:62",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_bool",
                                        "typeString": "bool"
                                    },
                                    "typeName": {
                                        "id": 15979,
                                        "name": "bool",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "24282:4:62",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_bool",
                                            "typeString": "bool"
                                        }
                                    },
                                    "visibility": "internal"
                                },
                                {
                                    "constant": false,
                                    "id": 15982,
                                    "mutability": "mutable",
                                    "name": "p3",
                                    "nameLocation": "24305:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 15997,
                                    "src": "24291:16:62",
                                    "stateVariable": false,
                                    "storageLocation": "memory",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_string_memory_ptr",
                                        "typeString": "string"
                                    },
                                    "typeName": {
                                        "id": 15981,
                                        "name": "string",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "24291:6:62",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_string_storage_ptr",
                                            "typeString": "string"
                                        }
                                    },
                                    "visibility": "internal"
                                }
                            ],
                            "src": "24263:45:62"
                        },
                        "returnParameters": {
                            "id": 15984,
                            "nodeType": "ParameterList",
                            "parameters": [],
                            "src": "24323:0:62"
                        },
                        "scope": 20920,
                        "src": "24251:166:62",
                        "stateMutability": "view",
                        "virtual": false,
                        "visibility": "internal"
                    },
                    {
                        "body": {
                            "id": 16019,
                            "nodeType": "Block",
                            "src": "24483:92:62",
                            "statements": [
                                {
                                    "expression": {
                                        "arguments": [
                                            {
                                                "arguments": [
                                                    {
                                                        "hexValue": "6c6f672875696e742c626f6f6c2c626f6f6c2c626f6f6c29",
                                                        "id": 16011,
                                                        "isConstant": false,
                                                        "isLValue": false,
                                                        "isPure": true,
                                                        "kind": "string",
                                                        "lValueRequested": false,
                                                        "nodeType": "Literal",
                                                        "src": "24527:26:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_stringliteral_4e6c5315e6998332ba87ae2545bc72447c94349a51e999446a98bfab04167b32",
                                                            "typeString": "literal_string \"log(uint,bool,bool,bool)\""
                                                        },
                                                        "value": "log(uint,bool,bool,bool)"
                                                    },
                                                    {
                                                        "id": 16012,
                                                        "name": "p0",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 15999,
                                                        "src": "24555:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_uint256",
                                                            "typeString": "uint256"
                                                        }
                                                    },
                                                    {
                                                        "id": 16013,
                                                        "name": "p1",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 16001,
                                                        "src": "24559:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_bool",
                                                            "typeString": "bool"
                                                        }
                                                    },
                                                    {
                                                        "id": 16014,
                                                        "name": "p2",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 16003,
                                                        "src": "24563:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_bool",
                                                            "typeString": "bool"
                                                        }
                                                    },
                                                    {
                                                        "id": 16015,
                                                        "name": "p3",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 16005,
                                                        "src": "24567:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_bool",
                                                            "typeString": "bool"
                                                        }
                                                    }
                                                ],
                                                "expression": {
                                                    "argumentTypes": [
                                                        {
                                                            "typeIdentifier": "t_stringliteral_4e6c5315e6998332ba87ae2545bc72447c94349a51e999446a98bfab04167b32",
                                                            "typeString": "literal_string \"log(uint,bool,bool,bool)\""
                                                        },
                                                        {
                                                            "typeIdentifier": "t_uint256",
                                                            "typeString": "uint256"
                                                        },
                                                        {
                                                            "typeIdentifier": "t_bool",
                                                            "typeString": "bool"
                                                        },
                                                        {
                                                            "typeIdentifier": "t_bool",
                                                            "typeString": "bool"
                                                        },
                                                        {
                                                            "typeIdentifier": "t_bool",
                                                            "typeString": "bool"
                                                        }
                                                    ],
                                                    "expression": {
                                                        "id": 16009,
                                                        "name": "abi",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 4294967295,
                                                        "src": "24503:3:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_magic_abi",
                                                            "typeString": "abi"
                                                        }
                                                    },
                                                    "id": 16010,
                                                    "isConstant": false,
                                                    "isLValue": false,
                                                    "isPure": true,
                                                    "lValueRequested": false,
                                                    "memberName": "encodeWithSignature",
                                                    "nodeType": "MemberAccess",
                                                    "src": "24503:23:62",
                                                    "typeDescriptions": {
                                                        "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$",
                                                        "typeString": "function (string memory) pure returns (bytes memory)"
                                                    }
                                                },
                                                "id": 16016,
                                                "isConstant": false,
                                                "isLValue": false,
                                                "isPure": false,
                                                "kind": "functionCall",
                                                "lValueRequested": false,
                                                "names": [],
                                                "nodeType": "FunctionCall",
                                                "src": "24503:67:62",
                                                "tryCall": false,
                                                "typeDescriptions": {
                                                    "typeIdentifier": "t_bytes_memory_ptr",
                                                    "typeString": "bytes memory"
                                                }
                                            }
                                        ],
                                        "expression": {
                                            "argumentTypes": [
                                                {
                                                    "typeIdentifier": "t_bytes_memory_ptr",
                                                    "typeString": "bytes memory"
                                                }
                                            ],
                                            "id": 16008,
                                            "name": "_sendLogPayload",
                                            "nodeType": "Identifier",
                                            "overloadedDeclarations": [],
                                            "referencedDeclaration": 12880,
                                            "src": "24487:15:62",
                                            "typeDescriptions": {
                                                "typeIdentifier": "t_function_internal_view$_t_bytes_memory_ptr_$returns$__$",
                                                "typeString": "function (bytes memory) view"
                                            }
                                        },
                                        "id": 16017,
                                        "isConstant": false,
                                        "isLValue": false,
                                        "isPure": false,
                                        "kind": "functionCall",
                                        "lValueRequested": false,
                                        "names": [],
                                        "nodeType": "FunctionCall",
                                        "src": "24487:84:62",
                                        "tryCall": false,
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_tuple$__$",
                                            "typeString": "tuple()"
                                        }
                                    },
                                    "id": 16018,
                                    "nodeType": "ExpressionStatement",
                                    "src": "24487:84:62"
                                }
                            ]
                        },
                        "id": 16020,
                        "implemented": true,
                        "kind": "function",
                        "modifiers": [],
                        "name": "log",
                        "nameLocation": "24429:3:62",
                        "nodeType": "FunctionDefinition",
                        "parameters": {
                            "id": 16006,
                            "nodeType": "ParameterList",
                            "parameters": [
                                {
                                    "constant": false,
                                    "id": 15999,
                                    "mutability": "mutable",
                                    "name": "p0",
                                    "nameLocation": "24438:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 16020,
                                    "src": "24433:7:62",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_uint256",
                                        "typeString": "uint256"
                                    },
                                    "typeName": {
                                        "id": 15998,
                                        "name": "uint",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "24433:4:62",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_uint256",
                                            "typeString": "uint256"
                                        }
                                    },
                                    "visibility": "internal"
                                },
                                {
                                    "constant": false,
                                    "id": 16001,
                                    "mutability": "mutable",
                                    "name": "p1",
                                    "nameLocation": "24447:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 16020,
                                    "src": "24442:7:62",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_bool",
                                        "typeString": "bool"
                                    },
                                    "typeName": {
                                        "id": 16000,
                                        "name": "bool",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "24442:4:62",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_bool",
                                            "typeString": "bool"
                                        }
                                    },
                                    "visibility": "internal"
                                },
                                {
                                    "constant": false,
                                    "id": 16003,
                                    "mutability": "mutable",
                                    "name": "p2",
                                    "nameLocation": "24456:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 16020,
                                    "src": "24451:7:62",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_bool",
                                        "typeString": "bool"
                                    },
                                    "typeName": {
                                        "id": 16002,
                                        "name": "bool",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "24451:4:62",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_bool",
                                            "typeString": "bool"
                                        }
                                    },
                                    "visibility": "internal"
                                },
                                {
                                    "constant": false,
                                    "id": 16005,
                                    "mutability": "mutable",
                                    "name": "p3",
                                    "nameLocation": "24465:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 16020,
                                    "src": "24460:7:62",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_bool",
                                        "typeString": "bool"
                                    },
                                    "typeName": {
                                        "id": 16004,
                                        "name": "bool",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "24460:4:62",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_bool",
                                            "typeString": "bool"
                                        }
                                    },
                                    "visibility": "internal"
                                }
                            ],
                            "src": "24432:36:62"
                        },
                        "returnParameters": {
                            "id": 16007,
                            "nodeType": "ParameterList",
                            "parameters": [],
                            "src": "24483:0:62"
                        },
                        "scope": 20920,
                        "src": "24420:155:62",
                        "stateMutability": "view",
                        "virtual": false,
                        "visibility": "internal"
                    },
                    {
                        "body": {
                            "id": 16042,
                            "nodeType": "Block",
                            "src": "24644:95:62",
                            "statements": [
                                {
                                    "expression": {
                                        "arguments": [
                                            {
                                                "arguments": [
                                                    {
                                                        "hexValue": "6c6f672875696e742c626f6f6c2c626f6f6c2c6164647265737329",
                                                        "id": 16034,
                                                        "isConstant": false,
                                                        "isLValue": false,
                                                        "isPure": true,
                                                        "kind": "string",
                                                        "lValueRequested": false,
                                                        "nodeType": "Literal",
                                                        "src": "24688:29:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_stringliteral_5306225d3f6a0c340e12a634d8571b24a659d0fdcb96dd45e3bd062feb68355b",
                                                            "typeString": "literal_string \"log(uint,bool,bool,address)\""
                                                        },
                                                        "value": "log(uint,bool,bool,address)"
                                                    },
                                                    {
                                                        "id": 16035,
                                                        "name": "p0",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 16022,
                                                        "src": "24719:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_uint256",
                                                            "typeString": "uint256"
                                                        }
                                                    },
                                                    {
                                                        "id": 16036,
                                                        "name": "p1",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 16024,
                                                        "src": "24723:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_bool",
                                                            "typeString": "bool"
                                                        }
                                                    },
                                                    {
                                                        "id": 16037,
                                                        "name": "p2",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 16026,
                                                        "src": "24727:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_bool",
                                                            "typeString": "bool"
                                                        }
                                                    },
                                                    {
                                                        "id": 16038,
                                                        "name": "p3",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 16028,
                                                        "src": "24731:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_address",
                                                            "typeString": "address"
                                                        }
                                                    }
                                                ],
                                                "expression": {
                                                    "argumentTypes": [
                                                        {
                                                            "typeIdentifier": "t_stringliteral_5306225d3f6a0c340e12a634d8571b24a659d0fdcb96dd45e3bd062feb68355b",
                                                            "typeString": "literal_string \"log(uint,bool,bool,address)\""
                                                        },
                                                        {
                                                            "typeIdentifier": "t_uint256",
                                                            "typeString": "uint256"
                                                        },
                                                        {
                                                            "typeIdentifier": "t_bool",
                                                            "typeString": "bool"
                                                        },
                                                        {
                                                            "typeIdentifier": "t_bool",
                                                            "typeString": "bool"
                                                        },
                                                        {
                                                            "typeIdentifier": "t_address",
                                                            "typeString": "address"
                                                        }
                                                    ],
                                                    "expression": {
                                                        "id": 16032,
                                                        "name": "abi",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 4294967295,
                                                        "src": "24664:3:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_magic_abi",
                                                            "typeString": "abi"
                                                        }
                                                    },
                                                    "id": 16033,
                                                    "isConstant": false,
                                                    "isLValue": false,
                                                    "isPure": true,
                                                    "lValueRequested": false,
                                                    "memberName": "encodeWithSignature",
                                                    "nodeType": "MemberAccess",
                                                    "src": "24664:23:62",
                                                    "typeDescriptions": {
                                                        "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$",
                                                        "typeString": "function (string memory) pure returns (bytes memory)"
                                                    }
                                                },
                                                "id": 16039,
                                                "isConstant": false,
                                                "isLValue": false,
                                                "isPure": false,
                                                "kind": "functionCall",
                                                "lValueRequested": false,
                                                "names": [],
                                                "nodeType": "FunctionCall",
                                                "src": "24664:70:62",
                                                "tryCall": false,
                                                "typeDescriptions": {
                                                    "typeIdentifier": "t_bytes_memory_ptr",
                                                    "typeString": "bytes memory"
                                                }
                                            }
                                        ],
                                        "expression": {
                                            "argumentTypes": [
                                                {
                                                    "typeIdentifier": "t_bytes_memory_ptr",
                                                    "typeString": "bytes memory"
                                                }
                                            ],
                                            "id": 16031,
                                            "name": "_sendLogPayload",
                                            "nodeType": "Identifier",
                                            "overloadedDeclarations": [],
                                            "referencedDeclaration": 12880,
                                            "src": "24648:15:62",
                                            "typeDescriptions": {
                                                "typeIdentifier": "t_function_internal_view$_t_bytes_memory_ptr_$returns$__$",
                                                "typeString": "function (bytes memory) view"
                                            }
                                        },
                                        "id": 16040,
                                        "isConstant": false,
                                        "isLValue": false,
                                        "isPure": false,
                                        "kind": "functionCall",
                                        "lValueRequested": false,
                                        "names": [],
                                        "nodeType": "FunctionCall",
                                        "src": "24648:87:62",
                                        "tryCall": false,
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_tuple$__$",
                                            "typeString": "tuple()"
                                        }
                                    },
                                    "id": 16041,
                                    "nodeType": "ExpressionStatement",
                                    "src": "24648:87:62"
                                }
                            ]
                        },
                        "id": 16043,
                        "implemented": true,
                        "kind": "function",
                        "modifiers": [],
                        "name": "log",
                        "nameLocation": "24587:3:62",
                        "nodeType": "FunctionDefinition",
                        "parameters": {
                            "id": 16029,
                            "nodeType": "ParameterList",
                            "parameters": [
                                {
                                    "constant": false,
                                    "id": 16022,
                                    "mutability": "mutable",
                                    "name": "p0",
                                    "nameLocation": "24596:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 16043,
                                    "src": "24591:7:62",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_uint256",
                                        "typeString": "uint256"
                                    },
                                    "typeName": {
                                        "id": 16021,
                                        "name": "uint",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "24591:4:62",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_uint256",
                                            "typeString": "uint256"
                                        }
                                    },
                                    "visibility": "internal"
                                },
                                {
                                    "constant": false,
                                    "id": 16024,
                                    "mutability": "mutable",
                                    "name": "p1",
                                    "nameLocation": "24605:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 16043,
                                    "src": "24600:7:62",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_bool",
                                        "typeString": "bool"
                                    },
                                    "typeName": {
                                        "id": 16023,
                                        "name": "bool",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "24600:4:62",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_bool",
                                            "typeString": "bool"
                                        }
                                    },
                                    "visibility": "internal"
                                },
                                {
                                    "constant": false,
                                    "id": 16026,
                                    "mutability": "mutable",
                                    "name": "p2",
                                    "nameLocation": "24614:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 16043,
                                    "src": "24609:7:62",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_bool",
                                        "typeString": "bool"
                                    },
                                    "typeName": {
                                        "id": 16025,
                                        "name": "bool",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "24609:4:62",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_bool",
                                            "typeString": "bool"
                                        }
                                    },
                                    "visibility": "internal"
                                },
                                {
                                    "constant": false,
                                    "id": 16028,
                                    "mutability": "mutable",
                                    "name": "p3",
                                    "nameLocation": "24626:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 16043,
                                    "src": "24618:10:62",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_address",
                                        "typeString": "address"
                                    },
                                    "typeName": {
                                        "id": 16027,
                                        "name": "address",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "24618:7:62",
                                        "stateMutability": "nonpayable",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_address",
                                            "typeString": "address"
                                        }
                                    },
                                    "visibility": "internal"
                                }
                            ],
                            "src": "24590:39:62"
                        },
                        "returnParameters": {
                            "id": 16030,
                            "nodeType": "ParameterList",
                            "parameters": [],
                            "src": "24644:0:62"
                        },
                        "scope": 20920,
                        "src": "24578:161:62",
                        "stateMutability": "view",
                        "virtual": false,
                        "visibility": "internal"
                    },
                    {
                        "body": {
                            "id": 16065,
                            "nodeType": "Block",
                            "src": "24808:95:62",
                            "statements": [
                                {
                                    "expression": {
                                        "arguments": [
                                            {
                                                "arguments": [
                                                    {
                                                        "hexValue": "6c6f672875696e742c626f6f6c2c616464726573732c75696e7429",
                                                        "id": 16057,
                                                        "isConstant": false,
                                                        "isLValue": false,
                                                        "isPure": true,
                                                        "kind": "string",
                                                        "lValueRequested": false,
                                                        "nodeType": "Literal",
                                                        "src": "24852:29:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_stringliteral_41b5ef3bc57cb6072d9bbab757f04e68fb78a6a8b29741a7b963761abce32fb1",
                                                            "typeString": "literal_string \"log(uint,bool,address,uint)\""
                                                        },
                                                        "value": "log(uint,bool,address,uint)"
                                                    },
                                                    {
                                                        "id": 16058,
                                                        "name": "p0",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 16045,
                                                        "src": "24883:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_uint256",
                                                            "typeString": "uint256"
                                                        }
                                                    },
                                                    {
                                                        "id": 16059,
                                                        "name": "p1",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 16047,
                                                        "src": "24887:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_bool",
                                                            "typeString": "bool"
                                                        }
                                                    },
                                                    {
                                                        "id": 16060,
                                                        "name": "p2",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 16049,
                                                        "src": "24891:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_address",
                                                            "typeString": "address"
                                                        }
                                                    },
                                                    {
                                                        "id": 16061,
                                                        "name": "p3",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 16051,
                                                        "src": "24895:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_uint256",
                                                            "typeString": "uint256"
                                                        }
                                                    }
                                                ],
                                                "expression": {
                                                    "argumentTypes": [
                                                        {
                                                            "typeIdentifier": "t_stringliteral_41b5ef3bc57cb6072d9bbab757f04e68fb78a6a8b29741a7b963761abce32fb1",
                                                            "typeString": "literal_string \"log(uint,bool,address,uint)\""
                                                        },
                                                        {
                                                            "typeIdentifier": "t_uint256",
                                                            "typeString": "uint256"
                                                        },
                                                        {
                                                            "typeIdentifier": "t_bool",
                                                            "typeString": "bool"
                                                        },
                                                        {
                                                            "typeIdentifier": "t_address",
                                                            "typeString": "address"
                                                        },
                                                        {
                                                            "typeIdentifier": "t_uint256",
                                                            "typeString": "uint256"
                                                        }
                                                    ],
                                                    "expression": {
                                                        "id": 16055,
                                                        "name": "abi",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 4294967295,
                                                        "src": "24828:3:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_magic_abi",
                                                            "typeString": "abi"
                                                        }
                                                    },
                                                    "id": 16056,
                                                    "isConstant": false,
                                                    "isLValue": false,
                                                    "isPure": true,
                                                    "lValueRequested": false,
                                                    "memberName": "encodeWithSignature",
                                                    "nodeType": "MemberAccess",
                                                    "src": "24828:23:62",
                                                    "typeDescriptions": {
                                                        "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$",
                                                        "typeString": "function (string memory) pure returns (bytes memory)"
                                                    }
                                                },
                                                "id": 16062,
                                                "isConstant": false,
                                                "isLValue": false,
                                                "isPure": false,
                                                "kind": "functionCall",
                                                "lValueRequested": false,
                                                "names": [],
                                                "nodeType": "FunctionCall",
                                                "src": "24828:70:62",
                                                "tryCall": false,
                                                "typeDescriptions": {
                                                    "typeIdentifier": "t_bytes_memory_ptr",
                                                    "typeString": "bytes memory"
                                                }
                                            }
                                        ],
                                        "expression": {
                                            "argumentTypes": [
                                                {
                                                    "typeIdentifier": "t_bytes_memory_ptr",
                                                    "typeString": "bytes memory"
                                                }
                                            ],
                                            "id": 16054,
                                            "name": "_sendLogPayload",
                                            "nodeType": "Identifier",
                                            "overloadedDeclarations": [],
                                            "referencedDeclaration": 12880,
                                            "src": "24812:15:62",
                                            "typeDescriptions": {
                                                "typeIdentifier": "t_function_internal_view$_t_bytes_memory_ptr_$returns$__$",
                                                "typeString": "function (bytes memory) view"
                                            }
                                        },
                                        "id": 16063,
                                        "isConstant": false,
                                        "isLValue": false,
                                        "isPure": false,
                                        "kind": "functionCall",
                                        "lValueRequested": false,
                                        "names": [],
                                        "nodeType": "FunctionCall",
                                        "src": "24812:87:62",
                                        "tryCall": false,
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_tuple$__$",
                                            "typeString": "tuple()"
                                        }
                                    },
                                    "id": 16064,
                                    "nodeType": "ExpressionStatement",
                                    "src": "24812:87:62"
                                }
                            ]
                        },
                        "id": 16066,
                        "implemented": true,
                        "kind": "function",
                        "modifiers": [],
                        "name": "log",
                        "nameLocation": "24751:3:62",
                        "nodeType": "FunctionDefinition",
                        "parameters": {
                            "id": 16052,
                            "nodeType": "ParameterList",
                            "parameters": [
                                {
                                    "constant": false,
                                    "id": 16045,
                                    "mutability": "mutable",
                                    "name": "p0",
                                    "nameLocation": "24760:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 16066,
                                    "src": "24755:7:62",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_uint256",
                                        "typeString": "uint256"
                                    },
                                    "typeName": {
                                        "id": 16044,
                                        "name": "uint",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "24755:4:62",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_uint256",
                                            "typeString": "uint256"
                                        }
                                    },
                                    "visibility": "internal"
                                },
                                {
                                    "constant": false,
                                    "id": 16047,
                                    "mutability": "mutable",
                                    "name": "p1",
                                    "nameLocation": "24769:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 16066,
                                    "src": "24764:7:62",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_bool",
                                        "typeString": "bool"
                                    },
                                    "typeName": {
                                        "id": 16046,
                                        "name": "bool",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "24764:4:62",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_bool",
                                            "typeString": "bool"
                                        }
                                    },
                                    "visibility": "internal"
                                },
                                {
                                    "constant": false,
                                    "id": 16049,
                                    "mutability": "mutable",
                                    "name": "p2",
                                    "nameLocation": "24781:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 16066,
                                    "src": "24773:10:62",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_address",
                                        "typeString": "address"
                                    },
                                    "typeName": {
                                        "id": 16048,
                                        "name": "address",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "24773:7:62",
                                        "stateMutability": "nonpayable",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_address",
                                            "typeString": "address"
                                        }
                                    },
                                    "visibility": "internal"
                                },
                                {
                                    "constant": false,
                                    "id": 16051,
                                    "mutability": "mutable",
                                    "name": "p3",
                                    "nameLocation": "24790:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 16066,
                                    "src": "24785:7:62",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_uint256",
                                        "typeString": "uint256"
                                    },
                                    "typeName": {
                                        "id": 16050,
                                        "name": "uint",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "24785:4:62",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_uint256",
                                            "typeString": "uint256"
                                        }
                                    },
                                    "visibility": "internal"
                                }
                            ],
                            "src": "24754:39:62"
                        },
                        "returnParameters": {
                            "id": 16053,
                            "nodeType": "ParameterList",
                            "parameters": [],
                            "src": "24808:0:62"
                        },
                        "scope": 20920,
                        "src": "24742:161:62",
                        "stateMutability": "view",
                        "virtual": false,
                        "visibility": "internal"
                    },
                    {
                        "body": {
                            "id": 16088,
                            "nodeType": "Block",
                            "src": "24981:97:62",
                            "statements": [
                                {
                                    "expression": {
                                        "arguments": [
                                            {
                                                "arguments": [
                                                    {
                                                        "hexValue": "6c6f672875696e742c626f6f6c2c616464726573732c737472696e6729",
                                                        "id": 16080,
                                                        "isConstant": false,
                                                        "isLValue": false,
                                                        "isPure": true,
                                                        "kind": "string",
                                                        "lValueRequested": false,
                                                        "nodeType": "Literal",
                                                        "src": "25025:31:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_stringliteral_a230761e3811ae33e11d91e6667cf79e7e0ce8023ec276bdd69859f68587933c",
                                                            "typeString": "literal_string \"log(uint,bool,address,string)\""
                                                        },
                                                        "value": "log(uint,bool,address,string)"
                                                    },
                                                    {
                                                        "id": 16081,
                                                        "name": "p0",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 16068,
                                                        "src": "25058:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_uint256",
                                                            "typeString": "uint256"
                                                        }
                                                    },
                                                    {
                                                        "id": 16082,
                                                        "name": "p1",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 16070,
                                                        "src": "25062:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_bool",
                                                            "typeString": "bool"
                                                        }
                                                    },
                                                    {
                                                        "id": 16083,
                                                        "name": "p2",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 16072,
                                                        "src": "25066:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_address",
                                                            "typeString": "address"
                                                        }
                                                    },
                                                    {
                                                        "id": 16084,
                                                        "name": "p3",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 16074,
                                                        "src": "25070:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_string_memory_ptr",
                                                            "typeString": "string memory"
                                                        }
                                                    }
                                                ],
                                                "expression": {
                                                    "argumentTypes": [
                                                        {
                                                            "typeIdentifier": "t_stringliteral_a230761e3811ae33e11d91e6667cf79e7e0ce8023ec276bdd69859f68587933c",
                                                            "typeString": "literal_string \"log(uint,bool,address,string)\""
                                                        },
                                                        {
                                                            "typeIdentifier": "t_uint256",
                                                            "typeString": "uint256"
                                                        },
                                                        {
                                                            "typeIdentifier": "t_bool",
                                                            "typeString": "bool"
                                                        },
                                                        {
                                                            "typeIdentifier": "t_address",
                                                            "typeString": "address"
                                                        },
                                                        {
                                                            "typeIdentifier": "t_string_memory_ptr",
                                                            "typeString": "string memory"
                                                        }
                                                    ],
                                                    "expression": {
                                                        "id": 16078,
                                                        "name": "abi",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 4294967295,
                                                        "src": "25001:3:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_magic_abi",
                                                            "typeString": "abi"
                                                        }
                                                    },
                                                    "id": 16079,
                                                    "isConstant": false,
                                                    "isLValue": false,
                                                    "isPure": true,
                                                    "lValueRequested": false,
                                                    "memberName": "encodeWithSignature",
                                                    "nodeType": "MemberAccess",
                                                    "src": "25001:23:62",
                                                    "typeDescriptions": {
                                                        "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$",
                                                        "typeString": "function (string memory) pure returns (bytes memory)"
                                                    }
                                                },
                                                "id": 16085,
                                                "isConstant": false,
                                                "isLValue": false,
                                                "isPure": false,
                                                "kind": "functionCall",
                                                "lValueRequested": false,
                                                "names": [],
                                                "nodeType": "FunctionCall",
                                                "src": "25001:72:62",
                                                "tryCall": false,
                                                "typeDescriptions": {
                                                    "typeIdentifier": "t_bytes_memory_ptr",
                                                    "typeString": "bytes memory"
                                                }
                                            }
                                        ],
                                        "expression": {
                                            "argumentTypes": [
                                                {
                                                    "typeIdentifier": "t_bytes_memory_ptr",
                                                    "typeString": "bytes memory"
                                                }
                                            ],
                                            "id": 16077,
                                            "name": "_sendLogPayload",
                                            "nodeType": "Identifier",
                                            "overloadedDeclarations": [],
                                            "referencedDeclaration": 12880,
                                            "src": "24985:15:62",
                                            "typeDescriptions": {
                                                "typeIdentifier": "t_function_internal_view$_t_bytes_memory_ptr_$returns$__$",
                                                "typeString": "function (bytes memory) view"
                                            }
                                        },
                                        "id": 16086,
                                        "isConstant": false,
                                        "isLValue": false,
                                        "isPure": false,
                                        "kind": "functionCall",
                                        "lValueRequested": false,
                                        "names": [],
                                        "nodeType": "FunctionCall",
                                        "src": "24985:89:62",
                                        "tryCall": false,
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_tuple$__$",
                                            "typeString": "tuple()"
                                        }
                                    },
                                    "id": 16087,
                                    "nodeType": "ExpressionStatement",
                                    "src": "24985:89:62"
                                }
                            ]
                        },
                        "id": 16089,
                        "implemented": true,
                        "kind": "function",
                        "modifiers": [],
                        "name": "log",
                        "nameLocation": "24915:3:62",
                        "nodeType": "FunctionDefinition",
                        "parameters": {
                            "id": 16075,
                            "nodeType": "ParameterList",
                            "parameters": [
                                {
                                    "constant": false,
                                    "id": 16068,
                                    "mutability": "mutable",
                                    "name": "p0",
                                    "nameLocation": "24924:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 16089,
                                    "src": "24919:7:62",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_uint256",
                                        "typeString": "uint256"
                                    },
                                    "typeName": {
                                        "id": 16067,
                                        "name": "uint",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "24919:4:62",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_uint256",
                                            "typeString": "uint256"
                                        }
                                    },
                                    "visibility": "internal"
                                },
                                {
                                    "constant": false,
                                    "id": 16070,
                                    "mutability": "mutable",
                                    "name": "p1",
                                    "nameLocation": "24933:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 16089,
                                    "src": "24928:7:62",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_bool",
                                        "typeString": "bool"
                                    },
                                    "typeName": {
                                        "id": 16069,
                                        "name": "bool",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "24928:4:62",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_bool",
                                            "typeString": "bool"
                                        }
                                    },
                                    "visibility": "internal"
                                },
                                {
                                    "constant": false,
                                    "id": 16072,
                                    "mutability": "mutable",
                                    "name": "p2",
                                    "nameLocation": "24945:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 16089,
                                    "src": "24937:10:62",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_address",
                                        "typeString": "address"
                                    },
                                    "typeName": {
                                        "id": 16071,
                                        "name": "address",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "24937:7:62",
                                        "stateMutability": "nonpayable",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_address",
                                            "typeString": "address"
                                        }
                                    },
                                    "visibility": "internal"
                                },
                                {
                                    "constant": false,
                                    "id": 16074,
                                    "mutability": "mutable",
                                    "name": "p3",
                                    "nameLocation": "24963:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 16089,
                                    "src": "24949:16:62",
                                    "stateVariable": false,
                                    "storageLocation": "memory",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_string_memory_ptr",
                                        "typeString": "string"
                                    },
                                    "typeName": {
                                        "id": 16073,
                                        "name": "string",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "24949:6:62",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_string_storage_ptr",
                                            "typeString": "string"
                                        }
                                    },
                                    "visibility": "internal"
                                }
                            ],
                            "src": "24918:48:62"
                        },
                        "returnParameters": {
                            "id": 16076,
                            "nodeType": "ParameterList",
                            "parameters": [],
                            "src": "24981:0:62"
                        },
                        "scope": 20920,
                        "src": "24906:172:62",
                        "stateMutability": "view",
                        "virtual": false,
                        "visibility": "internal"
                    },
                    {
                        "body": {
                            "id": 16111,
                            "nodeType": "Block",
                            "src": "25147:95:62",
                            "statements": [
                                {
                                    "expression": {
                                        "arguments": [
                                            {
                                                "arguments": [
                                                    {
                                                        "hexValue": "6c6f672875696e742c626f6f6c2c616464726573732c626f6f6c29",
                                                        "id": 16103,
                                                        "isConstant": false,
                                                        "isLValue": false,
                                                        "isPure": true,
                                                        "kind": "string",
                                                        "lValueRequested": false,
                                                        "nodeType": "Literal",
                                                        "src": "25191:29:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_stringliteral_91fb124272873b32f25c28f6935451e3d46ffd78ac8ebaaa0e096a7942db5445",
                                                            "typeString": "literal_string \"log(uint,bool,address,bool)\""
                                                        },
                                                        "value": "log(uint,bool,address,bool)"
                                                    },
                                                    {
                                                        "id": 16104,
                                                        "name": "p0",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 16091,
                                                        "src": "25222:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_uint256",
                                                            "typeString": "uint256"
                                                        }
                                                    },
                                                    {
                                                        "id": 16105,
                                                        "name": "p1",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 16093,
                                                        "src": "25226:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_bool",
                                                            "typeString": "bool"
                                                        }
                                                    },
                                                    {
                                                        "id": 16106,
                                                        "name": "p2",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 16095,
                                                        "src": "25230:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_address",
                                                            "typeString": "address"
                                                        }
                                                    },
                                                    {
                                                        "id": 16107,
                                                        "name": "p3",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 16097,
                                                        "src": "25234:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_bool",
                                                            "typeString": "bool"
                                                        }
                                                    }
                                                ],
                                                "expression": {
                                                    "argumentTypes": [
                                                        {
                                                            "typeIdentifier": "t_stringliteral_91fb124272873b32f25c28f6935451e3d46ffd78ac8ebaaa0e096a7942db5445",
                                                            "typeString": "literal_string \"log(uint,bool,address,bool)\""
                                                        },
                                                        {
                                                            "typeIdentifier": "t_uint256",
                                                            "typeString": "uint256"
                                                        },
                                                        {
                                                            "typeIdentifier": "t_bool",
                                                            "typeString": "bool"
                                                        },
                                                        {
                                                            "typeIdentifier": "t_address",
                                                            "typeString": "address"
                                                        },
                                                        {
                                                            "typeIdentifier": "t_bool",
                                                            "typeString": "bool"
                                                        }
                                                    ],
                                                    "expression": {
                                                        "id": 16101,
                                                        "name": "abi",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 4294967295,
                                                        "src": "25167:3:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_magic_abi",
                                                            "typeString": "abi"
                                                        }
                                                    },
                                                    "id": 16102,
                                                    "isConstant": false,
                                                    "isLValue": false,
                                                    "isPure": true,
                                                    "lValueRequested": false,
                                                    "memberName": "encodeWithSignature",
                                                    "nodeType": "MemberAccess",
                                                    "src": "25167:23:62",
                                                    "typeDescriptions": {
                                                        "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$",
                                                        "typeString": "function (string memory) pure returns (bytes memory)"
                                                    }
                                                },
                                                "id": 16108,
                                                "isConstant": false,
                                                "isLValue": false,
                                                "isPure": false,
                                                "kind": "functionCall",
                                                "lValueRequested": false,
                                                "names": [],
                                                "nodeType": "FunctionCall",
                                                "src": "25167:70:62",
                                                "tryCall": false,
                                                "typeDescriptions": {
                                                    "typeIdentifier": "t_bytes_memory_ptr",
                                                    "typeString": "bytes memory"
                                                }
                                            }
                                        ],
                                        "expression": {
                                            "argumentTypes": [
                                                {
                                                    "typeIdentifier": "t_bytes_memory_ptr",
                                                    "typeString": "bytes memory"
                                                }
                                            ],
                                            "id": 16100,
                                            "name": "_sendLogPayload",
                                            "nodeType": "Identifier",
                                            "overloadedDeclarations": [],
                                            "referencedDeclaration": 12880,
                                            "src": "25151:15:62",
                                            "typeDescriptions": {
                                                "typeIdentifier": "t_function_internal_view$_t_bytes_memory_ptr_$returns$__$",
                                                "typeString": "function (bytes memory) view"
                                            }
                                        },
                                        "id": 16109,
                                        "isConstant": false,
                                        "isLValue": false,
                                        "isPure": false,
                                        "kind": "functionCall",
                                        "lValueRequested": false,
                                        "names": [],
                                        "nodeType": "FunctionCall",
                                        "src": "25151:87:62",
                                        "tryCall": false,
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_tuple$__$",
                                            "typeString": "tuple()"
                                        }
                                    },
                                    "id": 16110,
                                    "nodeType": "ExpressionStatement",
                                    "src": "25151:87:62"
                                }
                            ]
                        },
                        "id": 16112,
                        "implemented": true,
                        "kind": "function",
                        "modifiers": [],
                        "name": "log",
                        "nameLocation": "25090:3:62",
                        "nodeType": "FunctionDefinition",
                        "parameters": {
                            "id": 16098,
                            "nodeType": "ParameterList",
                            "parameters": [
                                {
                                    "constant": false,
                                    "id": 16091,
                                    "mutability": "mutable",
                                    "name": "p0",
                                    "nameLocation": "25099:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 16112,
                                    "src": "25094:7:62",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_uint256",
                                        "typeString": "uint256"
                                    },
                                    "typeName": {
                                        "id": 16090,
                                        "name": "uint",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "25094:4:62",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_uint256",
                                            "typeString": "uint256"
                                        }
                                    },
                                    "visibility": "internal"
                                },
                                {
                                    "constant": false,
                                    "id": 16093,
                                    "mutability": "mutable",
                                    "name": "p1",
                                    "nameLocation": "25108:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 16112,
                                    "src": "25103:7:62",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_bool",
                                        "typeString": "bool"
                                    },
                                    "typeName": {
                                        "id": 16092,
                                        "name": "bool",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "25103:4:62",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_bool",
                                            "typeString": "bool"
                                        }
                                    },
                                    "visibility": "internal"
                                },
                                {
                                    "constant": false,
                                    "id": 16095,
                                    "mutability": "mutable",
                                    "name": "p2",
                                    "nameLocation": "25120:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 16112,
                                    "src": "25112:10:62",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_address",
                                        "typeString": "address"
                                    },
                                    "typeName": {
                                        "id": 16094,
                                        "name": "address",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "25112:7:62",
                                        "stateMutability": "nonpayable",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_address",
                                            "typeString": "address"
                                        }
                                    },
                                    "visibility": "internal"
                                },
                                {
                                    "constant": false,
                                    "id": 16097,
                                    "mutability": "mutable",
                                    "name": "p3",
                                    "nameLocation": "25129:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 16112,
                                    "src": "25124:7:62",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_bool",
                                        "typeString": "bool"
                                    },
                                    "typeName": {
                                        "id": 16096,
                                        "name": "bool",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "25124:4:62",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_bool",
                                            "typeString": "bool"
                                        }
                                    },
                                    "visibility": "internal"
                                }
                            ],
                            "src": "25093:39:62"
                        },
                        "returnParameters": {
                            "id": 16099,
                            "nodeType": "ParameterList",
                            "parameters": [],
                            "src": "25147:0:62"
                        },
                        "scope": 20920,
                        "src": "25081:161:62",
                        "stateMutability": "view",
                        "virtual": false,
                        "visibility": "internal"
                    },
                    {
                        "body": {
                            "id": 16134,
                            "nodeType": "Block",
                            "src": "25314:98:62",
                            "statements": [
                                {
                                    "expression": {
                                        "arguments": [
                                            {
                                                "arguments": [
                                                    {
                                                        "hexValue": "6c6f672875696e742c626f6f6c2c616464726573732c6164647265737329",
                                                        "id": 16126,
                                                        "isConstant": false,
                                                        "isLValue": false,
                                                        "isPure": true,
                                                        "kind": "string",
                                                        "lValueRequested": false,
                                                        "nodeType": "Literal",
                                                        "src": "25358:32:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_stringliteral_86edc10cd85187c3b3f180e68e570c794e768808cdffe5158045d6f841ae33f2",
                                                            "typeString": "literal_string \"log(uint,bool,address,address)\""
                                                        },
                                                        "value": "log(uint,bool,address,address)"
                                                    },
                                                    {
                                                        "id": 16127,
                                                        "name": "p0",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 16114,
                                                        "src": "25392:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_uint256",
                                                            "typeString": "uint256"
                                                        }
                                                    },
                                                    {
                                                        "id": 16128,
                                                        "name": "p1",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 16116,
                                                        "src": "25396:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_bool",
                                                            "typeString": "bool"
                                                        }
                                                    },
                                                    {
                                                        "id": 16129,
                                                        "name": "p2",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 16118,
                                                        "src": "25400:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_address",
                                                            "typeString": "address"
                                                        }
                                                    },
                                                    {
                                                        "id": 16130,
                                                        "name": "p3",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 16120,
                                                        "src": "25404:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_address",
                                                            "typeString": "address"
                                                        }
                                                    }
                                                ],
                                                "expression": {
                                                    "argumentTypes": [
                                                        {
                                                            "typeIdentifier": "t_stringliteral_86edc10cd85187c3b3f180e68e570c794e768808cdffe5158045d6f841ae33f2",
                                                            "typeString": "literal_string \"log(uint,bool,address,address)\""
                                                        },
                                                        {
                                                            "typeIdentifier": "t_uint256",
                                                            "typeString": "uint256"
                                                        },
                                                        {
                                                            "typeIdentifier": "t_bool",
                                                            "typeString": "bool"
                                                        },
                                                        {
                                                            "typeIdentifier": "t_address",
                                                            "typeString": "address"
                                                        },
                                                        {
                                                            "typeIdentifier": "t_address",
                                                            "typeString": "address"
                                                        }
                                                    ],
                                                    "expression": {
                                                        "id": 16124,
                                                        "name": "abi",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 4294967295,
                                                        "src": "25334:3:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_magic_abi",
                                                            "typeString": "abi"
                                                        }
                                                    },
                                                    "id": 16125,
                                                    "isConstant": false,
                                                    "isLValue": false,
                                                    "isPure": true,
                                                    "lValueRequested": false,
                                                    "memberName": "encodeWithSignature",
                                                    "nodeType": "MemberAccess",
                                                    "src": "25334:23:62",
                                                    "typeDescriptions": {
                                                        "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$",
                                                        "typeString": "function (string memory) pure returns (bytes memory)"
                                                    }
                                                },
                                                "id": 16131,
                                                "isConstant": false,
                                                "isLValue": false,
                                                "isPure": false,
                                                "kind": "functionCall",
                                                "lValueRequested": false,
                                                "names": [],
                                                "nodeType": "FunctionCall",
                                                "src": "25334:73:62",
                                                "tryCall": false,
                                                "typeDescriptions": {
                                                    "typeIdentifier": "t_bytes_memory_ptr",
                                                    "typeString": "bytes memory"
                                                }
                                            }
                                        ],
                                        "expression": {
                                            "argumentTypes": [
                                                {
                                                    "typeIdentifier": "t_bytes_memory_ptr",
                                                    "typeString": "bytes memory"
                                                }
                                            ],
                                            "id": 16123,
                                            "name": "_sendLogPayload",
                                            "nodeType": "Identifier",
                                            "overloadedDeclarations": [],
                                            "referencedDeclaration": 12880,
                                            "src": "25318:15:62",
                                            "typeDescriptions": {
                                                "typeIdentifier": "t_function_internal_view$_t_bytes_memory_ptr_$returns$__$",
                                                "typeString": "function (bytes memory) view"
                                            }
                                        },
                                        "id": 16132,
                                        "isConstant": false,
                                        "isLValue": false,
                                        "isPure": false,
                                        "kind": "functionCall",
                                        "lValueRequested": false,
                                        "names": [],
                                        "nodeType": "FunctionCall",
                                        "src": "25318:90:62",
                                        "tryCall": false,
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_tuple$__$",
                                            "typeString": "tuple()"
                                        }
                                    },
                                    "id": 16133,
                                    "nodeType": "ExpressionStatement",
                                    "src": "25318:90:62"
                                }
                            ]
                        },
                        "id": 16135,
                        "implemented": true,
                        "kind": "function",
                        "modifiers": [],
                        "name": "log",
                        "nameLocation": "25254:3:62",
                        "nodeType": "FunctionDefinition",
                        "parameters": {
                            "id": 16121,
                            "nodeType": "ParameterList",
                            "parameters": [
                                {
                                    "constant": false,
                                    "id": 16114,
                                    "mutability": "mutable",
                                    "name": "p0",
                                    "nameLocation": "25263:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 16135,
                                    "src": "25258:7:62",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_uint256",
                                        "typeString": "uint256"
                                    },
                                    "typeName": {
                                        "id": 16113,
                                        "name": "uint",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "25258:4:62",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_uint256",
                                            "typeString": "uint256"
                                        }
                                    },
                                    "visibility": "internal"
                                },
                                {
                                    "constant": false,
                                    "id": 16116,
                                    "mutability": "mutable",
                                    "name": "p1",
                                    "nameLocation": "25272:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 16135,
                                    "src": "25267:7:62",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_bool",
                                        "typeString": "bool"
                                    },
                                    "typeName": {
                                        "id": 16115,
                                        "name": "bool",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "25267:4:62",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_bool",
                                            "typeString": "bool"
                                        }
                                    },
                                    "visibility": "internal"
                                },
                                {
                                    "constant": false,
                                    "id": 16118,
                                    "mutability": "mutable",
                                    "name": "p2",
                                    "nameLocation": "25284:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 16135,
                                    "src": "25276:10:62",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_address",
                                        "typeString": "address"
                                    },
                                    "typeName": {
                                        "id": 16117,
                                        "name": "address",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "25276:7:62",
                                        "stateMutability": "nonpayable",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_address",
                                            "typeString": "address"
                                        }
                                    },
                                    "visibility": "internal"
                                },
                                {
                                    "constant": false,
                                    "id": 16120,
                                    "mutability": "mutable",
                                    "name": "p3",
                                    "nameLocation": "25296:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 16135,
                                    "src": "25288:10:62",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_address",
                                        "typeString": "address"
                                    },
                                    "typeName": {
                                        "id": 16119,
                                        "name": "address",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "25288:7:62",
                                        "stateMutability": "nonpayable",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_address",
                                            "typeString": "address"
                                        }
                                    },
                                    "visibility": "internal"
                                }
                            ],
                            "src": "25257:42:62"
                        },
                        "returnParameters": {
                            "id": 16122,
                            "nodeType": "ParameterList",
                            "parameters": [],
                            "src": "25314:0:62"
                        },
                        "scope": 20920,
                        "src": "25245:167:62",
                        "stateMutability": "view",
                        "virtual": false,
                        "visibility": "internal"
                    },
                    {
                        "body": {
                            "id": 16157,
                            "nodeType": "Block",
                            "src": "25481:95:62",
                            "statements": [
                                {
                                    "expression": {
                                        "arguments": [
                                            {
                                                "arguments": [
                                                    {
                                                        "hexValue": "6c6f672875696e742c616464726573732c75696e742c75696e7429",
                                                        "id": 16149,
                                                        "isConstant": false,
                                                        "isLValue": false,
                                                        "isPure": true,
                                                        "kind": "string",
                                                        "lValueRequested": false,
                                                        "nodeType": "Literal",
                                                        "src": "25525:29:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_stringliteral_ca9a3eb4a61979ee5cc1814fa8df2504ab7831148afaa3d4c17622578eab7412",
                                                            "typeString": "literal_string \"log(uint,address,uint,uint)\""
                                                        },
                                                        "value": "log(uint,address,uint,uint)"
                                                    },
                                                    {
                                                        "id": 16150,
                                                        "name": "p0",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 16137,
                                                        "src": "25556:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_uint256",
                                                            "typeString": "uint256"
                                                        }
                                                    },
                                                    {
                                                        "id": 16151,
                                                        "name": "p1",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 16139,
                                                        "src": "25560:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_address",
                                                            "typeString": "address"
                                                        }
                                                    },
                                                    {
                                                        "id": 16152,
                                                        "name": "p2",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 16141,
                                                        "src": "25564:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_uint256",
                                                            "typeString": "uint256"
                                                        }
                                                    },
                                                    {
                                                        "id": 16153,
                                                        "name": "p3",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 16143,
                                                        "src": "25568:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_uint256",
                                                            "typeString": "uint256"
                                                        }
                                                    }
                                                ],
                                                "expression": {
                                                    "argumentTypes": [
                                                        {
                                                            "typeIdentifier": "t_stringliteral_ca9a3eb4a61979ee5cc1814fa8df2504ab7831148afaa3d4c17622578eab7412",
                                                            "typeString": "literal_string \"log(uint,address,uint,uint)\""
                                                        },
                                                        {
                                                            "typeIdentifier": "t_uint256",
                                                            "typeString": "uint256"
                                                        },
                                                        {
                                                            "typeIdentifier": "t_address",
                                                            "typeString": "address"
                                                        },
                                                        {
                                                            "typeIdentifier": "t_uint256",
                                                            "typeString": "uint256"
                                                        },
                                                        {
                                                            "typeIdentifier": "t_uint256",
                                                            "typeString": "uint256"
                                                        }
                                                    ],
                                                    "expression": {
                                                        "id": 16147,
                                                        "name": "abi",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 4294967295,
                                                        "src": "25501:3:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_magic_abi",
                                                            "typeString": "abi"
                                                        }
                                                    },
                                                    "id": 16148,
                                                    "isConstant": false,
                                                    "isLValue": false,
                                                    "isPure": true,
                                                    "lValueRequested": false,
                                                    "memberName": "encodeWithSignature",
                                                    "nodeType": "MemberAccess",
                                                    "src": "25501:23:62",
                                                    "typeDescriptions": {
                                                        "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$",
                                                        "typeString": "function (string memory) pure returns (bytes memory)"
                                                    }
                                                },
                                                "id": 16154,
                                                "isConstant": false,
                                                "isLValue": false,
                                                "isPure": false,
                                                "kind": "functionCall",
                                                "lValueRequested": false,
                                                "names": [],
                                                "nodeType": "FunctionCall",
                                                "src": "25501:70:62",
                                                "tryCall": false,
                                                "typeDescriptions": {
                                                    "typeIdentifier": "t_bytes_memory_ptr",
                                                    "typeString": "bytes memory"
                                                }
                                            }
                                        ],
                                        "expression": {
                                            "argumentTypes": [
                                                {
                                                    "typeIdentifier": "t_bytes_memory_ptr",
                                                    "typeString": "bytes memory"
                                                }
                                            ],
                                            "id": 16146,
                                            "name": "_sendLogPayload",
                                            "nodeType": "Identifier",
                                            "overloadedDeclarations": [],
                                            "referencedDeclaration": 12880,
                                            "src": "25485:15:62",
                                            "typeDescriptions": {
                                                "typeIdentifier": "t_function_internal_view$_t_bytes_memory_ptr_$returns$__$",
                                                "typeString": "function (bytes memory) view"
                                            }
                                        },
                                        "id": 16155,
                                        "isConstant": false,
                                        "isLValue": false,
                                        "isPure": false,
                                        "kind": "functionCall",
                                        "lValueRequested": false,
                                        "names": [],
                                        "nodeType": "FunctionCall",
                                        "src": "25485:87:62",
                                        "tryCall": false,
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_tuple$__$",
                                            "typeString": "tuple()"
                                        }
                                    },
                                    "id": 16156,
                                    "nodeType": "ExpressionStatement",
                                    "src": "25485:87:62"
                                }
                            ]
                        },
                        "id": 16158,
                        "implemented": true,
                        "kind": "function",
                        "modifiers": [],
                        "name": "log",
                        "nameLocation": "25424:3:62",
                        "nodeType": "FunctionDefinition",
                        "parameters": {
                            "id": 16144,
                            "nodeType": "ParameterList",
                            "parameters": [
                                {
                                    "constant": false,
                                    "id": 16137,
                                    "mutability": "mutable",
                                    "name": "p0",
                                    "nameLocation": "25433:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 16158,
                                    "src": "25428:7:62",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_uint256",
                                        "typeString": "uint256"
                                    },
                                    "typeName": {
                                        "id": 16136,
                                        "name": "uint",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "25428:4:62",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_uint256",
                                            "typeString": "uint256"
                                        }
                                    },
                                    "visibility": "internal"
                                },
                                {
                                    "constant": false,
                                    "id": 16139,
                                    "mutability": "mutable",
                                    "name": "p1",
                                    "nameLocation": "25445:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 16158,
                                    "src": "25437:10:62",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_address",
                                        "typeString": "address"
                                    },
                                    "typeName": {
                                        "id": 16138,
                                        "name": "address",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "25437:7:62",
                                        "stateMutability": "nonpayable",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_address",
                                            "typeString": "address"
                                        }
                                    },
                                    "visibility": "internal"
                                },
                                {
                                    "constant": false,
                                    "id": 16141,
                                    "mutability": "mutable",
                                    "name": "p2",
                                    "nameLocation": "25454:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 16158,
                                    "src": "25449:7:62",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_uint256",
                                        "typeString": "uint256"
                                    },
                                    "typeName": {
                                        "id": 16140,
                                        "name": "uint",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "25449:4:62",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_uint256",
                                            "typeString": "uint256"
                                        }
                                    },
                                    "visibility": "internal"
                                },
                                {
                                    "constant": false,
                                    "id": 16143,
                                    "mutability": "mutable",
                                    "name": "p3",
                                    "nameLocation": "25463:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 16158,
                                    "src": "25458:7:62",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_uint256",
                                        "typeString": "uint256"
                                    },
                                    "typeName": {
                                        "id": 16142,
                                        "name": "uint",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "25458:4:62",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_uint256",
                                            "typeString": "uint256"
                                        }
                                    },
                                    "visibility": "internal"
                                }
                            ],
                            "src": "25427:39:62"
                        },
                        "returnParameters": {
                            "id": 16145,
                            "nodeType": "ParameterList",
                            "parameters": [],
                            "src": "25481:0:62"
                        },
                        "scope": 20920,
                        "src": "25415:161:62",
                        "stateMutability": "view",
                        "virtual": false,
                        "visibility": "internal"
                    },
                    {
                        "body": {
                            "id": 16180,
                            "nodeType": "Block",
                            "src": "25654:97:62",
                            "statements": [
                                {
                                    "expression": {
                                        "arguments": [
                                            {
                                                "arguments": [
                                                    {
                                                        "hexValue": "6c6f672875696e742c616464726573732c75696e742c737472696e6729",
                                                        "id": 16172,
                                                        "isConstant": false,
                                                        "isLValue": false,
                                                        "isPure": true,
                                                        "kind": "string",
                                                        "lValueRequested": false,
                                                        "nodeType": "Literal",
                                                        "src": "25698:31:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_stringliteral_3ed3bd282d1a27244fa4d3668aff783448c1a1864ff920057fa9f1c8144bb10b",
                                                            "typeString": "literal_string \"log(uint,address,uint,string)\""
                                                        },
                                                        "value": "log(uint,address,uint,string)"
                                                    },
                                                    {
                                                        "id": 16173,
                                                        "name": "p0",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 16160,
                                                        "src": "25731:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_uint256",
                                                            "typeString": "uint256"
                                                        }
                                                    },
                                                    {
                                                        "id": 16174,
                                                        "name": "p1",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 16162,
                                                        "src": "25735:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_address",
                                                            "typeString": "address"
                                                        }
                                                    },
                                                    {
                                                        "id": 16175,
                                                        "name": "p2",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 16164,
                                                        "src": "25739:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_uint256",
                                                            "typeString": "uint256"
                                                        }
                                                    },
                                                    {
                                                        "id": 16176,
                                                        "name": "p3",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 16166,
                                                        "src": "25743:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_string_memory_ptr",
                                                            "typeString": "string memory"
                                                        }
                                                    }
                                                ],
                                                "expression": {
                                                    "argumentTypes": [
                                                        {
                                                            "typeIdentifier": "t_stringliteral_3ed3bd282d1a27244fa4d3668aff783448c1a1864ff920057fa9f1c8144bb10b",
                                                            "typeString": "literal_string \"log(uint,address,uint,string)\""
                                                        },
                                                        {
                                                            "typeIdentifier": "t_uint256",
                                                            "typeString": "uint256"
                                                        },
                                                        {
                                                            "typeIdentifier": "t_address",
                                                            "typeString": "address"
                                                        },
                                                        {
                                                            "typeIdentifier": "t_uint256",
                                                            "typeString": "uint256"
                                                        },
                                                        {
                                                            "typeIdentifier": "t_string_memory_ptr",
                                                            "typeString": "string memory"
                                                        }
                                                    ],
                                                    "expression": {
                                                        "id": 16170,
                                                        "name": "abi",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 4294967295,
                                                        "src": "25674:3:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_magic_abi",
                                                            "typeString": "abi"
                                                        }
                                                    },
                                                    "id": 16171,
                                                    "isConstant": false,
                                                    "isLValue": false,
                                                    "isPure": true,
                                                    "lValueRequested": false,
                                                    "memberName": "encodeWithSignature",
                                                    "nodeType": "MemberAccess",
                                                    "src": "25674:23:62",
                                                    "typeDescriptions": {
                                                        "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$",
                                                        "typeString": "function (string memory) pure returns (bytes memory)"
                                                    }
                                                },
                                                "id": 16177,
                                                "isConstant": false,
                                                "isLValue": false,
                                                "isPure": false,
                                                "kind": "functionCall",
                                                "lValueRequested": false,
                                                "names": [],
                                                "nodeType": "FunctionCall",
                                                "src": "25674:72:62",
                                                "tryCall": false,
                                                "typeDescriptions": {
                                                    "typeIdentifier": "t_bytes_memory_ptr",
                                                    "typeString": "bytes memory"
                                                }
                                            }
                                        ],
                                        "expression": {
                                            "argumentTypes": [
                                                {
                                                    "typeIdentifier": "t_bytes_memory_ptr",
                                                    "typeString": "bytes memory"
                                                }
                                            ],
                                            "id": 16169,
                                            "name": "_sendLogPayload",
                                            "nodeType": "Identifier",
                                            "overloadedDeclarations": [],
                                            "referencedDeclaration": 12880,
                                            "src": "25658:15:62",
                                            "typeDescriptions": {
                                                "typeIdentifier": "t_function_internal_view$_t_bytes_memory_ptr_$returns$__$",
                                                "typeString": "function (bytes memory) view"
                                            }
                                        },
                                        "id": 16178,
                                        "isConstant": false,
                                        "isLValue": false,
                                        "isPure": false,
                                        "kind": "functionCall",
                                        "lValueRequested": false,
                                        "names": [],
                                        "nodeType": "FunctionCall",
                                        "src": "25658:89:62",
                                        "tryCall": false,
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_tuple$__$",
                                            "typeString": "tuple()"
                                        }
                                    },
                                    "id": 16179,
                                    "nodeType": "ExpressionStatement",
                                    "src": "25658:89:62"
                                }
                            ]
                        },
                        "id": 16181,
                        "implemented": true,
                        "kind": "function",
                        "modifiers": [],
                        "name": "log",
                        "nameLocation": "25588:3:62",
                        "nodeType": "FunctionDefinition",
                        "parameters": {
                            "id": 16167,
                            "nodeType": "ParameterList",
                            "parameters": [
                                {
                                    "constant": false,
                                    "id": 16160,
                                    "mutability": "mutable",
                                    "name": "p0",
                                    "nameLocation": "25597:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 16181,
                                    "src": "25592:7:62",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_uint256",
                                        "typeString": "uint256"
                                    },
                                    "typeName": {
                                        "id": 16159,
                                        "name": "uint",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "25592:4:62",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_uint256",
                                            "typeString": "uint256"
                                        }
                                    },
                                    "visibility": "internal"
                                },
                                {
                                    "constant": false,
                                    "id": 16162,
                                    "mutability": "mutable",
                                    "name": "p1",
                                    "nameLocation": "25609:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 16181,
                                    "src": "25601:10:62",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_address",
                                        "typeString": "address"
                                    },
                                    "typeName": {
                                        "id": 16161,
                                        "name": "address",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "25601:7:62",
                                        "stateMutability": "nonpayable",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_address",
                                            "typeString": "address"
                                        }
                                    },
                                    "visibility": "internal"
                                },
                                {
                                    "constant": false,
                                    "id": 16164,
                                    "mutability": "mutable",
                                    "name": "p2",
                                    "nameLocation": "25618:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 16181,
                                    "src": "25613:7:62",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_uint256",
                                        "typeString": "uint256"
                                    },
                                    "typeName": {
                                        "id": 16163,
                                        "name": "uint",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "25613:4:62",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_uint256",
                                            "typeString": "uint256"
                                        }
                                    },
                                    "visibility": "internal"
                                },
                                {
                                    "constant": false,
                                    "id": 16166,
                                    "mutability": "mutable",
                                    "name": "p3",
                                    "nameLocation": "25636:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 16181,
                                    "src": "25622:16:62",
                                    "stateVariable": false,
                                    "storageLocation": "memory",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_string_memory_ptr",
                                        "typeString": "string"
                                    },
                                    "typeName": {
                                        "id": 16165,
                                        "name": "string",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "25622:6:62",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_string_storage_ptr",
                                            "typeString": "string"
                                        }
                                    },
                                    "visibility": "internal"
                                }
                            ],
                            "src": "25591:48:62"
                        },
                        "returnParameters": {
                            "id": 16168,
                            "nodeType": "ParameterList",
                            "parameters": [],
                            "src": "25654:0:62"
                        },
                        "scope": 20920,
                        "src": "25579:172:62",
                        "stateMutability": "view",
                        "virtual": false,
                        "visibility": "internal"
                    },
                    {
                        "body": {
                            "id": 16203,
                            "nodeType": "Block",
                            "src": "25820:95:62",
                            "statements": [
                                {
                                    "expression": {
                                        "arguments": [
                                            {
                                                "arguments": [
                                                    {
                                                        "hexValue": "6c6f672875696e742c616464726573732c75696e742c626f6f6c29",
                                                        "id": 16195,
                                                        "isConstant": false,
                                                        "isLValue": false,
                                                        "isPure": true,
                                                        "kind": "string",
                                                        "lValueRequested": false,
                                                        "nodeType": "Literal",
                                                        "src": "25864:29:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_stringliteral_19f67369d42bc0582d07ae744348ad46b79a6c16f354e3d3fb3c6bff2ecfa9f8",
                                                            "typeString": "literal_string \"log(uint,address,uint,bool)\""
                                                        },
                                                        "value": "log(uint,address,uint,bool)"
                                                    },
                                                    {
                                                        "id": 16196,
                                                        "name": "p0",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 16183,
                                                        "src": "25895:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_uint256",
                                                            "typeString": "uint256"
                                                        }
                                                    },
                                                    {
                                                        "id": 16197,
                                                        "name": "p1",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 16185,
                                                        "src": "25899:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_address",
                                                            "typeString": "address"
                                                        }
                                                    },
                                                    {
                                                        "id": 16198,
                                                        "name": "p2",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 16187,
                                                        "src": "25903:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_uint256",
                                                            "typeString": "uint256"
                                                        }
                                                    },
                                                    {
                                                        "id": 16199,
                                                        "name": "p3",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 16189,
                                                        "src": "25907:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_bool",
                                                            "typeString": "bool"
                                                        }
                                                    }
                                                ],
                                                "expression": {
                                                    "argumentTypes": [
                                                        {
                                                            "typeIdentifier": "t_stringliteral_19f67369d42bc0582d07ae744348ad46b79a6c16f354e3d3fb3c6bff2ecfa9f8",
                                                            "typeString": "literal_string \"log(uint,address,uint,bool)\""
                                                        },
                                                        {
                                                            "typeIdentifier": "t_uint256",
                                                            "typeString": "uint256"
                                                        },
                                                        {
                                                            "typeIdentifier": "t_address",
                                                            "typeString": "address"
                                                        },
                                                        {
                                                            "typeIdentifier": "t_uint256",
                                                            "typeString": "uint256"
                                                        },
                                                        {
                                                            "typeIdentifier": "t_bool",
                                                            "typeString": "bool"
                                                        }
                                                    ],
                                                    "expression": {
                                                        "id": 16193,
                                                        "name": "abi",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 4294967295,
                                                        "src": "25840:3:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_magic_abi",
                                                            "typeString": "abi"
                                                        }
                                                    },
                                                    "id": 16194,
                                                    "isConstant": false,
                                                    "isLValue": false,
                                                    "isPure": true,
                                                    "lValueRequested": false,
                                                    "memberName": "encodeWithSignature",
                                                    "nodeType": "MemberAccess",
                                                    "src": "25840:23:62",
                                                    "typeDescriptions": {
                                                        "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$",
                                                        "typeString": "function (string memory) pure returns (bytes memory)"
                                                    }
                                                },
                                                "id": 16200,
                                                "isConstant": false,
                                                "isLValue": false,
                                                "isPure": false,
                                                "kind": "functionCall",
                                                "lValueRequested": false,
                                                "names": [],
                                                "nodeType": "FunctionCall",
                                                "src": "25840:70:62",
                                                "tryCall": false,
                                                "typeDescriptions": {
                                                    "typeIdentifier": "t_bytes_memory_ptr",
                                                    "typeString": "bytes memory"
                                                }
                                            }
                                        ],
                                        "expression": {
                                            "argumentTypes": [
                                                {
                                                    "typeIdentifier": "t_bytes_memory_ptr",
                                                    "typeString": "bytes memory"
                                                }
                                            ],
                                            "id": 16192,
                                            "name": "_sendLogPayload",
                                            "nodeType": "Identifier",
                                            "overloadedDeclarations": [],
                                            "referencedDeclaration": 12880,
                                            "src": "25824:15:62",
                                            "typeDescriptions": {
                                                "typeIdentifier": "t_function_internal_view$_t_bytes_memory_ptr_$returns$__$",
                                                "typeString": "function (bytes memory) view"
                                            }
                                        },
                                        "id": 16201,
                                        "isConstant": false,
                                        "isLValue": false,
                                        "isPure": false,
                                        "kind": "functionCall",
                                        "lValueRequested": false,
                                        "names": [],
                                        "nodeType": "FunctionCall",
                                        "src": "25824:87:62",
                                        "tryCall": false,
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_tuple$__$",
                                            "typeString": "tuple()"
                                        }
                                    },
                                    "id": 16202,
                                    "nodeType": "ExpressionStatement",
                                    "src": "25824:87:62"
                                }
                            ]
                        },
                        "id": 16204,
                        "implemented": true,
                        "kind": "function",
                        "modifiers": [],
                        "name": "log",
                        "nameLocation": "25763:3:62",
                        "nodeType": "FunctionDefinition",
                        "parameters": {
                            "id": 16190,
                            "nodeType": "ParameterList",
                            "parameters": [
                                {
                                    "constant": false,
                                    "id": 16183,
                                    "mutability": "mutable",
                                    "name": "p0",
                                    "nameLocation": "25772:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 16204,
                                    "src": "25767:7:62",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_uint256",
                                        "typeString": "uint256"
                                    },
                                    "typeName": {
                                        "id": 16182,
                                        "name": "uint",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "25767:4:62",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_uint256",
                                            "typeString": "uint256"
                                        }
                                    },
                                    "visibility": "internal"
                                },
                                {
                                    "constant": false,
                                    "id": 16185,
                                    "mutability": "mutable",
                                    "name": "p1",
                                    "nameLocation": "25784:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 16204,
                                    "src": "25776:10:62",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_address",
                                        "typeString": "address"
                                    },
                                    "typeName": {
                                        "id": 16184,
                                        "name": "address",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "25776:7:62",
                                        "stateMutability": "nonpayable",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_address",
                                            "typeString": "address"
                                        }
                                    },
                                    "visibility": "internal"
                                },
                                {
                                    "constant": false,
                                    "id": 16187,
                                    "mutability": "mutable",
                                    "name": "p2",
                                    "nameLocation": "25793:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 16204,
                                    "src": "25788:7:62",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_uint256",
                                        "typeString": "uint256"
                                    },
                                    "typeName": {
                                        "id": 16186,
                                        "name": "uint",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "25788:4:62",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_uint256",
                                            "typeString": "uint256"
                                        }
                                    },
                                    "visibility": "internal"
                                },
                                {
                                    "constant": false,
                                    "id": 16189,
                                    "mutability": "mutable",
                                    "name": "p3",
                                    "nameLocation": "25802:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 16204,
                                    "src": "25797:7:62",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_bool",
                                        "typeString": "bool"
                                    },
                                    "typeName": {
                                        "id": 16188,
                                        "name": "bool",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "25797:4:62",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_bool",
                                            "typeString": "bool"
                                        }
                                    },
                                    "visibility": "internal"
                                }
                            ],
                            "src": "25766:39:62"
                        },
                        "returnParameters": {
                            "id": 16191,
                            "nodeType": "ParameterList",
                            "parameters": [],
                            "src": "25820:0:62"
                        },
                        "scope": 20920,
                        "src": "25754:161:62",
                        "stateMutability": "view",
                        "virtual": false,
                        "visibility": "internal"
                    },
                    {
                        "body": {
                            "id": 16226,
                            "nodeType": "Block",
                            "src": "25987:98:62",
                            "statements": [
                                {
                                    "expression": {
                                        "arguments": [
                                            {
                                                "arguments": [
                                                    {
                                                        "hexValue": "6c6f672875696e742c616464726573732c75696e742c6164647265737329",
                                                        "id": 16218,
                                                        "isConstant": false,
                                                        "isLValue": false,
                                                        "isPure": true,
                                                        "kind": "string",
                                                        "lValueRequested": false,
                                                        "nodeType": "Literal",
                                                        "src": "26031:32:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_stringliteral_fdb2ecd415c75df8f66285a054607fa1335126fb1d8930dfc21744a3de7298e3",
                                                            "typeString": "literal_string \"log(uint,address,uint,address)\""
                                                        },
                                                        "value": "log(uint,address,uint,address)"
                                                    },
                                                    {
                                                        "id": 16219,
                                                        "name": "p0",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 16206,
                                                        "src": "26065:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_uint256",
                                                            "typeString": "uint256"
                                                        }
                                                    },
                                                    {
                                                        "id": 16220,
                                                        "name": "p1",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 16208,
                                                        "src": "26069:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_address",
                                                            "typeString": "address"
                                                        }
                                                    },
                                                    {
                                                        "id": 16221,
                                                        "name": "p2",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 16210,
                                                        "src": "26073:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_uint256",
                                                            "typeString": "uint256"
                                                        }
                                                    },
                                                    {
                                                        "id": 16222,
                                                        "name": "p3",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 16212,
                                                        "src": "26077:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_address",
                                                            "typeString": "address"
                                                        }
                                                    }
                                                ],
                                                "expression": {
                                                    "argumentTypes": [
                                                        {
                                                            "typeIdentifier": "t_stringliteral_fdb2ecd415c75df8f66285a054607fa1335126fb1d8930dfc21744a3de7298e3",
                                                            "typeString": "literal_string \"log(uint,address,uint,address)\""
                                                        },
                                                        {
                                                            "typeIdentifier": "t_uint256",
                                                            "typeString": "uint256"
                                                        },
                                                        {
                                                            "typeIdentifier": "t_address",
                                                            "typeString": "address"
                                                        },
                                                        {
                                                            "typeIdentifier": "t_uint256",
                                                            "typeString": "uint256"
                                                        },
                                                        {
                                                            "typeIdentifier": "t_address",
                                                            "typeString": "address"
                                                        }
                                                    ],
                                                    "expression": {
                                                        "id": 16216,
                                                        "name": "abi",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 4294967295,
                                                        "src": "26007:3:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_magic_abi",
                                                            "typeString": "abi"
                                                        }
                                                    },
                                                    "id": 16217,
                                                    "isConstant": false,
                                                    "isLValue": false,
                                                    "isPure": true,
                                                    "lValueRequested": false,
                                                    "memberName": "encodeWithSignature",
                                                    "nodeType": "MemberAccess",
                                                    "src": "26007:23:62",
                                                    "typeDescriptions": {
                                                        "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$",
                                                        "typeString": "function (string memory) pure returns (bytes memory)"
                                                    }
                                                },
                                                "id": 16223,
                                                "isConstant": false,
                                                "isLValue": false,
                                                "isPure": false,
                                                "kind": "functionCall",
                                                "lValueRequested": false,
                                                "names": [],
                                                "nodeType": "FunctionCall",
                                                "src": "26007:73:62",
                                                "tryCall": false,
                                                "typeDescriptions": {
                                                    "typeIdentifier": "t_bytes_memory_ptr",
                                                    "typeString": "bytes memory"
                                                }
                                            }
                                        ],
                                        "expression": {
                                            "argumentTypes": [
                                                {
                                                    "typeIdentifier": "t_bytes_memory_ptr",
                                                    "typeString": "bytes memory"
                                                }
                                            ],
                                            "id": 16215,
                                            "name": "_sendLogPayload",
                                            "nodeType": "Identifier",
                                            "overloadedDeclarations": [],
                                            "referencedDeclaration": 12880,
                                            "src": "25991:15:62",
                                            "typeDescriptions": {
                                                "typeIdentifier": "t_function_internal_view$_t_bytes_memory_ptr_$returns$__$",
                                                "typeString": "function (bytes memory) view"
                                            }
                                        },
                                        "id": 16224,
                                        "isConstant": false,
                                        "isLValue": false,
                                        "isPure": false,
                                        "kind": "functionCall",
                                        "lValueRequested": false,
                                        "names": [],
                                        "nodeType": "FunctionCall",
                                        "src": "25991:90:62",
                                        "tryCall": false,
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_tuple$__$",
                                            "typeString": "tuple()"
                                        }
                                    },
                                    "id": 16225,
                                    "nodeType": "ExpressionStatement",
                                    "src": "25991:90:62"
                                }
                            ]
                        },
                        "id": 16227,
                        "implemented": true,
                        "kind": "function",
                        "modifiers": [],
                        "name": "log",
                        "nameLocation": "25927:3:62",
                        "nodeType": "FunctionDefinition",
                        "parameters": {
                            "id": 16213,
                            "nodeType": "ParameterList",
                            "parameters": [
                                {
                                    "constant": false,
                                    "id": 16206,
                                    "mutability": "mutable",
                                    "name": "p0",
                                    "nameLocation": "25936:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 16227,
                                    "src": "25931:7:62",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_uint256",
                                        "typeString": "uint256"
                                    },
                                    "typeName": {
                                        "id": 16205,
                                        "name": "uint",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "25931:4:62",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_uint256",
                                            "typeString": "uint256"
                                        }
                                    },
                                    "visibility": "internal"
                                },
                                {
                                    "constant": false,
                                    "id": 16208,
                                    "mutability": "mutable",
                                    "name": "p1",
                                    "nameLocation": "25948:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 16227,
                                    "src": "25940:10:62",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_address",
                                        "typeString": "address"
                                    },
                                    "typeName": {
                                        "id": 16207,
                                        "name": "address",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "25940:7:62",
                                        "stateMutability": "nonpayable",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_address",
                                            "typeString": "address"
                                        }
                                    },
                                    "visibility": "internal"
                                },
                                {
                                    "constant": false,
                                    "id": 16210,
                                    "mutability": "mutable",
                                    "name": "p2",
                                    "nameLocation": "25957:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 16227,
                                    "src": "25952:7:62",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_uint256",
                                        "typeString": "uint256"
                                    },
                                    "typeName": {
                                        "id": 16209,
                                        "name": "uint",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "25952:4:62",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_uint256",
                                            "typeString": "uint256"
                                        }
                                    },
                                    "visibility": "internal"
                                },
                                {
                                    "constant": false,
                                    "id": 16212,
                                    "mutability": "mutable",
                                    "name": "p3",
                                    "nameLocation": "25969:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 16227,
                                    "src": "25961:10:62",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_address",
                                        "typeString": "address"
                                    },
                                    "typeName": {
                                        "id": 16211,
                                        "name": "address",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "25961:7:62",
                                        "stateMutability": "nonpayable",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_address",
                                            "typeString": "address"
                                        }
                                    },
                                    "visibility": "internal"
                                }
                            ],
                            "src": "25930:42:62"
                        },
                        "returnParameters": {
                            "id": 16214,
                            "nodeType": "ParameterList",
                            "parameters": [],
                            "src": "25987:0:62"
                        },
                        "scope": 20920,
                        "src": "25918:167:62",
                        "stateMutability": "view",
                        "virtual": false,
                        "visibility": "internal"
                    },
                    {
                        "body": {
                            "id": 16249,
                            "nodeType": "Block",
                            "src": "26163:97:62",
                            "statements": [
                                {
                                    "expression": {
                                        "arguments": [
                                            {
                                                "arguments": [
                                                    {
                                                        "hexValue": "6c6f672875696e742c616464726573732c737472696e672c75696e7429",
                                                        "id": 16241,
                                                        "isConstant": false,
                                                        "isLValue": false,
                                                        "isPure": true,
                                                        "kind": "string",
                                                        "lValueRequested": false,
                                                        "nodeType": "Literal",
                                                        "src": "26207:31:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_stringliteral_a0c414e8ba2ea65b865dd0bf68b2357e81261b47f237c68a4a8a63051bbef2eb",
                                                            "typeString": "literal_string \"log(uint,address,string,uint)\""
                                                        },
                                                        "value": "log(uint,address,string,uint)"
                                                    },
                                                    {
                                                        "id": 16242,
                                                        "name": "p0",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 16229,
                                                        "src": "26240:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_uint256",
                                                            "typeString": "uint256"
                                                        }
                                                    },
                                                    {
                                                        "id": 16243,
                                                        "name": "p1",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 16231,
                                                        "src": "26244:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_address",
                                                            "typeString": "address"
                                                        }
                                                    },
                                                    {
                                                        "id": 16244,
                                                        "name": "p2",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 16233,
                                                        "src": "26248:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_string_memory_ptr",
                                                            "typeString": "string memory"
                                                        }
                                                    },
                                                    {
                                                        "id": 16245,
                                                        "name": "p3",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 16235,
                                                        "src": "26252:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_uint256",
                                                            "typeString": "uint256"
                                                        }
                                                    }
                                                ],
                                                "expression": {
                                                    "argumentTypes": [
                                                        {
                                                            "typeIdentifier": "t_stringliteral_a0c414e8ba2ea65b865dd0bf68b2357e81261b47f237c68a4a8a63051bbef2eb",
                                                            "typeString": "literal_string \"log(uint,address,string,uint)\""
                                                        },
                                                        {
                                                            "typeIdentifier": "t_uint256",
                                                            "typeString": "uint256"
                                                        },
                                                        {
                                                            "typeIdentifier": "t_address",
                                                            "typeString": "address"
                                                        },
                                                        {
                                                            "typeIdentifier": "t_string_memory_ptr",
                                                            "typeString": "string memory"
                                                        },
                                                        {
                                                            "typeIdentifier": "t_uint256",
                                                            "typeString": "uint256"
                                                        }
                                                    ],
                                                    "expression": {
                                                        "id": 16239,
                                                        "name": "abi",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 4294967295,
                                                        "src": "26183:3:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_magic_abi",
                                                            "typeString": "abi"
                                                        }
                                                    },
                                                    "id": 16240,
                                                    "isConstant": false,
                                                    "isLValue": false,
                                                    "isPure": true,
                                                    "lValueRequested": false,
                                                    "memberName": "encodeWithSignature",
                                                    "nodeType": "MemberAccess",
                                                    "src": "26183:23:62",
                                                    "typeDescriptions": {
                                                        "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$",
                                                        "typeString": "function (string memory) pure returns (bytes memory)"
                                                    }
                                                },
                                                "id": 16246,
                                                "isConstant": false,
                                                "isLValue": false,
                                                "isPure": false,
                                                "kind": "functionCall",
                                                "lValueRequested": false,
                                                "names": [],
                                                "nodeType": "FunctionCall",
                                                "src": "26183:72:62",
                                                "tryCall": false,
                                                "typeDescriptions": {
                                                    "typeIdentifier": "t_bytes_memory_ptr",
                                                    "typeString": "bytes memory"
                                                }
                                            }
                                        ],
                                        "expression": {
                                            "argumentTypes": [
                                                {
                                                    "typeIdentifier": "t_bytes_memory_ptr",
                                                    "typeString": "bytes memory"
                                                }
                                            ],
                                            "id": 16238,
                                            "name": "_sendLogPayload",
                                            "nodeType": "Identifier",
                                            "overloadedDeclarations": [],
                                            "referencedDeclaration": 12880,
                                            "src": "26167:15:62",
                                            "typeDescriptions": {
                                                "typeIdentifier": "t_function_internal_view$_t_bytes_memory_ptr_$returns$__$",
                                                "typeString": "function (bytes memory) view"
                                            }
                                        },
                                        "id": 16247,
                                        "isConstant": false,
                                        "isLValue": false,
                                        "isPure": false,
                                        "kind": "functionCall",
                                        "lValueRequested": false,
                                        "names": [],
                                        "nodeType": "FunctionCall",
                                        "src": "26167:89:62",
                                        "tryCall": false,
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_tuple$__$",
                                            "typeString": "tuple()"
                                        }
                                    },
                                    "id": 16248,
                                    "nodeType": "ExpressionStatement",
                                    "src": "26167:89:62"
                                }
                            ]
                        },
                        "id": 16250,
                        "implemented": true,
                        "kind": "function",
                        "modifiers": [],
                        "name": "log",
                        "nameLocation": "26097:3:62",
                        "nodeType": "FunctionDefinition",
                        "parameters": {
                            "id": 16236,
                            "nodeType": "ParameterList",
                            "parameters": [
                                {
                                    "constant": false,
                                    "id": 16229,
                                    "mutability": "mutable",
                                    "name": "p0",
                                    "nameLocation": "26106:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 16250,
                                    "src": "26101:7:62",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_uint256",
                                        "typeString": "uint256"
                                    },
                                    "typeName": {
                                        "id": 16228,
                                        "name": "uint",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "26101:4:62",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_uint256",
                                            "typeString": "uint256"
                                        }
                                    },
                                    "visibility": "internal"
                                },
                                {
                                    "constant": false,
                                    "id": 16231,
                                    "mutability": "mutable",
                                    "name": "p1",
                                    "nameLocation": "26118:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 16250,
                                    "src": "26110:10:62",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_address",
                                        "typeString": "address"
                                    },
                                    "typeName": {
                                        "id": 16230,
                                        "name": "address",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "26110:7:62",
                                        "stateMutability": "nonpayable",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_address",
                                            "typeString": "address"
                                        }
                                    },
                                    "visibility": "internal"
                                },
                                {
                                    "constant": false,
                                    "id": 16233,
                                    "mutability": "mutable",
                                    "name": "p2",
                                    "nameLocation": "26136:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 16250,
                                    "src": "26122:16:62",
                                    "stateVariable": false,
                                    "storageLocation": "memory",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_string_memory_ptr",
                                        "typeString": "string"
                                    },
                                    "typeName": {
                                        "id": 16232,
                                        "name": "string",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "26122:6:62",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_string_storage_ptr",
                                            "typeString": "string"
                                        }
                                    },
                                    "visibility": "internal"
                                },
                                {
                                    "constant": false,
                                    "id": 16235,
                                    "mutability": "mutable",
                                    "name": "p3",
                                    "nameLocation": "26145:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 16250,
                                    "src": "26140:7:62",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_uint256",
                                        "typeString": "uint256"
                                    },
                                    "typeName": {
                                        "id": 16234,
                                        "name": "uint",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "26140:4:62",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_uint256",
                                            "typeString": "uint256"
                                        }
                                    },
                                    "visibility": "internal"
                                }
                            ],
                            "src": "26100:48:62"
                        },
                        "returnParameters": {
                            "id": 16237,
                            "nodeType": "ParameterList",
                            "parameters": [],
                            "src": "26163:0:62"
                        },
                        "scope": 20920,
                        "src": "26088:172:62",
                        "stateMutability": "view",
                        "virtual": false,
                        "visibility": "internal"
                    },
                    {
                        "body": {
                            "id": 16272,
                            "nodeType": "Block",
                            "src": "26347:99:62",
                            "statements": [
                                {
                                    "expression": {
                                        "arguments": [
                                            {
                                                "arguments": [
                                                    {
                                                        "hexValue": "6c6f672875696e742c616464726573732c737472696e672c737472696e6729",
                                                        "id": 16264,
                                                        "isConstant": false,
                                                        "isLValue": false,
                                                        "isPure": true,
                                                        "kind": "string",
                                                        "lValueRequested": false,
                                                        "nodeType": "Literal",
                                                        "src": "26391:33:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_stringliteral_8d778624e1d83269ce0415864bb54677b540f778c6b8503cf9035bc7517326f1",
                                                            "typeString": "literal_string \"log(uint,address,string,string)\""
                                                        },
                                                        "value": "log(uint,address,string,string)"
                                                    },
                                                    {
                                                        "id": 16265,
                                                        "name": "p0",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 16252,
                                                        "src": "26426:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_uint256",
                                                            "typeString": "uint256"
                                                        }
                                                    },
                                                    {
                                                        "id": 16266,
                                                        "name": "p1",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 16254,
                                                        "src": "26430:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_address",
                                                            "typeString": "address"
                                                        }
                                                    },
                                                    {
                                                        "id": 16267,
                                                        "name": "p2",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 16256,
                                                        "src": "26434:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_string_memory_ptr",
                                                            "typeString": "string memory"
                                                        }
                                                    },
                                                    {
                                                        "id": 16268,
                                                        "name": "p3",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 16258,
                                                        "src": "26438:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_string_memory_ptr",
                                                            "typeString": "string memory"
                                                        }
                                                    }
                                                ],
                                                "expression": {
                                                    "argumentTypes": [
                                                        {
                                                            "typeIdentifier": "t_stringliteral_8d778624e1d83269ce0415864bb54677b540f778c6b8503cf9035bc7517326f1",
                                                            "typeString": "literal_string \"log(uint,address,string,string)\""
                                                        },
                                                        {
                                                            "typeIdentifier": "t_uint256",
                                                            "typeString": "uint256"
                                                        },
                                                        {
                                                            "typeIdentifier": "t_address",
                                                            "typeString": "address"
                                                        },
                                                        {
                                                            "typeIdentifier": "t_string_memory_ptr",
                                                            "typeString": "string memory"
                                                        },
                                                        {
                                                            "typeIdentifier": "t_string_memory_ptr",
                                                            "typeString": "string memory"
                                                        }
                                                    ],
                                                    "expression": {
                                                        "id": 16262,
                                                        "name": "abi",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 4294967295,
                                                        "src": "26367:3:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_magic_abi",
                                                            "typeString": "abi"
                                                        }
                                                    },
                                                    "id": 16263,
                                                    "isConstant": false,
                                                    "isLValue": false,
                                                    "isPure": true,
                                                    "lValueRequested": false,
                                                    "memberName": "encodeWithSignature",
                                                    "nodeType": "MemberAccess",
                                                    "src": "26367:23:62",
                                                    "typeDescriptions": {
                                                        "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$",
                                                        "typeString": "function (string memory) pure returns (bytes memory)"
                                                    }
                                                },
                                                "id": 16269,
                                                "isConstant": false,
                                                "isLValue": false,
                                                "isPure": false,
                                                "kind": "functionCall",
                                                "lValueRequested": false,
                                                "names": [],
                                                "nodeType": "FunctionCall",
                                                "src": "26367:74:62",
                                                "tryCall": false,
                                                "typeDescriptions": {
                                                    "typeIdentifier": "t_bytes_memory_ptr",
                                                    "typeString": "bytes memory"
                                                }
                                            }
                                        ],
                                        "expression": {
                                            "argumentTypes": [
                                                {
                                                    "typeIdentifier": "t_bytes_memory_ptr",
                                                    "typeString": "bytes memory"
                                                }
                                            ],
                                            "id": 16261,
                                            "name": "_sendLogPayload",
                                            "nodeType": "Identifier",
                                            "overloadedDeclarations": [],
                                            "referencedDeclaration": 12880,
                                            "src": "26351:15:62",
                                            "typeDescriptions": {
                                                "typeIdentifier": "t_function_internal_view$_t_bytes_memory_ptr_$returns$__$",
                                                "typeString": "function (bytes memory) view"
                                            }
                                        },
                                        "id": 16270,
                                        "isConstant": false,
                                        "isLValue": false,
                                        "isPure": false,
                                        "kind": "functionCall",
                                        "lValueRequested": false,
                                        "names": [],
                                        "nodeType": "FunctionCall",
                                        "src": "26351:91:62",
                                        "tryCall": false,
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_tuple$__$",
                                            "typeString": "tuple()"
                                        }
                                    },
                                    "id": 16271,
                                    "nodeType": "ExpressionStatement",
                                    "src": "26351:91:62"
                                }
                            ]
                        },
                        "id": 16273,
                        "implemented": true,
                        "kind": "function",
                        "modifiers": [],
                        "name": "log",
                        "nameLocation": "26272:3:62",
                        "nodeType": "FunctionDefinition",
                        "parameters": {
                            "id": 16259,
                            "nodeType": "ParameterList",
                            "parameters": [
                                {
                                    "constant": false,
                                    "id": 16252,
                                    "mutability": "mutable",
                                    "name": "p0",
                                    "nameLocation": "26281:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 16273,
                                    "src": "26276:7:62",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_uint256",
                                        "typeString": "uint256"
                                    },
                                    "typeName": {
                                        "id": 16251,
                                        "name": "uint",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "26276:4:62",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_uint256",
                                            "typeString": "uint256"
                                        }
                                    },
                                    "visibility": "internal"
                                },
                                {
                                    "constant": false,
                                    "id": 16254,
                                    "mutability": "mutable",
                                    "name": "p1",
                                    "nameLocation": "26293:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 16273,
                                    "src": "26285:10:62",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_address",
                                        "typeString": "address"
                                    },
                                    "typeName": {
                                        "id": 16253,
                                        "name": "address",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "26285:7:62",
                                        "stateMutability": "nonpayable",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_address",
                                            "typeString": "address"
                                        }
                                    },
                                    "visibility": "internal"
                                },
                                {
                                    "constant": false,
                                    "id": 16256,
                                    "mutability": "mutable",
                                    "name": "p2",
                                    "nameLocation": "26311:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 16273,
                                    "src": "26297:16:62",
                                    "stateVariable": false,
                                    "storageLocation": "memory",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_string_memory_ptr",
                                        "typeString": "string"
                                    },
                                    "typeName": {
                                        "id": 16255,
                                        "name": "string",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "26297:6:62",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_string_storage_ptr",
                                            "typeString": "string"
                                        }
                                    },
                                    "visibility": "internal"
                                },
                                {
                                    "constant": false,
                                    "id": 16258,
                                    "mutability": "mutable",
                                    "name": "p3",
                                    "nameLocation": "26329:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 16273,
                                    "src": "26315:16:62",
                                    "stateVariable": false,
                                    "storageLocation": "memory",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_string_memory_ptr",
                                        "typeString": "string"
                                    },
                                    "typeName": {
                                        "id": 16257,
                                        "name": "string",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "26315:6:62",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_string_storage_ptr",
                                            "typeString": "string"
                                        }
                                    },
                                    "visibility": "internal"
                                }
                            ],
                            "src": "26275:57:62"
                        },
                        "returnParameters": {
                            "id": 16260,
                            "nodeType": "ParameterList",
                            "parameters": [],
                            "src": "26347:0:62"
                        },
                        "scope": 20920,
                        "src": "26263:183:62",
                        "stateMutability": "view",
                        "virtual": false,
                        "visibility": "internal"
                    },
                    {
                        "body": {
                            "id": 16295,
                            "nodeType": "Block",
                            "src": "26524:97:62",
                            "statements": [
                                {
                                    "expression": {
                                        "arguments": [
                                            {
                                                "arguments": [
                                                    {
                                                        "hexValue": "6c6f672875696e742c616464726573732c737472696e672c626f6f6c29",
                                                        "id": 16287,
                                                        "isConstant": false,
                                                        "isLValue": false,
                                                        "isPure": true,
                                                        "kind": "string",
                                                        "lValueRequested": false,
                                                        "nodeType": "Literal",
                                                        "src": "26568:31:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_stringliteral_22a479a660b74b7598155f369ed227a5a93527fbdb04ff6f78fbf35fa23aacbf",
                                                            "typeString": "literal_string \"log(uint,address,string,bool)\""
                                                        },
                                                        "value": "log(uint,address,string,bool)"
                                                    },
                                                    {
                                                        "id": 16288,
                                                        "name": "p0",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 16275,
                                                        "src": "26601:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_uint256",
                                                            "typeString": "uint256"
                                                        }
                                                    },
                                                    {
                                                        "id": 16289,
                                                        "name": "p1",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 16277,
                                                        "src": "26605:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_address",
                                                            "typeString": "address"
                                                        }
                                                    },
                                                    {
                                                        "id": 16290,
                                                        "name": "p2",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 16279,
                                                        "src": "26609:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_string_memory_ptr",
                                                            "typeString": "string memory"
                                                        }
                                                    },
                                                    {
                                                        "id": 16291,
                                                        "name": "p3",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 16281,
                                                        "src": "26613:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_bool",
                                                            "typeString": "bool"
                                                        }
                                                    }
                                                ],
                                                "expression": {
                                                    "argumentTypes": [
                                                        {
                                                            "typeIdentifier": "t_stringliteral_22a479a660b74b7598155f369ed227a5a93527fbdb04ff6f78fbf35fa23aacbf",
                                                            "typeString": "literal_string \"log(uint,address,string,bool)\""
                                                        },
                                                        {
                                                            "typeIdentifier": "t_uint256",
                                                            "typeString": "uint256"
                                                        },
                                                        {
                                                            "typeIdentifier": "t_address",
                                                            "typeString": "address"
                                                        },
                                                        {
                                                            "typeIdentifier": "t_string_memory_ptr",
                                                            "typeString": "string memory"
                                                        },
                                                        {
                                                            "typeIdentifier": "t_bool",
                                                            "typeString": "bool"
                                                        }
                                                    ],
                                                    "expression": {
                                                        "id": 16285,
                                                        "name": "abi",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 4294967295,
                                                        "src": "26544:3:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_magic_abi",
                                                            "typeString": "abi"
                                                        }
                                                    },
                                                    "id": 16286,
                                                    "isConstant": false,
                                                    "isLValue": false,
                                                    "isPure": true,
                                                    "lValueRequested": false,
                                                    "memberName": "encodeWithSignature",
                                                    "nodeType": "MemberAccess",
                                                    "src": "26544:23:62",
                                                    "typeDescriptions": {
                                                        "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$",
                                                        "typeString": "function (string memory) pure returns (bytes memory)"
                                                    }
                                                },
                                                "id": 16292,
                                                "isConstant": false,
                                                "isLValue": false,
                                                "isPure": false,
                                                "kind": "functionCall",
                                                "lValueRequested": false,
                                                "names": [],
                                                "nodeType": "FunctionCall",
                                                "src": "26544:72:62",
                                                "tryCall": false,
                                                "typeDescriptions": {
                                                    "typeIdentifier": "t_bytes_memory_ptr",
                                                    "typeString": "bytes memory"
                                                }
                                            }
                                        ],
                                        "expression": {
                                            "argumentTypes": [
                                                {
                                                    "typeIdentifier": "t_bytes_memory_ptr",
                                                    "typeString": "bytes memory"
                                                }
                                            ],
                                            "id": 16284,
                                            "name": "_sendLogPayload",
                                            "nodeType": "Identifier",
                                            "overloadedDeclarations": [],
                                            "referencedDeclaration": 12880,
                                            "src": "26528:15:62",
                                            "typeDescriptions": {
                                                "typeIdentifier": "t_function_internal_view$_t_bytes_memory_ptr_$returns$__$",
                                                "typeString": "function (bytes memory) view"
                                            }
                                        },
                                        "id": 16293,
                                        "isConstant": false,
                                        "isLValue": false,
                                        "isPure": false,
                                        "kind": "functionCall",
                                        "lValueRequested": false,
                                        "names": [],
                                        "nodeType": "FunctionCall",
                                        "src": "26528:89:62",
                                        "tryCall": false,
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_tuple$__$",
                                            "typeString": "tuple()"
                                        }
                                    },
                                    "id": 16294,
                                    "nodeType": "ExpressionStatement",
                                    "src": "26528:89:62"
                                }
                            ]
                        },
                        "id": 16296,
                        "implemented": true,
                        "kind": "function",
                        "modifiers": [],
                        "name": "log",
                        "nameLocation": "26458:3:62",
                        "nodeType": "FunctionDefinition",
                        "parameters": {
                            "id": 16282,
                            "nodeType": "ParameterList",
                            "parameters": [
                                {
                                    "constant": false,
                                    "id": 16275,
                                    "mutability": "mutable",
                                    "name": "p0",
                                    "nameLocation": "26467:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 16296,
                                    "src": "26462:7:62",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_uint256",
                                        "typeString": "uint256"
                                    },
                                    "typeName": {
                                        "id": 16274,
                                        "name": "uint",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "26462:4:62",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_uint256",
                                            "typeString": "uint256"
                                        }
                                    },
                                    "visibility": "internal"
                                },
                                {
                                    "constant": false,
                                    "id": 16277,
                                    "mutability": "mutable",
                                    "name": "p1",
                                    "nameLocation": "26479:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 16296,
                                    "src": "26471:10:62",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_address",
                                        "typeString": "address"
                                    },
                                    "typeName": {
                                        "id": 16276,
                                        "name": "address",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "26471:7:62",
                                        "stateMutability": "nonpayable",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_address",
                                            "typeString": "address"
                                        }
                                    },
                                    "visibility": "internal"
                                },
                                {
                                    "constant": false,
                                    "id": 16279,
                                    "mutability": "mutable",
                                    "name": "p2",
                                    "nameLocation": "26497:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 16296,
                                    "src": "26483:16:62",
                                    "stateVariable": false,
                                    "storageLocation": "memory",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_string_memory_ptr",
                                        "typeString": "string"
                                    },
                                    "typeName": {
                                        "id": 16278,
                                        "name": "string",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "26483:6:62",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_string_storage_ptr",
                                            "typeString": "string"
                                        }
                                    },
                                    "visibility": "internal"
                                },
                                {
                                    "constant": false,
                                    "id": 16281,
                                    "mutability": "mutable",
                                    "name": "p3",
                                    "nameLocation": "26506:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 16296,
                                    "src": "26501:7:62",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_bool",
                                        "typeString": "bool"
                                    },
                                    "typeName": {
                                        "id": 16280,
                                        "name": "bool",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "26501:4:62",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_bool",
                                            "typeString": "bool"
                                        }
                                    },
                                    "visibility": "internal"
                                }
                            ],
                            "src": "26461:48:62"
                        },
                        "returnParameters": {
                            "id": 16283,
                            "nodeType": "ParameterList",
                            "parameters": [],
                            "src": "26524:0:62"
                        },
                        "scope": 20920,
                        "src": "26449:172:62",
                        "stateMutability": "view",
                        "virtual": false,
                        "visibility": "internal"
                    },
                    {
                        "body": {
                            "id": 16318,
                            "nodeType": "Block",
                            "src": "26702:100:62",
                            "statements": [
                                {
                                    "expression": {
                                        "arguments": [
                                            {
                                                "arguments": [
                                                    {
                                                        "hexValue": "6c6f672875696e742c616464726573732c737472696e672c6164647265737329",
                                                        "id": 16310,
                                                        "isConstant": false,
                                                        "isLValue": false,
                                                        "isPure": true,
                                                        "kind": "string",
                                                        "lValueRequested": false,
                                                        "nodeType": "Literal",
                                                        "src": "26746:34:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_stringliteral_cbe58efddc067d74914c3479914810966ae688ac66ca2bbcae69cd9d0395796f",
                                                            "typeString": "literal_string \"log(uint,address,string,address)\""
                                                        },
                                                        "value": "log(uint,address,string,address)"
                                                    },
                                                    {
                                                        "id": 16311,
                                                        "name": "p0",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 16298,
                                                        "src": "26782:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_uint256",
                                                            "typeString": "uint256"
                                                        }
                                                    },
                                                    {
                                                        "id": 16312,
                                                        "name": "p1",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 16300,
                                                        "src": "26786:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_address",
                                                            "typeString": "address"
                                                        }
                                                    },
                                                    {
                                                        "id": 16313,
                                                        "name": "p2",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 16302,
                                                        "src": "26790:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_string_memory_ptr",
                                                            "typeString": "string memory"
                                                        }
                                                    },
                                                    {
                                                        "id": 16314,
                                                        "name": "p3",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 16304,
                                                        "src": "26794:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_address",
                                                            "typeString": "address"
                                                        }
                                                    }
                                                ],
                                                "expression": {
                                                    "argumentTypes": [
                                                        {
                                                            "typeIdentifier": "t_stringliteral_cbe58efddc067d74914c3479914810966ae688ac66ca2bbcae69cd9d0395796f",
                                                            "typeString": "literal_string \"log(uint,address,string,address)\""
                                                        },
                                                        {
                                                            "typeIdentifier": "t_uint256",
                                                            "typeString": "uint256"
                                                        },
                                                        {
                                                            "typeIdentifier": "t_address",
                                                            "typeString": "address"
                                                        },
                                                        {
                                                            "typeIdentifier": "t_string_memory_ptr",
                                                            "typeString": "string memory"
                                                        },
                                                        {
                                                            "typeIdentifier": "t_address",
                                                            "typeString": "address"
                                                        }
                                                    ],
                                                    "expression": {
                                                        "id": 16308,
                                                        "name": "abi",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 4294967295,
                                                        "src": "26722:3:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_magic_abi",
                                                            "typeString": "abi"
                                                        }
                                                    },
                                                    "id": 16309,
                                                    "isConstant": false,
                                                    "isLValue": false,
                                                    "isPure": true,
                                                    "lValueRequested": false,
                                                    "memberName": "encodeWithSignature",
                                                    "nodeType": "MemberAccess",
                                                    "src": "26722:23:62",
                                                    "typeDescriptions": {
                                                        "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$",
                                                        "typeString": "function (string memory) pure returns (bytes memory)"
                                                    }
                                                },
                                                "id": 16315,
                                                "isConstant": false,
                                                "isLValue": false,
                                                "isPure": false,
                                                "kind": "functionCall",
                                                "lValueRequested": false,
                                                "names": [],
                                                "nodeType": "FunctionCall",
                                                "src": "26722:75:62",
                                                "tryCall": false,
                                                "typeDescriptions": {
                                                    "typeIdentifier": "t_bytes_memory_ptr",
                                                    "typeString": "bytes memory"
                                                }
                                            }
                                        ],
                                        "expression": {
                                            "argumentTypes": [
                                                {
                                                    "typeIdentifier": "t_bytes_memory_ptr",
                                                    "typeString": "bytes memory"
                                                }
                                            ],
                                            "id": 16307,
                                            "name": "_sendLogPayload",
                                            "nodeType": "Identifier",
                                            "overloadedDeclarations": [],
                                            "referencedDeclaration": 12880,
                                            "src": "26706:15:62",
                                            "typeDescriptions": {
                                                "typeIdentifier": "t_function_internal_view$_t_bytes_memory_ptr_$returns$__$",
                                                "typeString": "function (bytes memory) view"
                                            }
                                        },
                                        "id": 16316,
                                        "isConstant": false,
                                        "isLValue": false,
                                        "isPure": false,
                                        "kind": "functionCall",
                                        "lValueRequested": false,
                                        "names": [],
                                        "nodeType": "FunctionCall",
                                        "src": "26706:92:62",
                                        "tryCall": false,
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_tuple$__$",
                                            "typeString": "tuple()"
                                        }
                                    },
                                    "id": 16317,
                                    "nodeType": "ExpressionStatement",
                                    "src": "26706:92:62"
                                }
                            ]
                        },
                        "id": 16319,
                        "implemented": true,
                        "kind": "function",
                        "modifiers": [],
                        "name": "log",
                        "nameLocation": "26633:3:62",
                        "nodeType": "FunctionDefinition",
                        "parameters": {
                            "id": 16305,
                            "nodeType": "ParameterList",
                            "parameters": [
                                {
                                    "constant": false,
                                    "id": 16298,
                                    "mutability": "mutable",
                                    "name": "p0",
                                    "nameLocation": "26642:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 16319,
                                    "src": "26637:7:62",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_uint256",
                                        "typeString": "uint256"
                                    },
                                    "typeName": {
                                        "id": 16297,
                                        "name": "uint",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "26637:4:62",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_uint256",
                                            "typeString": "uint256"
                                        }
                                    },
                                    "visibility": "internal"
                                },
                                {
                                    "constant": false,
                                    "id": 16300,
                                    "mutability": "mutable",
                                    "name": "p1",
                                    "nameLocation": "26654:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 16319,
                                    "src": "26646:10:62",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_address",
                                        "typeString": "address"
                                    },
                                    "typeName": {
                                        "id": 16299,
                                        "name": "address",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "26646:7:62",
                                        "stateMutability": "nonpayable",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_address",
                                            "typeString": "address"
                                        }
                                    },
                                    "visibility": "internal"
                                },
                                {
                                    "constant": false,
                                    "id": 16302,
                                    "mutability": "mutable",
                                    "name": "p2",
                                    "nameLocation": "26672:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 16319,
                                    "src": "26658:16:62",
                                    "stateVariable": false,
                                    "storageLocation": "memory",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_string_memory_ptr",
                                        "typeString": "string"
                                    },
                                    "typeName": {
                                        "id": 16301,
                                        "name": "string",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "26658:6:62",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_string_storage_ptr",
                                            "typeString": "string"
                                        }
                                    },
                                    "visibility": "internal"
                                },
                                {
                                    "constant": false,
                                    "id": 16304,
                                    "mutability": "mutable",
                                    "name": "p3",
                                    "nameLocation": "26684:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 16319,
                                    "src": "26676:10:62",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_address",
                                        "typeString": "address"
                                    },
                                    "typeName": {
                                        "id": 16303,
                                        "name": "address",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "26676:7:62",
                                        "stateMutability": "nonpayable",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_address",
                                            "typeString": "address"
                                        }
                                    },
                                    "visibility": "internal"
                                }
                            ],
                            "src": "26636:51:62"
                        },
                        "returnParameters": {
                            "id": 16306,
                            "nodeType": "ParameterList",
                            "parameters": [],
                            "src": "26702:0:62"
                        },
                        "scope": 20920,
                        "src": "26624:178:62",
                        "stateMutability": "view",
                        "virtual": false,
                        "visibility": "internal"
                    },
                    {
                        "body": {
                            "id": 16341,
                            "nodeType": "Block",
                            "src": "26871:95:62",
                            "statements": [
                                {
                                    "expression": {
                                        "arguments": [
                                            {
                                                "arguments": [
                                                    {
                                                        "hexValue": "6c6f672875696e742c616464726573732c626f6f6c2c75696e7429",
                                                        "id": 16333,
                                                        "isConstant": false,
                                                        "isLValue": false,
                                                        "isPure": true,
                                                        "kind": "string",
                                                        "lValueRequested": false,
                                                        "nodeType": "Literal",
                                                        "src": "26915:29:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_stringliteral_7b08e8ebd6be8a04c54551194ba5143f1a555d43fe60d53843383a9915eeccb2",
                                                            "typeString": "literal_string \"log(uint,address,bool,uint)\""
                                                        },
                                                        "value": "log(uint,address,bool,uint)"
                                                    },
                                                    {
                                                        "id": 16334,
                                                        "name": "p0",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 16321,
                                                        "src": "26946:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_uint256",
                                                            "typeString": "uint256"
                                                        }
                                                    },
                                                    {
                                                        "id": 16335,
                                                        "name": "p1",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 16323,
                                                        "src": "26950:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_address",
                                                            "typeString": "address"
                                                        }
                                                    },
                                                    {
                                                        "id": 16336,
                                                        "name": "p2",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 16325,
                                                        "src": "26954:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_bool",
                                                            "typeString": "bool"
                                                        }
                                                    },
                                                    {
                                                        "id": 16337,
                                                        "name": "p3",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 16327,
                                                        "src": "26958:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_uint256",
                                                            "typeString": "uint256"
                                                        }
                                                    }
                                                ],
                                                "expression": {
                                                    "argumentTypes": [
                                                        {
                                                            "typeIdentifier": "t_stringliteral_7b08e8ebd6be8a04c54551194ba5143f1a555d43fe60d53843383a9915eeccb2",
                                                            "typeString": "literal_string \"log(uint,address,bool,uint)\""
                                                        },
                                                        {
                                                            "typeIdentifier": "t_uint256",
                                                            "typeString": "uint256"
                                                        },
                                                        {
                                                            "typeIdentifier": "t_address",
                                                            "typeString": "address"
                                                        },
                                                        {
                                                            "typeIdentifier": "t_bool",
                                                            "typeString": "bool"
                                                        },
                                                        {
                                                            "typeIdentifier": "t_uint256",
                                                            "typeString": "uint256"
                                                        }
                                                    ],
                                                    "expression": {
                                                        "id": 16331,
                                                        "name": "abi",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 4294967295,
                                                        "src": "26891:3:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_magic_abi",
                                                            "typeString": "abi"
                                                        }
                                                    },
                                                    "id": 16332,
                                                    "isConstant": false,
                                                    "isLValue": false,
                                                    "isPure": true,
                                                    "lValueRequested": false,
                                                    "memberName": "encodeWithSignature",
                                                    "nodeType": "MemberAccess",
                                                    "src": "26891:23:62",
                                                    "typeDescriptions": {
                                                        "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$",
                                                        "typeString": "function (string memory) pure returns (bytes memory)"
                                                    }
                                                },
                                                "id": 16338,
                                                "isConstant": false,
                                                "isLValue": false,
                                                "isPure": false,
                                                "kind": "functionCall",
                                                "lValueRequested": false,
                                                "names": [],
                                                "nodeType": "FunctionCall",
                                                "src": "26891:70:62",
                                                "tryCall": false,
                                                "typeDescriptions": {
                                                    "typeIdentifier": "t_bytes_memory_ptr",
                                                    "typeString": "bytes memory"
                                                }
                                            }
                                        ],
                                        "expression": {
                                            "argumentTypes": [
                                                {
                                                    "typeIdentifier": "t_bytes_memory_ptr",
                                                    "typeString": "bytes memory"
                                                }
                                            ],
                                            "id": 16330,
                                            "name": "_sendLogPayload",
                                            "nodeType": "Identifier",
                                            "overloadedDeclarations": [],
                                            "referencedDeclaration": 12880,
                                            "src": "26875:15:62",
                                            "typeDescriptions": {
                                                "typeIdentifier": "t_function_internal_view$_t_bytes_memory_ptr_$returns$__$",
                                                "typeString": "function (bytes memory) view"
                                            }
                                        },
                                        "id": 16339,
                                        "isConstant": false,
                                        "isLValue": false,
                                        "isPure": false,
                                        "kind": "functionCall",
                                        "lValueRequested": false,
                                        "names": [],
                                        "nodeType": "FunctionCall",
                                        "src": "26875:87:62",
                                        "tryCall": false,
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_tuple$__$",
                                            "typeString": "tuple()"
                                        }
                                    },
                                    "id": 16340,
                                    "nodeType": "ExpressionStatement",
                                    "src": "26875:87:62"
                                }
                            ]
                        },
                        "id": 16342,
                        "implemented": true,
                        "kind": "function",
                        "modifiers": [],
                        "name": "log",
                        "nameLocation": "26814:3:62",
                        "nodeType": "FunctionDefinition",
                        "parameters": {
                            "id": 16328,
                            "nodeType": "ParameterList",
                            "parameters": [
                                {
                                    "constant": false,
                                    "id": 16321,
                                    "mutability": "mutable",
                                    "name": "p0",
                                    "nameLocation": "26823:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 16342,
                                    "src": "26818:7:62",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_uint256",
                                        "typeString": "uint256"
                                    },
                                    "typeName": {
                                        "id": 16320,
                                        "name": "uint",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "26818:4:62",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_uint256",
                                            "typeString": "uint256"
                                        }
                                    },
                                    "visibility": "internal"
                                },
                                {
                                    "constant": false,
                                    "id": 16323,
                                    "mutability": "mutable",
                                    "name": "p1",
                                    "nameLocation": "26835:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 16342,
                                    "src": "26827:10:62",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_address",
                                        "typeString": "address"
                                    },
                                    "typeName": {
                                        "id": 16322,
                                        "name": "address",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "26827:7:62",
                                        "stateMutability": "nonpayable",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_address",
                                            "typeString": "address"
                                        }
                                    },
                                    "visibility": "internal"
                                },
                                {
                                    "constant": false,
                                    "id": 16325,
                                    "mutability": "mutable",
                                    "name": "p2",
                                    "nameLocation": "26844:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 16342,
                                    "src": "26839:7:62",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_bool",
                                        "typeString": "bool"
                                    },
                                    "typeName": {
                                        "id": 16324,
                                        "name": "bool",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "26839:4:62",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_bool",
                                            "typeString": "bool"
                                        }
                                    },
                                    "visibility": "internal"
                                },
                                {
                                    "constant": false,
                                    "id": 16327,
                                    "mutability": "mutable",
                                    "name": "p3",
                                    "nameLocation": "26853:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 16342,
                                    "src": "26848:7:62",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_uint256",
                                        "typeString": "uint256"
                                    },
                                    "typeName": {
                                        "id": 16326,
                                        "name": "uint",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "26848:4:62",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_uint256",
                                            "typeString": "uint256"
                                        }
                                    },
                                    "visibility": "internal"
                                }
                            ],
                            "src": "26817:39:62"
                        },
                        "returnParameters": {
                            "id": 16329,
                            "nodeType": "ParameterList",
                            "parameters": [],
                            "src": "26871:0:62"
                        },
                        "scope": 20920,
                        "src": "26805:161:62",
                        "stateMutability": "view",
                        "virtual": false,
                        "visibility": "internal"
                    },
                    {
                        "body": {
                            "id": 16364,
                            "nodeType": "Block",
                            "src": "27044:97:62",
                            "statements": [
                                {
                                    "expression": {
                                        "arguments": [
                                            {
                                                "arguments": [
                                                    {
                                                        "hexValue": "6c6f672875696e742c616464726573732c626f6f6c2c737472696e6729",
                                                        "id": 16356,
                                                        "isConstant": false,
                                                        "isLValue": false,
                                                        "isPure": true,
                                                        "kind": "string",
                                                        "lValueRequested": false,
                                                        "nodeType": "Literal",
                                                        "src": "27088:31:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_stringliteral_63f0e24221aeb6c531ea500a191ac35497bf48695fb29864fe57726a12d605c6",
                                                            "typeString": "literal_string \"log(uint,address,bool,string)\""
                                                        },
                                                        "value": "log(uint,address,bool,string)"
                                                    },
                                                    {
                                                        "id": 16357,
                                                        "name": "p0",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 16344,
                                                        "src": "27121:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_uint256",
                                                            "typeString": "uint256"
                                                        }
                                                    },
                                                    {
                                                        "id": 16358,
                                                        "name": "p1",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 16346,
                                                        "src": "27125:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_address",
                                                            "typeString": "address"
                                                        }
                                                    },
                                                    {
                                                        "id": 16359,
                                                        "name": "p2",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 16348,
                                                        "src": "27129:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_bool",
                                                            "typeString": "bool"
                                                        }
                                                    },
                                                    {
                                                        "id": 16360,
                                                        "name": "p3",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 16350,
                                                        "src": "27133:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_string_memory_ptr",
                                                            "typeString": "string memory"
                                                        }
                                                    }
                                                ],
                                                "expression": {
                                                    "argumentTypes": [
                                                        {
                                                            "typeIdentifier": "t_stringliteral_63f0e24221aeb6c531ea500a191ac35497bf48695fb29864fe57726a12d605c6",
                                                            "typeString": "literal_string \"log(uint,address,bool,string)\""
                                                        },
                                                        {
                                                            "typeIdentifier": "t_uint256",
                                                            "typeString": "uint256"
                                                        },
                                                        {
                                                            "typeIdentifier": "t_address",
                                                            "typeString": "address"
                                                        },
                                                        {
                                                            "typeIdentifier": "t_bool",
                                                            "typeString": "bool"
                                                        },
                                                        {
                                                            "typeIdentifier": "t_string_memory_ptr",
                                                            "typeString": "string memory"
                                                        }
                                                    ],
                                                    "expression": {
                                                        "id": 16354,
                                                        "name": "abi",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 4294967295,
                                                        "src": "27064:3:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_magic_abi",
                                                            "typeString": "abi"
                                                        }
                                                    },
                                                    "id": 16355,
                                                    "isConstant": false,
                                                    "isLValue": false,
                                                    "isPure": true,
                                                    "lValueRequested": false,
                                                    "memberName": "encodeWithSignature",
                                                    "nodeType": "MemberAccess",
                                                    "src": "27064:23:62",
                                                    "typeDescriptions": {
                                                        "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$",
                                                        "typeString": "function (string memory) pure returns (bytes memory)"
                                                    }
                                                },
                                                "id": 16361,
                                                "isConstant": false,
                                                "isLValue": false,
                                                "isPure": false,
                                                "kind": "functionCall",
                                                "lValueRequested": false,
                                                "names": [],
                                                "nodeType": "FunctionCall",
                                                "src": "27064:72:62",
                                                "tryCall": false,
                                                "typeDescriptions": {
                                                    "typeIdentifier": "t_bytes_memory_ptr",
                                                    "typeString": "bytes memory"
                                                }
                                            }
                                        ],
                                        "expression": {
                                            "argumentTypes": [
                                                {
                                                    "typeIdentifier": "t_bytes_memory_ptr",
                                                    "typeString": "bytes memory"
                                                }
                                            ],
                                            "id": 16353,
                                            "name": "_sendLogPayload",
                                            "nodeType": "Identifier",
                                            "overloadedDeclarations": [],
                                            "referencedDeclaration": 12880,
                                            "src": "27048:15:62",
                                            "typeDescriptions": {
                                                "typeIdentifier": "t_function_internal_view$_t_bytes_memory_ptr_$returns$__$",
                                                "typeString": "function (bytes memory) view"
                                            }
                                        },
                                        "id": 16362,
                                        "isConstant": false,
                                        "isLValue": false,
                                        "isPure": false,
                                        "kind": "functionCall",
                                        "lValueRequested": false,
                                        "names": [],
                                        "nodeType": "FunctionCall",
                                        "src": "27048:89:62",
                                        "tryCall": false,
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_tuple$__$",
                                            "typeString": "tuple()"
                                        }
                                    },
                                    "id": 16363,
                                    "nodeType": "ExpressionStatement",
                                    "src": "27048:89:62"
                                }
                            ]
                        },
                        "id": 16365,
                        "implemented": true,
                        "kind": "function",
                        "modifiers": [],
                        "name": "log",
                        "nameLocation": "26978:3:62",
                        "nodeType": "FunctionDefinition",
                        "parameters": {
                            "id": 16351,
                            "nodeType": "ParameterList",
                            "parameters": [
                                {
                                    "constant": false,
                                    "id": 16344,
                                    "mutability": "mutable",
                                    "name": "p0",
                                    "nameLocation": "26987:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 16365,
                                    "src": "26982:7:62",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_uint256",
                                        "typeString": "uint256"
                                    },
                                    "typeName": {
                                        "id": 16343,
                                        "name": "uint",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "26982:4:62",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_uint256",
                                            "typeString": "uint256"
                                        }
                                    },
                                    "visibility": "internal"
                                },
                                {
                                    "constant": false,
                                    "id": 16346,
                                    "mutability": "mutable",
                                    "name": "p1",
                                    "nameLocation": "26999:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 16365,
                                    "src": "26991:10:62",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_address",
                                        "typeString": "address"
                                    },
                                    "typeName": {
                                        "id": 16345,
                                        "name": "address",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "26991:7:62",
                                        "stateMutability": "nonpayable",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_address",
                                            "typeString": "address"
                                        }
                                    },
                                    "visibility": "internal"
                                },
                                {
                                    "constant": false,
                                    "id": 16348,
                                    "mutability": "mutable",
                                    "name": "p2",
                                    "nameLocation": "27008:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 16365,
                                    "src": "27003:7:62",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_bool",
                                        "typeString": "bool"
                                    },
                                    "typeName": {
                                        "id": 16347,
                                        "name": "bool",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "27003:4:62",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_bool",
                                            "typeString": "bool"
                                        }
                                    },
                                    "visibility": "internal"
                                },
                                {
                                    "constant": false,
                                    "id": 16350,
                                    "mutability": "mutable",
                                    "name": "p3",
                                    "nameLocation": "27026:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 16365,
                                    "src": "27012:16:62",
                                    "stateVariable": false,
                                    "storageLocation": "memory",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_string_memory_ptr",
                                        "typeString": "string"
                                    },
                                    "typeName": {
                                        "id": 16349,
                                        "name": "string",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "27012:6:62",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_string_storage_ptr",
                                            "typeString": "string"
                                        }
                                    },
                                    "visibility": "internal"
                                }
                            ],
                            "src": "26981:48:62"
                        },
                        "returnParameters": {
                            "id": 16352,
                            "nodeType": "ParameterList",
                            "parameters": [],
                            "src": "27044:0:62"
                        },
                        "scope": 20920,
                        "src": "26969:172:62",
                        "stateMutability": "view",
                        "virtual": false,
                        "visibility": "internal"
                    },
                    {
                        "body": {
                            "id": 16387,
                            "nodeType": "Block",
                            "src": "27210:95:62",
                            "statements": [
                                {
                                    "expression": {
                                        "arguments": [
                                            {
                                                "arguments": [
                                                    {
                                                        "hexValue": "6c6f672875696e742c616464726573732c626f6f6c2c626f6f6c29",
                                                        "id": 16379,
                                                        "isConstant": false,
                                                        "isLValue": false,
                                                        "isPure": true,
                                                        "kind": "string",
                                                        "lValueRequested": false,
                                                        "nodeType": "Literal",
                                                        "src": "27254:29:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_stringliteral_7e27410dc86ab22a92f2a269c9cf538b707bde3ac248f933df1f4d0b76947d32",
                                                            "typeString": "literal_string \"log(uint,address,bool,bool)\""
                                                        },
                                                        "value": "log(uint,address,bool,bool)"
                                                    },
                                                    {
                                                        "id": 16380,
                                                        "name": "p0",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 16367,
                                                        "src": "27285:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_uint256",
                                                            "typeString": "uint256"
                                                        }
                                                    },
                                                    {
                                                        "id": 16381,
                                                        "name": "p1",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 16369,
                                                        "src": "27289:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_address",
                                                            "typeString": "address"
                                                        }
                                                    },
                                                    {
                                                        "id": 16382,
                                                        "name": "p2",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 16371,
                                                        "src": "27293:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_bool",
                                                            "typeString": "bool"
                                                        }
                                                    },
                                                    {
                                                        "id": 16383,
                                                        "name": "p3",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 16373,
                                                        "src": "27297:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_bool",
                                                            "typeString": "bool"
                                                        }
                                                    }
                                                ],
                                                "expression": {
                                                    "argumentTypes": [
                                                        {
                                                            "typeIdentifier": "t_stringliteral_7e27410dc86ab22a92f2a269c9cf538b707bde3ac248f933df1f4d0b76947d32",
                                                            "typeString": "literal_string \"log(uint,address,bool,bool)\""
                                                        },
                                                        {
                                                            "typeIdentifier": "t_uint256",
                                                            "typeString": "uint256"
                                                        },
                                                        {
                                                            "typeIdentifier": "t_address",
                                                            "typeString": "address"
                                                        },
                                                        {
                                                            "typeIdentifier": "t_bool",
                                                            "typeString": "bool"
                                                        },
                                                        {
                                                            "typeIdentifier": "t_bool",
                                                            "typeString": "bool"
                                                        }
                                                    ],
                                                    "expression": {
                                                        "id": 16377,
                                                        "name": "abi",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 4294967295,
                                                        "src": "27230:3:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_magic_abi",
                                                            "typeString": "abi"
                                                        }
                                                    },
                                                    "id": 16378,
                                                    "isConstant": false,
                                                    "isLValue": false,
                                                    "isPure": true,
                                                    "lValueRequested": false,
                                                    "memberName": "encodeWithSignature",
                                                    "nodeType": "MemberAccess",
                                                    "src": "27230:23:62",
                                                    "typeDescriptions": {
                                                        "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$",
                                                        "typeString": "function (string memory) pure returns (bytes memory)"
                                                    }
                                                },
                                                "id": 16384,
                                                "isConstant": false,
                                                "isLValue": false,
                                                "isPure": false,
                                                "kind": "functionCall",
                                                "lValueRequested": false,
                                                "names": [],
                                                "nodeType": "FunctionCall",
                                                "src": "27230:70:62",
                                                "tryCall": false,
                                                "typeDescriptions": {
                                                    "typeIdentifier": "t_bytes_memory_ptr",
                                                    "typeString": "bytes memory"
                                                }
                                            }
                                        ],
                                        "expression": {
                                            "argumentTypes": [
                                                {
                                                    "typeIdentifier": "t_bytes_memory_ptr",
                                                    "typeString": "bytes memory"
                                                }
                                            ],
                                            "id": 16376,
                                            "name": "_sendLogPayload",
                                            "nodeType": "Identifier",
                                            "overloadedDeclarations": [],
                                            "referencedDeclaration": 12880,
                                            "src": "27214:15:62",
                                            "typeDescriptions": {
                                                "typeIdentifier": "t_function_internal_view$_t_bytes_memory_ptr_$returns$__$",
                                                "typeString": "function (bytes memory) view"
                                            }
                                        },
                                        "id": 16385,
                                        "isConstant": false,
                                        "isLValue": false,
                                        "isPure": false,
                                        "kind": "functionCall",
                                        "lValueRequested": false,
                                        "names": [],
                                        "nodeType": "FunctionCall",
                                        "src": "27214:87:62",
                                        "tryCall": false,
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_tuple$__$",
                                            "typeString": "tuple()"
                                        }
                                    },
                                    "id": 16386,
                                    "nodeType": "ExpressionStatement",
                                    "src": "27214:87:62"
                                }
                            ]
                        },
                        "id": 16388,
                        "implemented": true,
                        "kind": "function",
                        "modifiers": [],
                        "name": "log",
                        "nameLocation": "27153:3:62",
                        "nodeType": "FunctionDefinition",
                        "parameters": {
                            "id": 16374,
                            "nodeType": "ParameterList",
                            "parameters": [
                                {
                                    "constant": false,
                                    "id": 16367,
                                    "mutability": "mutable",
                                    "name": "p0",
                                    "nameLocation": "27162:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 16388,
                                    "src": "27157:7:62",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_uint256",
                                        "typeString": "uint256"
                                    },
                                    "typeName": {
                                        "id": 16366,
                                        "name": "uint",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "27157:4:62",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_uint256",
                                            "typeString": "uint256"
                                        }
                                    },
                                    "visibility": "internal"
                                },
                                {
                                    "constant": false,
                                    "id": 16369,
                                    "mutability": "mutable",
                                    "name": "p1",
                                    "nameLocation": "27174:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 16388,
                                    "src": "27166:10:62",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_address",
                                        "typeString": "address"
                                    },
                                    "typeName": {
                                        "id": 16368,
                                        "name": "address",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "27166:7:62",
                                        "stateMutability": "nonpayable",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_address",
                                            "typeString": "address"
                                        }
                                    },
                                    "visibility": "internal"
                                },
                                {
                                    "constant": false,
                                    "id": 16371,
                                    "mutability": "mutable",
                                    "name": "p2",
                                    "nameLocation": "27183:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 16388,
                                    "src": "27178:7:62",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_bool",
                                        "typeString": "bool"
                                    },
                                    "typeName": {
                                        "id": 16370,
                                        "name": "bool",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "27178:4:62",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_bool",
                                            "typeString": "bool"
                                        }
                                    },
                                    "visibility": "internal"
                                },
                                {
                                    "constant": false,
                                    "id": 16373,
                                    "mutability": "mutable",
                                    "name": "p3",
                                    "nameLocation": "27192:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 16388,
                                    "src": "27187:7:62",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_bool",
                                        "typeString": "bool"
                                    },
                                    "typeName": {
                                        "id": 16372,
                                        "name": "bool",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "27187:4:62",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_bool",
                                            "typeString": "bool"
                                        }
                                    },
                                    "visibility": "internal"
                                }
                            ],
                            "src": "27156:39:62"
                        },
                        "returnParameters": {
                            "id": 16375,
                            "nodeType": "ParameterList",
                            "parameters": [],
                            "src": "27210:0:62"
                        },
                        "scope": 20920,
                        "src": "27144:161:62",
                        "stateMutability": "view",
                        "virtual": false,
                        "visibility": "internal"
                    },
                    {
                        "body": {
                            "id": 16410,
                            "nodeType": "Block",
                            "src": "27377:98:62",
                            "statements": [
                                {
                                    "expression": {
                                        "arguments": [
                                            {
                                                "arguments": [
                                                    {
                                                        "hexValue": "6c6f672875696e742c616464726573732c626f6f6c2c6164647265737329",
                                                        "id": 16402,
                                                        "isConstant": false,
                                                        "isLValue": false,
                                                        "isPure": true,
                                                        "kind": "string",
                                                        "lValueRequested": false,
                                                        "nodeType": "Literal",
                                                        "src": "27421:32:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_stringliteral_b6313094a820841f3156e32d271c63cceded7f62875d471e1e87ef33ec252789",
                                                            "typeString": "literal_string \"log(uint,address,bool,address)\""
                                                        },
                                                        "value": "log(uint,address,bool,address)"
                                                    },
                                                    {
                                                        "id": 16403,
                                                        "name": "p0",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 16390,
                                                        "src": "27455:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_uint256",
                                                            "typeString": "uint256"
                                                        }
                                                    },
                                                    {
                                                        "id": 16404,
                                                        "name": "p1",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 16392,
                                                        "src": "27459:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_address",
                                                            "typeString": "address"
                                                        }
                                                    },
                                                    {
                                                        "id": 16405,
                                                        "name": "p2",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 16394,
                                                        "src": "27463:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_bool",
                                                            "typeString": "bool"
                                                        }
                                                    },
                                                    {
                                                        "id": 16406,
                                                        "name": "p3",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 16396,
                                                        "src": "27467:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_address",
                                                            "typeString": "address"
                                                        }
                                                    }
                                                ],
                                                "expression": {
                                                    "argumentTypes": [
                                                        {
                                                            "typeIdentifier": "t_stringliteral_b6313094a820841f3156e32d271c63cceded7f62875d471e1e87ef33ec252789",
                                                            "typeString": "literal_string \"log(uint,address,bool,address)\""
                                                        },
                                                        {
                                                            "typeIdentifier": "t_uint256",
                                                            "typeString": "uint256"
                                                        },
                                                        {
                                                            "typeIdentifier": "t_address",
                                                            "typeString": "address"
                                                        },
                                                        {
                                                            "typeIdentifier": "t_bool",
                                                            "typeString": "bool"
                                                        },
                                                        {
                                                            "typeIdentifier": "t_address",
                                                            "typeString": "address"
                                                        }
                                                    ],
                                                    "expression": {
                                                        "id": 16400,
                                                        "name": "abi",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 4294967295,
                                                        "src": "27397:3:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_magic_abi",
                                                            "typeString": "abi"
                                                        }
                                                    },
                                                    "id": 16401,
                                                    "isConstant": false,
                                                    "isLValue": false,
                                                    "isPure": true,
                                                    "lValueRequested": false,
                                                    "memberName": "encodeWithSignature",
                                                    "nodeType": "MemberAccess",
                                                    "src": "27397:23:62",
                                                    "typeDescriptions": {
                                                        "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$",
                                                        "typeString": "function (string memory) pure returns (bytes memory)"
                                                    }
                                                },
                                                "id": 16407,
                                                "isConstant": false,
                                                "isLValue": false,
                                                "isPure": false,
                                                "kind": "functionCall",
                                                "lValueRequested": false,
                                                "names": [],
                                                "nodeType": "FunctionCall",
                                                "src": "27397:73:62",
                                                "tryCall": false,
                                                "typeDescriptions": {
                                                    "typeIdentifier": "t_bytes_memory_ptr",
                                                    "typeString": "bytes memory"
                                                }
                                            }
                                        ],
                                        "expression": {
                                            "argumentTypes": [
                                                {
                                                    "typeIdentifier": "t_bytes_memory_ptr",
                                                    "typeString": "bytes memory"
                                                }
                                            ],
                                            "id": 16399,
                                            "name": "_sendLogPayload",
                                            "nodeType": "Identifier",
                                            "overloadedDeclarations": [],
                                            "referencedDeclaration": 12880,
                                            "src": "27381:15:62",
                                            "typeDescriptions": {
                                                "typeIdentifier": "t_function_internal_view$_t_bytes_memory_ptr_$returns$__$",
                                                "typeString": "function (bytes memory) view"
                                            }
                                        },
                                        "id": 16408,
                                        "isConstant": false,
                                        "isLValue": false,
                                        "isPure": false,
                                        "kind": "functionCall",
                                        "lValueRequested": false,
                                        "names": [],
                                        "nodeType": "FunctionCall",
                                        "src": "27381:90:62",
                                        "tryCall": false,
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_tuple$__$",
                                            "typeString": "tuple()"
                                        }
                                    },
                                    "id": 16409,
                                    "nodeType": "ExpressionStatement",
                                    "src": "27381:90:62"
                                }
                            ]
                        },
                        "id": 16411,
                        "implemented": true,
                        "kind": "function",
                        "modifiers": [],
                        "name": "log",
                        "nameLocation": "27317:3:62",
                        "nodeType": "FunctionDefinition",
                        "parameters": {
                            "id": 16397,
                            "nodeType": "ParameterList",
                            "parameters": [
                                {
                                    "constant": false,
                                    "id": 16390,
                                    "mutability": "mutable",
                                    "name": "p0",
                                    "nameLocation": "27326:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 16411,
                                    "src": "27321:7:62",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_uint256",
                                        "typeString": "uint256"
                                    },
                                    "typeName": {
                                        "id": 16389,
                                        "name": "uint",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "27321:4:62",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_uint256",
                                            "typeString": "uint256"
                                        }
                                    },
                                    "visibility": "internal"
                                },
                                {
                                    "constant": false,
                                    "id": 16392,
                                    "mutability": "mutable",
                                    "name": "p1",
                                    "nameLocation": "27338:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 16411,
                                    "src": "27330:10:62",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_address",
                                        "typeString": "address"
                                    },
                                    "typeName": {
                                        "id": 16391,
                                        "name": "address",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "27330:7:62",
                                        "stateMutability": "nonpayable",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_address",
                                            "typeString": "address"
                                        }
                                    },
                                    "visibility": "internal"
                                },
                                {
                                    "constant": false,
                                    "id": 16394,
                                    "mutability": "mutable",
                                    "name": "p2",
                                    "nameLocation": "27347:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 16411,
                                    "src": "27342:7:62",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_bool",
                                        "typeString": "bool"
                                    },
                                    "typeName": {
                                        "id": 16393,
                                        "name": "bool",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "27342:4:62",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_bool",
                                            "typeString": "bool"
                                        }
                                    },
                                    "visibility": "internal"
                                },
                                {
                                    "constant": false,
                                    "id": 16396,
                                    "mutability": "mutable",
                                    "name": "p3",
                                    "nameLocation": "27359:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 16411,
                                    "src": "27351:10:62",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_address",
                                        "typeString": "address"
                                    },
                                    "typeName": {
                                        "id": 16395,
                                        "name": "address",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "27351:7:62",
                                        "stateMutability": "nonpayable",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_address",
                                            "typeString": "address"
                                        }
                                    },
                                    "visibility": "internal"
                                }
                            ],
                            "src": "27320:42:62"
                        },
                        "returnParameters": {
                            "id": 16398,
                            "nodeType": "ParameterList",
                            "parameters": [],
                            "src": "27377:0:62"
                        },
                        "scope": 20920,
                        "src": "27308:167:62",
                        "stateMutability": "view",
                        "virtual": false,
                        "visibility": "internal"
                    },
                    {
                        "body": {
                            "id": 16433,
                            "nodeType": "Block",
                            "src": "27547:98:62",
                            "statements": [
                                {
                                    "expression": {
                                        "arguments": [
                                            {
                                                "arguments": [
                                                    {
                                                        "hexValue": "6c6f672875696e742c616464726573732c616464726573732c75696e7429",
                                                        "id": 16425,
                                                        "isConstant": false,
                                                        "isLValue": false,
                                                        "isPure": true,
                                                        "kind": "string",
                                                        "lValueRequested": false,
                                                        "nodeType": "Literal",
                                                        "src": "27591:32:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_stringliteral_9a3cbf9603c94c357c6f62b7a32789d9ca5caa81518d1277c9ca986a5650734b",
                                                            "typeString": "literal_string \"log(uint,address,address,uint)\""
                                                        },
                                                        "value": "log(uint,address,address,uint)"
                                                    },
                                                    {
                                                        "id": 16426,
                                                        "name": "p0",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 16413,
                                                        "src": "27625:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_uint256",
                                                            "typeString": "uint256"
                                                        }
                                                    },
                                                    {
                                                        "id": 16427,
                                                        "name": "p1",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 16415,
                                                        "src": "27629:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_address",
                                                            "typeString": "address"
                                                        }
                                                    },
                                                    {
                                                        "id": 16428,
                                                        "name": "p2",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 16417,
                                                        "src": "27633:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_address",
                                                            "typeString": "address"
                                                        }
                                                    },
                                                    {
                                                        "id": 16429,
                                                        "name": "p3",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 16419,
                                                        "src": "27637:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_uint256",
                                                            "typeString": "uint256"
                                                        }
                                                    }
                                                ],
                                                "expression": {
                                                    "argumentTypes": [
                                                        {
                                                            "typeIdentifier": "t_stringliteral_9a3cbf9603c94c357c6f62b7a32789d9ca5caa81518d1277c9ca986a5650734b",
                                                            "typeString": "literal_string \"log(uint,address,address,uint)\""
                                                        },
                                                        {
                                                            "typeIdentifier": "t_uint256",
                                                            "typeString": "uint256"
                                                        },
                                                        {
                                                            "typeIdentifier": "t_address",
                                                            "typeString": "address"
                                                        },
                                                        {
                                                            "typeIdentifier": "t_address",
                                                            "typeString": "address"
                                                        },
                                                        {
                                                            "typeIdentifier": "t_uint256",
                                                            "typeString": "uint256"
                                                        }
                                                    ],
                                                    "expression": {
                                                        "id": 16423,
                                                        "name": "abi",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 4294967295,
                                                        "src": "27567:3:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_magic_abi",
                                                            "typeString": "abi"
                                                        }
                                                    },
                                                    "id": 16424,
                                                    "isConstant": false,
                                                    "isLValue": false,
                                                    "isPure": true,
                                                    "lValueRequested": false,
                                                    "memberName": "encodeWithSignature",
                                                    "nodeType": "MemberAccess",
                                                    "src": "27567:23:62",
                                                    "typeDescriptions": {
                                                        "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$",
                                                        "typeString": "function (string memory) pure returns (bytes memory)"
                                                    }
                                                },
                                                "id": 16430,
                                                "isConstant": false,
                                                "isLValue": false,
                                                "isPure": false,
                                                "kind": "functionCall",
                                                "lValueRequested": false,
                                                "names": [],
                                                "nodeType": "FunctionCall",
                                                "src": "27567:73:62",
                                                "tryCall": false,
                                                "typeDescriptions": {
                                                    "typeIdentifier": "t_bytes_memory_ptr",
                                                    "typeString": "bytes memory"
                                                }
                                            }
                                        ],
                                        "expression": {
                                            "argumentTypes": [
                                                {
                                                    "typeIdentifier": "t_bytes_memory_ptr",
                                                    "typeString": "bytes memory"
                                                }
                                            ],
                                            "id": 16422,
                                            "name": "_sendLogPayload",
                                            "nodeType": "Identifier",
                                            "overloadedDeclarations": [],
                                            "referencedDeclaration": 12880,
                                            "src": "27551:15:62",
                                            "typeDescriptions": {
                                                "typeIdentifier": "t_function_internal_view$_t_bytes_memory_ptr_$returns$__$",
                                                "typeString": "function (bytes memory) view"
                                            }
                                        },
                                        "id": 16431,
                                        "isConstant": false,
                                        "isLValue": false,
                                        "isPure": false,
                                        "kind": "functionCall",
                                        "lValueRequested": false,
                                        "names": [],
                                        "nodeType": "FunctionCall",
                                        "src": "27551:90:62",
                                        "tryCall": false,
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_tuple$__$",
                                            "typeString": "tuple()"
                                        }
                                    },
                                    "id": 16432,
                                    "nodeType": "ExpressionStatement",
                                    "src": "27551:90:62"
                                }
                            ]
                        },
                        "id": 16434,
                        "implemented": true,
                        "kind": "function",
                        "modifiers": [],
                        "name": "log",
                        "nameLocation": "27487:3:62",
                        "nodeType": "FunctionDefinition",
                        "parameters": {
                            "id": 16420,
                            "nodeType": "ParameterList",
                            "parameters": [
                                {
                                    "constant": false,
                                    "id": 16413,
                                    "mutability": "mutable",
                                    "name": "p0",
                                    "nameLocation": "27496:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 16434,
                                    "src": "27491:7:62",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_uint256",
                                        "typeString": "uint256"
                                    },
                                    "typeName": {
                                        "id": 16412,
                                        "name": "uint",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "27491:4:62",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_uint256",
                                            "typeString": "uint256"
                                        }
                                    },
                                    "visibility": "internal"
                                },
                                {
                                    "constant": false,
                                    "id": 16415,
                                    "mutability": "mutable",
                                    "name": "p1",
                                    "nameLocation": "27508:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 16434,
                                    "src": "27500:10:62",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_address",
                                        "typeString": "address"
                                    },
                                    "typeName": {
                                        "id": 16414,
                                        "name": "address",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "27500:7:62",
                                        "stateMutability": "nonpayable",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_address",
                                            "typeString": "address"
                                        }
                                    },
                                    "visibility": "internal"
                                },
                                {
                                    "constant": false,
                                    "id": 16417,
                                    "mutability": "mutable",
                                    "name": "p2",
                                    "nameLocation": "27520:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 16434,
                                    "src": "27512:10:62",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_address",
                                        "typeString": "address"
                                    },
                                    "typeName": {
                                        "id": 16416,
                                        "name": "address",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "27512:7:62",
                                        "stateMutability": "nonpayable",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_address",
                                            "typeString": "address"
                                        }
                                    },
                                    "visibility": "internal"
                                },
                                {
                                    "constant": false,
                                    "id": 16419,
                                    "mutability": "mutable",
                                    "name": "p3",
                                    "nameLocation": "27529:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 16434,
                                    "src": "27524:7:62",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_uint256",
                                        "typeString": "uint256"
                                    },
                                    "typeName": {
                                        "id": 16418,
                                        "name": "uint",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "27524:4:62",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_uint256",
                                            "typeString": "uint256"
                                        }
                                    },
                                    "visibility": "internal"
                                }
                            ],
                            "src": "27490:42:62"
                        },
                        "returnParameters": {
                            "id": 16421,
                            "nodeType": "ParameterList",
                            "parameters": [],
                            "src": "27547:0:62"
                        },
                        "scope": 20920,
                        "src": "27478:167:62",
                        "stateMutability": "view",
                        "virtual": false,
                        "visibility": "internal"
                    },
                    {
                        "body": {
                            "id": 16456,
                            "nodeType": "Block",
                            "src": "27726:100:62",
                            "statements": [
                                {
                                    "expression": {
                                        "arguments": [
                                            {
                                                "arguments": [
                                                    {
                                                        "hexValue": "6c6f672875696e742c616464726573732c616464726573732c737472696e6729",
                                                        "id": 16448,
                                                        "isConstant": false,
                                                        "isLValue": false,
                                                        "isPure": true,
                                                        "kind": "string",
                                                        "lValueRequested": false,
                                                        "nodeType": "Literal",
                                                        "src": "27770:34:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_stringliteral_7943dc6627d308affd474fe50b563bcfbf09518236383b806f11730459213622",
                                                            "typeString": "literal_string \"log(uint,address,address,string)\""
                                                        },
                                                        "value": "log(uint,address,address,string)"
                                                    },
                                                    {
                                                        "id": 16449,
                                                        "name": "p0",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 16436,
                                                        "src": "27806:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_uint256",
                                                            "typeString": "uint256"
                                                        }
                                                    },
                                                    {
                                                        "id": 16450,
                                                        "name": "p1",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 16438,
                                                        "src": "27810:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_address",
                                                            "typeString": "address"
                                                        }
                                                    },
                                                    {
                                                        "id": 16451,
                                                        "name": "p2",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 16440,
                                                        "src": "27814:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_address",
                                                            "typeString": "address"
                                                        }
                                                    },
                                                    {
                                                        "id": 16452,
                                                        "name": "p3",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 16442,
                                                        "src": "27818:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_string_memory_ptr",
                                                            "typeString": "string memory"
                                                        }
                                                    }
                                                ],
                                                "expression": {
                                                    "argumentTypes": [
                                                        {
                                                            "typeIdentifier": "t_stringliteral_7943dc6627d308affd474fe50b563bcfbf09518236383b806f11730459213622",
                                                            "typeString": "literal_string \"log(uint,address,address,string)\""
                                                        },
                                                        {
                                                            "typeIdentifier": "t_uint256",
                                                            "typeString": "uint256"
                                                        },
                                                        {
                                                            "typeIdentifier": "t_address",
                                                            "typeString": "address"
                                                        },
                                                        {
                                                            "typeIdentifier": "t_address",
                                                            "typeString": "address"
                                                        },
                                                        {
                                                            "typeIdentifier": "t_string_memory_ptr",
                                                            "typeString": "string memory"
                                                        }
                                                    ],
                                                    "expression": {
                                                        "id": 16446,
                                                        "name": "abi",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 4294967295,
                                                        "src": "27746:3:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_magic_abi",
                                                            "typeString": "abi"
                                                        }
                                                    },
                                                    "id": 16447,
                                                    "isConstant": false,
                                                    "isLValue": false,
                                                    "isPure": true,
                                                    "lValueRequested": false,
                                                    "memberName": "encodeWithSignature",
                                                    "nodeType": "MemberAccess",
                                                    "src": "27746:23:62",
                                                    "typeDescriptions": {
                                                        "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$",
                                                        "typeString": "function (string memory) pure returns (bytes memory)"
                                                    }
                                                },
                                                "id": 16453,
                                                "isConstant": false,
                                                "isLValue": false,
                                                "isPure": false,
                                                "kind": "functionCall",
                                                "lValueRequested": false,
                                                "names": [],
                                                "nodeType": "FunctionCall",
                                                "src": "27746:75:62",
                                                "tryCall": false,
                                                "typeDescriptions": {
                                                    "typeIdentifier": "t_bytes_memory_ptr",
                                                    "typeString": "bytes memory"
                                                }
                                            }
                                        ],
                                        "expression": {
                                            "argumentTypes": [
                                                {
                                                    "typeIdentifier": "t_bytes_memory_ptr",
                                                    "typeString": "bytes memory"
                                                }
                                            ],
                                            "id": 16445,
                                            "name": "_sendLogPayload",
                                            "nodeType": "Identifier",
                                            "overloadedDeclarations": [],
                                            "referencedDeclaration": 12880,
                                            "src": "27730:15:62",
                                            "typeDescriptions": {
                                                "typeIdentifier": "t_function_internal_view$_t_bytes_memory_ptr_$returns$__$",
                                                "typeString": "function (bytes memory) view"
                                            }
                                        },
                                        "id": 16454,
                                        "isConstant": false,
                                        "isLValue": false,
                                        "isPure": false,
                                        "kind": "functionCall",
                                        "lValueRequested": false,
                                        "names": [],
                                        "nodeType": "FunctionCall",
                                        "src": "27730:92:62",
                                        "tryCall": false,
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_tuple$__$",
                                            "typeString": "tuple()"
                                        }
                                    },
                                    "id": 16455,
                                    "nodeType": "ExpressionStatement",
                                    "src": "27730:92:62"
                                }
                            ]
                        },
                        "id": 16457,
                        "implemented": true,
                        "kind": "function",
                        "modifiers": [],
                        "name": "log",
                        "nameLocation": "27657:3:62",
                        "nodeType": "FunctionDefinition",
                        "parameters": {
                            "id": 16443,
                            "nodeType": "ParameterList",
                            "parameters": [
                                {
                                    "constant": false,
                                    "id": 16436,
                                    "mutability": "mutable",
                                    "name": "p0",
                                    "nameLocation": "27666:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 16457,
                                    "src": "27661:7:62",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_uint256",
                                        "typeString": "uint256"
                                    },
                                    "typeName": {
                                        "id": 16435,
                                        "name": "uint",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "27661:4:62",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_uint256",
                                            "typeString": "uint256"
                                        }
                                    },
                                    "visibility": "internal"
                                },
                                {
                                    "constant": false,
                                    "id": 16438,
                                    "mutability": "mutable",
                                    "name": "p1",
                                    "nameLocation": "27678:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 16457,
                                    "src": "27670:10:62",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_address",
                                        "typeString": "address"
                                    },
                                    "typeName": {
                                        "id": 16437,
                                        "name": "address",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "27670:7:62",
                                        "stateMutability": "nonpayable",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_address",
                                            "typeString": "address"
                                        }
                                    },
                                    "visibility": "internal"
                                },
                                {
                                    "constant": false,
                                    "id": 16440,
                                    "mutability": "mutable",
                                    "name": "p2",
                                    "nameLocation": "27690:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 16457,
                                    "src": "27682:10:62",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_address",
                                        "typeString": "address"
                                    },
                                    "typeName": {
                                        "id": 16439,
                                        "name": "address",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "27682:7:62",
                                        "stateMutability": "nonpayable",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_address",
                                            "typeString": "address"
                                        }
                                    },
                                    "visibility": "internal"
                                },
                                {
                                    "constant": false,
                                    "id": 16442,
                                    "mutability": "mutable",
                                    "name": "p3",
                                    "nameLocation": "27708:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 16457,
                                    "src": "27694:16:62",
                                    "stateVariable": false,
                                    "storageLocation": "memory",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_string_memory_ptr",
                                        "typeString": "string"
                                    },
                                    "typeName": {
                                        "id": 16441,
                                        "name": "string",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "27694:6:62",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_string_storage_ptr",
                                            "typeString": "string"
                                        }
                                    },
                                    "visibility": "internal"
                                }
                            ],
                            "src": "27660:51:62"
                        },
                        "returnParameters": {
                            "id": 16444,
                            "nodeType": "ParameterList",
                            "parameters": [],
                            "src": "27726:0:62"
                        },
                        "scope": 20920,
                        "src": "27648:178:62",
                        "stateMutability": "view",
                        "virtual": false,
                        "visibility": "internal"
                    },
                    {
                        "body": {
                            "id": 16479,
                            "nodeType": "Block",
                            "src": "27898:98:62",
                            "statements": [
                                {
                                    "expression": {
                                        "arguments": [
                                            {
                                                "arguments": [
                                                    {
                                                        "hexValue": "6c6f672875696e742c616464726573732c616464726573732c626f6f6c29",
                                                        "id": 16471,
                                                        "isConstant": false,
                                                        "isLValue": false,
                                                        "isPure": true,
                                                        "kind": "string",
                                                        "lValueRequested": false,
                                                        "nodeType": "Literal",
                                                        "src": "27942:32:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_stringliteral_01550b04ea9916da7bc495d1b5ca5c4bd8d92ef3a98e2cca5a948cec5011f38c",
                                                            "typeString": "literal_string \"log(uint,address,address,bool)\""
                                                        },
                                                        "value": "log(uint,address,address,bool)"
                                                    },
                                                    {
                                                        "id": 16472,
                                                        "name": "p0",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 16459,
                                                        "src": "27976:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_uint256",
                                                            "typeString": "uint256"
                                                        }
                                                    },
                                                    {
                                                        "id": 16473,
                                                        "name": "p1",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 16461,
                                                        "src": "27980:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_address",
                                                            "typeString": "address"
                                                        }
                                                    },
                                                    {
                                                        "id": 16474,
                                                        "name": "p2",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 16463,
                                                        "src": "27984:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_address",
                                                            "typeString": "address"
                                                        }
                                                    },
                                                    {
                                                        "id": 16475,
                                                        "name": "p3",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 16465,
                                                        "src": "27988:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_bool",
                                                            "typeString": "bool"
                                                        }
                                                    }
                                                ],
                                                "expression": {
                                                    "argumentTypes": [
                                                        {
                                                            "typeIdentifier": "t_stringliteral_01550b04ea9916da7bc495d1b5ca5c4bd8d92ef3a98e2cca5a948cec5011f38c",
                                                            "typeString": "literal_string \"log(uint,address,address,bool)\""
                                                        },
                                                        {
                                                            "typeIdentifier": "t_uint256",
                                                            "typeString": "uint256"
                                                        },
                                                        {
                                                            "typeIdentifier": "t_address",
                                                            "typeString": "address"
                                                        },
                                                        {
                                                            "typeIdentifier": "t_address",
                                                            "typeString": "address"
                                                        },
                                                        {
                                                            "typeIdentifier": "t_bool",
                                                            "typeString": "bool"
                                                        }
                                                    ],
                                                    "expression": {
                                                        "id": 16469,
                                                        "name": "abi",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 4294967295,
                                                        "src": "27918:3:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_magic_abi",
                                                            "typeString": "abi"
                                                        }
                                                    },
                                                    "id": 16470,
                                                    "isConstant": false,
                                                    "isLValue": false,
                                                    "isPure": true,
                                                    "lValueRequested": false,
                                                    "memberName": "encodeWithSignature",
                                                    "nodeType": "MemberAccess",
                                                    "src": "27918:23:62",
                                                    "typeDescriptions": {
                                                        "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$",
                                                        "typeString": "function (string memory) pure returns (bytes memory)"
                                                    }
                                                },
                                                "id": 16476,
                                                "isConstant": false,
                                                "isLValue": false,
                                                "isPure": false,
                                                "kind": "functionCall",
                                                "lValueRequested": false,
                                                "names": [],
                                                "nodeType": "FunctionCall",
                                                "src": "27918:73:62",
                                                "tryCall": false,
                                                "typeDescriptions": {
                                                    "typeIdentifier": "t_bytes_memory_ptr",
                                                    "typeString": "bytes memory"
                                                }
                                            }
                                        ],
                                        "expression": {
                                            "argumentTypes": [
                                                {
                                                    "typeIdentifier": "t_bytes_memory_ptr",
                                                    "typeString": "bytes memory"
                                                }
                                            ],
                                            "id": 16468,
                                            "name": "_sendLogPayload",
                                            "nodeType": "Identifier",
                                            "overloadedDeclarations": [],
                                            "referencedDeclaration": 12880,
                                            "src": "27902:15:62",
                                            "typeDescriptions": {
                                                "typeIdentifier": "t_function_internal_view$_t_bytes_memory_ptr_$returns$__$",
                                                "typeString": "function (bytes memory) view"
                                            }
                                        },
                                        "id": 16477,
                                        "isConstant": false,
                                        "isLValue": false,
                                        "isPure": false,
                                        "kind": "functionCall",
                                        "lValueRequested": false,
                                        "names": [],
                                        "nodeType": "FunctionCall",
                                        "src": "27902:90:62",
                                        "tryCall": false,
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_tuple$__$",
                                            "typeString": "tuple()"
                                        }
                                    },
                                    "id": 16478,
                                    "nodeType": "ExpressionStatement",
                                    "src": "27902:90:62"
                                }
                            ]
                        },
                        "id": 16480,
                        "implemented": true,
                        "kind": "function",
                        "modifiers": [],
                        "name": "log",
                        "nameLocation": "27838:3:62",
                        "nodeType": "FunctionDefinition",
                        "parameters": {
                            "id": 16466,
                            "nodeType": "ParameterList",
                            "parameters": [
                                {
                                    "constant": false,
                                    "id": 16459,
                                    "mutability": "mutable",
                                    "name": "p0",
                                    "nameLocation": "27847:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 16480,
                                    "src": "27842:7:62",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_uint256",
                                        "typeString": "uint256"
                                    },
                                    "typeName": {
                                        "id": 16458,
                                        "name": "uint",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "27842:4:62",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_uint256",
                                            "typeString": "uint256"
                                        }
                                    },
                                    "visibility": "internal"
                                },
                                {
                                    "constant": false,
                                    "id": 16461,
                                    "mutability": "mutable",
                                    "name": "p1",
                                    "nameLocation": "27859:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 16480,
                                    "src": "27851:10:62",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_address",
                                        "typeString": "address"
                                    },
                                    "typeName": {
                                        "id": 16460,
                                        "name": "address",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "27851:7:62",
                                        "stateMutability": "nonpayable",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_address",
                                            "typeString": "address"
                                        }
                                    },
                                    "visibility": "internal"
                                },
                                {
                                    "constant": false,
                                    "id": 16463,
                                    "mutability": "mutable",
                                    "name": "p2",
                                    "nameLocation": "27871:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 16480,
                                    "src": "27863:10:62",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_address",
                                        "typeString": "address"
                                    },
                                    "typeName": {
                                        "id": 16462,
                                        "name": "address",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "27863:7:62",
                                        "stateMutability": "nonpayable",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_address",
                                            "typeString": "address"
                                        }
                                    },
                                    "visibility": "internal"
                                },
                                {
                                    "constant": false,
                                    "id": 16465,
                                    "mutability": "mutable",
                                    "name": "p3",
                                    "nameLocation": "27880:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 16480,
                                    "src": "27875:7:62",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_bool",
                                        "typeString": "bool"
                                    },
                                    "typeName": {
                                        "id": 16464,
                                        "name": "bool",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "27875:4:62",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_bool",
                                            "typeString": "bool"
                                        }
                                    },
                                    "visibility": "internal"
                                }
                            ],
                            "src": "27841:42:62"
                        },
                        "returnParameters": {
                            "id": 16467,
                            "nodeType": "ParameterList",
                            "parameters": [],
                            "src": "27898:0:62"
                        },
                        "scope": 20920,
                        "src": "27829:167:62",
                        "stateMutability": "view",
                        "virtual": false,
                        "visibility": "internal"
                    },
                    {
                        "body": {
                            "id": 16502,
                            "nodeType": "Block",
                            "src": "28071:101:62",
                            "statements": [
                                {
                                    "expression": {
                                        "arguments": [
                                            {
                                                "arguments": [
                                                    {
                                                        "hexValue": "6c6f672875696e742c616464726573732c616464726573732c6164647265737329",
                                                        "id": 16494,
                                                        "isConstant": false,
                                                        "isLValue": false,
                                                        "isPure": true,
                                                        "kind": "string",
                                                        "lValueRequested": false,
                                                        "nodeType": "Literal",
                                                        "src": "28115:35:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_stringliteral_554745f9e6550eea6000ea2febc94de95d453100d5d60359e62cd398b366bfc4",
                                                            "typeString": "literal_string \"log(uint,address,address,address)\""
                                                        },
                                                        "value": "log(uint,address,address,address)"
                                                    },
                                                    {
                                                        "id": 16495,
                                                        "name": "p0",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 16482,
                                                        "src": "28152:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_uint256",
                                                            "typeString": "uint256"
                                                        }
                                                    },
                                                    {
                                                        "id": 16496,
                                                        "name": "p1",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 16484,
                                                        "src": "28156:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_address",
                                                            "typeString": "address"
                                                        }
                                                    },
                                                    {
                                                        "id": 16497,
                                                        "name": "p2",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 16486,
                                                        "src": "28160:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_address",
                                                            "typeString": "address"
                                                        }
                                                    },
                                                    {
                                                        "id": 16498,
                                                        "name": "p3",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 16488,
                                                        "src": "28164:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_address",
                                                            "typeString": "address"
                                                        }
                                                    }
                                                ],
                                                "expression": {
                                                    "argumentTypes": [
                                                        {
                                                            "typeIdentifier": "t_stringliteral_554745f9e6550eea6000ea2febc94de95d453100d5d60359e62cd398b366bfc4",
                                                            "typeString": "literal_string \"log(uint,address,address,address)\""
                                                        },
                                                        {
                                                            "typeIdentifier": "t_uint256",
                                                            "typeString": "uint256"
                                                        },
                                                        {
                                                            "typeIdentifier": "t_address",
                                                            "typeString": "address"
                                                        },
                                                        {
                                                            "typeIdentifier": "t_address",
                                                            "typeString": "address"
                                                        },
                                                        {
                                                            "typeIdentifier": "t_address",
                                                            "typeString": "address"
                                                        }
                                                    ],
                                                    "expression": {
                                                        "id": 16492,
                                                        "name": "abi",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 4294967295,
                                                        "src": "28091:3:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_magic_abi",
                                                            "typeString": "abi"
                                                        }
                                                    },
                                                    "id": 16493,
                                                    "isConstant": false,
                                                    "isLValue": false,
                                                    "isPure": true,
                                                    "lValueRequested": false,
                                                    "memberName": "encodeWithSignature",
                                                    "nodeType": "MemberAccess",
                                                    "src": "28091:23:62",
                                                    "typeDescriptions": {
                                                        "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$",
                                                        "typeString": "function (string memory) pure returns (bytes memory)"
                                                    }
                                                },
                                                "id": 16499,
                                                "isConstant": false,
                                                "isLValue": false,
                                                "isPure": false,
                                                "kind": "functionCall",
                                                "lValueRequested": false,
                                                "names": [],
                                                "nodeType": "FunctionCall",
                                                "src": "28091:76:62",
                                                "tryCall": false,
                                                "typeDescriptions": {
                                                    "typeIdentifier": "t_bytes_memory_ptr",
                                                    "typeString": "bytes memory"
                                                }
                                            }
                                        ],
                                        "expression": {
                                            "argumentTypes": [
                                                {
                                                    "typeIdentifier": "t_bytes_memory_ptr",
                                                    "typeString": "bytes memory"
                                                }
                                            ],
                                            "id": 16491,
                                            "name": "_sendLogPayload",
                                            "nodeType": "Identifier",
                                            "overloadedDeclarations": [],
                                            "referencedDeclaration": 12880,
                                            "src": "28075:15:62",
                                            "typeDescriptions": {
                                                "typeIdentifier": "t_function_internal_view$_t_bytes_memory_ptr_$returns$__$",
                                                "typeString": "function (bytes memory) view"
                                            }
                                        },
                                        "id": 16500,
                                        "isConstant": false,
                                        "isLValue": false,
                                        "isPure": false,
                                        "kind": "functionCall",
                                        "lValueRequested": false,
                                        "names": [],
                                        "nodeType": "FunctionCall",
                                        "src": "28075:93:62",
                                        "tryCall": false,
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_tuple$__$",
                                            "typeString": "tuple()"
                                        }
                                    },
                                    "id": 16501,
                                    "nodeType": "ExpressionStatement",
                                    "src": "28075:93:62"
                                }
                            ]
                        },
                        "id": 16503,
                        "implemented": true,
                        "kind": "function",
                        "modifiers": [],
                        "name": "log",
                        "nameLocation": "28008:3:62",
                        "nodeType": "FunctionDefinition",
                        "parameters": {
                            "id": 16489,
                            "nodeType": "ParameterList",
                            "parameters": [
                                {
                                    "constant": false,
                                    "id": 16482,
                                    "mutability": "mutable",
                                    "name": "p0",
                                    "nameLocation": "28017:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 16503,
                                    "src": "28012:7:62",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_uint256",
                                        "typeString": "uint256"
                                    },
                                    "typeName": {
                                        "id": 16481,
                                        "name": "uint",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "28012:4:62",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_uint256",
                                            "typeString": "uint256"
                                        }
                                    },
                                    "visibility": "internal"
                                },
                                {
                                    "constant": false,
                                    "id": 16484,
                                    "mutability": "mutable",
                                    "name": "p1",
                                    "nameLocation": "28029:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 16503,
                                    "src": "28021:10:62",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_address",
                                        "typeString": "address"
                                    },
                                    "typeName": {
                                        "id": 16483,
                                        "name": "address",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "28021:7:62",
                                        "stateMutability": "nonpayable",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_address",
                                            "typeString": "address"
                                        }
                                    },
                                    "visibility": "internal"
                                },
                                {
                                    "constant": false,
                                    "id": 16486,
                                    "mutability": "mutable",
                                    "name": "p2",
                                    "nameLocation": "28041:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 16503,
                                    "src": "28033:10:62",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_address",
                                        "typeString": "address"
                                    },
                                    "typeName": {
                                        "id": 16485,
                                        "name": "address",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "28033:7:62",
                                        "stateMutability": "nonpayable",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_address",
                                            "typeString": "address"
                                        }
                                    },
                                    "visibility": "internal"
                                },
                                {
                                    "constant": false,
                                    "id": 16488,
                                    "mutability": "mutable",
                                    "name": "p3",
                                    "nameLocation": "28053:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 16503,
                                    "src": "28045:10:62",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_address",
                                        "typeString": "address"
                                    },
                                    "typeName": {
                                        "id": 16487,
                                        "name": "address",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "28045:7:62",
                                        "stateMutability": "nonpayable",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_address",
                                            "typeString": "address"
                                        }
                                    },
                                    "visibility": "internal"
                                }
                            ],
                            "src": "28011:45:62"
                        },
                        "returnParameters": {
                            "id": 16490,
                            "nodeType": "ParameterList",
                            "parameters": [],
                            "src": "28071:0:62"
                        },
                        "scope": 20920,
                        "src": "27999:173:62",
                        "stateMutability": "view",
                        "virtual": false,
                        "visibility": "internal"
                    },
                    {
                        "body": {
                            "id": 16525,
                            "nodeType": "Block",
                            "src": "28247:94:62",
                            "statements": [
                                {
                                    "expression": {
                                        "arguments": [
                                            {
                                                "arguments": [
                                                    {
                                                        "hexValue": "6c6f6728737472696e672c75696e742c75696e742c75696e7429",
                                                        "id": 16517,
                                                        "isConstant": false,
                                                        "isLValue": false,
                                                        "isPure": true,
                                                        "kind": "string",
                                                        "lValueRequested": false,
                                                        "nodeType": "Literal",
                                                        "src": "28291:28:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_stringliteral_08ee5666d6bd329d27af528e563bb238dedf631fe471effe31c7123dcb5164f2",
                                                            "typeString": "literal_string \"log(string,uint,uint,uint)\""
                                                        },
                                                        "value": "log(string,uint,uint,uint)"
                                                    },
                                                    {
                                                        "id": 16518,
                                                        "name": "p0",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 16505,
                                                        "src": "28321:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_string_memory_ptr",
                                                            "typeString": "string memory"
                                                        }
                                                    },
                                                    {
                                                        "id": 16519,
                                                        "name": "p1",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 16507,
                                                        "src": "28325:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_uint256",
                                                            "typeString": "uint256"
                                                        }
                                                    },
                                                    {
                                                        "id": 16520,
                                                        "name": "p2",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 16509,
                                                        "src": "28329:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_uint256",
                                                            "typeString": "uint256"
                                                        }
                                                    },
                                                    {
                                                        "id": 16521,
                                                        "name": "p3",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 16511,
                                                        "src": "28333:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_uint256",
                                                            "typeString": "uint256"
                                                        }
                                                    }
                                                ],
                                                "expression": {
                                                    "argumentTypes": [
                                                        {
                                                            "typeIdentifier": "t_stringliteral_08ee5666d6bd329d27af528e563bb238dedf631fe471effe31c7123dcb5164f2",
                                                            "typeString": "literal_string \"log(string,uint,uint,uint)\""
                                                        },
                                                        {
                                                            "typeIdentifier": "t_string_memory_ptr",
                                                            "typeString": "string memory"
                                                        },
                                                        {
                                                            "typeIdentifier": "t_uint256",
                                                            "typeString": "uint256"
                                                        },
                                                        {
                                                            "typeIdentifier": "t_uint256",
                                                            "typeString": "uint256"
                                                        },
                                                        {
                                                            "typeIdentifier": "t_uint256",
                                                            "typeString": "uint256"
                                                        }
                                                    ],
                                                    "expression": {
                                                        "id": 16515,
                                                        "name": "abi",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 4294967295,
                                                        "src": "28267:3:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_magic_abi",
                                                            "typeString": "abi"
                                                        }
                                                    },
                                                    "id": 16516,
                                                    "isConstant": false,
                                                    "isLValue": false,
                                                    "isPure": true,
                                                    "lValueRequested": false,
                                                    "memberName": "encodeWithSignature",
                                                    "nodeType": "MemberAccess",
                                                    "src": "28267:23:62",
                                                    "typeDescriptions": {
                                                        "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$",
                                                        "typeString": "function (string memory) pure returns (bytes memory)"
                                                    }
                                                },
                                                "id": 16522,
                                                "isConstant": false,
                                                "isLValue": false,
                                                "isPure": false,
                                                "kind": "functionCall",
                                                "lValueRequested": false,
                                                "names": [],
                                                "nodeType": "FunctionCall",
                                                "src": "28267:69:62",
                                                "tryCall": false,
                                                "typeDescriptions": {
                                                    "typeIdentifier": "t_bytes_memory_ptr",
                                                    "typeString": "bytes memory"
                                                }
                                            }
                                        ],
                                        "expression": {
                                            "argumentTypes": [
                                                {
                                                    "typeIdentifier": "t_bytes_memory_ptr",
                                                    "typeString": "bytes memory"
                                                }
                                            ],
                                            "id": 16514,
                                            "name": "_sendLogPayload",
                                            "nodeType": "Identifier",
                                            "overloadedDeclarations": [],
                                            "referencedDeclaration": 12880,
                                            "src": "28251:15:62",
                                            "typeDescriptions": {
                                                "typeIdentifier": "t_function_internal_view$_t_bytes_memory_ptr_$returns$__$",
                                                "typeString": "function (bytes memory) view"
                                            }
                                        },
                                        "id": 16523,
                                        "isConstant": false,
                                        "isLValue": false,
                                        "isPure": false,
                                        "kind": "functionCall",
                                        "lValueRequested": false,
                                        "names": [],
                                        "nodeType": "FunctionCall",
                                        "src": "28251:86:62",
                                        "tryCall": false,
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_tuple$__$",
                                            "typeString": "tuple()"
                                        }
                                    },
                                    "id": 16524,
                                    "nodeType": "ExpressionStatement",
                                    "src": "28251:86:62"
                                }
                            ]
                        },
                        "id": 16526,
                        "implemented": true,
                        "kind": "function",
                        "modifiers": [],
                        "name": "log",
                        "nameLocation": "28184:3:62",
                        "nodeType": "FunctionDefinition",
                        "parameters": {
                            "id": 16512,
                            "nodeType": "ParameterList",
                            "parameters": [
                                {
                                    "constant": false,
                                    "id": 16505,
                                    "mutability": "mutable",
                                    "name": "p0",
                                    "nameLocation": "28202:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 16526,
                                    "src": "28188:16:62",
                                    "stateVariable": false,
                                    "storageLocation": "memory",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_string_memory_ptr",
                                        "typeString": "string"
                                    },
                                    "typeName": {
                                        "id": 16504,
                                        "name": "string",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "28188:6:62",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_string_storage_ptr",
                                            "typeString": "string"
                                        }
                                    },
                                    "visibility": "internal"
                                },
                                {
                                    "constant": false,
                                    "id": 16507,
                                    "mutability": "mutable",
                                    "name": "p1",
                                    "nameLocation": "28211:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 16526,
                                    "src": "28206:7:62",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_uint256",
                                        "typeString": "uint256"
                                    },
                                    "typeName": {
                                        "id": 16506,
                                        "name": "uint",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "28206:4:62",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_uint256",
                                            "typeString": "uint256"
                                        }
                                    },
                                    "visibility": "internal"
                                },
                                {
                                    "constant": false,
                                    "id": 16509,
                                    "mutability": "mutable",
                                    "name": "p2",
                                    "nameLocation": "28220:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 16526,
                                    "src": "28215:7:62",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_uint256",
                                        "typeString": "uint256"
                                    },
                                    "typeName": {
                                        "id": 16508,
                                        "name": "uint",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "28215:4:62",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_uint256",
                                            "typeString": "uint256"
                                        }
                                    },
                                    "visibility": "internal"
                                },
                                {
                                    "constant": false,
                                    "id": 16511,
                                    "mutability": "mutable",
                                    "name": "p3",
                                    "nameLocation": "28229:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 16526,
                                    "src": "28224:7:62",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_uint256",
                                        "typeString": "uint256"
                                    },
                                    "typeName": {
                                        "id": 16510,
                                        "name": "uint",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "28224:4:62",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_uint256",
                                            "typeString": "uint256"
                                        }
                                    },
                                    "visibility": "internal"
                                }
                            ],
                            "src": "28187:45:62"
                        },
                        "returnParameters": {
                            "id": 16513,
                            "nodeType": "ParameterList",
                            "parameters": [],
                            "src": "28247:0:62"
                        },
                        "scope": 20920,
                        "src": "28175:166:62",
                        "stateMutability": "view",
                        "virtual": false,
                        "visibility": "internal"
                    },
                    {
                        "body": {
                            "id": 16548,
                            "nodeType": "Block",
                            "src": "28425:96:62",
                            "statements": [
                                {
                                    "expression": {
                                        "arguments": [
                                            {
                                                "arguments": [
                                                    {
                                                        "hexValue": "6c6f6728737472696e672c75696e742c75696e742c737472696e6729",
                                                        "id": 16540,
                                                        "isConstant": false,
                                                        "isLValue": false,
                                                        "isPure": true,
                                                        "kind": "string",
                                                        "lValueRequested": false,
                                                        "nodeType": "Literal",
                                                        "src": "28469:30:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_stringliteral_a54ed4bdd39588715cd10f1b9730ac9f0db064013c8dc11e216fa2ef3a5948b8",
                                                            "typeString": "literal_string \"log(string,uint,uint,string)\""
                                                        },
                                                        "value": "log(string,uint,uint,string)"
                                                    },
                                                    {
                                                        "id": 16541,
                                                        "name": "p0",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 16528,
                                                        "src": "28501:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_string_memory_ptr",
                                                            "typeString": "string memory"
                                                        }
                                                    },
                                                    {
                                                        "id": 16542,
                                                        "name": "p1",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 16530,
                                                        "src": "28505:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_uint256",
                                                            "typeString": "uint256"
                                                        }
                                                    },
                                                    {
                                                        "id": 16543,
                                                        "name": "p2",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 16532,
                                                        "src": "28509:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_uint256",
                                                            "typeString": "uint256"
                                                        }
                                                    },
                                                    {
                                                        "id": 16544,
                                                        "name": "p3",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 16534,
                                                        "src": "28513:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_string_memory_ptr",
                                                            "typeString": "string memory"
                                                        }
                                                    }
                                                ],
                                                "expression": {
                                                    "argumentTypes": [
                                                        {
                                                            "typeIdentifier": "t_stringliteral_a54ed4bdd39588715cd10f1b9730ac9f0db064013c8dc11e216fa2ef3a5948b8",
                                                            "typeString": "literal_string \"log(string,uint,uint,string)\""
                                                        },
                                                        {
                                                            "typeIdentifier": "t_string_memory_ptr",
                                                            "typeString": "string memory"
                                                        },
                                                        {
                                                            "typeIdentifier": "t_uint256",
                                                            "typeString": "uint256"
                                                        },
                                                        {
                                                            "typeIdentifier": "t_uint256",
                                                            "typeString": "uint256"
                                                        },
                                                        {
                                                            "typeIdentifier": "t_string_memory_ptr",
                                                            "typeString": "string memory"
                                                        }
                                                    ],
                                                    "expression": {
                                                        "id": 16538,
                                                        "name": "abi",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 4294967295,
                                                        "src": "28445:3:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_magic_abi",
                                                            "typeString": "abi"
                                                        }
                                                    },
                                                    "id": 16539,
                                                    "isConstant": false,
                                                    "isLValue": false,
                                                    "isPure": true,
                                                    "lValueRequested": false,
                                                    "memberName": "encodeWithSignature",
                                                    "nodeType": "MemberAccess",
                                                    "src": "28445:23:62",
                                                    "typeDescriptions": {
                                                        "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$",
                                                        "typeString": "function (string memory) pure returns (bytes memory)"
                                                    }
                                                },
                                                "id": 16545,
                                                "isConstant": false,
                                                "isLValue": false,
                                                "isPure": false,
                                                "kind": "functionCall",
                                                "lValueRequested": false,
                                                "names": [],
                                                "nodeType": "FunctionCall",
                                                "src": "28445:71:62",
                                                "tryCall": false,
                                                "typeDescriptions": {
                                                    "typeIdentifier": "t_bytes_memory_ptr",
                                                    "typeString": "bytes memory"
                                                }
                                            }
                                        ],
                                        "expression": {
                                            "argumentTypes": [
                                                {
                                                    "typeIdentifier": "t_bytes_memory_ptr",
                                                    "typeString": "bytes memory"
                                                }
                                            ],
                                            "id": 16537,
                                            "name": "_sendLogPayload",
                                            "nodeType": "Identifier",
                                            "overloadedDeclarations": [],
                                            "referencedDeclaration": 12880,
                                            "src": "28429:15:62",
                                            "typeDescriptions": {
                                                "typeIdentifier": "t_function_internal_view$_t_bytes_memory_ptr_$returns$__$",
                                                "typeString": "function (bytes memory) view"
                                            }
                                        },
                                        "id": 16546,
                                        "isConstant": false,
                                        "isLValue": false,
                                        "isPure": false,
                                        "kind": "functionCall",
                                        "lValueRequested": false,
                                        "names": [],
                                        "nodeType": "FunctionCall",
                                        "src": "28429:88:62",
                                        "tryCall": false,
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_tuple$__$",
                                            "typeString": "tuple()"
                                        }
                                    },
                                    "id": 16547,
                                    "nodeType": "ExpressionStatement",
                                    "src": "28429:88:62"
                                }
                            ]
                        },
                        "id": 16549,
                        "implemented": true,
                        "kind": "function",
                        "modifiers": [],
                        "name": "log",
                        "nameLocation": "28353:3:62",
                        "nodeType": "FunctionDefinition",
                        "parameters": {
                            "id": 16535,
                            "nodeType": "ParameterList",
                            "parameters": [
                                {
                                    "constant": false,
                                    "id": 16528,
                                    "mutability": "mutable",
                                    "name": "p0",
                                    "nameLocation": "28371:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 16549,
                                    "src": "28357:16:62",
                                    "stateVariable": false,
                                    "storageLocation": "memory",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_string_memory_ptr",
                                        "typeString": "string"
                                    },
                                    "typeName": {
                                        "id": 16527,
                                        "name": "string",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "28357:6:62",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_string_storage_ptr",
                                            "typeString": "string"
                                        }
                                    },
                                    "visibility": "internal"
                                },
                                {
                                    "constant": false,
                                    "id": 16530,
                                    "mutability": "mutable",
                                    "name": "p1",
                                    "nameLocation": "28380:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 16549,
                                    "src": "28375:7:62",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_uint256",
                                        "typeString": "uint256"
                                    },
                                    "typeName": {
                                        "id": 16529,
                                        "name": "uint",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "28375:4:62",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_uint256",
                                            "typeString": "uint256"
                                        }
                                    },
                                    "visibility": "internal"
                                },
                                {
                                    "constant": false,
                                    "id": 16532,
                                    "mutability": "mutable",
                                    "name": "p2",
                                    "nameLocation": "28389:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 16549,
                                    "src": "28384:7:62",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_uint256",
                                        "typeString": "uint256"
                                    },
                                    "typeName": {
                                        "id": 16531,
                                        "name": "uint",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "28384:4:62",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_uint256",
                                            "typeString": "uint256"
                                        }
                                    },
                                    "visibility": "internal"
                                },
                                {
                                    "constant": false,
                                    "id": 16534,
                                    "mutability": "mutable",
                                    "name": "p3",
                                    "nameLocation": "28407:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 16549,
                                    "src": "28393:16:62",
                                    "stateVariable": false,
                                    "storageLocation": "memory",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_string_memory_ptr",
                                        "typeString": "string"
                                    },
                                    "typeName": {
                                        "id": 16533,
                                        "name": "string",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "28393:6:62",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_string_storage_ptr",
                                            "typeString": "string"
                                        }
                                    },
                                    "visibility": "internal"
                                }
                            ],
                            "src": "28356:54:62"
                        },
                        "returnParameters": {
                            "id": 16536,
                            "nodeType": "ParameterList",
                            "parameters": [],
                            "src": "28425:0:62"
                        },
                        "scope": 20920,
                        "src": "28344:177:62",
                        "stateMutability": "view",
                        "virtual": false,
                        "visibility": "internal"
                    },
                    {
                        "body": {
                            "id": 16571,
                            "nodeType": "Block",
                            "src": "28596:94:62",
                            "statements": [
                                {
                                    "expression": {
                                        "arguments": [
                                            {
                                                "arguments": [
                                                    {
                                                        "hexValue": "6c6f6728737472696e672c75696e742c75696e742c626f6f6c29",
                                                        "id": 16563,
                                                        "isConstant": false,
                                                        "isLValue": false,
                                                        "isPure": true,
                                                        "kind": "string",
                                                        "lValueRequested": false,
                                                        "nodeType": "Literal",
                                                        "src": "28640:28:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_stringliteral_f73c7e3dc5b5cecd5787e08e359612e609c17649291b138c8f184ee441526f2d",
                                                            "typeString": "literal_string \"log(string,uint,uint,bool)\""
                                                        },
                                                        "value": "log(string,uint,uint,bool)"
                                                    },
                                                    {
                                                        "id": 16564,
                                                        "name": "p0",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 16551,
                                                        "src": "28670:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_string_memory_ptr",
                                                            "typeString": "string memory"
                                                        }
                                                    },
                                                    {
                                                        "id": 16565,
                                                        "name": "p1",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 16553,
                                                        "src": "28674:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_uint256",
                                                            "typeString": "uint256"
                                                        }
                                                    },
                                                    {
                                                        "id": 16566,
                                                        "name": "p2",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 16555,
                                                        "src": "28678:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_uint256",
                                                            "typeString": "uint256"
                                                        }
                                                    },
                                                    {
                                                        "id": 16567,
                                                        "name": "p3",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 16557,
                                                        "src": "28682:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_bool",
                                                            "typeString": "bool"
                                                        }
                                                    }
                                                ],
                                                "expression": {
                                                    "argumentTypes": [
                                                        {
                                                            "typeIdentifier": "t_stringliteral_f73c7e3dc5b5cecd5787e08e359612e609c17649291b138c8f184ee441526f2d",
                                                            "typeString": "literal_string \"log(string,uint,uint,bool)\""
                                                        },
                                                        {
                                                            "typeIdentifier": "t_string_memory_ptr",
                                                            "typeString": "string memory"
                                                        },
                                                        {
                                                            "typeIdentifier": "t_uint256",
                                                            "typeString": "uint256"
                                                        },
                                                        {
                                                            "typeIdentifier": "t_uint256",
                                                            "typeString": "uint256"
                                                        },
                                                        {
                                                            "typeIdentifier": "t_bool",
                                                            "typeString": "bool"
                                                        }
                                                    ],
                                                    "expression": {
                                                        "id": 16561,
                                                        "name": "abi",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 4294967295,
                                                        "src": "28616:3:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_magic_abi",
                                                            "typeString": "abi"
                                                        }
                                                    },
                                                    "id": 16562,
                                                    "isConstant": false,
                                                    "isLValue": false,
                                                    "isPure": true,
                                                    "lValueRequested": false,
                                                    "memberName": "encodeWithSignature",
                                                    "nodeType": "MemberAccess",
                                                    "src": "28616:23:62",
                                                    "typeDescriptions": {
                                                        "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$",
                                                        "typeString": "function (string memory) pure returns (bytes memory)"
                                                    }
                                                },
                                                "id": 16568,
                                                "isConstant": false,
                                                "isLValue": false,
                                                "isPure": false,
                                                "kind": "functionCall",
                                                "lValueRequested": false,
                                                "names": [],
                                                "nodeType": "FunctionCall",
                                                "src": "28616:69:62",
                                                "tryCall": false,
                                                "typeDescriptions": {
                                                    "typeIdentifier": "t_bytes_memory_ptr",
                                                    "typeString": "bytes memory"
                                                }
                                            }
                                        ],
                                        "expression": {
                                            "argumentTypes": [
                                                {
                                                    "typeIdentifier": "t_bytes_memory_ptr",
                                                    "typeString": "bytes memory"
                                                }
                                            ],
                                            "id": 16560,
                                            "name": "_sendLogPayload",
                                            "nodeType": "Identifier",
                                            "overloadedDeclarations": [],
                                            "referencedDeclaration": 12880,
                                            "src": "28600:15:62",
                                            "typeDescriptions": {
                                                "typeIdentifier": "t_function_internal_view$_t_bytes_memory_ptr_$returns$__$",
                                                "typeString": "function (bytes memory) view"
                                            }
                                        },
                                        "id": 16569,
                                        "isConstant": false,
                                        "isLValue": false,
                                        "isPure": false,
                                        "kind": "functionCall",
                                        "lValueRequested": false,
                                        "names": [],
                                        "nodeType": "FunctionCall",
                                        "src": "28600:86:62",
                                        "tryCall": false,
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_tuple$__$",
                                            "typeString": "tuple()"
                                        }
                                    },
                                    "id": 16570,
                                    "nodeType": "ExpressionStatement",
                                    "src": "28600:86:62"
                                }
                            ]
                        },
                        "id": 16572,
                        "implemented": true,
                        "kind": "function",
                        "modifiers": [],
                        "name": "log",
                        "nameLocation": "28533:3:62",
                        "nodeType": "FunctionDefinition",
                        "parameters": {
                            "id": 16558,
                            "nodeType": "ParameterList",
                            "parameters": [
                                {
                                    "constant": false,
                                    "id": 16551,
                                    "mutability": "mutable",
                                    "name": "p0",
                                    "nameLocation": "28551:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 16572,
                                    "src": "28537:16:62",
                                    "stateVariable": false,
                                    "storageLocation": "memory",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_string_memory_ptr",
                                        "typeString": "string"
                                    },
                                    "typeName": {
                                        "id": 16550,
                                        "name": "string",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "28537:6:62",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_string_storage_ptr",
                                            "typeString": "string"
                                        }
                                    },
                                    "visibility": "internal"
                                },
                                {
                                    "constant": false,
                                    "id": 16553,
                                    "mutability": "mutable",
                                    "name": "p1",
                                    "nameLocation": "28560:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 16572,
                                    "src": "28555:7:62",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_uint256",
                                        "typeString": "uint256"
                                    },
                                    "typeName": {
                                        "id": 16552,
                                        "name": "uint",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "28555:4:62",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_uint256",
                                            "typeString": "uint256"
                                        }
                                    },
                                    "visibility": "internal"
                                },
                                {
                                    "constant": false,
                                    "id": 16555,
                                    "mutability": "mutable",
                                    "name": "p2",
                                    "nameLocation": "28569:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 16572,
                                    "src": "28564:7:62",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_uint256",
                                        "typeString": "uint256"
                                    },
                                    "typeName": {
                                        "id": 16554,
                                        "name": "uint",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "28564:4:62",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_uint256",
                                            "typeString": "uint256"
                                        }
                                    },
                                    "visibility": "internal"
                                },
                                {
                                    "constant": false,
                                    "id": 16557,
                                    "mutability": "mutable",
                                    "name": "p3",
                                    "nameLocation": "28578:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 16572,
                                    "src": "28573:7:62",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_bool",
                                        "typeString": "bool"
                                    },
                                    "typeName": {
                                        "id": 16556,
                                        "name": "bool",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "28573:4:62",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_bool",
                                            "typeString": "bool"
                                        }
                                    },
                                    "visibility": "internal"
                                }
                            ],
                            "src": "28536:45:62"
                        },
                        "returnParameters": {
                            "id": 16559,
                            "nodeType": "ParameterList",
                            "parameters": [],
                            "src": "28596:0:62"
                        },
                        "scope": 20920,
                        "src": "28524:166:62",
                        "stateMutability": "view",
                        "virtual": false,
                        "visibility": "internal"
                    },
                    {
                        "body": {
                            "id": 16594,
                            "nodeType": "Block",
                            "src": "28768:97:62",
                            "statements": [
                                {
                                    "expression": {
                                        "arguments": [
                                            {
                                                "arguments": [
                                                    {
                                                        "hexValue": "6c6f6728737472696e672c75696e742c75696e742c6164647265737329",
                                                        "id": 16586,
                                                        "isConstant": false,
                                                        "isLValue": false,
                                                        "isPure": true,
                                                        "kind": "string",
                                                        "lValueRequested": false,
                                                        "nodeType": "Literal",
                                                        "src": "28812:31:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_stringliteral_bed728bf5bf9afc41a2cff142cfc289808bbba64cbab683d8e6689e6f6f14abc",
                                                            "typeString": "literal_string \"log(string,uint,uint,address)\""
                                                        },
                                                        "value": "log(string,uint,uint,address)"
                                                    },
                                                    {
                                                        "id": 16587,
                                                        "name": "p0",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 16574,
                                                        "src": "28845:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_string_memory_ptr",
                                                            "typeString": "string memory"
                                                        }
                                                    },
                                                    {
                                                        "id": 16588,
                                                        "name": "p1",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 16576,
                                                        "src": "28849:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_uint256",
                                                            "typeString": "uint256"
                                                        }
                                                    },
                                                    {
                                                        "id": 16589,
                                                        "name": "p2",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 16578,
                                                        "src": "28853:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_uint256",
                                                            "typeString": "uint256"
                                                        }
                                                    },
                                                    {
                                                        "id": 16590,
                                                        "name": "p3",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 16580,
                                                        "src": "28857:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_address",
                                                            "typeString": "address"
                                                        }
                                                    }
                                                ],
                                                "expression": {
                                                    "argumentTypes": [
                                                        {
                                                            "typeIdentifier": "t_stringliteral_bed728bf5bf9afc41a2cff142cfc289808bbba64cbab683d8e6689e6f6f14abc",
                                                            "typeString": "literal_string \"log(string,uint,uint,address)\""
                                                        },
                                                        {
                                                            "typeIdentifier": "t_string_memory_ptr",
                                                            "typeString": "string memory"
                                                        },
                                                        {
                                                            "typeIdentifier": "t_uint256",
                                                            "typeString": "uint256"
                                                        },
                                                        {
                                                            "typeIdentifier": "t_uint256",
                                                            "typeString": "uint256"
                                                        },
                                                        {
                                                            "typeIdentifier": "t_address",
                                                            "typeString": "address"
                                                        }
                                                    ],
                                                    "expression": {
                                                        "id": 16584,
                                                        "name": "abi",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 4294967295,
                                                        "src": "28788:3:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_magic_abi",
                                                            "typeString": "abi"
                                                        }
                                                    },
                                                    "id": 16585,
                                                    "isConstant": false,
                                                    "isLValue": false,
                                                    "isPure": true,
                                                    "lValueRequested": false,
                                                    "memberName": "encodeWithSignature",
                                                    "nodeType": "MemberAccess",
                                                    "src": "28788:23:62",
                                                    "typeDescriptions": {
                                                        "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$",
                                                        "typeString": "function (string memory) pure returns (bytes memory)"
                                                    }
                                                },
                                                "id": 16591,
                                                "isConstant": false,
                                                "isLValue": false,
                                                "isPure": false,
                                                "kind": "functionCall",
                                                "lValueRequested": false,
                                                "names": [],
                                                "nodeType": "FunctionCall",
                                                "src": "28788:72:62",
                                                "tryCall": false,
                                                "typeDescriptions": {
                                                    "typeIdentifier": "t_bytes_memory_ptr",
                                                    "typeString": "bytes memory"
                                                }
                                            }
                                        ],
                                        "expression": {
                                            "argumentTypes": [
                                                {
                                                    "typeIdentifier": "t_bytes_memory_ptr",
                                                    "typeString": "bytes memory"
                                                }
                                            ],
                                            "id": 16583,
                                            "name": "_sendLogPayload",
                                            "nodeType": "Identifier",
                                            "overloadedDeclarations": [],
                                            "referencedDeclaration": 12880,
                                            "src": "28772:15:62",
                                            "typeDescriptions": {
                                                "typeIdentifier": "t_function_internal_view$_t_bytes_memory_ptr_$returns$__$",
                                                "typeString": "function (bytes memory) view"
                                            }
                                        },
                                        "id": 16592,
                                        "isConstant": false,
                                        "isLValue": false,
                                        "isPure": false,
                                        "kind": "functionCall",
                                        "lValueRequested": false,
                                        "names": [],
                                        "nodeType": "FunctionCall",
                                        "src": "28772:89:62",
                                        "tryCall": false,
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_tuple$__$",
                                            "typeString": "tuple()"
                                        }
                                    },
                                    "id": 16593,
                                    "nodeType": "ExpressionStatement",
                                    "src": "28772:89:62"
                                }
                            ]
                        },
                        "id": 16595,
                        "implemented": true,
                        "kind": "function",
                        "modifiers": [],
                        "name": "log",
                        "nameLocation": "28702:3:62",
                        "nodeType": "FunctionDefinition",
                        "parameters": {
                            "id": 16581,
                            "nodeType": "ParameterList",
                            "parameters": [
                                {
                                    "constant": false,
                                    "id": 16574,
                                    "mutability": "mutable",
                                    "name": "p0",
                                    "nameLocation": "28720:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 16595,
                                    "src": "28706:16:62",
                                    "stateVariable": false,
                                    "storageLocation": "memory",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_string_memory_ptr",
                                        "typeString": "string"
                                    },
                                    "typeName": {
                                        "id": 16573,
                                        "name": "string",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "28706:6:62",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_string_storage_ptr",
                                            "typeString": "string"
                                        }
                                    },
                                    "visibility": "internal"
                                },
                                {
                                    "constant": false,
                                    "id": 16576,
                                    "mutability": "mutable",
                                    "name": "p1",
                                    "nameLocation": "28729:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 16595,
                                    "src": "28724:7:62",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_uint256",
                                        "typeString": "uint256"
                                    },
                                    "typeName": {
                                        "id": 16575,
                                        "name": "uint",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "28724:4:62",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_uint256",
                                            "typeString": "uint256"
                                        }
                                    },
                                    "visibility": "internal"
                                },
                                {
                                    "constant": false,
                                    "id": 16578,
                                    "mutability": "mutable",
                                    "name": "p2",
                                    "nameLocation": "28738:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 16595,
                                    "src": "28733:7:62",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_uint256",
                                        "typeString": "uint256"
                                    },
                                    "typeName": {
                                        "id": 16577,
                                        "name": "uint",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "28733:4:62",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_uint256",
                                            "typeString": "uint256"
                                        }
                                    },
                                    "visibility": "internal"
                                },
                                {
                                    "constant": false,
                                    "id": 16580,
                                    "mutability": "mutable",
                                    "name": "p3",
                                    "nameLocation": "28750:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 16595,
                                    "src": "28742:10:62",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_address",
                                        "typeString": "address"
                                    },
                                    "typeName": {
                                        "id": 16579,
                                        "name": "address",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "28742:7:62",
                                        "stateMutability": "nonpayable",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_address",
                                            "typeString": "address"
                                        }
                                    },
                                    "visibility": "internal"
                                }
                            ],
                            "src": "28705:48:62"
                        },
                        "returnParameters": {
                            "id": 16582,
                            "nodeType": "ParameterList",
                            "parameters": [],
                            "src": "28768:0:62"
                        },
                        "scope": 20920,
                        "src": "28693:172:62",
                        "stateMutability": "view",
                        "virtual": false,
                        "visibility": "internal"
                    },
                    {
                        "body": {
                            "id": 16617,
                            "nodeType": "Block",
                            "src": "28949:96:62",
                            "statements": [
                                {
                                    "expression": {
                                        "arguments": [
                                            {
                                                "arguments": [
                                                    {
                                                        "hexValue": "6c6f6728737472696e672c75696e742c737472696e672c75696e7429",
                                                        "id": 16609,
                                                        "isConstant": false,
                                                        "isLValue": false,
                                                        "isPure": true,
                                                        "kind": "string",
                                                        "lValueRequested": false,
                                                        "nodeType": "Literal",
                                                        "src": "28993:30:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_stringliteral_a0c4b225a555b1198e8b1e32117070e759cad9a7266d99901b8a7fd2482d0e2f",
                                                            "typeString": "literal_string \"log(string,uint,string,uint)\""
                                                        },
                                                        "value": "log(string,uint,string,uint)"
                                                    },
                                                    {
                                                        "id": 16610,
                                                        "name": "p0",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 16597,
                                                        "src": "29025:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_string_memory_ptr",
                                                            "typeString": "string memory"
                                                        }
                                                    },
                                                    {
                                                        "id": 16611,
                                                        "name": "p1",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 16599,
                                                        "src": "29029:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_uint256",
                                                            "typeString": "uint256"
                                                        }
                                                    },
                                                    {
                                                        "id": 16612,
                                                        "name": "p2",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 16601,
                                                        "src": "29033:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_string_memory_ptr",
                                                            "typeString": "string memory"
                                                        }
                                                    },
                                                    {
                                                        "id": 16613,
                                                        "name": "p3",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 16603,
                                                        "src": "29037:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_uint256",
                                                            "typeString": "uint256"
                                                        }
                                                    }
                                                ],
                                                "expression": {
                                                    "argumentTypes": [
                                                        {
                                                            "typeIdentifier": "t_stringliteral_a0c4b225a555b1198e8b1e32117070e759cad9a7266d99901b8a7fd2482d0e2f",
                                                            "typeString": "literal_string \"log(string,uint,string,uint)\""
                                                        },
                                                        {
                                                            "typeIdentifier": "t_string_memory_ptr",
                                                            "typeString": "string memory"
                                                        },
                                                        {
                                                            "typeIdentifier": "t_uint256",
                                                            "typeString": "uint256"
                                                        },
                                                        {
                                                            "typeIdentifier": "t_string_memory_ptr",
                                                            "typeString": "string memory"
                                                        },
                                                        {
                                                            "typeIdentifier": "t_uint256",
                                                            "typeString": "uint256"
                                                        }
                                                    ],
                                                    "expression": {
                                                        "id": 16607,
                                                        "name": "abi",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 4294967295,
                                                        "src": "28969:3:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_magic_abi",
                                                            "typeString": "abi"
                                                        }
                                                    },
                                                    "id": 16608,
                                                    "isConstant": false,
                                                    "isLValue": false,
                                                    "isPure": true,
                                                    "lValueRequested": false,
                                                    "memberName": "encodeWithSignature",
                                                    "nodeType": "MemberAccess",
                                                    "src": "28969:23:62",
                                                    "typeDescriptions": {
                                                        "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$",
                                                        "typeString": "function (string memory) pure returns (bytes memory)"
                                                    }
                                                },
                                                "id": 16614,
                                                "isConstant": false,
                                                "isLValue": false,
                                                "isPure": false,
                                                "kind": "functionCall",
                                                "lValueRequested": false,
                                                "names": [],
                                                "nodeType": "FunctionCall",
                                                "src": "28969:71:62",
                                                "tryCall": false,
                                                "typeDescriptions": {
                                                    "typeIdentifier": "t_bytes_memory_ptr",
                                                    "typeString": "bytes memory"
                                                }
                                            }
                                        ],
                                        "expression": {
                                            "argumentTypes": [
                                                {
                                                    "typeIdentifier": "t_bytes_memory_ptr",
                                                    "typeString": "bytes memory"
                                                }
                                            ],
                                            "id": 16606,
                                            "name": "_sendLogPayload",
                                            "nodeType": "Identifier",
                                            "overloadedDeclarations": [],
                                            "referencedDeclaration": 12880,
                                            "src": "28953:15:62",
                                            "typeDescriptions": {
                                                "typeIdentifier": "t_function_internal_view$_t_bytes_memory_ptr_$returns$__$",
                                                "typeString": "function (bytes memory) view"
                                            }
                                        },
                                        "id": 16615,
                                        "isConstant": false,
                                        "isLValue": false,
                                        "isPure": false,
                                        "kind": "functionCall",
                                        "lValueRequested": false,
                                        "names": [],
                                        "nodeType": "FunctionCall",
                                        "src": "28953:88:62",
                                        "tryCall": false,
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_tuple$__$",
                                            "typeString": "tuple()"
                                        }
                                    },
                                    "id": 16616,
                                    "nodeType": "ExpressionStatement",
                                    "src": "28953:88:62"
                                }
                            ]
                        },
                        "id": 16618,
                        "implemented": true,
                        "kind": "function",
                        "modifiers": [],
                        "name": "log",
                        "nameLocation": "28877:3:62",
                        "nodeType": "FunctionDefinition",
                        "parameters": {
                            "id": 16604,
                            "nodeType": "ParameterList",
                            "parameters": [
                                {
                                    "constant": false,
                                    "id": 16597,
                                    "mutability": "mutable",
                                    "name": "p0",
                                    "nameLocation": "28895:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 16618,
                                    "src": "28881:16:62",
                                    "stateVariable": false,
                                    "storageLocation": "memory",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_string_memory_ptr",
                                        "typeString": "string"
                                    },
                                    "typeName": {
                                        "id": 16596,
                                        "name": "string",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "28881:6:62",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_string_storage_ptr",
                                            "typeString": "string"
                                        }
                                    },
                                    "visibility": "internal"
                                },
                                {
                                    "constant": false,
                                    "id": 16599,
                                    "mutability": "mutable",
                                    "name": "p1",
                                    "nameLocation": "28904:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 16618,
                                    "src": "28899:7:62",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_uint256",
                                        "typeString": "uint256"
                                    },
                                    "typeName": {
                                        "id": 16598,
                                        "name": "uint",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "28899:4:62",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_uint256",
                                            "typeString": "uint256"
                                        }
                                    },
                                    "visibility": "internal"
                                },
                                {
                                    "constant": false,
                                    "id": 16601,
                                    "mutability": "mutable",
                                    "name": "p2",
                                    "nameLocation": "28922:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 16618,
                                    "src": "28908:16:62",
                                    "stateVariable": false,
                                    "storageLocation": "memory",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_string_memory_ptr",
                                        "typeString": "string"
                                    },
                                    "typeName": {
                                        "id": 16600,
                                        "name": "string",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "28908:6:62",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_string_storage_ptr",
                                            "typeString": "string"
                                        }
                                    },
                                    "visibility": "internal"
                                },
                                {
                                    "constant": false,
                                    "id": 16603,
                                    "mutability": "mutable",
                                    "name": "p3",
                                    "nameLocation": "28931:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 16618,
                                    "src": "28926:7:62",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_uint256",
                                        "typeString": "uint256"
                                    },
                                    "typeName": {
                                        "id": 16602,
                                        "name": "uint",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "28926:4:62",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_uint256",
                                            "typeString": "uint256"
                                        }
                                    },
                                    "visibility": "internal"
                                }
                            ],
                            "src": "28880:54:62"
                        },
                        "returnParameters": {
                            "id": 16605,
                            "nodeType": "ParameterList",
                            "parameters": [],
                            "src": "28949:0:62"
                        },
                        "scope": 20920,
                        "src": "28868:177:62",
                        "stateMutability": "view",
                        "virtual": false,
                        "visibility": "internal"
                    },
                    {
                        "body": {
                            "id": 16640,
                            "nodeType": "Block",
                            "src": "29138:98:62",
                            "statements": [
                                {
                                    "expression": {
                                        "arguments": [
                                            {
                                                "arguments": [
                                                    {
                                                        "hexValue": "6c6f6728737472696e672c75696e742c737472696e672c737472696e6729",
                                                        "id": 16632,
                                                        "isConstant": false,
                                                        "isLValue": false,
                                                        "isPure": true,
                                                        "kind": "string",
                                                        "lValueRequested": false,
                                                        "nodeType": "Literal",
                                                        "src": "29182:32:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_stringliteral_6c98dae27db048edb14bb31b4326832aa1fb54be52caaf49d1cecb59aa297c07",
                                                            "typeString": "literal_string \"log(string,uint,string,string)\""
                                                        },
                                                        "value": "log(string,uint,string,string)"
                                                    },
                                                    {
                                                        "id": 16633,
                                                        "name": "p0",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 16620,
                                                        "src": "29216:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_string_memory_ptr",
                                                            "typeString": "string memory"
                                                        }
                                                    },
                                                    {
                                                        "id": 16634,
                                                        "name": "p1",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 16622,
                                                        "src": "29220:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_uint256",
                                                            "typeString": "uint256"
                                                        }
                                                    },
                                                    {
                                                        "id": 16635,
                                                        "name": "p2",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 16624,
                                                        "src": "29224:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_string_memory_ptr",
                                                            "typeString": "string memory"
                                                        }
                                                    },
                                                    {
                                                        "id": 16636,
                                                        "name": "p3",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 16626,
                                                        "src": "29228:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_string_memory_ptr",
                                                            "typeString": "string memory"
                                                        }
                                                    }
                                                ],
                                                "expression": {
                                                    "argumentTypes": [
                                                        {
                                                            "typeIdentifier": "t_stringliteral_6c98dae27db048edb14bb31b4326832aa1fb54be52caaf49d1cecb59aa297c07",
                                                            "typeString": "literal_string \"log(string,uint,string,string)\""
                                                        },
                                                        {
                                                            "typeIdentifier": "t_string_memory_ptr",
                                                            "typeString": "string memory"
                                                        },
                                                        {
                                                            "typeIdentifier": "t_uint256",
                                                            "typeString": "uint256"
                                                        },
                                                        {
                                                            "typeIdentifier": "t_string_memory_ptr",
                                                            "typeString": "string memory"
                                                        },
                                                        {
                                                            "typeIdentifier": "t_string_memory_ptr",
                                                            "typeString": "string memory"
                                                        }
                                                    ],
                                                    "expression": {
                                                        "id": 16630,
                                                        "name": "abi",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 4294967295,
                                                        "src": "29158:3:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_magic_abi",
                                                            "typeString": "abi"
                                                        }
                                                    },
                                                    "id": 16631,
                                                    "isConstant": false,
                                                    "isLValue": false,
                                                    "isPure": true,
                                                    "lValueRequested": false,
                                                    "memberName": "encodeWithSignature",
                                                    "nodeType": "MemberAccess",
                                                    "src": "29158:23:62",
                                                    "typeDescriptions": {
                                                        "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$",
                                                        "typeString": "function (string memory) pure returns (bytes memory)"
                                                    }
                                                },
                                                "id": 16637,
                                                "isConstant": false,
                                                "isLValue": false,
                                                "isPure": false,
                                                "kind": "functionCall",
                                                "lValueRequested": false,
                                                "names": [],
                                                "nodeType": "FunctionCall",
                                                "src": "29158:73:62",
                                                "tryCall": false,
                                                "typeDescriptions": {
                                                    "typeIdentifier": "t_bytes_memory_ptr",
                                                    "typeString": "bytes memory"
                                                }
                                            }
                                        ],
                                        "expression": {
                                            "argumentTypes": [
                                                {
                                                    "typeIdentifier": "t_bytes_memory_ptr",
                                                    "typeString": "bytes memory"
                                                }
                                            ],
                                            "id": 16629,
                                            "name": "_sendLogPayload",
                                            "nodeType": "Identifier",
                                            "overloadedDeclarations": [],
                                            "referencedDeclaration": 12880,
                                            "src": "29142:15:62",
                                            "typeDescriptions": {
                                                "typeIdentifier": "t_function_internal_view$_t_bytes_memory_ptr_$returns$__$",
                                                "typeString": "function (bytes memory) view"
                                            }
                                        },
                                        "id": 16638,
                                        "isConstant": false,
                                        "isLValue": false,
                                        "isPure": false,
                                        "kind": "functionCall",
                                        "lValueRequested": false,
                                        "names": [],
                                        "nodeType": "FunctionCall",
                                        "src": "29142:90:62",
                                        "tryCall": false,
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_tuple$__$",
                                            "typeString": "tuple()"
                                        }
                                    },
                                    "id": 16639,
                                    "nodeType": "ExpressionStatement",
                                    "src": "29142:90:62"
                                }
                            ]
                        },
                        "id": 16641,
                        "implemented": true,
                        "kind": "function",
                        "modifiers": [],
                        "name": "log",
                        "nameLocation": "29057:3:62",
                        "nodeType": "FunctionDefinition",
                        "parameters": {
                            "id": 16627,
                            "nodeType": "ParameterList",
                            "parameters": [
                                {
                                    "constant": false,
                                    "id": 16620,
                                    "mutability": "mutable",
                                    "name": "p0",
                                    "nameLocation": "29075:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 16641,
                                    "src": "29061:16:62",
                                    "stateVariable": false,
                                    "storageLocation": "memory",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_string_memory_ptr",
                                        "typeString": "string"
                                    },
                                    "typeName": {
                                        "id": 16619,
                                        "name": "string",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "29061:6:62",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_string_storage_ptr",
                                            "typeString": "string"
                                        }
                                    },
                                    "visibility": "internal"
                                },
                                {
                                    "constant": false,
                                    "id": 16622,
                                    "mutability": "mutable",
                                    "name": "p1",
                                    "nameLocation": "29084:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 16641,
                                    "src": "29079:7:62",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_uint256",
                                        "typeString": "uint256"
                                    },
                                    "typeName": {
                                        "id": 16621,
                                        "name": "uint",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "29079:4:62",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_uint256",
                                            "typeString": "uint256"
                                        }
                                    },
                                    "visibility": "internal"
                                },
                                {
                                    "constant": false,
                                    "id": 16624,
                                    "mutability": "mutable",
                                    "name": "p2",
                                    "nameLocation": "29102:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 16641,
                                    "src": "29088:16:62",
                                    "stateVariable": false,
                                    "storageLocation": "memory",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_string_memory_ptr",
                                        "typeString": "string"
                                    },
                                    "typeName": {
                                        "id": 16623,
                                        "name": "string",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "29088:6:62",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_string_storage_ptr",
                                            "typeString": "string"
                                        }
                                    },
                                    "visibility": "internal"
                                },
                                {
                                    "constant": false,
                                    "id": 16626,
                                    "mutability": "mutable",
                                    "name": "p3",
                                    "nameLocation": "29120:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 16641,
                                    "src": "29106:16:62",
                                    "stateVariable": false,
                                    "storageLocation": "memory",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_string_memory_ptr",
                                        "typeString": "string"
                                    },
                                    "typeName": {
                                        "id": 16625,
                                        "name": "string",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "29106:6:62",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_string_storage_ptr",
                                            "typeString": "string"
                                        }
                                    },
                                    "visibility": "internal"
                                }
                            ],
                            "src": "29060:63:62"
                        },
                        "returnParameters": {
                            "id": 16628,
                            "nodeType": "ParameterList",
                            "parameters": [],
                            "src": "29138:0:62"
                        },
                        "scope": 20920,
                        "src": "29048:188:62",
                        "stateMutability": "view",
                        "virtual": false,
                        "visibility": "internal"
                    },
                    {
                        "body": {
                            "id": 16663,
                            "nodeType": "Block",
                            "src": "29320:96:62",
                            "statements": [
                                {
                                    "expression": {
                                        "arguments": [
                                            {
                                                "arguments": [
                                                    {
                                                        "hexValue": "6c6f6728737472696e672c75696e742c737472696e672c626f6f6c29",
                                                        "id": 16655,
                                                        "isConstant": false,
                                                        "isLValue": false,
                                                        "isPure": true,
                                                        "kind": "string",
                                                        "lValueRequested": false,
                                                        "nodeType": "Literal",
                                                        "src": "29364:30:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_stringliteral_e99f82cf29cb9d7551a843a55617f00569395570d3a9816be530f7c6197ec7c8",
                                                            "typeString": "literal_string \"log(string,uint,string,bool)\""
                                                        },
                                                        "value": "log(string,uint,string,bool)"
                                                    },
                                                    {
                                                        "id": 16656,
                                                        "name": "p0",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 16643,
                                                        "src": "29396:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_string_memory_ptr",
                                                            "typeString": "string memory"
                                                        }
                                                    },
                                                    {
                                                        "id": 16657,
                                                        "name": "p1",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 16645,
                                                        "src": "29400:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_uint256",
                                                            "typeString": "uint256"
                                                        }
                                                    },
                                                    {
                                                        "id": 16658,
                                                        "name": "p2",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 16647,
                                                        "src": "29404:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_string_memory_ptr",
                                                            "typeString": "string memory"
                                                        }
                                                    },
                                                    {
                                                        "id": 16659,
                                                        "name": "p3",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 16649,
                                                        "src": "29408:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_bool",
                                                            "typeString": "bool"
                                                        }
                                                    }
                                                ],
                                                "expression": {
                                                    "argumentTypes": [
                                                        {
                                                            "typeIdentifier": "t_stringliteral_e99f82cf29cb9d7551a843a55617f00569395570d3a9816be530f7c6197ec7c8",
                                                            "typeString": "literal_string \"log(string,uint,string,bool)\""
                                                        },
                                                        {
                                                            "typeIdentifier": "t_string_memory_ptr",
                                                            "typeString": "string memory"
                                                        },
                                                        {
                                                            "typeIdentifier": "t_uint256",
                                                            "typeString": "uint256"
                                                        },
                                                        {
                                                            "typeIdentifier": "t_string_memory_ptr",
                                                            "typeString": "string memory"
                                                        },
                                                        {
                                                            "typeIdentifier": "t_bool",
                                                            "typeString": "bool"
                                                        }
                                                    ],
                                                    "expression": {
                                                        "id": 16653,
                                                        "name": "abi",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 4294967295,
                                                        "src": "29340:3:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_magic_abi",
                                                            "typeString": "abi"
                                                        }
                                                    },
                                                    "id": 16654,
                                                    "isConstant": false,
                                                    "isLValue": false,
                                                    "isPure": true,
                                                    "lValueRequested": false,
                                                    "memberName": "encodeWithSignature",
                                                    "nodeType": "MemberAccess",
                                                    "src": "29340:23:62",
                                                    "typeDescriptions": {
                                                        "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$",
                                                        "typeString": "function (string memory) pure returns (bytes memory)"
                                                    }
                                                },
                                                "id": 16660,
                                                "isConstant": false,
                                                "isLValue": false,
                                                "isPure": false,
                                                "kind": "functionCall",
                                                "lValueRequested": false,
                                                "names": [],
                                                "nodeType": "FunctionCall",
                                                "src": "29340:71:62",
                                                "tryCall": false,
                                                "typeDescriptions": {
                                                    "typeIdentifier": "t_bytes_memory_ptr",
                                                    "typeString": "bytes memory"
                                                }
                                            }
                                        ],
                                        "expression": {
                                            "argumentTypes": [
                                                {
                                                    "typeIdentifier": "t_bytes_memory_ptr",
                                                    "typeString": "bytes memory"
                                                }
                                            ],
                                            "id": 16652,
                                            "name": "_sendLogPayload",
                                            "nodeType": "Identifier",
                                            "overloadedDeclarations": [],
                                            "referencedDeclaration": 12880,
                                            "src": "29324:15:62",
                                            "typeDescriptions": {
                                                "typeIdentifier": "t_function_internal_view$_t_bytes_memory_ptr_$returns$__$",
                                                "typeString": "function (bytes memory) view"
                                            }
                                        },
                                        "id": 16661,
                                        "isConstant": false,
                                        "isLValue": false,
                                        "isPure": false,
                                        "kind": "functionCall",
                                        "lValueRequested": false,
                                        "names": [],
                                        "nodeType": "FunctionCall",
                                        "src": "29324:88:62",
                                        "tryCall": false,
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_tuple$__$",
                                            "typeString": "tuple()"
                                        }
                                    },
                                    "id": 16662,
                                    "nodeType": "ExpressionStatement",
                                    "src": "29324:88:62"
                                }
                            ]
                        },
                        "id": 16664,
                        "implemented": true,
                        "kind": "function",
                        "modifiers": [],
                        "name": "log",
                        "nameLocation": "29248:3:62",
                        "nodeType": "FunctionDefinition",
                        "parameters": {
                            "id": 16650,
                            "nodeType": "ParameterList",
                            "parameters": [
                                {
                                    "constant": false,
                                    "id": 16643,
                                    "mutability": "mutable",
                                    "name": "p0",
                                    "nameLocation": "29266:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 16664,
                                    "src": "29252:16:62",
                                    "stateVariable": false,
                                    "storageLocation": "memory",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_string_memory_ptr",
                                        "typeString": "string"
                                    },
                                    "typeName": {
                                        "id": 16642,
                                        "name": "string",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "29252:6:62",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_string_storage_ptr",
                                            "typeString": "string"
                                        }
                                    },
                                    "visibility": "internal"
                                },
                                {
                                    "constant": false,
                                    "id": 16645,
                                    "mutability": "mutable",
                                    "name": "p1",
                                    "nameLocation": "29275:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 16664,
                                    "src": "29270:7:62",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_uint256",
                                        "typeString": "uint256"
                                    },
                                    "typeName": {
                                        "id": 16644,
                                        "name": "uint",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "29270:4:62",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_uint256",
                                            "typeString": "uint256"
                                        }
                                    },
                                    "visibility": "internal"
                                },
                                {
                                    "constant": false,
                                    "id": 16647,
                                    "mutability": "mutable",
                                    "name": "p2",
                                    "nameLocation": "29293:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 16664,
                                    "src": "29279:16:62",
                                    "stateVariable": false,
                                    "storageLocation": "memory",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_string_memory_ptr",
                                        "typeString": "string"
                                    },
                                    "typeName": {
                                        "id": 16646,
                                        "name": "string",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "29279:6:62",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_string_storage_ptr",
                                            "typeString": "string"
                                        }
                                    },
                                    "visibility": "internal"
                                },
                                {
                                    "constant": false,
                                    "id": 16649,
                                    "mutability": "mutable",
                                    "name": "p3",
                                    "nameLocation": "29302:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 16664,
                                    "src": "29297:7:62",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_bool",
                                        "typeString": "bool"
                                    },
                                    "typeName": {
                                        "id": 16648,
                                        "name": "bool",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "29297:4:62",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_bool",
                                            "typeString": "bool"
                                        }
                                    },
                                    "visibility": "internal"
                                }
                            ],
                            "src": "29251:54:62"
                        },
                        "returnParameters": {
                            "id": 16651,
                            "nodeType": "ParameterList",
                            "parameters": [],
                            "src": "29320:0:62"
                        },
                        "scope": 20920,
                        "src": "29239:177:62",
                        "stateMutability": "view",
                        "virtual": false,
                        "visibility": "internal"
                    },
                    {
                        "body": {
                            "id": 16686,
                            "nodeType": "Block",
                            "src": "29503:99:62",
                            "statements": [
                                {
                                    "expression": {
                                        "arguments": [
                                            {
                                                "arguments": [
                                                    {
                                                        "hexValue": "6c6f6728737472696e672c75696e742c737472696e672c6164647265737329",
                                                        "id": 16678,
                                                        "isConstant": false,
                                                        "isLValue": false,
                                                        "isPure": true,
                                                        "kind": "string",
                                                        "lValueRequested": false,
                                                        "nodeType": "Literal",
                                                        "src": "29547:33:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_stringliteral_bb7235e9977380af5de9932c5c28e18d22806b4b0a15ac7e98086e795e59b31c",
                                                            "typeString": "literal_string \"log(string,uint,string,address)\""
                                                        },
                                                        "value": "log(string,uint,string,address)"
                                                    },
                                                    {
                                                        "id": 16679,
                                                        "name": "p0",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 16666,
                                                        "src": "29582:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_string_memory_ptr",
                                                            "typeString": "string memory"
                                                        }
                                                    },
                                                    {
                                                        "id": 16680,
                                                        "name": "p1",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 16668,
                                                        "src": "29586:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_uint256",
                                                            "typeString": "uint256"
                                                        }
                                                    },
                                                    {
                                                        "id": 16681,
                                                        "name": "p2",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 16670,
                                                        "src": "29590:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_string_memory_ptr",
                                                            "typeString": "string memory"
                                                        }
                                                    },
                                                    {
                                                        "id": 16682,
                                                        "name": "p3",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 16672,
                                                        "src": "29594:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_address",
                                                            "typeString": "address"
                                                        }
                                                    }
                                                ],
                                                "expression": {
                                                    "argumentTypes": [
                                                        {
                                                            "typeIdentifier": "t_stringliteral_bb7235e9977380af5de9932c5c28e18d22806b4b0a15ac7e98086e795e59b31c",
                                                            "typeString": "literal_string \"log(string,uint,string,address)\""
                                                        },
                                                        {
                                                            "typeIdentifier": "t_string_memory_ptr",
                                                            "typeString": "string memory"
                                                        },
                                                        {
                                                            "typeIdentifier": "t_uint256",
                                                            "typeString": "uint256"
                                                        },
                                                        {
                                                            "typeIdentifier": "t_string_memory_ptr",
                                                            "typeString": "string memory"
                                                        },
                                                        {
                                                            "typeIdentifier": "t_address",
                                                            "typeString": "address"
                                                        }
                                                    ],
                                                    "expression": {
                                                        "id": 16676,
                                                        "name": "abi",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 4294967295,
                                                        "src": "29523:3:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_magic_abi",
                                                            "typeString": "abi"
                                                        }
                                                    },
                                                    "id": 16677,
                                                    "isConstant": false,
                                                    "isLValue": false,
                                                    "isPure": true,
                                                    "lValueRequested": false,
                                                    "memberName": "encodeWithSignature",
                                                    "nodeType": "MemberAccess",
                                                    "src": "29523:23:62",
                                                    "typeDescriptions": {
                                                        "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$",
                                                        "typeString": "function (string memory) pure returns (bytes memory)"
                                                    }
                                                },
                                                "id": 16683,
                                                "isConstant": false,
                                                "isLValue": false,
                                                "isPure": false,
                                                "kind": "functionCall",
                                                "lValueRequested": false,
                                                "names": [],
                                                "nodeType": "FunctionCall",
                                                "src": "29523:74:62",
                                                "tryCall": false,
                                                "typeDescriptions": {
                                                    "typeIdentifier": "t_bytes_memory_ptr",
                                                    "typeString": "bytes memory"
                                                }
                                            }
                                        ],
                                        "expression": {
                                            "argumentTypes": [
                                                {
                                                    "typeIdentifier": "t_bytes_memory_ptr",
                                                    "typeString": "bytes memory"
                                                }
                                            ],
                                            "id": 16675,
                                            "name": "_sendLogPayload",
                                            "nodeType": "Identifier",
                                            "overloadedDeclarations": [],
                                            "referencedDeclaration": 12880,
                                            "src": "29507:15:62",
                                            "typeDescriptions": {
                                                "typeIdentifier": "t_function_internal_view$_t_bytes_memory_ptr_$returns$__$",
                                                "typeString": "function (bytes memory) view"
                                            }
                                        },
                                        "id": 16684,
                                        "isConstant": false,
                                        "isLValue": false,
                                        "isPure": false,
                                        "kind": "functionCall",
                                        "lValueRequested": false,
                                        "names": [],
                                        "nodeType": "FunctionCall",
                                        "src": "29507:91:62",
                                        "tryCall": false,
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_tuple$__$",
                                            "typeString": "tuple()"
                                        }
                                    },
                                    "id": 16685,
                                    "nodeType": "ExpressionStatement",
                                    "src": "29507:91:62"
                                }
                            ]
                        },
                        "id": 16687,
                        "implemented": true,
                        "kind": "function",
                        "modifiers": [],
                        "name": "log",
                        "nameLocation": "29428:3:62",
                        "nodeType": "FunctionDefinition",
                        "parameters": {
                            "id": 16673,
                            "nodeType": "ParameterList",
                            "parameters": [
                                {
                                    "constant": false,
                                    "id": 16666,
                                    "mutability": "mutable",
                                    "name": "p0",
                                    "nameLocation": "29446:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 16687,
                                    "src": "29432:16:62",
                                    "stateVariable": false,
                                    "storageLocation": "memory",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_string_memory_ptr",
                                        "typeString": "string"
                                    },
                                    "typeName": {
                                        "id": 16665,
                                        "name": "string",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "29432:6:62",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_string_storage_ptr",
                                            "typeString": "string"
                                        }
                                    },
                                    "visibility": "internal"
                                },
                                {
                                    "constant": false,
                                    "id": 16668,
                                    "mutability": "mutable",
                                    "name": "p1",
                                    "nameLocation": "29455:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 16687,
                                    "src": "29450:7:62",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_uint256",
                                        "typeString": "uint256"
                                    },
                                    "typeName": {
                                        "id": 16667,
                                        "name": "uint",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "29450:4:62",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_uint256",
                                            "typeString": "uint256"
                                        }
                                    },
                                    "visibility": "internal"
                                },
                                {
                                    "constant": false,
                                    "id": 16670,
                                    "mutability": "mutable",
                                    "name": "p2",
                                    "nameLocation": "29473:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 16687,
                                    "src": "29459:16:62",
                                    "stateVariable": false,
                                    "storageLocation": "memory",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_string_memory_ptr",
                                        "typeString": "string"
                                    },
                                    "typeName": {
                                        "id": 16669,
                                        "name": "string",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "29459:6:62",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_string_storage_ptr",
                                            "typeString": "string"
                                        }
                                    },
                                    "visibility": "internal"
                                },
                                {
                                    "constant": false,
                                    "id": 16672,
                                    "mutability": "mutable",
                                    "name": "p3",
                                    "nameLocation": "29485:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 16687,
                                    "src": "29477:10:62",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_address",
                                        "typeString": "address"
                                    },
                                    "typeName": {
                                        "id": 16671,
                                        "name": "address",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "29477:7:62",
                                        "stateMutability": "nonpayable",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_address",
                                            "typeString": "address"
                                        }
                                    },
                                    "visibility": "internal"
                                }
                            ],
                            "src": "29431:57:62"
                        },
                        "returnParameters": {
                            "id": 16674,
                            "nodeType": "ParameterList",
                            "parameters": [],
                            "src": "29503:0:62"
                        },
                        "scope": 20920,
                        "src": "29419:183:62",
                        "stateMutability": "view",
                        "virtual": false,
                        "visibility": "internal"
                    },
                    {
                        "body": {
                            "id": 16709,
                            "nodeType": "Block",
                            "src": "29677:94:62",
                            "statements": [
                                {
                                    "expression": {
                                        "arguments": [
                                            {
                                                "arguments": [
                                                    {
                                                        "hexValue": "6c6f6728737472696e672c75696e742c626f6f6c2c75696e7429",
                                                        "id": 16701,
                                                        "isConstant": false,
                                                        "isLValue": false,
                                                        "isPure": true,
                                                        "kind": "string",
                                                        "lValueRequested": false,
                                                        "nodeType": "Literal",
                                                        "src": "29721:28:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_stringliteral_550e6ef516f1b3b5be9432b068022af744a919b7f9554b6605ddb59dad27875f",
                                                            "typeString": "literal_string \"log(string,uint,bool,uint)\""
                                                        },
                                                        "value": "log(string,uint,bool,uint)"
                                                    },
                                                    {
                                                        "id": 16702,
                                                        "name": "p0",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 16689,
                                                        "src": "29751:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_string_memory_ptr",
                                                            "typeString": "string memory"
                                                        }
                                                    },
                                                    {
                                                        "id": 16703,
                                                        "name": "p1",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 16691,
                                                        "src": "29755:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_uint256",
                                                            "typeString": "uint256"
                                                        }
                                                    },
                                                    {
                                                        "id": 16704,
                                                        "name": "p2",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 16693,
                                                        "src": "29759:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_bool",
                                                            "typeString": "bool"
                                                        }
                                                    },
                                                    {
                                                        "id": 16705,
                                                        "name": "p3",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 16695,
                                                        "src": "29763:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_uint256",
                                                            "typeString": "uint256"
                                                        }
                                                    }
                                                ],
                                                "expression": {
                                                    "argumentTypes": [
                                                        {
                                                            "typeIdentifier": "t_stringliteral_550e6ef516f1b3b5be9432b068022af744a919b7f9554b6605ddb59dad27875f",
                                                            "typeString": "literal_string \"log(string,uint,bool,uint)\""
                                                        },
                                                        {
                                                            "typeIdentifier": "t_string_memory_ptr",
                                                            "typeString": "string memory"
                                                        },
                                                        {
                                                            "typeIdentifier": "t_uint256",
                                                            "typeString": "uint256"
                                                        },
                                                        {
                                                            "typeIdentifier": "t_bool",
                                                            "typeString": "bool"
                                                        },
                                                        {
                                                            "typeIdentifier": "t_uint256",
                                                            "typeString": "uint256"
                                                        }
                                                    ],
                                                    "expression": {
                                                        "id": 16699,
                                                        "name": "abi",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 4294967295,
                                                        "src": "29697:3:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_magic_abi",
                                                            "typeString": "abi"
                                                        }
                                                    },
                                                    "id": 16700,
                                                    "isConstant": false,
                                                    "isLValue": false,
                                                    "isPure": true,
                                                    "lValueRequested": false,
                                                    "memberName": "encodeWithSignature",
                                                    "nodeType": "MemberAccess",
                                                    "src": "29697:23:62",
                                                    "typeDescriptions": {
                                                        "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$",
                                                        "typeString": "function (string memory) pure returns (bytes memory)"
                                                    }
                                                },
                                                "id": 16706,
                                                "isConstant": false,
                                                "isLValue": false,
                                                "isPure": false,
                                                "kind": "functionCall",
                                                "lValueRequested": false,
                                                "names": [],
                                                "nodeType": "FunctionCall",
                                                "src": "29697:69:62",
                                                "tryCall": false,
                                                "typeDescriptions": {
                                                    "typeIdentifier": "t_bytes_memory_ptr",
                                                    "typeString": "bytes memory"
                                                }
                                            }
                                        ],
                                        "expression": {
                                            "argumentTypes": [
                                                {
                                                    "typeIdentifier": "t_bytes_memory_ptr",
                                                    "typeString": "bytes memory"
                                                }
                                            ],
                                            "id": 16698,
                                            "name": "_sendLogPayload",
                                            "nodeType": "Identifier",
                                            "overloadedDeclarations": [],
                                            "referencedDeclaration": 12880,
                                            "src": "29681:15:62",
                                            "typeDescriptions": {
                                                "typeIdentifier": "t_function_internal_view$_t_bytes_memory_ptr_$returns$__$",
                                                "typeString": "function (bytes memory) view"
                                            }
                                        },
                                        "id": 16707,
                                        "isConstant": false,
                                        "isLValue": false,
                                        "isPure": false,
                                        "kind": "functionCall",
                                        "lValueRequested": false,
                                        "names": [],
                                        "nodeType": "FunctionCall",
                                        "src": "29681:86:62",
                                        "tryCall": false,
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_tuple$__$",
                                            "typeString": "tuple()"
                                        }
                                    },
                                    "id": 16708,
                                    "nodeType": "ExpressionStatement",
                                    "src": "29681:86:62"
                                }
                            ]
                        },
                        "id": 16710,
                        "implemented": true,
                        "kind": "function",
                        "modifiers": [],
                        "name": "log",
                        "nameLocation": "29614:3:62",
                        "nodeType": "FunctionDefinition",
                        "parameters": {
                            "id": 16696,
                            "nodeType": "ParameterList",
                            "parameters": [
                                {
                                    "constant": false,
                                    "id": 16689,
                                    "mutability": "mutable",
                                    "name": "p0",
                                    "nameLocation": "29632:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 16710,
                                    "src": "29618:16:62",
                                    "stateVariable": false,
                                    "storageLocation": "memory",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_string_memory_ptr",
                                        "typeString": "string"
                                    },
                                    "typeName": {
                                        "id": 16688,
                                        "name": "string",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "29618:6:62",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_string_storage_ptr",
                                            "typeString": "string"
                                        }
                                    },
                                    "visibility": "internal"
                                },
                                {
                                    "constant": false,
                                    "id": 16691,
                                    "mutability": "mutable",
                                    "name": "p1",
                                    "nameLocation": "29641:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 16710,
                                    "src": "29636:7:62",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_uint256",
                                        "typeString": "uint256"
                                    },
                                    "typeName": {
                                        "id": 16690,
                                        "name": "uint",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "29636:4:62",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_uint256",
                                            "typeString": "uint256"
                                        }
                                    },
                                    "visibility": "internal"
                                },
                                {
                                    "constant": false,
                                    "id": 16693,
                                    "mutability": "mutable",
                                    "name": "p2",
                                    "nameLocation": "29650:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 16710,
                                    "src": "29645:7:62",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_bool",
                                        "typeString": "bool"
                                    },
                                    "typeName": {
                                        "id": 16692,
                                        "name": "bool",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "29645:4:62",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_bool",
                                            "typeString": "bool"
                                        }
                                    },
                                    "visibility": "internal"
                                },
                                {
                                    "constant": false,
                                    "id": 16695,
                                    "mutability": "mutable",
                                    "name": "p3",
                                    "nameLocation": "29659:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 16710,
                                    "src": "29654:7:62",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_uint256",
                                        "typeString": "uint256"
                                    },
                                    "typeName": {
                                        "id": 16694,
                                        "name": "uint",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "29654:4:62",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_uint256",
                                            "typeString": "uint256"
                                        }
                                    },
                                    "visibility": "internal"
                                }
                            ],
                            "src": "29617:45:62"
                        },
                        "returnParameters": {
                            "id": 16697,
                            "nodeType": "ParameterList",
                            "parameters": [],
                            "src": "29677:0:62"
                        },
                        "scope": 20920,
                        "src": "29605:166:62",
                        "stateMutability": "view",
                        "virtual": false,
                        "visibility": "internal"
                    },
                    {
                        "body": {
                            "id": 16732,
                            "nodeType": "Block",
                            "src": "29855:96:62",
                            "statements": [
                                {
                                    "expression": {
                                        "arguments": [
                                            {
                                                "arguments": [
                                                    {
                                                        "hexValue": "6c6f6728737472696e672c75696e742c626f6f6c2c737472696e6729",
                                                        "id": 16724,
                                                        "isConstant": false,
                                                        "isLValue": false,
                                                        "isPure": true,
                                                        "kind": "string",
                                                        "lValueRequested": false,
                                                        "nodeType": "Literal",
                                                        "src": "29899:30:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_stringliteral_76cc6064a225b36730abdd64aa9dcb74a19c97e79a6eaa7e7a7381b59d8b3f68",
                                                            "typeString": "literal_string \"log(string,uint,bool,string)\""
                                                        },
                                                        "value": "log(string,uint,bool,string)"
                                                    },
                                                    {
                                                        "id": 16725,
                                                        "name": "p0",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 16712,
                                                        "src": "29931:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_string_memory_ptr",
                                                            "typeString": "string memory"
                                                        }
                                                    },
                                                    {
                                                        "id": 16726,
                                                        "name": "p1",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 16714,
                                                        "src": "29935:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_uint256",
                                                            "typeString": "uint256"
                                                        }
                                                    },
                                                    {
                                                        "id": 16727,
                                                        "name": "p2",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 16716,
                                                        "src": "29939:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_bool",
                                                            "typeString": "bool"
                                                        }
                                                    },
                                                    {
                                                        "id": 16728,
                                                        "name": "p3",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 16718,
                                                        "src": "29943:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_string_memory_ptr",
                                                            "typeString": "string memory"
                                                        }
                                                    }
                                                ],
                                                "expression": {
                                                    "argumentTypes": [
                                                        {
                                                            "typeIdentifier": "t_stringliteral_76cc6064a225b36730abdd64aa9dcb74a19c97e79a6eaa7e7a7381b59d8b3f68",
                                                            "typeString": "literal_string \"log(string,uint,bool,string)\""
                                                        },
                                                        {
                                                            "typeIdentifier": "t_string_memory_ptr",
                                                            "typeString": "string memory"
                                                        },
                                                        {
                                                            "typeIdentifier": "t_uint256",
                                                            "typeString": "uint256"
                                                        },
                                                        {
                                                            "typeIdentifier": "t_bool",
                                                            "typeString": "bool"
                                                        },
                                                        {
                                                            "typeIdentifier": "t_string_memory_ptr",
                                                            "typeString": "string memory"
                                                        }
                                                    ],
                                                    "expression": {
                                                        "id": 16722,
                                                        "name": "abi",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 4294967295,
                                                        "src": "29875:3:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_magic_abi",
                                                            "typeString": "abi"
                                                        }
                                                    },
                                                    "id": 16723,
                                                    "isConstant": false,
                                                    "isLValue": false,
                                                    "isPure": true,
                                                    "lValueRequested": false,
                                                    "memberName": "encodeWithSignature",
                                                    "nodeType": "MemberAccess",
                                                    "src": "29875:23:62",
                                                    "typeDescriptions": {
                                                        "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$",
                                                        "typeString": "function (string memory) pure returns (bytes memory)"
                                                    }
                                                },
                                                "id": 16729,
                                                "isConstant": false,
                                                "isLValue": false,
                                                "isPure": false,
                                                "kind": "functionCall",
                                                "lValueRequested": false,
                                                "names": [],
                                                "nodeType": "FunctionCall",
                                                "src": "29875:71:62",
                                                "tryCall": false,
                                                "typeDescriptions": {
                                                    "typeIdentifier": "t_bytes_memory_ptr",
                                                    "typeString": "bytes memory"
                                                }
                                            }
                                        ],
                                        "expression": {
                                            "argumentTypes": [
                                                {
                                                    "typeIdentifier": "t_bytes_memory_ptr",
                                                    "typeString": "bytes memory"
                                                }
                                            ],
                                            "id": 16721,
                                            "name": "_sendLogPayload",
                                            "nodeType": "Identifier",
                                            "overloadedDeclarations": [],
                                            "referencedDeclaration": 12880,
                                            "src": "29859:15:62",
                                            "typeDescriptions": {
                                                "typeIdentifier": "t_function_internal_view$_t_bytes_memory_ptr_$returns$__$",
                                                "typeString": "function (bytes memory) view"
                                            }
                                        },
                                        "id": 16730,
                                        "isConstant": false,
                                        "isLValue": false,
                                        "isPure": false,
                                        "kind": "functionCall",
                                        "lValueRequested": false,
                                        "names": [],
                                        "nodeType": "FunctionCall",
                                        "src": "29859:88:62",
                                        "tryCall": false,
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_tuple$__$",
                                            "typeString": "tuple()"
                                        }
                                    },
                                    "id": 16731,
                                    "nodeType": "ExpressionStatement",
                                    "src": "29859:88:62"
                                }
                            ]
                        },
                        "id": 16733,
                        "implemented": true,
                        "kind": "function",
                        "modifiers": [],
                        "name": "log",
                        "nameLocation": "29783:3:62",
                        "nodeType": "FunctionDefinition",
                        "parameters": {
                            "id": 16719,
                            "nodeType": "ParameterList",
                            "parameters": [
                                {
                                    "constant": false,
                                    "id": 16712,
                                    "mutability": "mutable",
                                    "name": "p0",
                                    "nameLocation": "29801:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 16733,
                                    "src": "29787:16:62",
                                    "stateVariable": false,
                                    "storageLocation": "memory",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_string_memory_ptr",
                                        "typeString": "string"
                                    },
                                    "typeName": {
                                        "id": 16711,
                                        "name": "string",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "29787:6:62",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_string_storage_ptr",
                                            "typeString": "string"
                                        }
                                    },
                                    "visibility": "internal"
                                },
                                {
                                    "constant": false,
                                    "id": 16714,
                                    "mutability": "mutable",
                                    "name": "p1",
                                    "nameLocation": "29810:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 16733,
                                    "src": "29805:7:62",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_uint256",
                                        "typeString": "uint256"
                                    },
                                    "typeName": {
                                        "id": 16713,
                                        "name": "uint",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "29805:4:62",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_uint256",
                                            "typeString": "uint256"
                                        }
                                    },
                                    "visibility": "internal"
                                },
                                {
                                    "constant": false,
                                    "id": 16716,
                                    "mutability": "mutable",
                                    "name": "p2",
                                    "nameLocation": "29819:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 16733,
                                    "src": "29814:7:62",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_bool",
                                        "typeString": "bool"
                                    },
                                    "typeName": {
                                        "id": 16715,
                                        "name": "bool",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "29814:4:62",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_bool",
                                            "typeString": "bool"
                                        }
                                    },
                                    "visibility": "internal"
                                },
                                {
                                    "constant": false,
                                    "id": 16718,
                                    "mutability": "mutable",
                                    "name": "p3",
                                    "nameLocation": "29837:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 16733,
                                    "src": "29823:16:62",
                                    "stateVariable": false,
                                    "storageLocation": "memory",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_string_memory_ptr",
                                        "typeString": "string"
                                    },
                                    "typeName": {
                                        "id": 16717,
                                        "name": "string",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "29823:6:62",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_string_storage_ptr",
                                            "typeString": "string"
                                        }
                                    },
                                    "visibility": "internal"
                                }
                            ],
                            "src": "29786:54:62"
                        },
                        "returnParameters": {
                            "id": 16720,
                            "nodeType": "ParameterList",
                            "parameters": [],
                            "src": "29855:0:62"
                        },
                        "scope": 20920,
                        "src": "29774:177:62",
                        "stateMutability": "view",
                        "virtual": false,
                        "visibility": "internal"
                    },
                    {
                        "body": {
                            "id": 16755,
                            "nodeType": "Block",
                            "src": "30026:94:62",
                            "statements": [
                                {
                                    "expression": {
                                        "arguments": [
                                            {
                                                "arguments": [
                                                    {
                                                        "hexValue": "6c6f6728737472696e672c75696e742c626f6f6c2c626f6f6c29",
                                                        "id": 16747,
                                                        "isConstant": false,
                                                        "isLValue": false,
                                                        "isPure": true,
                                                        "kind": "string",
                                                        "lValueRequested": false,
                                                        "nodeType": "Literal",
                                                        "src": "30070:28:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_stringliteral_e37ff3d07873d5117abd74fe9be70fdadf355b74510a6f7507b0edd4a0032d7f",
                                                            "typeString": "literal_string \"log(string,uint,bool,bool)\""
                                                        },
                                                        "value": "log(string,uint,bool,bool)"
                                                    },
                                                    {
                                                        "id": 16748,
                                                        "name": "p0",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 16735,
                                                        "src": "30100:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_string_memory_ptr",
                                                            "typeString": "string memory"
                                                        }
                                                    },
                                                    {
                                                        "id": 16749,
                                                        "name": "p1",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 16737,
                                                        "src": "30104:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_uint256",
                                                            "typeString": "uint256"
                                                        }
                                                    },
                                                    {
                                                        "id": 16750,
                                                        "name": "p2",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 16739,
                                                        "src": "30108:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_bool",
                                                            "typeString": "bool"
                                                        }
                                                    },
                                                    {
                                                        "id": 16751,
                                                        "name": "p3",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 16741,
                                                        "src": "30112:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_bool",
                                                            "typeString": "bool"
                                                        }
                                                    }
                                                ],
                                                "expression": {
                                                    "argumentTypes": [
                                                        {
                                                            "typeIdentifier": "t_stringliteral_e37ff3d07873d5117abd74fe9be70fdadf355b74510a6f7507b0edd4a0032d7f",
                                                            "typeString": "literal_string \"log(string,uint,bool,bool)\""
                                                        },
                                                        {
                                                            "typeIdentifier": "t_string_memory_ptr",
                                                            "typeString": "string memory"
                                                        },
                                                        {
                                                            "typeIdentifier": "t_uint256",
                                                            "typeString": "uint256"
                                                        },
                                                        {
                                                            "typeIdentifier": "t_bool",
                                                            "typeString": "bool"
                                                        },
                                                        {
                                                            "typeIdentifier": "t_bool",
                                                            "typeString": "bool"
                                                        }
                                                    ],
                                                    "expression": {
                                                        "id": 16745,
                                                        "name": "abi",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 4294967295,
                                                        "src": "30046:3:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_magic_abi",
                                                            "typeString": "abi"
                                                        }
                                                    },
                                                    "id": 16746,
                                                    "isConstant": false,
                                                    "isLValue": false,
                                                    "isPure": true,
                                                    "lValueRequested": false,
                                                    "memberName": "encodeWithSignature",
                                                    "nodeType": "MemberAccess",
                                                    "src": "30046:23:62",
                                                    "typeDescriptions": {
                                                        "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$",
                                                        "typeString": "function (string memory) pure returns (bytes memory)"
                                                    }
                                                },
                                                "id": 16752,
                                                "isConstant": false,
                                                "isLValue": false,
                                                "isPure": false,
                                                "kind": "functionCall",
                                                "lValueRequested": false,
                                                "names": [],
                                                "nodeType": "FunctionCall",
                                                "src": "30046:69:62",
                                                "tryCall": false,
                                                "typeDescriptions": {
                                                    "typeIdentifier": "t_bytes_memory_ptr",
                                                    "typeString": "bytes memory"
                                                }
                                            }
                                        ],
                                        "expression": {
                                            "argumentTypes": [
                                                {
                                                    "typeIdentifier": "t_bytes_memory_ptr",
                                                    "typeString": "bytes memory"
                                                }
                                            ],
                                            "id": 16744,
                                            "name": "_sendLogPayload",
                                            "nodeType": "Identifier",
                                            "overloadedDeclarations": [],
                                            "referencedDeclaration": 12880,
                                            "src": "30030:15:62",
                                            "typeDescriptions": {
                                                "typeIdentifier": "t_function_internal_view$_t_bytes_memory_ptr_$returns$__$",
                                                "typeString": "function (bytes memory) view"
                                            }
                                        },
                                        "id": 16753,
                                        "isConstant": false,
                                        "isLValue": false,
                                        "isPure": false,
                                        "kind": "functionCall",
                                        "lValueRequested": false,
                                        "names": [],
                                        "nodeType": "FunctionCall",
                                        "src": "30030:86:62",
                                        "tryCall": false,
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_tuple$__$",
                                            "typeString": "tuple()"
                                        }
                                    },
                                    "id": 16754,
                                    "nodeType": "ExpressionStatement",
                                    "src": "30030:86:62"
                                }
                            ]
                        },
                        "id": 16756,
                        "implemented": true,
                        "kind": "function",
                        "modifiers": [],
                        "name": "log",
                        "nameLocation": "29963:3:62",
                        "nodeType": "FunctionDefinition",
                        "parameters": {
                            "id": 16742,
                            "nodeType": "ParameterList",
                            "parameters": [
                                {
                                    "constant": false,
                                    "id": 16735,
                                    "mutability": "mutable",
                                    "name": "p0",
                                    "nameLocation": "29981:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 16756,
                                    "src": "29967:16:62",
                                    "stateVariable": false,
                                    "storageLocation": "memory",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_string_memory_ptr",
                                        "typeString": "string"
                                    },
                                    "typeName": {
                                        "id": 16734,
                                        "name": "string",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "29967:6:62",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_string_storage_ptr",
                                            "typeString": "string"
                                        }
                                    },
                                    "visibility": "internal"
                                },
                                {
                                    "constant": false,
                                    "id": 16737,
                                    "mutability": "mutable",
                                    "name": "p1",
                                    "nameLocation": "29990:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 16756,
                                    "src": "29985:7:62",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_uint256",
                                        "typeString": "uint256"
                                    },
                                    "typeName": {
                                        "id": 16736,
                                        "name": "uint",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "29985:4:62",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_uint256",
                                            "typeString": "uint256"
                                        }
                                    },
                                    "visibility": "internal"
                                },
                                {
                                    "constant": false,
                                    "id": 16739,
                                    "mutability": "mutable",
                                    "name": "p2",
                                    "nameLocation": "29999:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 16756,
                                    "src": "29994:7:62",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_bool",
                                        "typeString": "bool"
                                    },
                                    "typeName": {
                                        "id": 16738,
                                        "name": "bool",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "29994:4:62",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_bool",
                                            "typeString": "bool"
                                        }
                                    },
                                    "visibility": "internal"
                                },
                                {
                                    "constant": false,
                                    "id": 16741,
                                    "mutability": "mutable",
                                    "name": "p3",
                                    "nameLocation": "30008:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 16756,
                                    "src": "30003:7:62",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_bool",
                                        "typeString": "bool"
                                    },
                                    "typeName": {
                                        "id": 16740,
                                        "name": "bool",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "30003:4:62",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_bool",
                                            "typeString": "bool"
                                        }
                                    },
                                    "visibility": "internal"
                                }
                            ],
                            "src": "29966:45:62"
                        },
                        "returnParameters": {
                            "id": 16743,
                            "nodeType": "ParameterList",
                            "parameters": [],
                            "src": "30026:0:62"
                        },
                        "scope": 20920,
                        "src": "29954:166:62",
                        "stateMutability": "view",
                        "virtual": false,
                        "visibility": "internal"
                    },
                    {
                        "body": {
                            "id": 16778,
                            "nodeType": "Block",
                            "src": "30198:97:62",
                            "statements": [
                                {
                                    "expression": {
                                        "arguments": [
                                            {
                                                "arguments": [
                                                    {
                                                        "hexValue": "6c6f6728737472696e672c75696e742c626f6f6c2c6164647265737329",
                                                        "id": 16770,
                                                        "isConstant": false,
                                                        "isLValue": false,
                                                        "isPure": true,
                                                        "kind": "string",
                                                        "lValueRequested": false,
                                                        "nodeType": "Literal",
                                                        "src": "30242:31:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_stringliteral_e5549d91ec2998207f70463fe94a71d0edc39b13b219ff8feb87dd990a616539",
                                                            "typeString": "literal_string \"log(string,uint,bool,address)\""
                                                        },
                                                        "value": "log(string,uint,bool,address)"
                                                    },
                                                    {
                                                        "id": 16771,
                                                        "name": "p0",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 16758,
                                                        "src": "30275:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_string_memory_ptr",
                                                            "typeString": "string memory"
                                                        }
                                                    },
                                                    {
                                                        "id": 16772,
                                                        "name": "p1",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 16760,
                                                        "src": "30279:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_uint256",
                                                            "typeString": "uint256"
                                                        }
                                                    },
                                                    {
                                                        "id": 16773,
                                                        "name": "p2",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 16762,
                                                        "src": "30283:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_bool",
                                                            "typeString": "bool"
                                                        }
                                                    },
                                                    {
                                                        "id": 16774,
                                                        "name": "p3",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 16764,
                                                        "src": "30287:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_address",
                                                            "typeString": "address"
                                                        }
                                                    }
                                                ],
                                                "expression": {
                                                    "argumentTypes": [
                                                        {
                                                            "typeIdentifier": "t_stringliteral_e5549d91ec2998207f70463fe94a71d0edc39b13b219ff8feb87dd990a616539",
                                                            "typeString": "literal_string \"log(string,uint,bool,address)\""
                                                        },
                                                        {
                                                            "typeIdentifier": "t_string_memory_ptr",
                                                            "typeString": "string memory"
                                                        },
                                                        {
                                                            "typeIdentifier": "t_uint256",
                                                            "typeString": "uint256"
                                                        },
                                                        {
                                                            "typeIdentifier": "t_bool",
                                                            "typeString": "bool"
                                                        },
                                                        {
                                                            "typeIdentifier": "t_address",
                                                            "typeString": "address"
                                                        }
                                                    ],
                                                    "expression": {
                                                        "id": 16768,
                                                        "name": "abi",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 4294967295,
                                                        "src": "30218:3:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_magic_abi",
                                                            "typeString": "abi"
                                                        }
                                                    },
                                                    "id": 16769,
                                                    "isConstant": false,
                                                    "isLValue": false,
                                                    "isPure": true,
                                                    "lValueRequested": false,
                                                    "memberName": "encodeWithSignature",
                                                    "nodeType": "MemberAccess",
                                                    "src": "30218:23:62",
                                                    "typeDescriptions": {
                                                        "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$",
                                                        "typeString": "function (string memory) pure returns (bytes memory)"
                                                    }
                                                },
                                                "id": 16775,
                                                "isConstant": false,
                                                "isLValue": false,
                                                "isPure": false,
                                                "kind": "functionCall",
                                                "lValueRequested": false,
                                                "names": [],
                                                "nodeType": "FunctionCall",
                                                "src": "30218:72:62",
                                                "tryCall": false,
                                                "typeDescriptions": {
                                                    "typeIdentifier": "t_bytes_memory_ptr",
                                                    "typeString": "bytes memory"
                                                }
                                            }
                                        ],
                                        "expression": {
                                            "argumentTypes": [
                                                {
                                                    "typeIdentifier": "t_bytes_memory_ptr",
                                                    "typeString": "bytes memory"
                                                }
                                            ],
                                            "id": 16767,
                                            "name": "_sendLogPayload",
                                            "nodeType": "Identifier",
                                            "overloadedDeclarations": [],
                                            "referencedDeclaration": 12880,
                                            "src": "30202:15:62",
                                            "typeDescriptions": {
                                                "typeIdentifier": "t_function_internal_view$_t_bytes_memory_ptr_$returns$__$",
                                                "typeString": "function (bytes memory) view"
                                            }
                                        },
                                        "id": 16776,
                                        "isConstant": false,
                                        "isLValue": false,
                                        "isPure": false,
                                        "kind": "functionCall",
                                        "lValueRequested": false,
                                        "names": [],
                                        "nodeType": "FunctionCall",
                                        "src": "30202:89:62",
                                        "tryCall": false,
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_tuple$__$",
                                            "typeString": "tuple()"
                                        }
                                    },
                                    "id": 16777,
                                    "nodeType": "ExpressionStatement",
                                    "src": "30202:89:62"
                                }
                            ]
                        },
                        "id": 16779,
                        "implemented": true,
                        "kind": "function",
                        "modifiers": [],
                        "name": "log",
                        "nameLocation": "30132:3:62",
                        "nodeType": "FunctionDefinition",
                        "parameters": {
                            "id": 16765,
                            "nodeType": "ParameterList",
                            "parameters": [
                                {
                                    "constant": false,
                                    "id": 16758,
                                    "mutability": "mutable",
                                    "name": "p0",
                                    "nameLocation": "30150:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 16779,
                                    "src": "30136:16:62",
                                    "stateVariable": false,
                                    "storageLocation": "memory",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_string_memory_ptr",
                                        "typeString": "string"
                                    },
                                    "typeName": {
                                        "id": 16757,
                                        "name": "string",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "30136:6:62",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_string_storage_ptr",
                                            "typeString": "string"
                                        }
                                    },
                                    "visibility": "internal"
                                },
                                {
                                    "constant": false,
                                    "id": 16760,
                                    "mutability": "mutable",
                                    "name": "p1",
                                    "nameLocation": "30159:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 16779,
                                    "src": "30154:7:62",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_uint256",
                                        "typeString": "uint256"
                                    },
                                    "typeName": {
                                        "id": 16759,
                                        "name": "uint",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "30154:4:62",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_uint256",
                                            "typeString": "uint256"
                                        }
                                    },
                                    "visibility": "internal"
                                },
                                {
                                    "constant": false,
                                    "id": 16762,
                                    "mutability": "mutable",
                                    "name": "p2",
                                    "nameLocation": "30168:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 16779,
                                    "src": "30163:7:62",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_bool",
                                        "typeString": "bool"
                                    },
                                    "typeName": {
                                        "id": 16761,
                                        "name": "bool",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "30163:4:62",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_bool",
                                            "typeString": "bool"
                                        }
                                    },
                                    "visibility": "internal"
                                },
                                {
                                    "constant": false,
                                    "id": 16764,
                                    "mutability": "mutable",
                                    "name": "p3",
                                    "nameLocation": "30180:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 16779,
                                    "src": "30172:10:62",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_address",
                                        "typeString": "address"
                                    },
                                    "typeName": {
                                        "id": 16763,
                                        "name": "address",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "30172:7:62",
                                        "stateMutability": "nonpayable",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_address",
                                            "typeString": "address"
                                        }
                                    },
                                    "visibility": "internal"
                                }
                            ],
                            "src": "30135:48:62"
                        },
                        "returnParameters": {
                            "id": 16766,
                            "nodeType": "ParameterList",
                            "parameters": [],
                            "src": "30198:0:62"
                        },
                        "scope": 20920,
                        "src": "30123:172:62",
                        "stateMutability": "view",
                        "virtual": false,
                        "visibility": "internal"
                    },
                    {
                        "body": {
                            "id": 16801,
                            "nodeType": "Block",
                            "src": "30373:97:62",
                            "statements": [
                                {
                                    "expression": {
                                        "arguments": [
                                            {
                                                "arguments": [
                                                    {
                                                        "hexValue": "6c6f6728737472696e672c75696e742c616464726573732c75696e7429",
                                                        "id": 16793,
                                                        "isConstant": false,
                                                        "isLValue": false,
                                                        "isPure": true,
                                                        "kind": "string",
                                                        "lValueRequested": false,
                                                        "nodeType": "Literal",
                                                        "src": "30417:31:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_stringliteral_58497afe9e509136f5cf2fb1db9876437d9cbd769be5985b518ff094427e4f75",
                                                            "typeString": "literal_string \"log(string,uint,address,uint)\""
                                                        },
                                                        "value": "log(string,uint,address,uint)"
                                                    },
                                                    {
                                                        "id": 16794,
                                                        "name": "p0",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 16781,
                                                        "src": "30450:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_string_memory_ptr",
                                                            "typeString": "string memory"
                                                        }
                                                    },
                                                    {
                                                        "id": 16795,
                                                        "name": "p1",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 16783,
                                                        "src": "30454:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_uint256",
                                                            "typeString": "uint256"
                                                        }
                                                    },
                                                    {
                                                        "id": 16796,
                                                        "name": "p2",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 16785,
                                                        "src": "30458:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_address",
                                                            "typeString": "address"
                                                        }
                                                    },
                                                    {
                                                        "id": 16797,
                                                        "name": "p3",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 16787,
                                                        "src": "30462:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_uint256",
                                                            "typeString": "uint256"
                                                        }
                                                    }
                                                ],
                                                "expression": {
                                                    "argumentTypes": [
                                                        {
                                                            "typeIdentifier": "t_stringliteral_58497afe9e509136f5cf2fb1db9876437d9cbd769be5985b518ff094427e4f75",
                                                            "typeString": "literal_string \"log(string,uint,address,uint)\""
                                                        },
                                                        {
                                                            "typeIdentifier": "t_string_memory_ptr",
                                                            "typeString": "string memory"
                                                        },
                                                        {
                                                            "typeIdentifier": "t_uint256",
                                                            "typeString": "uint256"
                                                        },
                                                        {
                                                            "typeIdentifier": "t_address",
                                                            "typeString": "address"
                                                        },
                                                        {
                                                            "typeIdentifier": "t_uint256",
                                                            "typeString": "uint256"
                                                        }
                                                    ],
                                                    "expression": {
                                                        "id": 16791,
                                                        "name": "abi",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 4294967295,
                                                        "src": "30393:3:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_magic_abi",
                                                            "typeString": "abi"
                                                        }
                                                    },
                                                    "id": 16792,
                                                    "isConstant": false,
                                                    "isLValue": false,
                                                    "isPure": true,
                                                    "lValueRequested": false,
                                                    "memberName": "encodeWithSignature",
                                                    "nodeType": "MemberAccess",
                                                    "src": "30393:23:62",
                                                    "typeDescriptions": {
                                                        "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$",
                                                        "typeString": "function (string memory) pure returns (bytes memory)"
                                                    }
                                                },
                                                "id": 16798,
                                                "isConstant": false,
                                                "isLValue": false,
                                                "isPure": false,
                                                "kind": "functionCall",
                                                "lValueRequested": false,
                                                "names": [],
                                                "nodeType": "FunctionCall",
                                                "src": "30393:72:62",
                                                "tryCall": false,
                                                "typeDescriptions": {
                                                    "typeIdentifier": "t_bytes_memory_ptr",
                                                    "typeString": "bytes memory"
                                                }
                                            }
                                        ],
                                        "expression": {
                                            "argumentTypes": [
                                                {
                                                    "typeIdentifier": "t_bytes_memory_ptr",
                                                    "typeString": "bytes memory"
                                                }
                                            ],
                                            "id": 16790,
                                            "name": "_sendLogPayload",
                                            "nodeType": "Identifier",
                                            "overloadedDeclarations": [],
                                            "referencedDeclaration": 12880,
                                            "src": "30377:15:62",
                                            "typeDescriptions": {
                                                "typeIdentifier": "t_function_internal_view$_t_bytes_memory_ptr_$returns$__$",
                                                "typeString": "function (bytes memory) view"
                                            }
                                        },
                                        "id": 16799,
                                        "isConstant": false,
                                        "isLValue": false,
                                        "isPure": false,
                                        "kind": "functionCall",
                                        "lValueRequested": false,
                                        "names": [],
                                        "nodeType": "FunctionCall",
                                        "src": "30377:89:62",
                                        "tryCall": false,
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_tuple$__$",
                                            "typeString": "tuple()"
                                        }
                                    },
                                    "id": 16800,
                                    "nodeType": "ExpressionStatement",
                                    "src": "30377:89:62"
                                }
                            ]
                        },
                        "id": 16802,
                        "implemented": true,
                        "kind": "function",
                        "modifiers": [],
                        "name": "log",
                        "nameLocation": "30307:3:62",
                        "nodeType": "FunctionDefinition",
                        "parameters": {
                            "id": 16788,
                            "nodeType": "ParameterList",
                            "parameters": [
                                {
                                    "constant": false,
                                    "id": 16781,
                                    "mutability": "mutable",
                                    "name": "p0",
                                    "nameLocation": "30325:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 16802,
                                    "src": "30311:16:62",
                                    "stateVariable": false,
                                    "storageLocation": "memory",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_string_memory_ptr",
                                        "typeString": "string"
                                    },
                                    "typeName": {
                                        "id": 16780,
                                        "name": "string",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "30311:6:62",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_string_storage_ptr",
                                            "typeString": "string"
                                        }
                                    },
                                    "visibility": "internal"
                                },
                                {
                                    "constant": false,
                                    "id": 16783,
                                    "mutability": "mutable",
                                    "name": "p1",
                                    "nameLocation": "30334:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 16802,
                                    "src": "30329:7:62",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_uint256",
                                        "typeString": "uint256"
                                    },
                                    "typeName": {
                                        "id": 16782,
                                        "name": "uint",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "30329:4:62",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_uint256",
                                            "typeString": "uint256"
                                        }
                                    },
                                    "visibility": "internal"
                                },
                                {
                                    "constant": false,
                                    "id": 16785,
                                    "mutability": "mutable",
                                    "name": "p2",
                                    "nameLocation": "30346:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 16802,
                                    "src": "30338:10:62",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_address",
                                        "typeString": "address"
                                    },
                                    "typeName": {
                                        "id": 16784,
                                        "name": "address",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "30338:7:62",
                                        "stateMutability": "nonpayable",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_address",
                                            "typeString": "address"
                                        }
                                    },
                                    "visibility": "internal"
                                },
                                {
                                    "constant": false,
                                    "id": 16787,
                                    "mutability": "mutable",
                                    "name": "p3",
                                    "nameLocation": "30355:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 16802,
                                    "src": "30350:7:62",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_uint256",
                                        "typeString": "uint256"
                                    },
                                    "typeName": {
                                        "id": 16786,
                                        "name": "uint",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "30350:4:62",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_uint256",
                                            "typeString": "uint256"
                                        }
                                    },
                                    "visibility": "internal"
                                }
                            ],
                            "src": "30310:48:62"
                        },
                        "returnParameters": {
                            "id": 16789,
                            "nodeType": "ParameterList",
                            "parameters": [],
                            "src": "30373:0:62"
                        },
                        "scope": 20920,
                        "src": "30298:172:62",
                        "stateMutability": "view",
                        "virtual": false,
                        "visibility": "internal"
                    },
                    {
                        "body": {
                            "id": 16824,
                            "nodeType": "Block",
                            "src": "30557:99:62",
                            "statements": [
                                {
                                    "expression": {
                                        "arguments": [
                                            {
                                                "arguments": [
                                                    {
                                                        "hexValue": "6c6f6728737472696e672c75696e742c616464726573732c737472696e6729",
                                                        "id": 16816,
                                                        "isConstant": false,
                                                        "isLValue": false,
                                                        "isPure": true,
                                                        "kind": "string",
                                                        "lValueRequested": false,
                                                        "nodeType": "Literal",
                                                        "src": "30601:33:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_stringliteral_3254c2e85e824e7dd0b3e2e602f95218ed23a331406e197386693086d91053c0",
                                                            "typeString": "literal_string \"log(string,uint,address,string)\""
                                                        },
                                                        "value": "log(string,uint,address,string)"
                                                    },
                                                    {
                                                        "id": 16817,
                                                        "name": "p0",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 16804,
                                                        "src": "30636:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_string_memory_ptr",
                                                            "typeString": "string memory"
                                                        }
                                                    },
                                                    {
                                                        "id": 16818,
                                                        "name": "p1",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 16806,
                                                        "src": "30640:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_uint256",
                                                            "typeString": "uint256"
                                                        }
                                                    },
                                                    {
                                                        "id": 16819,
                                                        "name": "p2",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 16808,
                                                        "src": "30644:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_address",
                                                            "typeString": "address"
                                                        }
                                                    },
                                                    {
                                                        "id": 16820,
                                                        "name": "p3",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 16810,
                                                        "src": "30648:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_string_memory_ptr",
                                                            "typeString": "string memory"
                                                        }
                                                    }
                                                ],
                                                "expression": {
                                                    "argumentTypes": [
                                                        {
                                                            "typeIdentifier": "t_stringliteral_3254c2e85e824e7dd0b3e2e602f95218ed23a331406e197386693086d91053c0",
                                                            "typeString": "literal_string \"log(string,uint,address,string)\""
                                                        },
                                                        {
                                                            "typeIdentifier": "t_string_memory_ptr",
                                                            "typeString": "string memory"
                                                        },
                                                        {
                                                            "typeIdentifier": "t_uint256",
                                                            "typeString": "uint256"
                                                        },
                                                        {
                                                            "typeIdentifier": "t_address",
                                                            "typeString": "address"
                                                        },
                                                        {
                                                            "typeIdentifier": "t_string_memory_ptr",
                                                            "typeString": "string memory"
                                                        }
                                                    ],
                                                    "expression": {
                                                        "id": 16814,
                                                        "name": "abi",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 4294967295,
                                                        "src": "30577:3:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_magic_abi",
                                                            "typeString": "abi"
                                                        }
                                                    },
                                                    "id": 16815,
                                                    "isConstant": false,
                                                    "isLValue": false,
                                                    "isPure": true,
                                                    "lValueRequested": false,
                                                    "memberName": "encodeWithSignature",
                                                    "nodeType": "MemberAccess",
                                                    "src": "30577:23:62",
                                                    "typeDescriptions": {
                                                        "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$",
                                                        "typeString": "function (string memory) pure returns (bytes memory)"
                                                    }
                                                },
                                                "id": 16821,
                                                "isConstant": false,
                                                "isLValue": false,
                                                "isPure": false,
                                                "kind": "functionCall",
                                                "lValueRequested": false,
                                                "names": [],
                                                "nodeType": "FunctionCall",
                                                "src": "30577:74:62",
                                                "tryCall": false,
                                                "typeDescriptions": {
                                                    "typeIdentifier": "t_bytes_memory_ptr",
                                                    "typeString": "bytes memory"
                                                }
                                            }
                                        ],
                                        "expression": {
                                            "argumentTypes": [
                                                {
                                                    "typeIdentifier": "t_bytes_memory_ptr",
                                                    "typeString": "bytes memory"
                                                }
                                            ],
                                            "id": 16813,
                                            "name": "_sendLogPayload",
                                            "nodeType": "Identifier",
                                            "overloadedDeclarations": [],
                                            "referencedDeclaration": 12880,
                                            "src": "30561:15:62",
                                            "typeDescriptions": {
                                                "typeIdentifier": "t_function_internal_view$_t_bytes_memory_ptr_$returns$__$",
                                                "typeString": "function (bytes memory) view"
                                            }
                                        },
                                        "id": 16822,
                                        "isConstant": false,
                                        "isLValue": false,
                                        "isPure": false,
                                        "kind": "functionCall",
                                        "lValueRequested": false,
                                        "names": [],
                                        "nodeType": "FunctionCall",
                                        "src": "30561:91:62",
                                        "tryCall": false,
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_tuple$__$",
                                            "typeString": "tuple()"
                                        }
                                    },
                                    "id": 16823,
                                    "nodeType": "ExpressionStatement",
                                    "src": "30561:91:62"
                                }
                            ]
                        },
                        "id": 16825,
                        "implemented": true,
                        "kind": "function",
                        "modifiers": [],
                        "name": "log",
                        "nameLocation": "30482:3:62",
                        "nodeType": "FunctionDefinition",
                        "parameters": {
                            "id": 16811,
                            "nodeType": "ParameterList",
                            "parameters": [
                                {
                                    "constant": false,
                                    "id": 16804,
                                    "mutability": "mutable",
                                    "name": "p0",
                                    "nameLocation": "30500:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 16825,
                                    "src": "30486:16:62",
                                    "stateVariable": false,
                                    "storageLocation": "memory",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_string_memory_ptr",
                                        "typeString": "string"
                                    },
                                    "typeName": {
                                        "id": 16803,
                                        "name": "string",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "30486:6:62",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_string_storage_ptr",
                                            "typeString": "string"
                                        }
                                    },
                                    "visibility": "internal"
                                },
                                {
                                    "constant": false,
                                    "id": 16806,
                                    "mutability": "mutable",
                                    "name": "p1",
                                    "nameLocation": "30509:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 16825,
                                    "src": "30504:7:62",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_uint256",
                                        "typeString": "uint256"
                                    },
                                    "typeName": {
                                        "id": 16805,
                                        "name": "uint",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "30504:4:62",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_uint256",
                                            "typeString": "uint256"
                                        }
                                    },
                                    "visibility": "internal"
                                },
                                {
                                    "constant": false,
                                    "id": 16808,
                                    "mutability": "mutable",
                                    "name": "p2",
                                    "nameLocation": "30521:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 16825,
                                    "src": "30513:10:62",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_address",
                                        "typeString": "address"
                                    },
                                    "typeName": {
                                        "id": 16807,
                                        "name": "address",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "30513:7:62",
                                        "stateMutability": "nonpayable",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_address",
                                            "typeString": "address"
                                        }
                                    },
                                    "visibility": "internal"
                                },
                                {
                                    "constant": false,
                                    "id": 16810,
                                    "mutability": "mutable",
                                    "name": "p3",
                                    "nameLocation": "30539:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 16825,
                                    "src": "30525:16:62",
                                    "stateVariable": false,
                                    "storageLocation": "memory",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_string_memory_ptr",
                                        "typeString": "string"
                                    },
                                    "typeName": {
                                        "id": 16809,
                                        "name": "string",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "30525:6:62",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_string_storage_ptr",
                                            "typeString": "string"
                                        }
                                    },
                                    "visibility": "internal"
                                }
                            ],
                            "src": "30485:57:62"
                        },
                        "returnParameters": {
                            "id": 16812,
                            "nodeType": "ParameterList",
                            "parameters": [],
                            "src": "30557:0:62"
                        },
                        "scope": 20920,
                        "src": "30473:183:62",
                        "stateMutability": "view",
                        "virtual": false,
                        "visibility": "internal"
                    },
                    {
                        "body": {
                            "id": 16847,
                            "nodeType": "Block",
                            "src": "30734:97:62",
                            "statements": [
                                {
                                    "expression": {
                                        "arguments": [
                                            {
                                                "arguments": [
                                                    {
                                                        "hexValue": "6c6f6728737472696e672c75696e742c616464726573732c626f6f6c29",
                                                        "id": 16839,
                                                        "isConstant": false,
                                                        "isLValue": false,
                                                        "isPure": true,
                                                        "kind": "string",
                                                        "lValueRequested": false,
                                                        "nodeType": "Literal",
                                                        "src": "30778:31:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_stringliteral_1106a8f7a9fdb0743cc8f33bcf28da92f358b488bfc5eb2426dcc116571bae10",
                                                            "typeString": "literal_string \"log(string,uint,address,bool)\""
                                                        },
                                                        "value": "log(string,uint,address,bool)"
                                                    },
                                                    {
                                                        "id": 16840,
                                                        "name": "p0",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 16827,
                                                        "src": "30811:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_string_memory_ptr",
                                                            "typeString": "string memory"
                                                        }
                                                    },
                                                    {
                                                        "id": 16841,
                                                        "name": "p1",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 16829,
                                                        "src": "30815:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_uint256",
                                                            "typeString": "uint256"
                                                        }
                                                    },
                                                    {
                                                        "id": 16842,
                                                        "name": "p2",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 16831,
                                                        "src": "30819:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_address",
                                                            "typeString": "address"
                                                        }
                                                    },
                                                    {
                                                        "id": 16843,
                                                        "name": "p3",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 16833,
                                                        "src": "30823:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_bool",
                                                            "typeString": "bool"
                                                        }
                                                    }
                                                ],
                                                "expression": {
                                                    "argumentTypes": [
                                                        {
                                                            "typeIdentifier": "t_stringliteral_1106a8f7a9fdb0743cc8f33bcf28da92f358b488bfc5eb2426dcc116571bae10",
                                                            "typeString": "literal_string \"log(string,uint,address,bool)\""
                                                        },
                                                        {
                                                            "typeIdentifier": "t_string_memory_ptr",
                                                            "typeString": "string memory"
                                                        },
                                                        {
                                                            "typeIdentifier": "t_uint256",
                                                            "typeString": "uint256"
                                                        },
                                                        {
                                                            "typeIdentifier": "t_address",
                                                            "typeString": "address"
                                                        },
                                                        {
                                                            "typeIdentifier": "t_bool",
                                                            "typeString": "bool"
                                                        }
                                                    ],
                                                    "expression": {
                                                        "id": 16837,
                                                        "name": "abi",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 4294967295,
                                                        "src": "30754:3:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_magic_abi",
                                                            "typeString": "abi"
                                                        }
                                                    },
                                                    "id": 16838,
                                                    "isConstant": false,
                                                    "isLValue": false,
                                                    "isPure": true,
                                                    "lValueRequested": false,
                                                    "memberName": "encodeWithSignature",
                                                    "nodeType": "MemberAccess",
                                                    "src": "30754:23:62",
                                                    "typeDescriptions": {
                                                        "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$",
                                                        "typeString": "function (string memory) pure returns (bytes memory)"
                                                    }
                                                },
                                                "id": 16844,
                                                "isConstant": false,
                                                "isLValue": false,
                                                "isPure": false,
                                                "kind": "functionCall",
                                                "lValueRequested": false,
                                                "names": [],
                                                "nodeType": "FunctionCall",
                                                "src": "30754:72:62",
                                                "tryCall": false,
                                                "typeDescriptions": {
                                                    "typeIdentifier": "t_bytes_memory_ptr",
                                                    "typeString": "bytes memory"
                                                }
                                            }
                                        ],
                                        "expression": {
                                            "argumentTypes": [
                                                {
                                                    "typeIdentifier": "t_bytes_memory_ptr",
                                                    "typeString": "bytes memory"
                                                }
                                            ],
                                            "id": 16836,
                                            "name": "_sendLogPayload",
                                            "nodeType": "Identifier",
                                            "overloadedDeclarations": [],
                                            "referencedDeclaration": 12880,
                                            "src": "30738:15:62",
                                            "typeDescriptions": {
                                                "typeIdentifier": "t_function_internal_view$_t_bytes_memory_ptr_$returns$__$",
                                                "typeString": "function (bytes memory) view"
                                            }
                                        },
                                        "id": 16845,
                                        "isConstant": false,
                                        "isLValue": false,
                                        "isPure": false,
                                        "kind": "functionCall",
                                        "lValueRequested": false,
                                        "names": [],
                                        "nodeType": "FunctionCall",
                                        "src": "30738:89:62",
                                        "tryCall": false,
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_tuple$__$",
                                            "typeString": "tuple()"
                                        }
                                    },
                                    "id": 16846,
                                    "nodeType": "ExpressionStatement",
                                    "src": "30738:89:62"
                                }
                            ]
                        },
                        "id": 16848,
                        "implemented": true,
                        "kind": "function",
                        "modifiers": [],
                        "name": "log",
                        "nameLocation": "30668:3:62",
                        "nodeType": "FunctionDefinition",
                        "parameters": {
                            "id": 16834,
                            "nodeType": "ParameterList",
                            "parameters": [
                                {
                                    "constant": false,
                                    "id": 16827,
                                    "mutability": "mutable",
                                    "name": "p0",
                                    "nameLocation": "30686:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 16848,
                                    "src": "30672:16:62",
                                    "stateVariable": false,
                                    "storageLocation": "memory",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_string_memory_ptr",
                                        "typeString": "string"
                                    },
                                    "typeName": {
                                        "id": 16826,
                                        "name": "string",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "30672:6:62",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_string_storage_ptr",
                                            "typeString": "string"
                                        }
                                    },
                                    "visibility": "internal"
                                },
                                {
                                    "constant": false,
                                    "id": 16829,
                                    "mutability": "mutable",
                                    "name": "p1",
                                    "nameLocation": "30695:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 16848,
                                    "src": "30690:7:62",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_uint256",
                                        "typeString": "uint256"
                                    },
                                    "typeName": {
                                        "id": 16828,
                                        "name": "uint",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "30690:4:62",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_uint256",
                                            "typeString": "uint256"
                                        }
                                    },
                                    "visibility": "internal"
                                },
                                {
                                    "constant": false,
                                    "id": 16831,
                                    "mutability": "mutable",
                                    "name": "p2",
                                    "nameLocation": "30707:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 16848,
                                    "src": "30699:10:62",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_address",
                                        "typeString": "address"
                                    },
                                    "typeName": {
                                        "id": 16830,
                                        "name": "address",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "30699:7:62",
                                        "stateMutability": "nonpayable",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_address",
                                            "typeString": "address"
                                        }
                                    },
                                    "visibility": "internal"
                                },
                                {
                                    "constant": false,
                                    "id": 16833,
                                    "mutability": "mutable",
                                    "name": "p3",
                                    "nameLocation": "30716:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 16848,
                                    "src": "30711:7:62",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_bool",
                                        "typeString": "bool"
                                    },
                                    "typeName": {
                                        "id": 16832,
                                        "name": "bool",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "30711:4:62",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_bool",
                                            "typeString": "bool"
                                        }
                                    },
                                    "visibility": "internal"
                                }
                            ],
                            "src": "30671:48:62"
                        },
                        "returnParameters": {
                            "id": 16835,
                            "nodeType": "ParameterList",
                            "parameters": [],
                            "src": "30734:0:62"
                        },
                        "scope": 20920,
                        "src": "30659:172:62",
                        "stateMutability": "view",
                        "virtual": false,
                        "visibility": "internal"
                    },
                    {
                        "body": {
                            "id": 16870,
                            "nodeType": "Block",
                            "src": "30912:100:62",
                            "statements": [
                                {
                                    "expression": {
                                        "arguments": [
                                            {
                                                "arguments": [
                                                    {
                                                        "hexValue": "6c6f6728737472696e672c75696e742c616464726573732c6164647265737329",
                                                        "id": 16862,
                                                        "isConstant": false,
                                                        "isLValue": false,
                                                        "isPure": true,
                                                        "kind": "string",
                                                        "lValueRequested": false,
                                                        "nodeType": "Literal",
                                                        "src": "30956:34:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_stringliteral_eac892812ad5b43e056a005de5f4269f3430ecb19d3374f0e27d055022fbb381",
                                                            "typeString": "literal_string \"log(string,uint,address,address)\""
                                                        },
                                                        "value": "log(string,uint,address,address)"
                                                    },
                                                    {
                                                        "id": 16863,
                                                        "name": "p0",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 16850,
                                                        "src": "30992:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_string_memory_ptr",
                                                            "typeString": "string memory"
                                                        }
                                                    },
                                                    {
                                                        "id": 16864,
                                                        "name": "p1",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 16852,
                                                        "src": "30996:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_uint256",
                                                            "typeString": "uint256"
                                                        }
                                                    },
                                                    {
                                                        "id": 16865,
                                                        "name": "p2",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 16854,
                                                        "src": "31000:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_address",
                                                            "typeString": "address"
                                                        }
                                                    },
                                                    {
                                                        "id": 16866,
                                                        "name": "p3",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 16856,
                                                        "src": "31004:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_address",
                                                            "typeString": "address"
                                                        }
                                                    }
                                                ],
                                                "expression": {
                                                    "argumentTypes": [
                                                        {
                                                            "typeIdentifier": "t_stringliteral_eac892812ad5b43e056a005de5f4269f3430ecb19d3374f0e27d055022fbb381",
                                                            "typeString": "literal_string \"log(string,uint,address,address)\""
                                                        },
                                                        {
                                                            "typeIdentifier": "t_string_memory_ptr",
                                                            "typeString": "string memory"
                                                        },
                                                        {
                                                            "typeIdentifier": "t_uint256",
                                                            "typeString": "uint256"
                                                        },
                                                        {
                                                            "typeIdentifier": "t_address",
                                                            "typeString": "address"
                                                        },
                                                        {
                                                            "typeIdentifier": "t_address",
                                                            "typeString": "address"
                                                        }
                                                    ],
                                                    "expression": {
                                                        "id": 16860,
                                                        "name": "abi",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 4294967295,
                                                        "src": "30932:3:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_magic_abi",
                                                            "typeString": "abi"
                                                        }
                                                    },
                                                    "id": 16861,
                                                    "isConstant": false,
                                                    "isLValue": false,
                                                    "isPure": true,
                                                    "lValueRequested": false,
                                                    "memberName": "encodeWithSignature",
                                                    "nodeType": "MemberAccess",
                                                    "src": "30932:23:62",
                                                    "typeDescriptions": {
                                                        "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$",
                                                        "typeString": "function (string memory) pure returns (bytes memory)"
                                                    }
                                                },
                                                "id": 16867,
                                                "isConstant": false,
                                                "isLValue": false,
                                                "isPure": false,
                                                "kind": "functionCall",
                                                "lValueRequested": false,
                                                "names": [],
                                                "nodeType": "FunctionCall",
                                                "src": "30932:75:62",
                                                "tryCall": false,
                                                "typeDescriptions": {
                                                    "typeIdentifier": "t_bytes_memory_ptr",
                                                    "typeString": "bytes memory"
                                                }
                                            }
                                        ],
                                        "expression": {
                                            "argumentTypes": [
                                                {
                                                    "typeIdentifier": "t_bytes_memory_ptr",
                                                    "typeString": "bytes memory"
                                                }
                                            ],
                                            "id": 16859,
                                            "name": "_sendLogPayload",
                                            "nodeType": "Identifier",
                                            "overloadedDeclarations": [],
                                            "referencedDeclaration": 12880,
                                            "src": "30916:15:62",
                                            "typeDescriptions": {
                                                "typeIdentifier": "t_function_internal_view$_t_bytes_memory_ptr_$returns$__$",
                                                "typeString": "function (bytes memory) view"
                                            }
                                        },
                                        "id": 16868,
                                        "isConstant": false,
                                        "isLValue": false,
                                        "isPure": false,
                                        "kind": "functionCall",
                                        "lValueRequested": false,
                                        "names": [],
                                        "nodeType": "FunctionCall",
                                        "src": "30916:92:62",
                                        "tryCall": false,
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_tuple$__$",
                                            "typeString": "tuple()"
                                        }
                                    },
                                    "id": 16869,
                                    "nodeType": "ExpressionStatement",
                                    "src": "30916:92:62"
                                }
                            ]
                        },
                        "id": 16871,
                        "implemented": true,
                        "kind": "function",
                        "modifiers": [],
                        "name": "log",
                        "nameLocation": "30843:3:62",
                        "nodeType": "FunctionDefinition",
                        "parameters": {
                            "id": 16857,
                            "nodeType": "ParameterList",
                            "parameters": [
                                {
                                    "constant": false,
                                    "id": 16850,
                                    "mutability": "mutable",
                                    "name": "p0",
                                    "nameLocation": "30861:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 16871,
                                    "src": "30847:16:62",
                                    "stateVariable": false,
                                    "storageLocation": "memory",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_string_memory_ptr",
                                        "typeString": "string"
                                    },
                                    "typeName": {
                                        "id": 16849,
                                        "name": "string",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "30847:6:62",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_string_storage_ptr",
                                            "typeString": "string"
                                        }
                                    },
                                    "visibility": "internal"
                                },
                                {
                                    "constant": false,
                                    "id": 16852,
                                    "mutability": "mutable",
                                    "name": "p1",
                                    "nameLocation": "30870:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 16871,
                                    "src": "30865:7:62",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_uint256",
                                        "typeString": "uint256"
                                    },
                                    "typeName": {
                                        "id": 16851,
                                        "name": "uint",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "30865:4:62",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_uint256",
                                            "typeString": "uint256"
                                        }
                                    },
                                    "visibility": "internal"
                                },
                                {
                                    "constant": false,
                                    "id": 16854,
                                    "mutability": "mutable",
                                    "name": "p2",
                                    "nameLocation": "30882:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 16871,
                                    "src": "30874:10:62",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_address",
                                        "typeString": "address"
                                    },
                                    "typeName": {
                                        "id": 16853,
                                        "name": "address",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "30874:7:62",
                                        "stateMutability": "nonpayable",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_address",
                                            "typeString": "address"
                                        }
                                    },
                                    "visibility": "internal"
                                },
                                {
                                    "constant": false,
                                    "id": 16856,
                                    "mutability": "mutable",
                                    "name": "p3",
                                    "nameLocation": "30894:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 16871,
                                    "src": "30886:10:62",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_address",
                                        "typeString": "address"
                                    },
                                    "typeName": {
                                        "id": 16855,
                                        "name": "address",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "30886:7:62",
                                        "stateMutability": "nonpayable",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_address",
                                            "typeString": "address"
                                        }
                                    },
                                    "visibility": "internal"
                                }
                            ],
                            "src": "30846:51:62"
                        },
                        "returnParameters": {
                            "id": 16858,
                            "nodeType": "ParameterList",
                            "parameters": [],
                            "src": "30912:0:62"
                        },
                        "scope": 20920,
                        "src": "30834:178:62",
                        "stateMutability": "view",
                        "virtual": false,
                        "visibility": "internal"
                    },
                    {
                        "body": {
                            "id": 16893,
                            "nodeType": "Block",
                            "src": "31096:96:62",
                            "statements": [
                                {
                                    "expression": {
                                        "arguments": [
                                            {
                                                "arguments": [
                                                    {
                                                        "hexValue": "6c6f6728737472696e672c737472696e672c75696e742c75696e7429",
                                                        "id": 16885,
                                                        "isConstant": false,
                                                        "isLValue": false,
                                                        "isPure": true,
                                                        "kind": "string",
                                                        "lValueRequested": false,
                                                        "nodeType": "Literal",
                                                        "src": "31140:30:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_stringliteral_d5cf17d093c9068e0703e037cea1f6c3048599508dc7985106a94aa34c08c926",
                                                            "typeString": "literal_string \"log(string,string,uint,uint)\""
                                                        },
                                                        "value": "log(string,string,uint,uint)"
                                                    },
                                                    {
                                                        "id": 16886,
                                                        "name": "p0",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 16873,
                                                        "src": "31172:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_string_memory_ptr",
                                                            "typeString": "string memory"
                                                        }
                                                    },
                                                    {
                                                        "id": 16887,
                                                        "name": "p1",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 16875,
                                                        "src": "31176:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_string_memory_ptr",
                                                            "typeString": "string memory"
                                                        }
                                                    },
                                                    {
                                                        "id": 16888,
                                                        "name": "p2",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 16877,
                                                        "src": "31180:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_uint256",
                                                            "typeString": "uint256"
                                                        }
                                                    },
                                                    {
                                                        "id": 16889,
                                                        "name": "p3",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 16879,
                                                        "src": "31184:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_uint256",
                                                            "typeString": "uint256"
                                                        }
                                                    }
                                                ],
                                                "expression": {
                                                    "argumentTypes": [
                                                        {
                                                            "typeIdentifier": "t_stringliteral_d5cf17d093c9068e0703e037cea1f6c3048599508dc7985106a94aa34c08c926",
                                                            "typeString": "literal_string \"log(string,string,uint,uint)\""
                                                        },
                                                        {
                                                            "typeIdentifier": "t_string_memory_ptr",
                                                            "typeString": "string memory"
                                                        },
                                                        {
                                                            "typeIdentifier": "t_string_memory_ptr",
                                                            "typeString": "string memory"
                                                        },
                                                        {
                                                            "typeIdentifier": "t_uint256",
                                                            "typeString": "uint256"
                                                        },
                                                        {
                                                            "typeIdentifier": "t_uint256",
                                                            "typeString": "uint256"
                                                        }
                                                    ],
                                                    "expression": {
                                                        "id": 16883,
                                                        "name": "abi",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 4294967295,
                                                        "src": "31116:3:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_magic_abi",
                                                            "typeString": "abi"
                                                        }
                                                    },
                                                    "id": 16884,
                                                    "isConstant": false,
                                                    "isLValue": false,
                                                    "isPure": true,
                                                    "lValueRequested": false,
                                                    "memberName": "encodeWithSignature",
                                                    "nodeType": "MemberAccess",
                                                    "src": "31116:23:62",
                                                    "typeDescriptions": {
                                                        "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$",
                                                        "typeString": "function (string memory) pure returns (bytes memory)"
                                                    }
                                                },
                                                "id": 16890,
                                                "isConstant": false,
                                                "isLValue": false,
                                                "isPure": false,
                                                "kind": "functionCall",
                                                "lValueRequested": false,
                                                "names": [],
                                                "nodeType": "FunctionCall",
                                                "src": "31116:71:62",
                                                "tryCall": false,
                                                "typeDescriptions": {
                                                    "typeIdentifier": "t_bytes_memory_ptr",
                                                    "typeString": "bytes memory"
                                                }
                                            }
                                        ],
                                        "expression": {
                                            "argumentTypes": [
                                                {
                                                    "typeIdentifier": "t_bytes_memory_ptr",
                                                    "typeString": "bytes memory"
                                                }
                                            ],
                                            "id": 16882,
                                            "name": "_sendLogPayload",
                                            "nodeType": "Identifier",
                                            "overloadedDeclarations": [],
                                            "referencedDeclaration": 12880,
                                            "src": "31100:15:62",
                                            "typeDescriptions": {
                                                "typeIdentifier": "t_function_internal_view$_t_bytes_memory_ptr_$returns$__$",
                                                "typeString": "function (bytes memory) view"
                                            }
                                        },
                                        "id": 16891,
                                        "isConstant": false,
                                        "isLValue": false,
                                        "isPure": false,
                                        "kind": "functionCall",
                                        "lValueRequested": false,
                                        "names": [],
                                        "nodeType": "FunctionCall",
                                        "src": "31100:88:62",
                                        "tryCall": false,
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_tuple$__$",
                                            "typeString": "tuple()"
                                        }
                                    },
                                    "id": 16892,
                                    "nodeType": "ExpressionStatement",
                                    "src": "31100:88:62"
                                }
                            ]
                        },
                        "id": 16894,
                        "implemented": true,
                        "kind": "function",
                        "modifiers": [],
                        "name": "log",
                        "nameLocation": "31024:3:62",
                        "nodeType": "FunctionDefinition",
                        "parameters": {
                            "id": 16880,
                            "nodeType": "ParameterList",
                            "parameters": [
                                {
                                    "constant": false,
                                    "id": 16873,
                                    "mutability": "mutable",
                                    "name": "p0",
                                    "nameLocation": "31042:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 16894,
                                    "src": "31028:16:62",
                                    "stateVariable": false,
                                    "storageLocation": "memory",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_string_memory_ptr",
                                        "typeString": "string"
                                    },
                                    "typeName": {
                                        "id": 16872,
                                        "name": "string",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "31028:6:62",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_string_storage_ptr",
                                            "typeString": "string"
                                        }
                                    },
                                    "visibility": "internal"
                                },
                                {
                                    "constant": false,
                                    "id": 16875,
                                    "mutability": "mutable",
                                    "name": "p1",
                                    "nameLocation": "31060:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 16894,
                                    "src": "31046:16:62",
                                    "stateVariable": false,
                                    "storageLocation": "memory",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_string_memory_ptr",
                                        "typeString": "string"
                                    },
                                    "typeName": {
                                        "id": 16874,
                                        "name": "string",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "31046:6:62",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_string_storage_ptr",
                                            "typeString": "string"
                                        }
                                    },
                                    "visibility": "internal"
                                },
                                {
                                    "constant": false,
                                    "id": 16877,
                                    "mutability": "mutable",
                                    "name": "p2",
                                    "nameLocation": "31069:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 16894,
                                    "src": "31064:7:62",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_uint256",
                                        "typeString": "uint256"
                                    },
                                    "typeName": {
                                        "id": 16876,
                                        "name": "uint",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "31064:4:62",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_uint256",
                                            "typeString": "uint256"
                                        }
                                    },
                                    "visibility": "internal"
                                },
                                {
                                    "constant": false,
                                    "id": 16879,
                                    "mutability": "mutable",
                                    "name": "p3",
                                    "nameLocation": "31078:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 16894,
                                    "src": "31073:7:62",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_uint256",
                                        "typeString": "uint256"
                                    },
                                    "typeName": {
                                        "id": 16878,
                                        "name": "uint",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "31073:4:62",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_uint256",
                                            "typeString": "uint256"
                                        }
                                    },
                                    "visibility": "internal"
                                }
                            ],
                            "src": "31027:54:62"
                        },
                        "returnParameters": {
                            "id": 16881,
                            "nodeType": "ParameterList",
                            "parameters": [],
                            "src": "31096:0:62"
                        },
                        "scope": 20920,
                        "src": "31015:177:62",
                        "stateMutability": "view",
                        "virtual": false,
                        "visibility": "internal"
                    },
                    {
                        "body": {
                            "id": 16916,
                            "nodeType": "Block",
                            "src": "31285:98:62",
                            "statements": [
                                {
                                    "expression": {
                                        "arguments": [
                                            {
                                                "arguments": [
                                                    {
                                                        "hexValue": "6c6f6728737472696e672c737472696e672c75696e742c737472696e6729",
                                                        "id": 16908,
                                                        "isConstant": false,
                                                        "isLValue": false,
                                                        "isPure": true,
                                                        "kind": "string",
                                                        "lValueRequested": false,
                                                        "nodeType": "Literal",
                                                        "src": "31329:32:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_stringliteral_8d142cdddf40ab944834474e14a37534e67dcf2f6ffd68fd3d894f907fb76a0a",
                                                            "typeString": "literal_string \"log(string,string,uint,string)\""
                                                        },
                                                        "value": "log(string,string,uint,string)"
                                                    },
                                                    {
                                                        "id": 16909,
                                                        "name": "p0",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 16896,
                                                        "src": "31363:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_string_memory_ptr",
                                                            "typeString": "string memory"
                                                        }
                                                    },
                                                    {
                                                        "id": 16910,
                                                        "name": "p1",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 16898,
                                                        "src": "31367:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_string_memory_ptr",
                                                            "typeString": "string memory"
                                                        }
                                                    },
                                                    {
                                                        "id": 16911,
                                                        "name": "p2",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 16900,
                                                        "src": "31371:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_uint256",
                                                            "typeString": "uint256"
                                                        }
                                                    },
                                                    {
                                                        "id": 16912,
                                                        "name": "p3",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 16902,
                                                        "src": "31375:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_string_memory_ptr",
                                                            "typeString": "string memory"
                                                        }
                                                    }
                                                ],
                                                "expression": {
                                                    "argumentTypes": [
                                                        {
                                                            "typeIdentifier": "t_stringliteral_8d142cdddf40ab944834474e14a37534e67dcf2f6ffd68fd3d894f907fb76a0a",
                                                            "typeString": "literal_string \"log(string,string,uint,string)\""
                                                        },
                                                        {
                                                            "typeIdentifier": "t_string_memory_ptr",
                                                            "typeString": "string memory"
                                                        },
                                                        {
                                                            "typeIdentifier": "t_string_memory_ptr",
                                                            "typeString": "string memory"
                                                        },
                                                        {
                                                            "typeIdentifier": "t_uint256",
                                                            "typeString": "uint256"
                                                        },
                                                        {
                                                            "typeIdentifier": "t_string_memory_ptr",
                                                            "typeString": "string memory"
                                                        }
                                                    ],
                                                    "expression": {
                                                        "id": 16906,
                                                        "name": "abi",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 4294967295,
                                                        "src": "31305:3:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_magic_abi",
                                                            "typeString": "abi"
                                                        }
                                                    },
                                                    "id": 16907,
                                                    "isConstant": false,
                                                    "isLValue": false,
                                                    "isPure": true,
                                                    "lValueRequested": false,
                                                    "memberName": "encodeWithSignature",
                                                    "nodeType": "MemberAccess",
                                                    "src": "31305:23:62",
                                                    "typeDescriptions": {
                                                        "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$",
                                                        "typeString": "function (string memory) pure returns (bytes memory)"
                                                    }
                                                },
                                                "id": 16913,
                                                "isConstant": false,
                                                "isLValue": false,
                                                "isPure": false,
                                                "kind": "functionCall",
                                                "lValueRequested": false,
                                                "names": [],
                                                "nodeType": "FunctionCall",
                                                "src": "31305:73:62",
                                                "tryCall": false,
                                                "typeDescriptions": {
                                                    "typeIdentifier": "t_bytes_memory_ptr",
                                                    "typeString": "bytes memory"
                                                }
                                            }
                                        ],
                                        "expression": {
                                            "argumentTypes": [
                                                {
                                                    "typeIdentifier": "t_bytes_memory_ptr",
                                                    "typeString": "bytes memory"
                                                }
                                            ],
                                            "id": 16905,
                                            "name": "_sendLogPayload",
                                            "nodeType": "Identifier",
                                            "overloadedDeclarations": [],
                                            "referencedDeclaration": 12880,
                                            "src": "31289:15:62",
                                            "typeDescriptions": {
                                                "typeIdentifier": "t_function_internal_view$_t_bytes_memory_ptr_$returns$__$",
                                                "typeString": "function (bytes memory) view"
                                            }
                                        },
                                        "id": 16914,
                                        "isConstant": false,
                                        "isLValue": false,
                                        "isPure": false,
                                        "kind": "functionCall",
                                        "lValueRequested": false,
                                        "names": [],
                                        "nodeType": "FunctionCall",
                                        "src": "31289:90:62",
                                        "tryCall": false,
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_tuple$__$",
                                            "typeString": "tuple()"
                                        }
                                    },
                                    "id": 16915,
                                    "nodeType": "ExpressionStatement",
                                    "src": "31289:90:62"
                                }
                            ]
                        },
                        "id": 16917,
                        "implemented": true,
                        "kind": "function",
                        "modifiers": [],
                        "name": "log",
                        "nameLocation": "31204:3:62",
                        "nodeType": "FunctionDefinition",
                        "parameters": {
                            "id": 16903,
                            "nodeType": "ParameterList",
                            "parameters": [
                                {
                                    "constant": false,
                                    "id": 16896,
                                    "mutability": "mutable",
                                    "name": "p0",
                                    "nameLocation": "31222:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 16917,
                                    "src": "31208:16:62",
                                    "stateVariable": false,
                                    "storageLocation": "memory",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_string_memory_ptr",
                                        "typeString": "string"
                                    },
                                    "typeName": {
                                        "id": 16895,
                                        "name": "string",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "31208:6:62",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_string_storage_ptr",
                                            "typeString": "string"
                                        }
                                    },
                                    "visibility": "internal"
                                },
                                {
                                    "constant": false,
                                    "id": 16898,
                                    "mutability": "mutable",
                                    "name": "p1",
                                    "nameLocation": "31240:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 16917,
                                    "src": "31226:16:62",
                                    "stateVariable": false,
                                    "storageLocation": "memory",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_string_memory_ptr",
                                        "typeString": "string"
                                    },
                                    "typeName": {
                                        "id": 16897,
                                        "name": "string",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "31226:6:62",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_string_storage_ptr",
                                            "typeString": "string"
                                        }
                                    },
                                    "visibility": "internal"
                                },
                                {
                                    "constant": false,
                                    "id": 16900,
                                    "mutability": "mutable",
                                    "name": "p2",
                                    "nameLocation": "31249:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 16917,
                                    "src": "31244:7:62",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_uint256",
                                        "typeString": "uint256"
                                    },
                                    "typeName": {
                                        "id": 16899,
                                        "name": "uint",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "31244:4:62",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_uint256",
                                            "typeString": "uint256"
                                        }
                                    },
                                    "visibility": "internal"
                                },
                                {
                                    "constant": false,
                                    "id": 16902,
                                    "mutability": "mutable",
                                    "name": "p3",
                                    "nameLocation": "31267:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 16917,
                                    "src": "31253:16:62",
                                    "stateVariable": false,
                                    "storageLocation": "memory",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_string_memory_ptr",
                                        "typeString": "string"
                                    },
                                    "typeName": {
                                        "id": 16901,
                                        "name": "string",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "31253:6:62",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_string_storage_ptr",
                                            "typeString": "string"
                                        }
                                    },
                                    "visibility": "internal"
                                }
                            ],
                            "src": "31207:63:62"
                        },
                        "returnParameters": {
                            "id": 16904,
                            "nodeType": "ParameterList",
                            "parameters": [],
                            "src": "31285:0:62"
                        },
                        "scope": 20920,
                        "src": "31195:188:62",
                        "stateMutability": "view",
                        "virtual": false,
                        "visibility": "internal"
                    },
                    {
                        "body": {
                            "id": 16939,
                            "nodeType": "Block",
                            "src": "31467:96:62",
                            "statements": [
                                {
                                    "expression": {
                                        "arguments": [
                                            {
                                                "arguments": [
                                                    {
                                                        "hexValue": "6c6f6728737472696e672c737472696e672c75696e742c626f6f6c29",
                                                        "id": 16931,
                                                        "isConstant": false,
                                                        "isLValue": false,
                                                        "isPure": true,
                                                        "kind": "string",
                                                        "lValueRequested": false,
                                                        "nodeType": "Literal",
                                                        "src": "31511:30:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_stringliteral_e65658ca6578795ac405c3487ab68ec21d76f9a79d734a9ab869db5d96b4556b",
                                                            "typeString": "literal_string \"log(string,string,uint,bool)\""
                                                        },
                                                        "value": "log(string,string,uint,bool)"
                                                    },
                                                    {
                                                        "id": 16932,
                                                        "name": "p0",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 16919,
                                                        "src": "31543:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_string_memory_ptr",
                                                            "typeString": "string memory"
                                                        }
                                                    },
                                                    {
                                                        "id": 16933,
                                                        "name": "p1",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 16921,
                                                        "src": "31547:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_string_memory_ptr",
                                                            "typeString": "string memory"
                                                        }
                                                    },
                                                    {
                                                        "id": 16934,
                                                        "name": "p2",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 16923,
                                                        "src": "31551:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_uint256",
                                                            "typeString": "uint256"
                                                        }
                                                    },
                                                    {
                                                        "id": 16935,
                                                        "name": "p3",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 16925,
                                                        "src": "31555:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_bool",
                                                            "typeString": "bool"
                                                        }
                                                    }
                                                ],
                                                "expression": {
                                                    "argumentTypes": [
                                                        {
                                                            "typeIdentifier": "t_stringliteral_e65658ca6578795ac405c3487ab68ec21d76f9a79d734a9ab869db5d96b4556b",
                                                            "typeString": "literal_string \"log(string,string,uint,bool)\""
                                                        },
                                                        {
                                                            "typeIdentifier": "t_string_memory_ptr",
                                                            "typeString": "string memory"
                                                        },
                                                        {
                                                            "typeIdentifier": "t_string_memory_ptr",
                                                            "typeString": "string memory"
                                                        },
                                                        {
                                                            "typeIdentifier": "t_uint256",
                                                            "typeString": "uint256"
                                                        },
                                                        {
                                                            "typeIdentifier": "t_bool",
                                                            "typeString": "bool"
                                                        }
                                                    ],
                                                    "expression": {
                                                        "id": 16929,
                                                        "name": "abi",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 4294967295,
                                                        "src": "31487:3:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_magic_abi",
                                                            "typeString": "abi"
                                                        }
                                                    },
                                                    "id": 16930,
                                                    "isConstant": false,
                                                    "isLValue": false,
                                                    "isPure": true,
                                                    "lValueRequested": false,
                                                    "memberName": "encodeWithSignature",
                                                    "nodeType": "MemberAccess",
                                                    "src": "31487:23:62",
                                                    "typeDescriptions": {
                                                        "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$",
                                                        "typeString": "function (string memory) pure returns (bytes memory)"
                                                    }
                                                },
                                                "id": 16936,
                                                "isConstant": false,
                                                "isLValue": false,
                                                "isPure": false,
                                                "kind": "functionCall",
                                                "lValueRequested": false,
                                                "names": [],
                                                "nodeType": "FunctionCall",
                                                "src": "31487:71:62",
                                                "tryCall": false,
                                                "typeDescriptions": {
                                                    "typeIdentifier": "t_bytes_memory_ptr",
                                                    "typeString": "bytes memory"
                                                }
                                            }
                                        ],
                                        "expression": {
                                            "argumentTypes": [
                                                {
                                                    "typeIdentifier": "t_bytes_memory_ptr",
                                                    "typeString": "bytes memory"
                                                }
                                            ],
                                            "id": 16928,
                                            "name": "_sendLogPayload",
                                            "nodeType": "Identifier",
                                            "overloadedDeclarations": [],
                                            "referencedDeclaration": 12880,
                                            "src": "31471:15:62",
                                            "typeDescriptions": {
                                                "typeIdentifier": "t_function_internal_view$_t_bytes_memory_ptr_$returns$__$",
                                                "typeString": "function (bytes memory) view"
                                            }
                                        },
                                        "id": 16937,
                                        "isConstant": false,
                                        "isLValue": false,
                                        "isPure": false,
                                        "kind": "functionCall",
                                        "lValueRequested": false,
                                        "names": [],
                                        "nodeType": "FunctionCall",
                                        "src": "31471:88:62",
                                        "tryCall": false,
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_tuple$__$",
                                            "typeString": "tuple()"
                                        }
                                    },
                                    "id": 16938,
                                    "nodeType": "ExpressionStatement",
                                    "src": "31471:88:62"
                                }
                            ]
                        },
                        "id": 16940,
                        "implemented": true,
                        "kind": "function",
                        "modifiers": [],
                        "name": "log",
                        "nameLocation": "31395:3:62",
                        "nodeType": "FunctionDefinition",
                        "parameters": {
                            "id": 16926,
                            "nodeType": "ParameterList",
                            "parameters": [
                                {
                                    "constant": false,
                                    "id": 16919,
                                    "mutability": "mutable",
                                    "name": "p0",
                                    "nameLocation": "31413:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 16940,
                                    "src": "31399:16:62",
                                    "stateVariable": false,
                                    "storageLocation": "memory",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_string_memory_ptr",
                                        "typeString": "string"
                                    },
                                    "typeName": {
                                        "id": 16918,
                                        "name": "string",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "31399:6:62",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_string_storage_ptr",
                                            "typeString": "string"
                                        }
                                    },
                                    "visibility": "internal"
                                },
                                {
                                    "constant": false,
                                    "id": 16921,
                                    "mutability": "mutable",
                                    "name": "p1",
                                    "nameLocation": "31431:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 16940,
                                    "src": "31417:16:62",
                                    "stateVariable": false,
                                    "storageLocation": "memory",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_string_memory_ptr",
                                        "typeString": "string"
                                    },
                                    "typeName": {
                                        "id": 16920,
                                        "name": "string",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "31417:6:62",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_string_storage_ptr",
                                            "typeString": "string"
                                        }
                                    },
                                    "visibility": "internal"
                                },
                                {
                                    "constant": false,
                                    "id": 16923,
                                    "mutability": "mutable",
                                    "name": "p2",
                                    "nameLocation": "31440:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 16940,
                                    "src": "31435:7:62",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_uint256",
                                        "typeString": "uint256"
                                    },
                                    "typeName": {
                                        "id": 16922,
                                        "name": "uint",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "31435:4:62",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_uint256",
                                            "typeString": "uint256"
                                        }
                                    },
                                    "visibility": "internal"
                                },
                                {
                                    "constant": false,
                                    "id": 16925,
                                    "mutability": "mutable",
                                    "name": "p3",
                                    "nameLocation": "31449:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 16940,
                                    "src": "31444:7:62",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_bool",
                                        "typeString": "bool"
                                    },
                                    "typeName": {
                                        "id": 16924,
                                        "name": "bool",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "31444:4:62",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_bool",
                                            "typeString": "bool"
                                        }
                                    },
                                    "visibility": "internal"
                                }
                            ],
                            "src": "31398:54:62"
                        },
                        "returnParameters": {
                            "id": 16927,
                            "nodeType": "ParameterList",
                            "parameters": [],
                            "src": "31467:0:62"
                        },
                        "scope": 20920,
                        "src": "31386:177:62",
                        "stateMutability": "view",
                        "virtual": false,
                        "visibility": "internal"
                    },
                    {
                        "body": {
                            "id": 16962,
                            "nodeType": "Block",
                            "src": "31650:99:62",
                            "statements": [
                                {
                                    "expression": {
                                        "arguments": [
                                            {
                                                "arguments": [
                                                    {
                                                        "hexValue": "6c6f6728737472696e672c737472696e672c75696e742c6164647265737329",
                                                        "id": 16954,
                                                        "isConstant": false,
                                                        "isLValue": false,
                                                        "isPure": true,
                                                        "kind": "string",
                                                        "lValueRequested": false,
                                                        "nodeType": "Literal",
                                                        "src": "31694:33:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_stringliteral_5d4f46805293f3e84ba6dbfe353f76b3d1f1cfb2ff1e8024fb2adb45e2b7a128",
                                                            "typeString": "literal_string \"log(string,string,uint,address)\""
                                                        },
                                                        "value": "log(string,string,uint,address)"
                                                    },
                                                    {
                                                        "id": 16955,
                                                        "name": "p0",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 16942,
                                                        "src": "31729:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_string_memory_ptr",
                                                            "typeString": "string memory"
                                                        }
                                                    },
                                                    {
                                                        "id": 16956,
                                                        "name": "p1",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 16944,
                                                        "src": "31733:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_string_memory_ptr",
                                                            "typeString": "string memory"
                                                        }
                                                    },
                                                    {
                                                        "id": 16957,
                                                        "name": "p2",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 16946,
                                                        "src": "31737:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_uint256",
                                                            "typeString": "uint256"
                                                        }
                                                    },
                                                    {
                                                        "id": 16958,
                                                        "name": "p3",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 16948,
                                                        "src": "31741:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_address",
                                                            "typeString": "address"
                                                        }
                                                    }
                                                ],
                                                "expression": {
                                                    "argumentTypes": [
                                                        {
                                                            "typeIdentifier": "t_stringliteral_5d4f46805293f3e84ba6dbfe353f76b3d1f1cfb2ff1e8024fb2adb45e2b7a128",
                                                            "typeString": "literal_string \"log(string,string,uint,address)\""
                                                        },
                                                        {
                                                            "typeIdentifier": "t_string_memory_ptr",
                                                            "typeString": "string memory"
                                                        },
                                                        {
                                                            "typeIdentifier": "t_string_memory_ptr",
                                                            "typeString": "string memory"
                                                        },
                                                        {
                                                            "typeIdentifier": "t_uint256",
                                                            "typeString": "uint256"
                                                        },
                                                        {
                                                            "typeIdentifier": "t_address",
                                                            "typeString": "address"
                                                        }
                                                    ],
                                                    "expression": {
                                                        "id": 16952,
                                                        "name": "abi",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 4294967295,
                                                        "src": "31670:3:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_magic_abi",
                                                            "typeString": "abi"
                                                        }
                                                    },
                                                    "id": 16953,
                                                    "isConstant": false,
                                                    "isLValue": false,
                                                    "isPure": true,
                                                    "lValueRequested": false,
                                                    "memberName": "encodeWithSignature",
                                                    "nodeType": "MemberAccess",
                                                    "src": "31670:23:62",
                                                    "typeDescriptions": {
                                                        "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$",
                                                        "typeString": "function (string memory) pure returns (bytes memory)"
                                                    }
                                                },
                                                "id": 16959,
                                                "isConstant": false,
                                                "isLValue": false,
                                                "isPure": false,
                                                "kind": "functionCall",
                                                "lValueRequested": false,
                                                "names": [],
                                                "nodeType": "FunctionCall",
                                                "src": "31670:74:62",
                                                "tryCall": false,
                                                "typeDescriptions": {
                                                    "typeIdentifier": "t_bytes_memory_ptr",
                                                    "typeString": "bytes memory"
                                                }
                                            }
                                        ],
                                        "expression": {
                                            "argumentTypes": [
                                                {
                                                    "typeIdentifier": "t_bytes_memory_ptr",
                                                    "typeString": "bytes memory"
                                                }
                                            ],
                                            "id": 16951,
                                            "name": "_sendLogPayload",
                                            "nodeType": "Identifier",
                                            "overloadedDeclarations": [],
                                            "referencedDeclaration": 12880,
                                            "src": "31654:15:62",
                                            "typeDescriptions": {
                                                "typeIdentifier": "t_function_internal_view$_t_bytes_memory_ptr_$returns$__$",
                                                "typeString": "function (bytes memory) view"
                                            }
                                        },
                                        "id": 16960,
                                        "isConstant": false,
                                        "isLValue": false,
                                        "isPure": false,
                                        "kind": "functionCall",
                                        "lValueRequested": false,
                                        "names": [],
                                        "nodeType": "FunctionCall",
                                        "src": "31654:91:62",
                                        "tryCall": false,
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_tuple$__$",
                                            "typeString": "tuple()"
                                        }
                                    },
                                    "id": 16961,
                                    "nodeType": "ExpressionStatement",
                                    "src": "31654:91:62"
                                }
                            ]
                        },
                        "id": 16963,
                        "implemented": true,
                        "kind": "function",
                        "modifiers": [],
                        "name": "log",
                        "nameLocation": "31575:3:62",
                        "nodeType": "FunctionDefinition",
                        "parameters": {
                            "id": 16949,
                            "nodeType": "ParameterList",
                            "parameters": [
                                {
                                    "constant": false,
                                    "id": 16942,
                                    "mutability": "mutable",
                                    "name": "p0",
                                    "nameLocation": "31593:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 16963,
                                    "src": "31579:16:62",
                                    "stateVariable": false,
                                    "storageLocation": "memory",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_string_memory_ptr",
                                        "typeString": "string"
                                    },
                                    "typeName": {
                                        "id": 16941,
                                        "name": "string",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "31579:6:62",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_string_storage_ptr",
                                            "typeString": "string"
                                        }
                                    },
                                    "visibility": "internal"
                                },
                                {
                                    "constant": false,
                                    "id": 16944,
                                    "mutability": "mutable",
                                    "name": "p1",
                                    "nameLocation": "31611:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 16963,
                                    "src": "31597:16:62",
                                    "stateVariable": false,
                                    "storageLocation": "memory",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_string_memory_ptr",
                                        "typeString": "string"
                                    },
                                    "typeName": {
                                        "id": 16943,
                                        "name": "string",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "31597:6:62",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_string_storage_ptr",
                                            "typeString": "string"
                                        }
                                    },
                                    "visibility": "internal"
                                },
                                {
                                    "constant": false,
                                    "id": 16946,
                                    "mutability": "mutable",
                                    "name": "p2",
                                    "nameLocation": "31620:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 16963,
                                    "src": "31615:7:62",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_uint256",
                                        "typeString": "uint256"
                                    },
                                    "typeName": {
                                        "id": 16945,
                                        "name": "uint",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "31615:4:62",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_uint256",
                                            "typeString": "uint256"
                                        }
                                    },
                                    "visibility": "internal"
                                },
                                {
                                    "constant": false,
                                    "id": 16948,
                                    "mutability": "mutable",
                                    "name": "p3",
                                    "nameLocation": "31632:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 16963,
                                    "src": "31624:10:62",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_address",
                                        "typeString": "address"
                                    },
                                    "typeName": {
                                        "id": 16947,
                                        "name": "address",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "31624:7:62",
                                        "stateMutability": "nonpayable",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_address",
                                            "typeString": "address"
                                        }
                                    },
                                    "visibility": "internal"
                                }
                            ],
                            "src": "31578:57:62"
                        },
                        "returnParameters": {
                            "id": 16950,
                            "nodeType": "ParameterList",
                            "parameters": [],
                            "src": "31650:0:62"
                        },
                        "scope": 20920,
                        "src": "31566:183:62",
                        "stateMutability": "view",
                        "virtual": false,
                        "visibility": "internal"
                    },
                    {
                        "body": {
                            "id": 16985,
                            "nodeType": "Block",
                            "src": "31842:98:62",
                            "statements": [
                                {
                                    "expression": {
                                        "arguments": [
                                            {
                                                "arguments": [
                                                    {
                                                        "hexValue": "6c6f6728737472696e672c737472696e672c737472696e672c75696e7429",
                                                        "id": 16977,
                                                        "isConstant": false,
                                                        "isLValue": false,
                                                        "isPure": true,
                                                        "kind": "string",
                                                        "lValueRequested": false,
                                                        "nodeType": "Literal",
                                                        "src": "31886:32:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_stringliteral_9fd009f5f31a16d665d9be327a4a2b17dc428108ae31e46ab875e747b5ee155f",
                                                            "typeString": "literal_string \"log(string,string,string,uint)\""
                                                        },
                                                        "value": "log(string,string,string,uint)"
                                                    },
                                                    {
                                                        "id": 16978,
                                                        "name": "p0",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 16965,
                                                        "src": "31920:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_string_memory_ptr",
                                                            "typeString": "string memory"
                                                        }
                                                    },
                                                    {
                                                        "id": 16979,
                                                        "name": "p1",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 16967,
                                                        "src": "31924:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_string_memory_ptr",
                                                            "typeString": "string memory"
                                                        }
                                                    },
                                                    {
                                                        "id": 16980,
                                                        "name": "p2",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 16969,
                                                        "src": "31928:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_string_memory_ptr",
                                                            "typeString": "string memory"
                                                        }
                                                    },
                                                    {
                                                        "id": 16981,
                                                        "name": "p3",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 16971,
                                                        "src": "31932:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_uint256",
                                                            "typeString": "uint256"
                                                        }
                                                    }
                                                ],
                                                "expression": {
                                                    "argumentTypes": [
                                                        {
                                                            "typeIdentifier": "t_stringliteral_9fd009f5f31a16d665d9be327a4a2b17dc428108ae31e46ab875e747b5ee155f",
                                                            "typeString": "literal_string \"log(string,string,string,uint)\""
                                                        },
                                                        {
                                                            "typeIdentifier": "t_string_memory_ptr",
                                                            "typeString": "string memory"
                                                        },
                                                        {
                                                            "typeIdentifier": "t_string_memory_ptr",
                                                            "typeString": "string memory"
                                                        },
                                                        {
                                                            "typeIdentifier": "t_string_memory_ptr",
                                                            "typeString": "string memory"
                                                        },
                                                        {
                                                            "typeIdentifier": "t_uint256",
                                                            "typeString": "uint256"
                                                        }
                                                    ],
                                                    "expression": {
                                                        "id": 16975,
                                                        "name": "abi",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 4294967295,
                                                        "src": "31862:3:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_magic_abi",
                                                            "typeString": "abi"
                                                        }
                                                    },
                                                    "id": 16976,
                                                    "isConstant": false,
                                                    "isLValue": false,
                                                    "isPure": true,
                                                    "lValueRequested": false,
                                                    "memberName": "encodeWithSignature",
                                                    "nodeType": "MemberAccess",
                                                    "src": "31862:23:62",
                                                    "typeDescriptions": {
                                                        "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$",
                                                        "typeString": "function (string memory) pure returns (bytes memory)"
                                                    }
                                                },
                                                "id": 16982,
                                                "isConstant": false,
                                                "isLValue": false,
                                                "isPure": false,
                                                "kind": "functionCall",
                                                "lValueRequested": false,
                                                "names": [],
                                                "nodeType": "FunctionCall",
                                                "src": "31862:73:62",
                                                "tryCall": false,
                                                "typeDescriptions": {
                                                    "typeIdentifier": "t_bytes_memory_ptr",
                                                    "typeString": "bytes memory"
                                                }
                                            }
                                        ],
                                        "expression": {
                                            "argumentTypes": [
                                                {
                                                    "typeIdentifier": "t_bytes_memory_ptr",
                                                    "typeString": "bytes memory"
                                                }
                                            ],
                                            "id": 16974,
                                            "name": "_sendLogPayload",
                                            "nodeType": "Identifier",
                                            "overloadedDeclarations": [],
                                            "referencedDeclaration": 12880,
                                            "src": "31846:15:62",
                                            "typeDescriptions": {
                                                "typeIdentifier": "t_function_internal_view$_t_bytes_memory_ptr_$returns$__$",
                                                "typeString": "function (bytes memory) view"
                                            }
                                        },
                                        "id": 16983,
                                        "isConstant": false,
                                        "isLValue": false,
                                        "isPure": false,
                                        "kind": "functionCall",
                                        "lValueRequested": false,
                                        "names": [],
                                        "nodeType": "FunctionCall",
                                        "src": "31846:90:62",
                                        "tryCall": false,
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_tuple$__$",
                                            "typeString": "tuple()"
                                        }
                                    },
                                    "id": 16984,
                                    "nodeType": "ExpressionStatement",
                                    "src": "31846:90:62"
                                }
                            ]
                        },
                        "id": 16986,
                        "implemented": true,
                        "kind": "function",
                        "modifiers": [],
                        "name": "log",
                        "nameLocation": "31761:3:62",
                        "nodeType": "FunctionDefinition",
                        "parameters": {
                            "id": 16972,
                            "nodeType": "ParameterList",
                            "parameters": [
                                {
                                    "constant": false,
                                    "id": 16965,
                                    "mutability": "mutable",
                                    "name": "p0",
                                    "nameLocation": "31779:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 16986,
                                    "src": "31765:16:62",
                                    "stateVariable": false,
                                    "storageLocation": "memory",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_string_memory_ptr",
                                        "typeString": "string"
                                    },
                                    "typeName": {
                                        "id": 16964,
                                        "name": "string",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "31765:6:62",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_string_storage_ptr",
                                            "typeString": "string"
                                        }
                                    },
                                    "visibility": "internal"
                                },
                                {
                                    "constant": false,
                                    "id": 16967,
                                    "mutability": "mutable",
                                    "name": "p1",
                                    "nameLocation": "31797:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 16986,
                                    "src": "31783:16:62",
                                    "stateVariable": false,
                                    "storageLocation": "memory",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_string_memory_ptr",
                                        "typeString": "string"
                                    },
                                    "typeName": {
                                        "id": 16966,
                                        "name": "string",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "31783:6:62",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_string_storage_ptr",
                                            "typeString": "string"
                                        }
                                    },
                                    "visibility": "internal"
                                },
                                {
                                    "constant": false,
                                    "id": 16969,
                                    "mutability": "mutable",
                                    "name": "p2",
                                    "nameLocation": "31815:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 16986,
                                    "src": "31801:16:62",
                                    "stateVariable": false,
                                    "storageLocation": "memory",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_string_memory_ptr",
                                        "typeString": "string"
                                    },
                                    "typeName": {
                                        "id": 16968,
                                        "name": "string",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "31801:6:62",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_string_storage_ptr",
                                            "typeString": "string"
                                        }
                                    },
                                    "visibility": "internal"
                                },
                                {
                                    "constant": false,
                                    "id": 16971,
                                    "mutability": "mutable",
                                    "name": "p3",
                                    "nameLocation": "31824:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 16986,
                                    "src": "31819:7:62",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_uint256",
                                        "typeString": "uint256"
                                    },
                                    "typeName": {
                                        "id": 16970,
                                        "name": "uint",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "31819:4:62",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_uint256",
                                            "typeString": "uint256"
                                        }
                                    },
                                    "visibility": "internal"
                                }
                            ],
                            "src": "31764:63:62"
                        },
                        "returnParameters": {
                            "id": 16973,
                            "nodeType": "ParameterList",
                            "parameters": [],
                            "src": "31842:0:62"
                        },
                        "scope": 20920,
                        "src": "31752:188:62",
                        "stateMutability": "view",
                        "virtual": false,
                        "visibility": "internal"
                    },
                    {
                        "body": {
                            "id": 17008,
                            "nodeType": "Block",
                            "src": "32042:100:62",
                            "statements": [
                                {
                                    "expression": {
                                        "arguments": [
                                            {
                                                "arguments": [
                                                    {
                                                        "hexValue": "6c6f6728737472696e672c737472696e672c737472696e672c737472696e6729",
                                                        "id": 17000,
                                                        "isConstant": false,
                                                        "isLValue": false,
                                                        "isPure": true,
                                                        "kind": "string",
                                                        "lValueRequested": false,
                                                        "nodeType": "Literal",
                                                        "src": "32086:34:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_stringliteral_de68f20a8e88f68d54c5aa294860ee37b58680632686e2f1101e4e042a2cbcbe",
                                                            "typeString": "literal_string \"log(string,string,string,string)\""
                                                        },
                                                        "value": "log(string,string,string,string)"
                                                    },
                                                    {
                                                        "id": 17001,
                                                        "name": "p0",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 16988,
                                                        "src": "32122:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_string_memory_ptr",
                                                            "typeString": "string memory"
                                                        }
                                                    },
                                                    {
                                                        "id": 17002,
                                                        "name": "p1",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 16990,
                                                        "src": "32126:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_string_memory_ptr",
                                                            "typeString": "string memory"
                                                        }
                                                    },
                                                    {
                                                        "id": 17003,
                                                        "name": "p2",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 16992,
                                                        "src": "32130:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_string_memory_ptr",
                                                            "typeString": "string memory"
                                                        }
                                                    },
                                                    {
                                                        "id": 17004,
                                                        "name": "p3",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 16994,
                                                        "src": "32134:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_string_memory_ptr",
                                                            "typeString": "string memory"
                                                        }
                                                    }
                                                ],
                                                "expression": {
                                                    "argumentTypes": [
                                                        {
                                                            "typeIdentifier": "t_stringliteral_de68f20a8e88f68d54c5aa294860ee37b58680632686e2f1101e4e042a2cbcbe",
                                                            "typeString": "literal_string \"log(string,string,string,string)\""
                                                        },
                                                        {
                                                            "typeIdentifier": "t_string_memory_ptr",
                                                            "typeString": "string memory"
                                                        },
                                                        {
                                                            "typeIdentifier": "t_string_memory_ptr",
                                                            "typeString": "string memory"
                                                        },
                                                        {
                                                            "typeIdentifier": "t_string_memory_ptr",
                                                            "typeString": "string memory"
                                                        },
                                                        {
                                                            "typeIdentifier": "t_string_memory_ptr",
                                                            "typeString": "string memory"
                                                        }
                                                    ],
                                                    "expression": {
                                                        "id": 16998,
                                                        "name": "abi",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 4294967295,
                                                        "src": "32062:3:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_magic_abi",
                                                            "typeString": "abi"
                                                        }
                                                    },
                                                    "id": 16999,
                                                    "isConstant": false,
                                                    "isLValue": false,
                                                    "isPure": true,
                                                    "lValueRequested": false,
                                                    "memberName": "encodeWithSignature",
                                                    "nodeType": "MemberAccess",
                                                    "src": "32062:23:62",
                                                    "typeDescriptions": {
                                                        "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$",
                                                        "typeString": "function (string memory) pure returns (bytes memory)"
                                                    }
                                                },
                                                "id": 17005,
                                                "isConstant": false,
                                                "isLValue": false,
                                                "isPure": false,
                                                "kind": "functionCall",
                                                "lValueRequested": false,
                                                "names": [],
                                                "nodeType": "FunctionCall",
                                                "src": "32062:75:62",
                                                "tryCall": false,
                                                "typeDescriptions": {
                                                    "typeIdentifier": "t_bytes_memory_ptr",
                                                    "typeString": "bytes memory"
                                                }
                                            }
                                        ],
                                        "expression": {
                                            "argumentTypes": [
                                                {
                                                    "typeIdentifier": "t_bytes_memory_ptr",
                                                    "typeString": "bytes memory"
                                                }
                                            ],
                                            "id": 16997,
                                            "name": "_sendLogPayload",
                                            "nodeType": "Identifier",
                                            "overloadedDeclarations": [],
                                            "referencedDeclaration": 12880,
                                            "src": "32046:15:62",
                                            "typeDescriptions": {
                                                "typeIdentifier": "t_function_internal_view$_t_bytes_memory_ptr_$returns$__$",
                                                "typeString": "function (bytes memory) view"
                                            }
                                        },
                                        "id": 17006,
                                        "isConstant": false,
                                        "isLValue": false,
                                        "isPure": false,
                                        "kind": "functionCall",
                                        "lValueRequested": false,
                                        "names": [],
                                        "nodeType": "FunctionCall",
                                        "src": "32046:92:62",
                                        "tryCall": false,
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_tuple$__$",
                                            "typeString": "tuple()"
                                        }
                                    },
                                    "id": 17007,
                                    "nodeType": "ExpressionStatement",
                                    "src": "32046:92:62"
                                }
                            ]
                        },
                        "id": 17009,
                        "implemented": true,
                        "kind": "function",
                        "modifiers": [],
                        "name": "log",
                        "nameLocation": "31952:3:62",
                        "nodeType": "FunctionDefinition",
                        "parameters": {
                            "id": 16995,
                            "nodeType": "ParameterList",
                            "parameters": [
                                {
                                    "constant": false,
                                    "id": 16988,
                                    "mutability": "mutable",
                                    "name": "p0",
                                    "nameLocation": "31970:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 17009,
                                    "src": "31956:16:62",
                                    "stateVariable": false,
                                    "storageLocation": "memory",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_string_memory_ptr",
                                        "typeString": "string"
                                    },
                                    "typeName": {
                                        "id": 16987,
                                        "name": "string",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "31956:6:62",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_string_storage_ptr",
                                            "typeString": "string"
                                        }
                                    },
                                    "visibility": "internal"
                                },
                                {
                                    "constant": false,
                                    "id": 16990,
                                    "mutability": "mutable",
                                    "name": "p1",
                                    "nameLocation": "31988:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 17009,
                                    "src": "31974:16:62",
                                    "stateVariable": false,
                                    "storageLocation": "memory",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_string_memory_ptr",
                                        "typeString": "string"
                                    },
                                    "typeName": {
                                        "id": 16989,
                                        "name": "string",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "31974:6:62",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_string_storage_ptr",
                                            "typeString": "string"
                                        }
                                    },
                                    "visibility": "internal"
                                },
                                {
                                    "constant": false,
                                    "id": 16992,
                                    "mutability": "mutable",
                                    "name": "p2",
                                    "nameLocation": "32006:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 17009,
                                    "src": "31992:16:62",
                                    "stateVariable": false,
                                    "storageLocation": "memory",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_string_memory_ptr",
                                        "typeString": "string"
                                    },
                                    "typeName": {
                                        "id": 16991,
                                        "name": "string",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "31992:6:62",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_string_storage_ptr",
                                            "typeString": "string"
                                        }
                                    },
                                    "visibility": "internal"
                                },
                                {
                                    "constant": false,
                                    "id": 16994,
                                    "mutability": "mutable",
                                    "name": "p3",
                                    "nameLocation": "32024:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 17009,
                                    "src": "32010:16:62",
                                    "stateVariable": false,
                                    "storageLocation": "memory",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_string_memory_ptr",
                                        "typeString": "string"
                                    },
                                    "typeName": {
                                        "id": 16993,
                                        "name": "string",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "32010:6:62",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_string_storage_ptr",
                                            "typeString": "string"
                                        }
                                    },
                                    "visibility": "internal"
                                }
                            ],
                            "src": "31955:72:62"
                        },
                        "returnParameters": {
                            "id": 16996,
                            "nodeType": "ParameterList",
                            "parameters": [],
                            "src": "32042:0:62"
                        },
                        "scope": 20920,
                        "src": "31943:199:62",
                        "stateMutability": "view",
                        "virtual": false,
                        "visibility": "internal"
                    },
                    {
                        "body": {
                            "id": 17031,
                            "nodeType": "Block",
                            "src": "32235:98:62",
                            "statements": [
                                {
                                    "expression": {
                                        "arguments": [
                                            {
                                                "arguments": [
                                                    {
                                                        "hexValue": "6c6f6728737472696e672c737472696e672c737472696e672c626f6f6c29",
                                                        "id": 17023,
                                                        "isConstant": false,
                                                        "isLValue": false,
                                                        "isPure": true,
                                                        "kind": "string",
                                                        "lValueRequested": false,
                                                        "nodeType": "Literal",
                                                        "src": "32279:32:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_stringliteral_2c1754ed9d3bc50669c3e71e3115dc4403f3cff35aa9b6b58799f80b5496f332",
                                                            "typeString": "literal_string \"log(string,string,string,bool)\""
                                                        },
                                                        "value": "log(string,string,string,bool)"
                                                    },
                                                    {
                                                        "id": 17024,
                                                        "name": "p0",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 17011,
                                                        "src": "32313:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_string_memory_ptr",
                                                            "typeString": "string memory"
                                                        }
                                                    },
                                                    {
                                                        "id": 17025,
                                                        "name": "p1",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 17013,
                                                        "src": "32317:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_string_memory_ptr",
                                                            "typeString": "string memory"
                                                        }
                                                    },
                                                    {
                                                        "id": 17026,
                                                        "name": "p2",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 17015,
                                                        "src": "32321:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_string_memory_ptr",
                                                            "typeString": "string memory"
                                                        }
                                                    },
                                                    {
                                                        "id": 17027,
                                                        "name": "p3",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 17017,
                                                        "src": "32325:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_bool",
                                                            "typeString": "bool"
                                                        }
                                                    }
                                                ],
                                                "expression": {
                                                    "argumentTypes": [
                                                        {
                                                            "typeIdentifier": "t_stringliteral_2c1754ed9d3bc50669c3e71e3115dc4403f3cff35aa9b6b58799f80b5496f332",
                                                            "typeString": "literal_string \"log(string,string,string,bool)\""
                                                        },
                                                        {
                                                            "typeIdentifier": "t_string_memory_ptr",
                                                            "typeString": "string memory"
                                                        },
                                                        {
                                                            "typeIdentifier": "t_string_memory_ptr",
                                                            "typeString": "string memory"
                                                        },
                                                        {
                                                            "typeIdentifier": "t_string_memory_ptr",
                                                            "typeString": "string memory"
                                                        },
                                                        {
                                                            "typeIdentifier": "t_bool",
                                                            "typeString": "bool"
                                                        }
                                                    ],
                                                    "expression": {
                                                        "id": 17021,
                                                        "name": "abi",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 4294967295,
                                                        "src": "32255:3:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_magic_abi",
                                                            "typeString": "abi"
                                                        }
                                                    },
                                                    "id": 17022,
                                                    "isConstant": false,
                                                    "isLValue": false,
                                                    "isPure": true,
                                                    "lValueRequested": false,
                                                    "memberName": "encodeWithSignature",
                                                    "nodeType": "MemberAccess",
                                                    "src": "32255:23:62",
                                                    "typeDescriptions": {
                                                        "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$",
                                                        "typeString": "function (string memory) pure returns (bytes memory)"
                                                    }
                                                },
                                                "id": 17028,
                                                "isConstant": false,
                                                "isLValue": false,
                                                "isPure": false,
                                                "kind": "functionCall",
                                                "lValueRequested": false,
                                                "names": [],
                                                "nodeType": "FunctionCall",
                                                "src": "32255:73:62",
                                                "tryCall": false,
                                                "typeDescriptions": {
                                                    "typeIdentifier": "t_bytes_memory_ptr",
                                                    "typeString": "bytes memory"
                                                }
                                            }
                                        ],
                                        "expression": {
                                            "argumentTypes": [
                                                {
                                                    "typeIdentifier": "t_bytes_memory_ptr",
                                                    "typeString": "bytes memory"
                                                }
                                            ],
                                            "id": 17020,
                                            "name": "_sendLogPayload",
                                            "nodeType": "Identifier",
                                            "overloadedDeclarations": [],
                                            "referencedDeclaration": 12880,
                                            "src": "32239:15:62",
                                            "typeDescriptions": {
                                                "typeIdentifier": "t_function_internal_view$_t_bytes_memory_ptr_$returns$__$",
                                                "typeString": "function (bytes memory) view"
                                            }
                                        },
                                        "id": 17029,
                                        "isConstant": false,
                                        "isLValue": false,
                                        "isPure": false,
                                        "kind": "functionCall",
                                        "lValueRequested": false,
                                        "names": [],
                                        "nodeType": "FunctionCall",
                                        "src": "32239:90:62",
                                        "tryCall": false,
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_tuple$__$",
                                            "typeString": "tuple()"
                                        }
                                    },
                                    "id": 17030,
                                    "nodeType": "ExpressionStatement",
                                    "src": "32239:90:62"
                                }
                            ]
                        },
                        "id": 17032,
                        "implemented": true,
                        "kind": "function",
                        "modifiers": [],
                        "name": "log",
                        "nameLocation": "32154:3:62",
                        "nodeType": "FunctionDefinition",
                        "parameters": {
                            "id": 17018,
                            "nodeType": "ParameterList",
                            "parameters": [
                                {
                                    "constant": false,
                                    "id": 17011,
                                    "mutability": "mutable",
                                    "name": "p0",
                                    "nameLocation": "32172:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 17032,
                                    "src": "32158:16:62",
                                    "stateVariable": false,
                                    "storageLocation": "memory",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_string_memory_ptr",
                                        "typeString": "string"
                                    },
                                    "typeName": {
                                        "id": 17010,
                                        "name": "string",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "32158:6:62",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_string_storage_ptr",
                                            "typeString": "string"
                                        }
                                    },
                                    "visibility": "internal"
                                },
                                {
                                    "constant": false,
                                    "id": 17013,
                                    "mutability": "mutable",
                                    "name": "p1",
                                    "nameLocation": "32190:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 17032,
                                    "src": "32176:16:62",
                                    "stateVariable": false,
                                    "storageLocation": "memory",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_string_memory_ptr",
                                        "typeString": "string"
                                    },
                                    "typeName": {
                                        "id": 17012,
                                        "name": "string",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "32176:6:62",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_string_storage_ptr",
                                            "typeString": "string"
                                        }
                                    },
                                    "visibility": "internal"
                                },
                                {
                                    "constant": false,
                                    "id": 17015,
                                    "mutability": "mutable",
                                    "name": "p2",
                                    "nameLocation": "32208:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 17032,
                                    "src": "32194:16:62",
                                    "stateVariable": false,
                                    "storageLocation": "memory",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_string_memory_ptr",
                                        "typeString": "string"
                                    },
                                    "typeName": {
                                        "id": 17014,
                                        "name": "string",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "32194:6:62",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_string_storage_ptr",
                                            "typeString": "string"
                                        }
                                    },
                                    "visibility": "internal"
                                },
                                {
                                    "constant": false,
                                    "id": 17017,
                                    "mutability": "mutable",
                                    "name": "p3",
                                    "nameLocation": "32217:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 17032,
                                    "src": "32212:7:62",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_bool",
                                        "typeString": "bool"
                                    },
                                    "typeName": {
                                        "id": 17016,
                                        "name": "bool",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "32212:4:62",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_bool",
                                            "typeString": "bool"
                                        }
                                    },
                                    "visibility": "internal"
                                }
                            ],
                            "src": "32157:63:62"
                        },
                        "returnParameters": {
                            "id": 17019,
                            "nodeType": "ParameterList",
                            "parameters": [],
                            "src": "32235:0:62"
                        },
                        "scope": 20920,
                        "src": "32145:188:62",
                        "stateMutability": "view",
                        "virtual": false,
                        "visibility": "internal"
                    },
                    {
                        "body": {
                            "id": 17054,
                            "nodeType": "Block",
                            "src": "32429:101:62",
                            "statements": [
                                {
                                    "expression": {
                                        "arguments": [
                                            {
                                                "arguments": [
                                                    {
                                                        "hexValue": "6c6f6728737472696e672c737472696e672c737472696e672c6164647265737329",
                                                        "id": 17046,
                                                        "isConstant": false,
                                                        "isLValue": false,
                                                        "isPure": true,
                                                        "kind": "string",
                                                        "lValueRequested": false,
                                                        "nodeType": "Literal",
                                                        "src": "32473:35:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_stringliteral_6d572f449cf1e446ea3ace51a34ce30628f4f1588a39dc5d550cefb210c5bb16",
                                                            "typeString": "literal_string \"log(string,string,string,address)\""
                                                        },
                                                        "value": "log(string,string,string,address)"
                                                    },
                                                    {
                                                        "id": 17047,
                                                        "name": "p0",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 17034,
                                                        "src": "32510:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_string_memory_ptr",
                                                            "typeString": "string memory"
                                                        }
                                                    },
                                                    {
                                                        "id": 17048,
                                                        "name": "p1",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 17036,
                                                        "src": "32514:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_string_memory_ptr",
                                                            "typeString": "string memory"
                                                        }
                                                    },
                                                    {
                                                        "id": 17049,
                                                        "name": "p2",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 17038,
                                                        "src": "32518:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_string_memory_ptr",
                                                            "typeString": "string memory"
                                                        }
                                                    },
                                                    {
                                                        "id": 17050,
                                                        "name": "p3",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 17040,
                                                        "src": "32522:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_address",
                                                            "typeString": "address"
                                                        }
                                                    }
                                                ],
                                                "expression": {
                                                    "argumentTypes": [
                                                        {
                                                            "typeIdentifier": "t_stringliteral_6d572f449cf1e446ea3ace51a34ce30628f4f1588a39dc5d550cefb210c5bb16",
                                                            "typeString": "literal_string \"log(string,string,string,address)\""
                                                        },
                                                        {
                                                            "typeIdentifier": "t_string_memory_ptr",
                                                            "typeString": "string memory"
                                                        },
                                                        {
                                                            "typeIdentifier": "t_string_memory_ptr",
                                                            "typeString": "string memory"
                                                        },
                                                        {
                                                            "typeIdentifier": "t_string_memory_ptr",
                                                            "typeString": "string memory"
                                                        },
                                                        {
                                                            "typeIdentifier": "t_address",
                                                            "typeString": "address"
                                                        }
                                                    ],
                                                    "expression": {
                                                        "id": 17044,
                                                        "name": "abi",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 4294967295,
                                                        "src": "32449:3:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_magic_abi",
                                                            "typeString": "abi"
                                                        }
                                                    },
                                                    "id": 17045,
                                                    "isConstant": false,
                                                    "isLValue": false,
                                                    "isPure": true,
                                                    "lValueRequested": false,
                                                    "memberName": "encodeWithSignature",
                                                    "nodeType": "MemberAccess",
                                                    "src": "32449:23:62",
                                                    "typeDescriptions": {
                                                        "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$",
                                                        "typeString": "function (string memory) pure returns (bytes memory)"
                                                    }
                                                },
                                                "id": 17051,
                                                "isConstant": false,
                                                "isLValue": false,
                                                "isPure": false,
                                                "kind": "functionCall",
                                                "lValueRequested": false,
                                                "names": [],
                                                "nodeType": "FunctionCall",
                                                "src": "32449:76:62",
                                                "tryCall": false,
                                                "typeDescriptions": {
                                                    "typeIdentifier": "t_bytes_memory_ptr",
                                                    "typeString": "bytes memory"
                                                }
                                            }
                                        ],
                                        "expression": {
                                            "argumentTypes": [
                                                {
                                                    "typeIdentifier": "t_bytes_memory_ptr",
                                                    "typeString": "bytes memory"
                                                }
                                            ],
                                            "id": 17043,
                                            "name": "_sendLogPayload",
                                            "nodeType": "Identifier",
                                            "overloadedDeclarations": [],
                                            "referencedDeclaration": 12880,
                                            "src": "32433:15:62",
                                            "typeDescriptions": {
                                                "typeIdentifier": "t_function_internal_view$_t_bytes_memory_ptr_$returns$__$",
                                                "typeString": "function (bytes memory) view"
                                            }
                                        },
                                        "id": 17052,
                                        "isConstant": false,
                                        "isLValue": false,
                                        "isPure": false,
                                        "kind": "functionCall",
                                        "lValueRequested": false,
                                        "names": [],
                                        "nodeType": "FunctionCall",
                                        "src": "32433:93:62",
                                        "tryCall": false,
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_tuple$__$",
                                            "typeString": "tuple()"
                                        }
                                    },
                                    "id": 17053,
                                    "nodeType": "ExpressionStatement",
                                    "src": "32433:93:62"
                                }
                            ]
                        },
                        "id": 17055,
                        "implemented": true,
                        "kind": "function",
                        "modifiers": [],
                        "name": "log",
                        "nameLocation": "32345:3:62",
                        "nodeType": "FunctionDefinition",
                        "parameters": {
                            "id": 17041,
                            "nodeType": "ParameterList",
                            "parameters": [
                                {
                                    "constant": false,
                                    "id": 17034,
                                    "mutability": "mutable",
                                    "name": "p0",
                                    "nameLocation": "32363:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 17055,
                                    "src": "32349:16:62",
                                    "stateVariable": false,
                                    "storageLocation": "memory",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_string_memory_ptr",
                                        "typeString": "string"
                                    },
                                    "typeName": {
                                        "id": 17033,
                                        "name": "string",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "32349:6:62",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_string_storage_ptr",
                                            "typeString": "string"
                                        }
                                    },
                                    "visibility": "internal"
                                },
                                {
                                    "constant": false,
                                    "id": 17036,
                                    "mutability": "mutable",
                                    "name": "p1",
                                    "nameLocation": "32381:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 17055,
                                    "src": "32367:16:62",
                                    "stateVariable": false,
                                    "storageLocation": "memory",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_string_memory_ptr",
                                        "typeString": "string"
                                    },
                                    "typeName": {
                                        "id": 17035,
                                        "name": "string",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "32367:6:62",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_string_storage_ptr",
                                            "typeString": "string"
                                        }
                                    },
                                    "visibility": "internal"
                                },
                                {
                                    "constant": false,
                                    "id": 17038,
                                    "mutability": "mutable",
                                    "name": "p2",
                                    "nameLocation": "32399:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 17055,
                                    "src": "32385:16:62",
                                    "stateVariable": false,
                                    "storageLocation": "memory",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_string_memory_ptr",
                                        "typeString": "string"
                                    },
                                    "typeName": {
                                        "id": 17037,
                                        "name": "string",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "32385:6:62",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_string_storage_ptr",
                                            "typeString": "string"
                                        }
                                    },
                                    "visibility": "internal"
                                },
                                {
                                    "constant": false,
                                    "id": 17040,
                                    "mutability": "mutable",
                                    "name": "p3",
                                    "nameLocation": "32411:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 17055,
                                    "src": "32403:10:62",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_address",
                                        "typeString": "address"
                                    },
                                    "typeName": {
                                        "id": 17039,
                                        "name": "address",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "32403:7:62",
                                        "stateMutability": "nonpayable",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_address",
                                            "typeString": "address"
                                        }
                                    },
                                    "visibility": "internal"
                                }
                            ],
                            "src": "32348:66:62"
                        },
                        "returnParameters": {
                            "id": 17042,
                            "nodeType": "ParameterList",
                            "parameters": [],
                            "src": "32429:0:62"
                        },
                        "scope": 20920,
                        "src": "32336:194:62",
                        "stateMutability": "view",
                        "virtual": false,
                        "visibility": "internal"
                    },
                    {
                        "body": {
                            "id": 17077,
                            "nodeType": "Block",
                            "src": "32614:96:62",
                            "statements": [
                                {
                                    "expression": {
                                        "arguments": [
                                            {
                                                "arguments": [
                                                    {
                                                        "hexValue": "6c6f6728737472696e672c737472696e672c626f6f6c2c75696e7429",
                                                        "id": 17069,
                                                        "isConstant": false,
                                                        "isLValue": false,
                                                        "isPure": true,
                                                        "kind": "string",
                                                        "lValueRequested": false,
                                                        "nodeType": "Literal",
                                                        "src": "32658:30:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_stringliteral_86818a7aa9bc994aa800ce554e865f0047fd8aaa8799a458e8fea2db0986c5c1",
                                                            "typeString": "literal_string \"log(string,string,bool,uint)\""
                                                        },
                                                        "value": "log(string,string,bool,uint)"
                                                    },
                                                    {
                                                        "id": 17070,
                                                        "name": "p0",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 17057,
                                                        "src": "32690:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_string_memory_ptr",
                                                            "typeString": "string memory"
                                                        }
                                                    },
                                                    {
                                                        "id": 17071,
                                                        "name": "p1",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 17059,
                                                        "src": "32694:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_string_memory_ptr",
                                                            "typeString": "string memory"
                                                        }
                                                    },
                                                    {
                                                        "id": 17072,
                                                        "name": "p2",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 17061,
                                                        "src": "32698:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_bool",
                                                            "typeString": "bool"
                                                        }
                                                    },
                                                    {
                                                        "id": 17073,
                                                        "name": "p3",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 17063,
                                                        "src": "32702:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_uint256",
                                                            "typeString": "uint256"
                                                        }
                                                    }
                                                ],
                                                "expression": {
                                                    "argumentTypes": [
                                                        {
                                                            "typeIdentifier": "t_stringliteral_86818a7aa9bc994aa800ce554e865f0047fd8aaa8799a458e8fea2db0986c5c1",
                                                            "typeString": "literal_string \"log(string,string,bool,uint)\""
                                                        },
                                                        {
                                                            "typeIdentifier": "t_string_memory_ptr",
                                                            "typeString": "string memory"
                                                        },
                                                        {
                                                            "typeIdentifier": "t_string_memory_ptr",
                                                            "typeString": "string memory"
                                                        },
                                                        {
                                                            "typeIdentifier": "t_bool",
                                                            "typeString": "bool"
                                                        },
                                                        {
                                                            "typeIdentifier": "t_uint256",
                                                            "typeString": "uint256"
                                                        }
                                                    ],
                                                    "expression": {
                                                        "id": 17067,
                                                        "name": "abi",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 4294967295,
                                                        "src": "32634:3:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_magic_abi",
                                                            "typeString": "abi"
                                                        }
                                                    },
                                                    "id": 17068,
                                                    "isConstant": false,
                                                    "isLValue": false,
                                                    "isPure": true,
                                                    "lValueRequested": false,
                                                    "memberName": "encodeWithSignature",
                                                    "nodeType": "MemberAccess",
                                                    "src": "32634:23:62",
                                                    "typeDescriptions": {
                                                        "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$",
                                                        "typeString": "function (string memory) pure returns (bytes memory)"
                                                    }
                                                },
                                                "id": 17074,
                                                "isConstant": false,
                                                "isLValue": false,
                                                "isPure": false,
                                                "kind": "functionCall",
                                                "lValueRequested": false,
                                                "names": [],
                                                "nodeType": "FunctionCall",
                                                "src": "32634:71:62",
                                                "tryCall": false,
                                                "typeDescriptions": {
                                                    "typeIdentifier": "t_bytes_memory_ptr",
                                                    "typeString": "bytes memory"
                                                }
                                            }
                                        ],
                                        "expression": {
                                            "argumentTypes": [
                                                {
                                                    "typeIdentifier": "t_bytes_memory_ptr",
                                                    "typeString": "bytes memory"
                                                }
                                            ],
                                            "id": 17066,
                                            "name": "_sendLogPayload",
                                            "nodeType": "Identifier",
                                            "overloadedDeclarations": [],
                                            "referencedDeclaration": 12880,
                                            "src": "32618:15:62",
                                            "typeDescriptions": {
                                                "typeIdentifier": "t_function_internal_view$_t_bytes_memory_ptr_$returns$__$",
                                                "typeString": "function (bytes memory) view"
                                            }
                                        },
                                        "id": 17075,
                                        "isConstant": false,
                                        "isLValue": false,
                                        "isPure": false,
                                        "kind": "functionCall",
                                        "lValueRequested": false,
                                        "names": [],
                                        "nodeType": "FunctionCall",
                                        "src": "32618:88:62",
                                        "tryCall": false,
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_tuple$__$",
                                            "typeString": "tuple()"
                                        }
                                    },
                                    "id": 17076,
                                    "nodeType": "ExpressionStatement",
                                    "src": "32618:88:62"
                                }
                            ]
                        },
                        "id": 17078,
                        "implemented": true,
                        "kind": "function",
                        "modifiers": [],
                        "name": "log",
                        "nameLocation": "32542:3:62",
                        "nodeType": "FunctionDefinition",
                        "parameters": {
                            "id": 17064,
                            "nodeType": "ParameterList",
                            "parameters": [
                                {
                                    "constant": false,
                                    "id": 17057,
                                    "mutability": "mutable",
                                    "name": "p0",
                                    "nameLocation": "32560:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 17078,
                                    "src": "32546:16:62",
                                    "stateVariable": false,
                                    "storageLocation": "memory",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_string_memory_ptr",
                                        "typeString": "string"
                                    },
                                    "typeName": {
                                        "id": 17056,
                                        "name": "string",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "32546:6:62",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_string_storage_ptr",
                                            "typeString": "string"
                                        }
                                    },
                                    "visibility": "internal"
                                },
                                {
                                    "constant": false,
                                    "id": 17059,
                                    "mutability": "mutable",
                                    "name": "p1",
                                    "nameLocation": "32578:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 17078,
                                    "src": "32564:16:62",
                                    "stateVariable": false,
                                    "storageLocation": "memory",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_string_memory_ptr",
                                        "typeString": "string"
                                    },
                                    "typeName": {
                                        "id": 17058,
                                        "name": "string",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "32564:6:62",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_string_storage_ptr",
                                            "typeString": "string"
                                        }
                                    },
                                    "visibility": "internal"
                                },
                                {
                                    "constant": false,
                                    "id": 17061,
                                    "mutability": "mutable",
                                    "name": "p2",
                                    "nameLocation": "32587:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 17078,
                                    "src": "32582:7:62",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_bool",
                                        "typeString": "bool"
                                    },
                                    "typeName": {
                                        "id": 17060,
                                        "name": "bool",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "32582:4:62",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_bool",
                                            "typeString": "bool"
                                        }
                                    },
                                    "visibility": "internal"
                                },
                                {
                                    "constant": false,
                                    "id": 17063,
                                    "mutability": "mutable",
                                    "name": "p3",
                                    "nameLocation": "32596:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 17078,
                                    "src": "32591:7:62",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_uint256",
                                        "typeString": "uint256"
                                    },
                                    "typeName": {
                                        "id": 17062,
                                        "name": "uint",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "32591:4:62",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_uint256",
                                            "typeString": "uint256"
                                        }
                                    },
                                    "visibility": "internal"
                                }
                            ],
                            "src": "32545:54:62"
                        },
                        "returnParameters": {
                            "id": 17065,
                            "nodeType": "ParameterList",
                            "parameters": [],
                            "src": "32614:0:62"
                        },
                        "scope": 20920,
                        "src": "32533:177:62",
                        "stateMutability": "view",
                        "virtual": false,
                        "visibility": "internal"
                    },
                    {
                        "body": {
                            "id": 17100,
                            "nodeType": "Block",
                            "src": "32803:98:62",
                            "statements": [
                                {
                                    "expression": {
                                        "arguments": [
                                            {
                                                "arguments": [
                                                    {
                                                        "hexValue": "6c6f6728737472696e672c737472696e672c626f6f6c2c737472696e6729",
                                                        "id": 17092,
                                                        "isConstant": false,
                                                        "isLValue": false,
                                                        "isPure": true,
                                                        "kind": "string",
                                                        "lValueRequested": false,
                                                        "nodeType": "Literal",
                                                        "src": "32847:32:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_stringliteral_5e84b0ea51a130c3c7e1443097f28cb5c541ea8487836ae7cb1ca9c6e683699b",
                                                            "typeString": "literal_string \"log(string,string,bool,string)\""
                                                        },
                                                        "value": "log(string,string,bool,string)"
                                                    },
                                                    {
                                                        "id": 17093,
                                                        "name": "p0",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 17080,
                                                        "src": "32881:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_string_memory_ptr",
                                                            "typeString": "string memory"
                                                        }
                                                    },
                                                    {
                                                        "id": 17094,
                                                        "name": "p1",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 17082,
                                                        "src": "32885:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_string_memory_ptr",
                                                            "typeString": "string memory"
                                                        }
                                                    },
                                                    {
                                                        "id": 17095,
                                                        "name": "p2",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 17084,
                                                        "src": "32889:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_bool",
                                                            "typeString": "bool"
                                                        }
                                                    },
                                                    {
                                                        "id": 17096,
                                                        "name": "p3",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 17086,
                                                        "src": "32893:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_string_memory_ptr",
                                                            "typeString": "string memory"
                                                        }
                                                    }
                                                ],
                                                "expression": {
                                                    "argumentTypes": [
                                                        {
                                                            "typeIdentifier": "t_stringliteral_5e84b0ea51a130c3c7e1443097f28cb5c541ea8487836ae7cb1ca9c6e683699b",
                                                            "typeString": "literal_string \"log(string,string,bool,string)\""
                                                        },
                                                        {
                                                            "typeIdentifier": "t_string_memory_ptr",
                                                            "typeString": "string memory"
                                                        },
                                                        {
                                                            "typeIdentifier": "t_string_memory_ptr",
                                                            "typeString": "string memory"
                                                        },
                                                        {
                                                            "typeIdentifier": "t_bool",
                                                            "typeString": "bool"
                                                        },
                                                        {
                                                            "typeIdentifier": "t_string_memory_ptr",
                                                            "typeString": "string memory"
                                                        }
                                                    ],
                                                    "expression": {
                                                        "id": 17090,
                                                        "name": "abi",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 4294967295,
                                                        "src": "32823:3:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_magic_abi",
                                                            "typeString": "abi"
                                                        }
                                                    },
                                                    "id": 17091,
                                                    "isConstant": false,
                                                    "isLValue": false,
                                                    "isPure": true,
                                                    "lValueRequested": false,
                                                    "memberName": "encodeWithSignature",
                                                    "nodeType": "MemberAccess",
                                                    "src": "32823:23:62",
                                                    "typeDescriptions": {
                                                        "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$",
                                                        "typeString": "function (string memory) pure returns (bytes memory)"
                                                    }
                                                },
                                                "id": 17097,
                                                "isConstant": false,
                                                "isLValue": false,
                                                "isPure": false,
                                                "kind": "functionCall",
                                                "lValueRequested": false,
                                                "names": [],
                                                "nodeType": "FunctionCall",
                                                "src": "32823:73:62",
                                                "tryCall": false,
                                                "typeDescriptions": {
                                                    "typeIdentifier": "t_bytes_memory_ptr",
                                                    "typeString": "bytes memory"
                                                }
                                            }
                                        ],
                                        "expression": {
                                            "argumentTypes": [
                                                {
                                                    "typeIdentifier": "t_bytes_memory_ptr",
                                                    "typeString": "bytes memory"
                                                }
                                            ],
                                            "id": 17089,
                                            "name": "_sendLogPayload",
                                            "nodeType": "Identifier",
                                            "overloadedDeclarations": [],
                                            "referencedDeclaration": 12880,
                                            "src": "32807:15:62",
                                            "typeDescriptions": {
                                                "typeIdentifier": "t_function_internal_view$_t_bytes_memory_ptr_$returns$__$",
                                                "typeString": "function (bytes memory) view"
                                            }
                                        },
                                        "id": 17098,
                                        "isConstant": false,
                                        "isLValue": false,
                                        "isPure": false,
                                        "kind": "functionCall",
                                        "lValueRequested": false,
                                        "names": [],
                                        "nodeType": "FunctionCall",
                                        "src": "32807:90:62",
                                        "tryCall": false,
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_tuple$__$",
                                            "typeString": "tuple()"
                                        }
                                    },
                                    "id": 17099,
                                    "nodeType": "ExpressionStatement",
                                    "src": "32807:90:62"
                                }
                            ]
                        },
                        "id": 17101,
                        "implemented": true,
                        "kind": "function",
                        "modifiers": [],
                        "name": "log",
                        "nameLocation": "32722:3:62",
                        "nodeType": "FunctionDefinition",
                        "parameters": {
                            "id": 17087,
                            "nodeType": "ParameterList",
                            "parameters": [
                                {
                                    "constant": false,
                                    "id": 17080,
                                    "mutability": "mutable",
                                    "name": "p0",
                                    "nameLocation": "32740:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 17101,
                                    "src": "32726:16:62",
                                    "stateVariable": false,
                                    "storageLocation": "memory",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_string_memory_ptr",
                                        "typeString": "string"
                                    },
                                    "typeName": {
                                        "id": 17079,
                                        "name": "string",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "32726:6:62",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_string_storage_ptr",
                                            "typeString": "string"
                                        }
                                    },
                                    "visibility": "internal"
                                },
                                {
                                    "constant": false,
                                    "id": 17082,
                                    "mutability": "mutable",
                                    "name": "p1",
                                    "nameLocation": "32758:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 17101,
                                    "src": "32744:16:62",
                                    "stateVariable": false,
                                    "storageLocation": "memory",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_string_memory_ptr",
                                        "typeString": "string"
                                    },
                                    "typeName": {
                                        "id": 17081,
                                        "name": "string",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "32744:6:62",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_string_storage_ptr",
                                            "typeString": "string"
                                        }
                                    },
                                    "visibility": "internal"
                                },
                                {
                                    "constant": false,
                                    "id": 17084,
                                    "mutability": "mutable",
                                    "name": "p2",
                                    "nameLocation": "32767:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 17101,
                                    "src": "32762:7:62",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_bool",
                                        "typeString": "bool"
                                    },
                                    "typeName": {
                                        "id": 17083,
                                        "name": "bool",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "32762:4:62",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_bool",
                                            "typeString": "bool"
                                        }
                                    },
                                    "visibility": "internal"
                                },
                                {
                                    "constant": false,
                                    "id": 17086,
                                    "mutability": "mutable",
                                    "name": "p3",
                                    "nameLocation": "32785:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 17101,
                                    "src": "32771:16:62",
                                    "stateVariable": false,
                                    "storageLocation": "memory",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_string_memory_ptr",
                                        "typeString": "string"
                                    },
                                    "typeName": {
                                        "id": 17085,
                                        "name": "string",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "32771:6:62",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_string_storage_ptr",
                                            "typeString": "string"
                                        }
                                    },
                                    "visibility": "internal"
                                }
                            ],
                            "src": "32725:63:62"
                        },
                        "returnParameters": {
                            "id": 17088,
                            "nodeType": "ParameterList",
                            "parameters": [],
                            "src": "32803:0:62"
                        },
                        "scope": 20920,
                        "src": "32713:188:62",
                        "stateMutability": "view",
                        "virtual": false,
                        "visibility": "internal"
                    },
                    {
                        "body": {
                            "id": 17123,
                            "nodeType": "Block",
                            "src": "32985:96:62",
                            "statements": [
                                {
                                    "expression": {
                                        "arguments": [
                                            {
                                                "arguments": [
                                                    {
                                                        "hexValue": "6c6f6728737472696e672c737472696e672c626f6f6c2c626f6f6c29",
                                                        "id": 17115,
                                                        "isConstant": false,
                                                        "isLValue": false,
                                                        "isPure": true,
                                                        "kind": "string",
                                                        "lValueRequested": false,
                                                        "nodeType": "Literal",
                                                        "src": "33029:30:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_stringliteral_40785869c0ea63ca2ccbcf7415552989c2f1ce04f151eb3b2bd695c64d21af10",
                                                            "typeString": "literal_string \"log(string,string,bool,bool)\""
                                                        },
                                                        "value": "log(string,string,bool,bool)"
                                                    },
                                                    {
                                                        "id": 17116,
                                                        "name": "p0",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 17103,
                                                        "src": "33061:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_string_memory_ptr",
                                                            "typeString": "string memory"
                                                        }
                                                    },
                                                    {
                                                        "id": 17117,
                                                        "name": "p1",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 17105,
                                                        "src": "33065:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_string_memory_ptr",
                                                            "typeString": "string memory"
                                                        }
                                                    },
                                                    {
                                                        "id": 17118,
                                                        "name": "p2",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 17107,
                                                        "src": "33069:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_bool",
                                                            "typeString": "bool"
                                                        }
                                                    },
                                                    {
                                                        "id": 17119,
                                                        "name": "p3",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 17109,
                                                        "src": "33073:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_bool",
                                                            "typeString": "bool"
                                                        }
                                                    }
                                                ],
                                                "expression": {
                                                    "argumentTypes": [
                                                        {
                                                            "typeIdentifier": "t_stringliteral_40785869c0ea63ca2ccbcf7415552989c2f1ce04f151eb3b2bd695c64d21af10",
                                                            "typeString": "literal_string \"log(string,string,bool,bool)\""
                                                        },
                                                        {
                                                            "typeIdentifier": "t_string_memory_ptr",
                                                            "typeString": "string memory"
                                                        },
                                                        {
                                                            "typeIdentifier": "t_string_memory_ptr",
                                                            "typeString": "string memory"
                                                        },
                                                        {
                                                            "typeIdentifier": "t_bool",
                                                            "typeString": "bool"
                                                        },
                                                        {
                                                            "typeIdentifier": "t_bool",
                                                            "typeString": "bool"
                                                        }
                                                    ],
                                                    "expression": {
                                                        "id": 17113,
                                                        "name": "abi",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 4294967295,
                                                        "src": "33005:3:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_magic_abi",
                                                            "typeString": "abi"
                                                        }
                                                    },
                                                    "id": 17114,
                                                    "isConstant": false,
                                                    "isLValue": false,
                                                    "isPure": true,
                                                    "lValueRequested": false,
                                                    "memberName": "encodeWithSignature",
                                                    "nodeType": "MemberAccess",
                                                    "src": "33005:23:62",
                                                    "typeDescriptions": {
                                                        "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$",
                                                        "typeString": "function (string memory) pure returns (bytes memory)"
                                                    }
                                                },
                                                "id": 17120,
                                                "isConstant": false,
                                                "isLValue": false,
                                                "isPure": false,
                                                "kind": "functionCall",
                                                "lValueRequested": false,
                                                "names": [],
                                                "nodeType": "FunctionCall",
                                                "src": "33005:71:62",
                                                "tryCall": false,
                                                "typeDescriptions": {
                                                    "typeIdentifier": "t_bytes_memory_ptr",
                                                    "typeString": "bytes memory"
                                                }
                                            }
                                        ],
                                        "expression": {
                                            "argumentTypes": [
                                                {
                                                    "typeIdentifier": "t_bytes_memory_ptr",
                                                    "typeString": "bytes memory"
                                                }
                                            ],
                                            "id": 17112,
                                            "name": "_sendLogPayload",
                                            "nodeType": "Identifier",
                                            "overloadedDeclarations": [],
                                            "referencedDeclaration": 12880,
                                            "src": "32989:15:62",
                                            "typeDescriptions": {
                                                "typeIdentifier": "t_function_internal_view$_t_bytes_memory_ptr_$returns$__$",
                                                "typeString": "function (bytes memory) view"
                                            }
                                        },
                                        "id": 17121,
                                        "isConstant": false,
                                        "isLValue": false,
                                        "isPure": false,
                                        "kind": "functionCall",
                                        "lValueRequested": false,
                                        "names": [],
                                        "nodeType": "FunctionCall",
                                        "src": "32989:88:62",
                                        "tryCall": false,
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_tuple$__$",
                                            "typeString": "tuple()"
                                        }
                                    },
                                    "id": 17122,
                                    "nodeType": "ExpressionStatement",
                                    "src": "32989:88:62"
                                }
                            ]
                        },
                        "id": 17124,
                        "implemented": true,
                        "kind": "function",
                        "modifiers": [],
                        "name": "log",
                        "nameLocation": "32913:3:62",
                        "nodeType": "FunctionDefinition",
                        "parameters": {
                            "id": 17110,
                            "nodeType": "ParameterList",
                            "parameters": [
                                {
                                    "constant": false,
                                    "id": 17103,
                                    "mutability": "mutable",
                                    "name": "p0",
                                    "nameLocation": "32931:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 17124,
                                    "src": "32917:16:62",
                                    "stateVariable": false,
                                    "storageLocation": "memory",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_string_memory_ptr",
                                        "typeString": "string"
                                    },
                                    "typeName": {
                                        "id": 17102,
                                        "name": "string",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "32917:6:62",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_string_storage_ptr",
                                            "typeString": "string"
                                        }
                                    },
                                    "visibility": "internal"
                                },
                                {
                                    "constant": false,
                                    "id": 17105,
                                    "mutability": "mutable",
                                    "name": "p1",
                                    "nameLocation": "32949:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 17124,
                                    "src": "32935:16:62",
                                    "stateVariable": false,
                                    "storageLocation": "memory",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_string_memory_ptr",
                                        "typeString": "string"
                                    },
                                    "typeName": {
                                        "id": 17104,
                                        "name": "string",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "32935:6:62",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_string_storage_ptr",
                                            "typeString": "string"
                                        }
                                    },
                                    "visibility": "internal"
                                },
                                {
                                    "constant": false,
                                    "id": 17107,
                                    "mutability": "mutable",
                                    "name": "p2",
                                    "nameLocation": "32958:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 17124,
                                    "src": "32953:7:62",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_bool",
                                        "typeString": "bool"
                                    },
                                    "typeName": {
                                        "id": 17106,
                                        "name": "bool",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "32953:4:62",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_bool",
                                            "typeString": "bool"
                                        }
                                    },
                                    "visibility": "internal"
                                },
                                {
                                    "constant": false,
                                    "id": 17109,
                                    "mutability": "mutable",
                                    "name": "p3",
                                    "nameLocation": "32967:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 17124,
                                    "src": "32962:7:62",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_bool",
                                        "typeString": "bool"
                                    },
                                    "typeName": {
                                        "id": 17108,
                                        "name": "bool",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "32962:4:62",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_bool",
                                            "typeString": "bool"
                                        }
                                    },
                                    "visibility": "internal"
                                }
                            ],
                            "src": "32916:54:62"
                        },
                        "returnParameters": {
                            "id": 17111,
                            "nodeType": "ParameterList",
                            "parameters": [],
                            "src": "32985:0:62"
                        },
                        "scope": 20920,
                        "src": "32904:177:62",
                        "stateMutability": "view",
                        "virtual": false,
                        "visibility": "internal"
                    },
                    {
                        "body": {
                            "id": 17146,
                            "nodeType": "Block",
                            "src": "33168:99:62",
                            "statements": [
                                {
                                    "expression": {
                                        "arguments": [
                                            {
                                                "arguments": [
                                                    {
                                                        "hexValue": "6c6f6728737472696e672c737472696e672c626f6f6c2c6164647265737329",
                                                        "id": 17138,
                                                        "isConstant": false,
                                                        "isLValue": false,
                                                        "isPure": true,
                                                        "kind": "string",
                                                        "lValueRequested": false,
                                                        "nodeType": "Literal",
                                                        "src": "33212:33:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_stringliteral_c371c7db0a4b104babdbdf00d079eb75cb5aa1d401c4fb726c8e5559029df84d",
                                                            "typeString": "literal_string \"log(string,string,bool,address)\""
                                                        },
                                                        "value": "log(string,string,bool,address)"
                                                    },
                                                    {
                                                        "id": 17139,
                                                        "name": "p0",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 17126,
                                                        "src": "33247:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_string_memory_ptr",
                                                            "typeString": "string memory"
                                                        }
                                                    },
                                                    {
                                                        "id": 17140,
                                                        "name": "p1",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 17128,
                                                        "src": "33251:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_string_memory_ptr",
                                                            "typeString": "string memory"
                                                        }
                                                    },
                                                    {
                                                        "id": 17141,
                                                        "name": "p2",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 17130,
                                                        "src": "33255:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_bool",
                                                            "typeString": "bool"
                                                        }
                                                    },
                                                    {
                                                        "id": 17142,
                                                        "name": "p3",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 17132,
                                                        "src": "33259:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_address",
                                                            "typeString": "address"
                                                        }
                                                    }
                                                ],
                                                "expression": {
                                                    "argumentTypes": [
                                                        {
                                                            "typeIdentifier": "t_stringliteral_c371c7db0a4b104babdbdf00d079eb75cb5aa1d401c4fb726c8e5559029df84d",
                                                            "typeString": "literal_string \"log(string,string,bool,address)\""
                                                        },
                                                        {
                                                            "typeIdentifier": "t_string_memory_ptr",
                                                            "typeString": "string memory"
                                                        },
                                                        {
                                                            "typeIdentifier": "t_string_memory_ptr",
                                                            "typeString": "string memory"
                                                        },
                                                        {
                                                            "typeIdentifier": "t_bool",
                                                            "typeString": "bool"
                                                        },
                                                        {
                                                            "typeIdentifier": "t_address",
                                                            "typeString": "address"
                                                        }
                                                    ],
                                                    "expression": {
                                                        "id": 17136,
                                                        "name": "abi",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 4294967295,
                                                        "src": "33188:3:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_magic_abi",
                                                            "typeString": "abi"
                                                        }
                                                    },
                                                    "id": 17137,
                                                    "isConstant": false,
                                                    "isLValue": false,
                                                    "isPure": true,
                                                    "lValueRequested": false,
                                                    "memberName": "encodeWithSignature",
                                                    "nodeType": "MemberAccess",
                                                    "src": "33188:23:62",
                                                    "typeDescriptions": {
                                                        "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$",
                                                        "typeString": "function (string memory) pure returns (bytes memory)"
                                                    }
                                                },
                                                "id": 17143,
                                                "isConstant": false,
                                                "isLValue": false,
                                                "isPure": false,
                                                "kind": "functionCall",
                                                "lValueRequested": false,
                                                "names": [],
                                                "nodeType": "FunctionCall",
                                                "src": "33188:74:62",
                                                "tryCall": false,
                                                "typeDescriptions": {
                                                    "typeIdentifier": "t_bytes_memory_ptr",
                                                    "typeString": "bytes memory"
                                                }
                                            }
                                        ],
                                        "expression": {
                                            "argumentTypes": [
                                                {
                                                    "typeIdentifier": "t_bytes_memory_ptr",
                                                    "typeString": "bytes memory"
                                                }
                                            ],
                                            "id": 17135,
                                            "name": "_sendLogPayload",
                                            "nodeType": "Identifier",
                                            "overloadedDeclarations": [],
                                            "referencedDeclaration": 12880,
                                            "src": "33172:15:62",
                                            "typeDescriptions": {
                                                "typeIdentifier": "t_function_internal_view$_t_bytes_memory_ptr_$returns$__$",
                                                "typeString": "function (bytes memory) view"
                                            }
                                        },
                                        "id": 17144,
                                        "isConstant": false,
                                        "isLValue": false,
                                        "isPure": false,
                                        "kind": "functionCall",
                                        "lValueRequested": false,
                                        "names": [],
                                        "nodeType": "FunctionCall",
                                        "src": "33172:91:62",
                                        "tryCall": false,
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_tuple$__$",
                                            "typeString": "tuple()"
                                        }
                                    },
                                    "id": 17145,
                                    "nodeType": "ExpressionStatement",
                                    "src": "33172:91:62"
                                }
                            ]
                        },
                        "id": 17147,
                        "implemented": true,
                        "kind": "function",
                        "modifiers": [],
                        "name": "log",
                        "nameLocation": "33093:3:62",
                        "nodeType": "FunctionDefinition",
                        "parameters": {
                            "id": 17133,
                            "nodeType": "ParameterList",
                            "parameters": [
                                {
                                    "constant": false,
                                    "id": 17126,
                                    "mutability": "mutable",
                                    "name": "p0",
                                    "nameLocation": "33111:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 17147,
                                    "src": "33097:16:62",
                                    "stateVariable": false,
                                    "storageLocation": "memory",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_string_memory_ptr",
                                        "typeString": "string"
                                    },
                                    "typeName": {
                                        "id": 17125,
                                        "name": "string",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "33097:6:62",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_string_storage_ptr",
                                            "typeString": "string"
                                        }
                                    },
                                    "visibility": "internal"
                                },
                                {
                                    "constant": false,
                                    "id": 17128,
                                    "mutability": "mutable",
                                    "name": "p1",
                                    "nameLocation": "33129:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 17147,
                                    "src": "33115:16:62",
                                    "stateVariable": false,
                                    "storageLocation": "memory",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_string_memory_ptr",
                                        "typeString": "string"
                                    },
                                    "typeName": {
                                        "id": 17127,
                                        "name": "string",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "33115:6:62",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_string_storage_ptr",
                                            "typeString": "string"
                                        }
                                    },
                                    "visibility": "internal"
                                },
                                {
                                    "constant": false,
                                    "id": 17130,
                                    "mutability": "mutable",
                                    "name": "p2",
                                    "nameLocation": "33138:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 17147,
                                    "src": "33133:7:62",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_bool",
                                        "typeString": "bool"
                                    },
                                    "typeName": {
                                        "id": 17129,
                                        "name": "bool",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "33133:4:62",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_bool",
                                            "typeString": "bool"
                                        }
                                    },
                                    "visibility": "internal"
                                },
                                {
                                    "constant": false,
                                    "id": 17132,
                                    "mutability": "mutable",
                                    "name": "p3",
                                    "nameLocation": "33150:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 17147,
                                    "src": "33142:10:62",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_address",
                                        "typeString": "address"
                                    },
                                    "typeName": {
                                        "id": 17131,
                                        "name": "address",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "33142:7:62",
                                        "stateMutability": "nonpayable",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_address",
                                            "typeString": "address"
                                        }
                                    },
                                    "visibility": "internal"
                                }
                            ],
                            "src": "33096:57:62"
                        },
                        "returnParameters": {
                            "id": 17134,
                            "nodeType": "ParameterList",
                            "parameters": [],
                            "src": "33168:0:62"
                        },
                        "scope": 20920,
                        "src": "33084:183:62",
                        "stateMutability": "view",
                        "virtual": false,
                        "visibility": "internal"
                    },
                    {
                        "body": {
                            "id": 17169,
                            "nodeType": "Block",
                            "src": "33354:99:62",
                            "statements": [
                                {
                                    "expression": {
                                        "arguments": [
                                            {
                                                "arguments": [
                                                    {
                                                        "hexValue": "6c6f6728737472696e672c737472696e672c616464726573732c75696e7429",
                                                        "id": 17161,
                                                        "isConstant": false,
                                                        "isLValue": false,
                                                        "isPure": true,
                                                        "kind": "string",
                                                        "lValueRequested": false,
                                                        "nodeType": "Literal",
                                                        "src": "33398:33:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_stringliteral_4a81a56a33247069679e8b6a463a3b29deb4b1020ce6e03b978132074cad28c2",
                                                            "typeString": "literal_string \"log(string,string,address,uint)\""
                                                        },
                                                        "value": "log(string,string,address,uint)"
                                                    },
                                                    {
                                                        "id": 17162,
                                                        "name": "p0",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 17149,
                                                        "src": "33433:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_string_memory_ptr",
                                                            "typeString": "string memory"
                                                        }
                                                    },
                                                    {
                                                        "id": 17163,
                                                        "name": "p1",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 17151,
                                                        "src": "33437:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_string_memory_ptr",
                                                            "typeString": "string memory"
                                                        }
                                                    },
                                                    {
                                                        "id": 17164,
                                                        "name": "p2",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 17153,
                                                        "src": "33441:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_address",
                                                            "typeString": "address"
                                                        }
                                                    },
                                                    {
                                                        "id": 17165,
                                                        "name": "p3",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 17155,
                                                        "src": "33445:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_uint256",
                                                            "typeString": "uint256"
                                                        }
                                                    }
                                                ],
                                                "expression": {
                                                    "argumentTypes": [
                                                        {
                                                            "typeIdentifier": "t_stringliteral_4a81a56a33247069679e8b6a463a3b29deb4b1020ce6e03b978132074cad28c2",
                                                            "typeString": "literal_string \"log(string,string,address,uint)\""
                                                        },
                                                        {
                                                            "typeIdentifier": "t_string_memory_ptr",
                                                            "typeString": "string memory"
                                                        },
                                                        {
                                                            "typeIdentifier": "t_string_memory_ptr",
                                                            "typeString": "string memory"
                                                        },
                                                        {
                                                            "typeIdentifier": "t_address",
                                                            "typeString": "address"
                                                        },
                                                        {
                                                            "typeIdentifier": "t_uint256",
                                                            "typeString": "uint256"
                                                        }
                                                    ],
                                                    "expression": {
                                                        "id": 17159,
                                                        "name": "abi",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 4294967295,
                                                        "src": "33374:3:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_magic_abi",
                                                            "typeString": "abi"
                                                        }
                                                    },
                                                    "id": 17160,
                                                    "isConstant": false,
                                                    "isLValue": false,
                                                    "isPure": true,
                                                    "lValueRequested": false,
                                                    "memberName": "encodeWithSignature",
                                                    "nodeType": "MemberAccess",
                                                    "src": "33374:23:62",
                                                    "typeDescriptions": {
                                                        "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$",
                                                        "typeString": "function (string memory) pure returns (bytes memory)"
                                                    }
                                                },
                                                "id": 17166,
                                                "isConstant": false,
                                                "isLValue": false,
                                                "isPure": false,
                                                "kind": "functionCall",
                                                "lValueRequested": false,
                                                "names": [],
                                                "nodeType": "FunctionCall",
                                                "src": "33374:74:62",
                                                "tryCall": false,
                                                "typeDescriptions": {
                                                    "typeIdentifier": "t_bytes_memory_ptr",
                                                    "typeString": "bytes memory"
                                                }
                                            }
                                        ],
                                        "expression": {
                                            "argumentTypes": [
                                                {
                                                    "typeIdentifier": "t_bytes_memory_ptr",
                                                    "typeString": "bytes memory"
                                                }
                                            ],
                                            "id": 17158,
                                            "name": "_sendLogPayload",
                                            "nodeType": "Identifier",
                                            "overloadedDeclarations": [],
                                            "referencedDeclaration": 12880,
                                            "src": "33358:15:62",
                                            "typeDescriptions": {
                                                "typeIdentifier": "t_function_internal_view$_t_bytes_memory_ptr_$returns$__$",
                                                "typeString": "function (bytes memory) view"
                                            }
                                        },
                                        "id": 17167,
                                        "isConstant": false,
                                        "isLValue": false,
                                        "isPure": false,
                                        "kind": "functionCall",
                                        "lValueRequested": false,
                                        "names": [],
                                        "nodeType": "FunctionCall",
                                        "src": "33358:91:62",
                                        "tryCall": false,
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_tuple$__$",
                                            "typeString": "tuple()"
                                        }
                                    },
                                    "id": 17168,
                                    "nodeType": "ExpressionStatement",
                                    "src": "33358:91:62"
                                }
                            ]
                        },
                        "id": 17170,
                        "implemented": true,
                        "kind": "function",
                        "modifiers": [],
                        "name": "log",
                        "nameLocation": "33279:3:62",
                        "nodeType": "FunctionDefinition",
                        "parameters": {
                            "id": 17156,
                            "nodeType": "ParameterList",
                            "parameters": [
                                {
                                    "constant": false,
                                    "id": 17149,
                                    "mutability": "mutable",
                                    "name": "p0",
                                    "nameLocation": "33297:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 17170,
                                    "src": "33283:16:62",
                                    "stateVariable": false,
                                    "storageLocation": "memory",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_string_memory_ptr",
                                        "typeString": "string"
                                    },
                                    "typeName": {
                                        "id": 17148,
                                        "name": "string",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "33283:6:62",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_string_storage_ptr",
                                            "typeString": "string"
                                        }
                                    },
                                    "visibility": "internal"
                                },
                                {
                                    "constant": false,
                                    "id": 17151,
                                    "mutability": "mutable",
                                    "name": "p1",
                                    "nameLocation": "33315:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 17170,
                                    "src": "33301:16:62",
                                    "stateVariable": false,
                                    "storageLocation": "memory",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_string_memory_ptr",
                                        "typeString": "string"
                                    },
                                    "typeName": {
                                        "id": 17150,
                                        "name": "string",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "33301:6:62",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_string_storage_ptr",
                                            "typeString": "string"
                                        }
                                    },
                                    "visibility": "internal"
                                },
                                {
                                    "constant": false,
                                    "id": 17153,
                                    "mutability": "mutable",
                                    "name": "p2",
                                    "nameLocation": "33327:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 17170,
                                    "src": "33319:10:62",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_address",
                                        "typeString": "address"
                                    },
                                    "typeName": {
                                        "id": 17152,
                                        "name": "address",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "33319:7:62",
                                        "stateMutability": "nonpayable",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_address",
                                            "typeString": "address"
                                        }
                                    },
                                    "visibility": "internal"
                                },
                                {
                                    "constant": false,
                                    "id": 17155,
                                    "mutability": "mutable",
                                    "name": "p3",
                                    "nameLocation": "33336:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 17170,
                                    "src": "33331:7:62",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_uint256",
                                        "typeString": "uint256"
                                    },
                                    "typeName": {
                                        "id": 17154,
                                        "name": "uint",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "33331:4:62",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_uint256",
                                            "typeString": "uint256"
                                        }
                                    },
                                    "visibility": "internal"
                                }
                            ],
                            "src": "33282:57:62"
                        },
                        "returnParameters": {
                            "id": 17157,
                            "nodeType": "ParameterList",
                            "parameters": [],
                            "src": "33354:0:62"
                        },
                        "scope": 20920,
                        "src": "33270:183:62",
                        "stateMutability": "view",
                        "virtual": false,
                        "visibility": "internal"
                    },
                    {
                        "body": {
                            "id": 17192,
                            "nodeType": "Block",
                            "src": "33549:101:62",
                            "statements": [
                                {
                                    "expression": {
                                        "arguments": [
                                            {
                                                "arguments": [
                                                    {
                                                        "hexValue": "6c6f6728737472696e672c737472696e672c616464726573732c737472696e6729",
                                                        "id": 17184,
                                                        "isConstant": false,
                                                        "isLValue": false,
                                                        "isPure": true,
                                                        "kind": "string",
                                                        "lValueRequested": false,
                                                        "nodeType": "Literal",
                                                        "src": "33593:35:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_stringliteral_eb1bff805ef136c60bfed230c7b932a14c6f7a62608edeaf56f8f2c0575d25b6",
                                                            "typeString": "literal_string \"log(string,string,address,string)\""
                                                        },
                                                        "value": "log(string,string,address,string)"
                                                    },
                                                    {
                                                        "id": 17185,
                                                        "name": "p0",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 17172,
                                                        "src": "33630:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_string_memory_ptr",
                                                            "typeString": "string memory"
                                                        }
                                                    },
                                                    {
                                                        "id": 17186,
                                                        "name": "p1",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 17174,
                                                        "src": "33634:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_string_memory_ptr",
                                                            "typeString": "string memory"
                                                        }
                                                    },
                                                    {
                                                        "id": 17187,
                                                        "name": "p2",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 17176,
                                                        "src": "33638:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_address",
                                                            "typeString": "address"
                                                        }
                                                    },
                                                    {
                                                        "id": 17188,
                                                        "name": "p3",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 17178,
                                                        "src": "33642:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_string_memory_ptr",
                                                            "typeString": "string memory"
                                                        }
                                                    }
                                                ],
                                                "expression": {
                                                    "argumentTypes": [
                                                        {
                                                            "typeIdentifier": "t_stringliteral_eb1bff805ef136c60bfed230c7b932a14c6f7a62608edeaf56f8f2c0575d25b6",
                                                            "typeString": "literal_string \"log(string,string,address,string)\""
                                                        },
                                                        {
                                                            "typeIdentifier": "t_string_memory_ptr",
                                                            "typeString": "string memory"
                                                        },
                                                        {
                                                            "typeIdentifier": "t_string_memory_ptr",
                                                            "typeString": "string memory"
                                                        },
                                                        {
                                                            "typeIdentifier": "t_address",
                                                            "typeString": "address"
                                                        },
                                                        {
                                                            "typeIdentifier": "t_string_memory_ptr",
                                                            "typeString": "string memory"
                                                        }
                                                    ],
                                                    "expression": {
                                                        "id": 17182,
                                                        "name": "abi",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 4294967295,
                                                        "src": "33569:3:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_magic_abi",
                                                            "typeString": "abi"
                                                        }
                                                    },
                                                    "id": 17183,
                                                    "isConstant": false,
                                                    "isLValue": false,
                                                    "isPure": true,
                                                    "lValueRequested": false,
                                                    "memberName": "encodeWithSignature",
                                                    "nodeType": "MemberAccess",
                                                    "src": "33569:23:62",
                                                    "typeDescriptions": {
                                                        "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$",
                                                        "typeString": "function (string memory) pure returns (bytes memory)"
                                                    }
                                                },
                                                "id": 17189,
                                                "isConstant": false,
                                                "isLValue": false,
                                                "isPure": false,
                                                "kind": "functionCall",
                                                "lValueRequested": false,
                                                "names": [],
                                                "nodeType": "FunctionCall",
                                                "src": "33569:76:62",
                                                "tryCall": false,
                                                "typeDescriptions": {
                                                    "typeIdentifier": "t_bytes_memory_ptr",
                                                    "typeString": "bytes memory"
                                                }
                                            }
                                        ],
                                        "expression": {
                                            "argumentTypes": [
                                                {
                                                    "typeIdentifier": "t_bytes_memory_ptr",
                                                    "typeString": "bytes memory"
                                                }
                                            ],
                                            "id": 17181,
                                            "name": "_sendLogPayload",
                                            "nodeType": "Identifier",
                                            "overloadedDeclarations": [],
                                            "referencedDeclaration": 12880,
                                            "src": "33553:15:62",
                                            "typeDescriptions": {
                                                "typeIdentifier": "t_function_internal_view$_t_bytes_memory_ptr_$returns$__$",
                                                "typeString": "function (bytes memory) view"
                                            }
                                        },
                                        "id": 17190,
                                        "isConstant": false,
                                        "isLValue": false,
                                        "isPure": false,
                                        "kind": "functionCall",
                                        "lValueRequested": false,
                                        "names": [],
                                        "nodeType": "FunctionCall",
                                        "src": "33553:93:62",
                                        "tryCall": false,
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_tuple$__$",
                                            "typeString": "tuple()"
                                        }
                                    },
                                    "id": 17191,
                                    "nodeType": "ExpressionStatement",
                                    "src": "33553:93:62"
                                }
                            ]
                        },
                        "id": 17193,
                        "implemented": true,
                        "kind": "function",
                        "modifiers": [],
                        "name": "log",
                        "nameLocation": "33465:3:62",
                        "nodeType": "FunctionDefinition",
                        "parameters": {
                            "id": 17179,
                            "nodeType": "ParameterList",
                            "parameters": [
                                {
                                    "constant": false,
                                    "id": 17172,
                                    "mutability": "mutable",
                                    "name": "p0",
                                    "nameLocation": "33483:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 17193,
                                    "src": "33469:16:62",
                                    "stateVariable": false,
                                    "storageLocation": "memory",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_string_memory_ptr",
                                        "typeString": "string"
                                    },
                                    "typeName": {
                                        "id": 17171,
                                        "name": "string",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "33469:6:62",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_string_storage_ptr",
                                            "typeString": "string"
                                        }
                                    },
                                    "visibility": "internal"
                                },
                                {
                                    "constant": false,
                                    "id": 17174,
                                    "mutability": "mutable",
                                    "name": "p1",
                                    "nameLocation": "33501:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 17193,
                                    "src": "33487:16:62",
                                    "stateVariable": false,
                                    "storageLocation": "memory",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_string_memory_ptr",
                                        "typeString": "string"
                                    },
                                    "typeName": {
                                        "id": 17173,
                                        "name": "string",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "33487:6:62",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_string_storage_ptr",
                                            "typeString": "string"
                                        }
                                    },
                                    "visibility": "internal"
                                },
                                {
                                    "constant": false,
                                    "id": 17176,
                                    "mutability": "mutable",
                                    "name": "p2",
                                    "nameLocation": "33513:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 17193,
                                    "src": "33505:10:62",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_address",
                                        "typeString": "address"
                                    },
                                    "typeName": {
                                        "id": 17175,
                                        "name": "address",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "33505:7:62",
                                        "stateMutability": "nonpayable",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_address",
                                            "typeString": "address"
                                        }
                                    },
                                    "visibility": "internal"
                                },
                                {
                                    "constant": false,
                                    "id": 17178,
                                    "mutability": "mutable",
                                    "name": "p3",
                                    "nameLocation": "33531:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 17193,
                                    "src": "33517:16:62",
                                    "stateVariable": false,
                                    "storageLocation": "memory",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_string_memory_ptr",
                                        "typeString": "string"
                                    },
                                    "typeName": {
                                        "id": 17177,
                                        "name": "string",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "33517:6:62",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_string_storage_ptr",
                                            "typeString": "string"
                                        }
                                    },
                                    "visibility": "internal"
                                }
                            ],
                            "src": "33468:66:62"
                        },
                        "returnParameters": {
                            "id": 17180,
                            "nodeType": "ParameterList",
                            "parameters": [],
                            "src": "33549:0:62"
                        },
                        "scope": 20920,
                        "src": "33456:194:62",
                        "stateMutability": "view",
                        "virtual": false,
                        "visibility": "internal"
                    },
                    {
                        "body": {
                            "id": 17215,
                            "nodeType": "Block",
                            "src": "33737:99:62",
                            "statements": [
                                {
                                    "expression": {
                                        "arguments": [
                                            {
                                                "arguments": [
                                                    {
                                                        "hexValue": "6c6f6728737472696e672c737472696e672c616464726573732c626f6f6c29",
                                                        "id": 17207,
                                                        "isConstant": false,
                                                        "isLValue": false,
                                                        "isPure": true,
                                                        "kind": "string",
                                                        "lValueRequested": false,
                                                        "nodeType": "Literal",
                                                        "src": "33781:33:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_stringliteral_5ccd4e373eb6ae26626c8607ae861c55cda5fd321363edde7e6328e09072ba63",
                                                            "typeString": "literal_string \"log(string,string,address,bool)\""
                                                        },
                                                        "value": "log(string,string,address,bool)"
                                                    },
                                                    {
                                                        "id": 17208,
                                                        "name": "p0",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 17195,
                                                        "src": "33816:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_string_memory_ptr",
                                                            "typeString": "string memory"
                                                        }
                                                    },
                                                    {
                                                        "id": 17209,
                                                        "name": "p1",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 17197,
                                                        "src": "33820:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_string_memory_ptr",
                                                            "typeString": "string memory"
                                                        }
                                                    },
                                                    {
                                                        "id": 17210,
                                                        "name": "p2",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 17199,
                                                        "src": "33824:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_address",
                                                            "typeString": "address"
                                                        }
                                                    },
                                                    {
                                                        "id": 17211,
                                                        "name": "p3",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 17201,
                                                        "src": "33828:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_bool",
                                                            "typeString": "bool"
                                                        }
                                                    }
                                                ],
                                                "expression": {
                                                    "argumentTypes": [
                                                        {
                                                            "typeIdentifier": "t_stringliteral_5ccd4e373eb6ae26626c8607ae861c55cda5fd321363edde7e6328e09072ba63",
                                                            "typeString": "literal_string \"log(string,string,address,bool)\""
                                                        },
                                                        {
                                                            "typeIdentifier": "t_string_memory_ptr",
                                                            "typeString": "string memory"
                                                        },
                                                        {
                                                            "typeIdentifier": "t_string_memory_ptr",
                                                            "typeString": "string memory"
                                                        },
                                                        {
                                                            "typeIdentifier": "t_address",
                                                            "typeString": "address"
                                                        },
                                                        {
                                                            "typeIdentifier": "t_bool",
                                                            "typeString": "bool"
                                                        }
                                                    ],
                                                    "expression": {
                                                        "id": 17205,
                                                        "name": "abi",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 4294967295,
                                                        "src": "33757:3:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_magic_abi",
                                                            "typeString": "abi"
                                                        }
                                                    },
                                                    "id": 17206,
                                                    "isConstant": false,
                                                    "isLValue": false,
                                                    "isPure": true,
                                                    "lValueRequested": false,
                                                    "memberName": "encodeWithSignature",
                                                    "nodeType": "MemberAccess",
                                                    "src": "33757:23:62",
                                                    "typeDescriptions": {
                                                        "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$",
                                                        "typeString": "function (string memory) pure returns (bytes memory)"
                                                    }
                                                },
                                                "id": 17212,
                                                "isConstant": false,
                                                "isLValue": false,
                                                "isPure": false,
                                                "kind": "functionCall",
                                                "lValueRequested": false,
                                                "names": [],
                                                "nodeType": "FunctionCall",
                                                "src": "33757:74:62",
                                                "tryCall": false,
                                                "typeDescriptions": {
                                                    "typeIdentifier": "t_bytes_memory_ptr",
                                                    "typeString": "bytes memory"
                                                }
                                            }
                                        ],
                                        "expression": {
                                            "argumentTypes": [
                                                {
                                                    "typeIdentifier": "t_bytes_memory_ptr",
                                                    "typeString": "bytes memory"
                                                }
                                            ],
                                            "id": 17204,
                                            "name": "_sendLogPayload",
                                            "nodeType": "Identifier",
                                            "overloadedDeclarations": [],
                                            "referencedDeclaration": 12880,
                                            "src": "33741:15:62",
                                            "typeDescriptions": {
                                                "typeIdentifier": "t_function_internal_view$_t_bytes_memory_ptr_$returns$__$",
                                                "typeString": "function (bytes memory) view"
                                            }
                                        },
                                        "id": 17213,
                                        "isConstant": false,
                                        "isLValue": false,
                                        "isPure": false,
                                        "kind": "functionCall",
                                        "lValueRequested": false,
                                        "names": [],
                                        "nodeType": "FunctionCall",
                                        "src": "33741:91:62",
                                        "tryCall": false,
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_tuple$__$",
                                            "typeString": "tuple()"
                                        }
                                    },
                                    "id": 17214,
                                    "nodeType": "ExpressionStatement",
                                    "src": "33741:91:62"
                                }
                            ]
                        },
                        "id": 17216,
                        "implemented": true,
                        "kind": "function",
                        "modifiers": [],
                        "name": "log",
                        "nameLocation": "33662:3:62",
                        "nodeType": "FunctionDefinition",
                        "parameters": {
                            "id": 17202,
                            "nodeType": "ParameterList",
                            "parameters": [
                                {
                                    "constant": false,
                                    "id": 17195,
                                    "mutability": "mutable",
                                    "name": "p0",
                                    "nameLocation": "33680:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 17216,
                                    "src": "33666:16:62",
                                    "stateVariable": false,
                                    "storageLocation": "memory",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_string_memory_ptr",
                                        "typeString": "string"
                                    },
                                    "typeName": {
                                        "id": 17194,
                                        "name": "string",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "33666:6:62",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_string_storage_ptr",
                                            "typeString": "string"
                                        }
                                    },
                                    "visibility": "internal"
                                },
                                {
                                    "constant": false,
                                    "id": 17197,
                                    "mutability": "mutable",
                                    "name": "p1",
                                    "nameLocation": "33698:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 17216,
                                    "src": "33684:16:62",
                                    "stateVariable": false,
                                    "storageLocation": "memory",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_string_memory_ptr",
                                        "typeString": "string"
                                    },
                                    "typeName": {
                                        "id": 17196,
                                        "name": "string",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "33684:6:62",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_string_storage_ptr",
                                            "typeString": "string"
                                        }
                                    },
                                    "visibility": "internal"
                                },
                                {
                                    "constant": false,
                                    "id": 17199,
                                    "mutability": "mutable",
                                    "name": "p2",
                                    "nameLocation": "33710:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 17216,
                                    "src": "33702:10:62",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_address",
                                        "typeString": "address"
                                    },
                                    "typeName": {
                                        "id": 17198,
                                        "name": "address",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "33702:7:62",
                                        "stateMutability": "nonpayable",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_address",
                                            "typeString": "address"
                                        }
                                    },
                                    "visibility": "internal"
                                },
                                {
                                    "constant": false,
                                    "id": 17201,
                                    "mutability": "mutable",
                                    "name": "p3",
                                    "nameLocation": "33719:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 17216,
                                    "src": "33714:7:62",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_bool",
                                        "typeString": "bool"
                                    },
                                    "typeName": {
                                        "id": 17200,
                                        "name": "bool",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "33714:4:62",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_bool",
                                            "typeString": "bool"
                                        }
                                    },
                                    "visibility": "internal"
                                }
                            ],
                            "src": "33665:57:62"
                        },
                        "returnParameters": {
                            "id": 17203,
                            "nodeType": "ParameterList",
                            "parameters": [],
                            "src": "33737:0:62"
                        },
                        "scope": 20920,
                        "src": "33653:183:62",
                        "stateMutability": "view",
                        "virtual": false,
                        "visibility": "internal"
                    },
                    {
                        "body": {
                            "id": 17238,
                            "nodeType": "Block",
                            "src": "33926:102:62",
                            "statements": [
                                {
                                    "expression": {
                                        "arguments": [
                                            {
                                                "arguments": [
                                                    {
                                                        "hexValue": "6c6f6728737472696e672c737472696e672c616464726573732c6164647265737329",
                                                        "id": 17230,
                                                        "isConstant": false,
                                                        "isLValue": false,
                                                        "isPure": true,
                                                        "kind": "string",
                                                        "lValueRequested": false,
                                                        "nodeType": "Literal",
                                                        "src": "33970:36:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_stringliteral_439c7befd1b6bfcb9bd001c1f3a991ef43c070f0ace0c190dd9f16d7ae338a5d",
                                                            "typeString": "literal_string \"log(string,string,address,address)\""
                                                        },
                                                        "value": "log(string,string,address,address)"
                                                    },
                                                    {
                                                        "id": 17231,
                                                        "name": "p0",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 17218,
                                                        "src": "34008:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_string_memory_ptr",
                                                            "typeString": "string memory"
                                                        }
                                                    },
                                                    {
                                                        "id": 17232,
                                                        "name": "p1",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 17220,
                                                        "src": "34012:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_string_memory_ptr",
                                                            "typeString": "string memory"
                                                        }
                                                    },
                                                    {
                                                        "id": 17233,
                                                        "name": "p2",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 17222,
                                                        "src": "34016:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_address",
                                                            "typeString": "address"
                                                        }
                                                    },
                                                    {
                                                        "id": 17234,
                                                        "name": "p3",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 17224,
                                                        "src": "34020:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_address",
                                                            "typeString": "address"
                                                        }
                                                    }
                                                ],
                                                "expression": {
                                                    "argumentTypes": [
                                                        {
                                                            "typeIdentifier": "t_stringliteral_439c7befd1b6bfcb9bd001c1f3a991ef43c070f0ace0c190dd9f16d7ae338a5d",
                                                            "typeString": "literal_string \"log(string,string,address,address)\""
                                                        },
                                                        {
                                                            "typeIdentifier": "t_string_memory_ptr",
                                                            "typeString": "string memory"
                                                        },
                                                        {
                                                            "typeIdentifier": "t_string_memory_ptr",
                                                            "typeString": "string memory"
                                                        },
                                                        {
                                                            "typeIdentifier": "t_address",
                                                            "typeString": "address"
                                                        },
                                                        {
                                                            "typeIdentifier": "t_address",
                                                            "typeString": "address"
                                                        }
                                                    ],
                                                    "expression": {
                                                        "id": 17228,
                                                        "name": "abi",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 4294967295,
                                                        "src": "33946:3:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_magic_abi",
                                                            "typeString": "abi"
                                                        }
                                                    },
                                                    "id": 17229,
                                                    "isConstant": false,
                                                    "isLValue": false,
                                                    "isPure": true,
                                                    "lValueRequested": false,
                                                    "memberName": "encodeWithSignature",
                                                    "nodeType": "MemberAccess",
                                                    "src": "33946:23:62",
                                                    "typeDescriptions": {
                                                        "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$",
                                                        "typeString": "function (string memory) pure returns (bytes memory)"
                                                    }
                                                },
                                                "id": 17235,
                                                "isConstant": false,
                                                "isLValue": false,
                                                "isPure": false,
                                                "kind": "functionCall",
                                                "lValueRequested": false,
                                                "names": [],
                                                "nodeType": "FunctionCall",
                                                "src": "33946:77:62",
                                                "tryCall": false,
                                                "typeDescriptions": {
                                                    "typeIdentifier": "t_bytes_memory_ptr",
                                                    "typeString": "bytes memory"
                                                }
                                            }
                                        ],
                                        "expression": {
                                            "argumentTypes": [
                                                {
                                                    "typeIdentifier": "t_bytes_memory_ptr",
                                                    "typeString": "bytes memory"
                                                }
                                            ],
                                            "id": 17227,
                                            "name": "_sendLogPayload",
                                            "nodeType": "Identifier",
                                            "overloadedDeclarations": [],
                                            "referencedDeclaration": 12880,
                                            "src": "33930:15:62",
                                            "typeDescriptions": {
                                                "typeIdentifier": "t_function_internal_view$_t_bytes_memory_ptr_$returns$__$",
                                                "typeString": "function (bytes memory) view"
                                            }
                                        },
                                        "id": 17236,
                                        "isConstant": false,
                                        "isLValue": false,
                                        "isPure": false,
                                        "kind": "functionCall",
                                        "lValueRequested": false,
                                        "names": [],
                                        "nodeType": "FunctionCall",
                                        "src": "33930:94:62",
                                        "tryCall": false,
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_tuple$__$",
                                            "typeString": "tuple()"
                                        }
                                    },
                                    "id": 17237,
                                    "nodeType": "ExpressionStatement",
                                    "src": "33930:94:62"
                                }
                            ]
                        },
                        "id": 17239,
                        "implemented": true,
                        "kind": "function",
                        "modifiers": [],
                        "name": "log",
                        "nameLocation": "33848:3:62",
                        "nodeType": "FunctionDefinition",
                        "parameters": {
                            "id": 17225,
                            "nodeType": "ParameterList",
                            "parameters": [
                                {
                                    "constant": false,
                                    "id": 17218,
                                    "mutability": "mutable",
                                    "name": "p0",
                                    "nameLocation": "33866:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 17239,
                                    "src": "33852:16:62",
                                    "stateVariable": false,
                                    "storageLocation": "memory",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_string_memory_ptr",
                                        "typeString": "string"
                                    },
                                    "typeName": {
                                        "id": 17217,
                                        "name": "string",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "33852:6:62",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_string_storage_ptr",
                                            "typeString": "string"
                                        }
                                    },
                                    "visibility": "internal"
                                },
                                {
                                    "constant": false,
                                    "id": 17220,
                                    "mutability": "mutable",
                                    "name": "p1",
                                    "nameLocation": "33884:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 17239,
                                    "src": "33870:16:62",
                                    "stateVariable": false,
                                    "storageLocation": "memory",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_string_memory_ptr",
                                        "typeString": "string"
                                    },
                                    "typeName": {
                                        "id": 17219,
                                        "name": "string",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "33870:6:62",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_string_storage_ptr",
                                            "typeString": "string"
                                        }
                                    },
                                    "visibility": "internal"
                                },
                                {
                                    "constant": false,
                                    "id": 17222,
                                    "mutability": "mutable",
                                    "name": "p2",
                                    "nameLocation": "33896:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 17239,
                                    "src": "33888:10:62",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_address",
                                        "typeString": "address"
                                    },
                                    "typeName": {
                                        "id": 17221,
                                        "name": "address",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "33888:7:62",
                                        "stateMutability": "nonpayable",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_address",
                                            "typeString": "address"
                                        }
                                    },
                                    "visibility": "internal"
                                },
                                {
                                    "constant": false,
                                    "id": 17224,
                                    "mutability": "mutable",
                                    "name": "p3",
                                    "nameLocation": "33908:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 17239,
                                    "src": "33900:10:62",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_address",
                                        "typeString": "address"
                                    },
                                    "typeName": {
                                        "id": 17223,
                                        "name": "address",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "33900:7:62",
                                        "stateMutability": "nonpayable",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_address",
                                            "typeString": "address"
                                        }
                                    },
                                    "visibility": "internal"
                                }
                            ],
                            "src": "33851:60:62"
                        },
                        "returnParameters": {
                            "id": 17226,
                            "nodeType": "ParameterList",
                            "parameters": [],
                            "src": "33926:0:62"
                        },
                        "scope": 20920,
                        "src": "33839:189:62",
                        "stateMutability": "view",
                        "virtual": false,
                        "visibility": "internal"
                    },
                    {
                        "body": {
                            "id": 17261,
                            "nodeType": "Block",
                            "src": "34103:94:62",
                            "statements": [
                                {
                                    "expression": {
                                        "arguments": [
                                            {
                                                "arguments": [
                                                    {
                                                        "hexValue": "6c6f6728737472696e672c626f6f6c2c75696e742c75696e7429",
                                                        "id": 17253,
                                                        "isConstant": false,
                                                        "isLValue": false,
                                                        "isPure": true,
                                                        "kind": "string",
                                                        "lValueRequested": false,
                                                        "nodeType": "Literal",
                                                        "src": "34147:28:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_stringliteral_5dbff038873b5f716761e9dcaab0713a903ceaebb2ba8c30b199c4dc534f7701",
                                                            "typeString": "literal_string \"log(string,bool,uint,uint)\""
                                                        },
                                                        "value": "log(string,bool,uint,uint)"
                                                    },
                                                    {
                                                        "id": 17254,
                                                        "name": "p0",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 17241,
                                                        "src": "34177:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_string_memory_ptr",
                                                            "typeString": "string memory"
                                                        }
                                                    },
                                                    {
                                                        "id": 17255,
                                                        "name": "p1",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 17243,
                                                        "src": "34181:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_bool",
                                                            "typeString": "bool"
                                                        }
                                                    },
                                                    {
                                                        "id": 17256,
                                                        "name": "p2",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 17245,
                                                        "src": "34185:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_uint256",
                                                            "typeString": "uint256"
                                                        }
                                                    },
                                                    {
                                                        "id": 17257,
                                                        "name": "p3",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 17247,
                                                        "src": "34189:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_uint256",
                                                            "typeString": "uint256"
                                                        }
                                                    }
                                                ],
                                                "expression": {
                                                    "argumentTypes": [
                                                        {
                                                            "typeIdentifier": "t_stringliteral_5dbff038873b5f716761e9dcaab0713a903ceaebb2ba8c30b199c4dc534f7701",
                                                            "typeString": "literal_string \"log(string,bool,uint,uint)\""
                                                        },
                                                        {
                                                            "typeIdentifier": "t_string_memory_ptr",
                                                            "typeString": "string memory"
                                                        },
                                                        {
                                                            "typeIdentifier": "t_bool",
                                                            "typeString": "bool"
                                                        },
                                                        {
                                                            "typeIdentifier": "t_uint256",
                                                            "typeString": "uint256"
                                                        },
                                                        {
                                                            "typeIdentifier": "t_uint256",
                                                            "typeString": "uint256"
                                                        }
                                                    ],
                                                    "expression": {
                                                        "id": 17251,
                                                        "name": "abi",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 4294967295,
                                                        "src": "34123:3:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_magic_abi",
                                                            "typeString": "abi"
                                                        }
                                                    },
                                                    "id": 17252,
                                                    "isConstant": false,
                                                    "isLValue": false,
                                                    "isPure": true,
                                                    "lValueRequested": false,
                                                    "memberName": "encodeWithSignature",
                                                    "nodeType": "MemberAccess",
                                                    "src": "34123:23:62",
                                                    "typeDescriptions": {
                                                        "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$",
                                                        "typeString": "function (string memory) pure returns (bytes memory)"
                                                    }
                                                },
                                                "id": 17258,
                                                "isConstant": false,
                                                "isLValue": false,
                                                "isPure": false,
                                                "kind": "functionCall",
                                                "lValueRequested": false,
                                                "names": [],
                                                "nodeType": "FunctionCall",
                                                "src": "34123:69:62",
                                                "tryCall": false,
                                                "typeDescriptions": {
                                                    "typeIdentifier": "t_bytes_memory_ptr",
                                                    "typeString": "bytes memory"
                                                }
                                            }
                                        ],
                                        "expression": {
                                            "argumentTypes": [
                                                {
                                                    "typeIdentifier": "t_bytes_memory_ptr",
                                                    "typeString": "bytes memory"
                                                }
                                            ],
                                            "id": 17250,
                                            "name": "_sendLogPayload",
                                            "nodeType": "Identifier",
                                            "overloadedDeclarations": [],
                                            "referencedDeclaration": 12880,
                                            "src": "34107:15:62",
                                            "typeDescriptions": {
                                                "typeIdentifier": "t_function_internal_view$_t_bytes_memory_ptr_$returns$__$",
                                                "typeString": "function (bytes memory) view"
                                            }
                                        },
                                        "id": 17259,
                                        "isConstant": false,
                                        "isLValue": false,
                                        "isPure": false,
                                        "kind": "functionCall",
                                        "lValueRequested": false,
                                        "names": [],
                                        "nodeType": "FunctionCall",
                                        "src": "34107:86:62",
                                        "tryCall": false,
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_tuple$__$",
                                            "typeString": "tuple()"
                                        }
                                    },
                                    "id": 17260,
                                    "nodeType": "ExpressionStatement",
                                    "src": "34107:86:62"
                                }
                            ]
                        },
                        "id": 17262,
                        "implemented": true,
                        "kind": "function",
                        "modifiers": [],
                        "name": "log",
                        "nameLocation": "34040:3:62",
                        "nodeType": "FunctionDefinition",
                        "parameters": {
                            "id": 17248,
                            "nodeType": "ParameterList",
                            "parameters": [
                                {
                                    "constant": false,
                                    "id": 17241,
                                    "mutability": "mutable",
                                    "name": "p0",
                                    "nameLocation": "34058:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 17262,
                                    "src": "34044:16:62",
                                    "stateVariable": false,
                                    "storageLocation": "memory",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_string_memory_ptr",
                                        "typeString": "string"
                                    },
                                    "typeName": {
                                        "id": 17240,
                                        "name": "string",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "34044:6:62",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_string_storage_ptr",
                                            "typeString": "string"
                                        }
                                    },
                                    "visibility": "internal"
                                },
                                {
                                    "constant": false,
                                    "id": 17243,
                                    "mutability": "mutable",
                                    "name": "p1",
                                    "nameLocation": "34067:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 17262,
                                    "src": "34062:7:62",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_bool",
                                        "typeString": "bool"
                                    },
                                    "typeName": {
                                        "id": 17242,
                                        "name": "bool",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "34062:4:62",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_bool",
                                            "typeString": "bool"
                                        }
                                    },
                                    "visibility": "internal"
                                },
                                {
                                    "constant": false,
                                    "id": 17245,
                                    "mutability": "mutable",
                                    "name": "p2",
                                    "nameLocation": "34076:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 17262,
                                    "src": "34071:7:62",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_uint256",
                                        "typeString": "uint256"
                                    },
                                    "typeName": {
                                        "id": 17244,
                                        "name": "uint",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "34071:4:62",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_uint256",
                                            "typeString": "uint256"
                                        }
                                    },
                                    "visibility": "internal"
                                },
                                {
                                    "constant": false,
                                    "id": 17247,
                                    "mutability": "mutable",
                                    "name": "p3",
                                    "nameLocation": "34085:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 17262,
                                    "src": "34080:7:62",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_uint256",
                                        "typeString": "uint256"
                                    },
                                    "typeName": {
                                        "id": 17246,
                                        "name": "uint",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "34080:4:62",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_uint256",
                                            "typeString": "uint256"
                                        }
                                    },
                                    "visibility": "internal"
                                }
                            ],
                            "src": "34043:45:62"
                        },
                        "returnParameters": {
                            "id": 17249,
                            "nodeType": "ParameterList",
                            "parameters": [],
                            "src": "34103:0:62"
                        },
                        "scope": 20920,
                        "src": "34031:166:62",
                        "stateMutability": "view",
                        "virtual": false,
                        "visibility": "internal"
                    },
                    {
                        "body": {
                            "id": 17284,
                            "nodeType": "Block",
                            "src": "34281:96:62",
                            "statements": [
                                {
                                    "expression": {
                                        "arguments": [
                                            {
                                                "arguments": [
                                                    {
                                                        "hexValue": "6c6f6728737472696e672c626f6f6c2c75696e742c737472696e6729",
                                                        "id": 17276,
                                                        "isConstant": false,
                                                        "isLValue": false,
                                                        "isPure": true,
                                                        "kind": "string",
                                                        "lValueRequested": false,
                                                        "nodeType": "Literal",
                                                        "src": "34325:30:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_stringliteral_42b9a2274d0e9ab9211da679bc79f433c4055060036260a350e95cf10b9004ee",
                                                            "typeString": "literal_string \"log(string,bool,uint,string)\""
                                                        },
                                                        "value": "log(string,bool,uint,string)"
                                                    },
                                                    {
                                                        "id": 17277,
                                                        "name": "p0",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 17264,
                                                        "src": "34357:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_string_memory_ptr",
                                                            "typeString": "string memory"
                                                        }
                                                    },
                                                    {
                                                        "id": 17278,
                                                        "name": "p1",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 17266,
                                                        "src": "34361:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_bool",
                                                            "typeString": "bool"
                                                        }
                                                    },
                                                    {
                                                        "id": 17279,
                                                        "name": "p2",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 17268,
                                                        "src": "34365:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_uint256",
                                                            "typeString": "uint256"
                                                        }
                                                    },
                                                    {
                                                        "id": 17280,
                                                        "name": "p3",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 17270,
                                                        "src": "34369:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_string_memory_ptr",
                                                            "typeString": "string memory"
                                                        }
                                                    }
                                                ],
                                                "expression": {
                                                    "argumentTypes": [
                                                        {
                                                            "typeIdentifier": "t_stringliteral_42b9a2274d0e9ab9211da679bc79f433c4055060036260a350e95cf10b9004ee",
                                                            "typeString": "literal_string \"log(string,bool,uint,string)\""
                                                        },
                                                        {
                                                            "typeIdentifier": "t_string_memory_ptr",
                                                            "typeString": "string memory"
                                                        },
                                                        {
                                                            "typeIdentifier": "t_bool",
                                                            "typeString": "bool"
                                                        },
                                                        {
                                                            "typeIdentifier": "t_uint256",
                                                            "typeString": "uint256"
                                                        },
                                                        {
                                                            "typeIdentifier": "t_string_memory_ptr",
                                                            "typeString": "string memory"
                                                        }
                                                    ],
                                                    "expression": {
                                                        "id": 17274,
                                                        "name": "abi",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 4294967295,
                                                        "src": "34301:3:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_magic_abi",
                                                            "typeString": "abi"
                                                        }
                                                    },
                                                    "id": 17275,
                                                    "isConstant": false,
                                                    "isLValue": false,
                                                    "isPure": true,
                                                    "lValueRequested": false,
                                                    "memberName": "encodeWithSignature",
                                                    "nodeType": "MemberAccess",
                                                    "src": "34301:23:62",
                                                    "typeDescriptions": {
                                                        "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$",
                                                        "typeString": "function (string memory) pure returns (bytes memory)"
                                                    }
                                                },
                                                "id": 17281,
                                                "isConstant": false,
                                                "isLValue": false,
                                                "isPure": false,
                                                "kind": "functionCall",
                                                "lValueRequested": false,
                                                "names": [],
                                                "nodeType": "FunctionCall",
                                                "src": "34301:71:62",
                                                "tryCall": false,
                                                "typeDescriptions": {
                                                    "typeIdentifier": "t_bytes_memory_ptr",
                                                    "typeString": "bytes memory"
                                                }
                                            }
                                        ],
                                        "expression": {
                                            "argumentTypes": [
                                                {
                                                    "typeIdentifier": "t_bytes_memory_ptr",
                                                    "typeString": "bytes memory"
                                                }
                                            ],
                                            "id": 17273,
                                            "name": "_sendLogPayload",
                                            "nodeType": "Identifier",
                                            "overloadedDeclarations": [],
                                            "referencedDeclaration": 12880,
                                            "src": "34285:15:62",
                                            "typeDescriptions": {
                                                "typeIdentifier": "t_function_internal_view$_t_bytes_memory_ptr_$returns$__$",
                                                "typeString": "function (bytes memory) view"
                                            }
                                        },
                                        "id": 17282,
                                        "isConstant": false,
                                        "isLValue": false,
                                        "isPure": false,
                                        "kind": "functionCall",
                                        "lValueRequested": false,
                                        "names": [],
                                        "nodeType": "FunctionCall",
                                        "src": "34285:88:62",
                                        "tryCall": false,
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_tuple$__$",
                                            "typeString": "tuple()"
                                        }
                                    },
                                    "id": 17283,
                                    "nodeType": "ExpressionStatement",
                                    "src": "34285:88:62"
                                }
                            ]
                        },
                        "id": 17285,
                        "implemented": true,
                        "kind": "function",
                        "modifiers": [],
                        "name": "log",
                        "nameLocation": "34209:3:62",
                        "nodeType": "FunctionDefinition",
                        "parameters": {
                            "id": 17271,
                            "nodeType": "ParameterList",
                            "parameters": [
                                {
                                    "constant": false,
                                    "id": 17264,
                                    "mutability": "mutable",
                                    "name": "p0",
                                    "nameLocation": "34227:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 17285,
                                    "src": "34213:16:62",
                                    "stateVariable": false,
                                    "storageLocation": "memory",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_string_memory_ptr",
                                        "typeString": "string"
                                    },
                                    "typeName": {
                                        "id": 17263,
                                        "name": "string",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "34213:6:62",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_string_storage_ptr",
                                            "typeString": "string"
                                        }
                                    },
                                    "visibility": "internal"
                                },
                                {
                                    "constant": false,
                                    "id": 17266,
                                    "mutability": "mutable",
                                    "name": "p1",
                                    "nameLocation": "34236:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 17285,
                                    "src": "34231:7:62",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_bool",
                                        "typeString": "bool"
                                    },
                                    "typeName": {
                                        "id": 17265,
                                        "name": "bool",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "34231:4:62",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_bool",
                                            "typeString": "bool"
                                        }
                                    },
                                    "visibility": "internal"
                                },
                                {
                                    "constant": false,
                                    "id": 17268,
                                    "mutability": "mutable",
                                    "name": "p2",
                                    "nameLocation": "34245:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 17285,
                                    "src": "34240:7:62",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_uint256",
                                        "typeString": "uint256"
                                    },
                                    "typeName": {
                                        "id": 17267,
                                        "name": "uint",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "34240:4:62",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_uint256",
                                            "typeString": "uint256"
                                        }
                                    },
                                    "visibility": "internal"
                                },
                                {
                                    "constant": false,
                                    "id": 17270,
                                    "mutability": "mutable",
                                    "name": "p3",
                                    "nameLocation": "34263:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 17285,
                                    "src": "34249:16:62",
                                    "stateVariable": false,
                                    "storageLocation": "memory",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_string_memory_ptr",
                                        "typeString": "string"
                                    },
                                    "typeName": {
                                        "id": 17269,
                                        "name": "string",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "34249:6:62",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_string_storage_ptr",
                                            "typeString": "string"
                                        }
                                    },
                                    "visibility": "internal"
                                }
                            ],
                            "src": "34212:54:62"
                        },
                        "returnParameters": {
                            "id": 17272,
                            "nodeType": "ParameterList",
                            "parameters": [],
                            "src": "34281:0:62"
                        },
                        "scope": 20920,
                        "src": "34200:177:62",
                        "stateMutability": "view",
                        "virtual": false,
                        "visibility": "internal"
                    },
                    {
                        "body": {
                            "id": 17307,
                            "nodeType": "Block",
                            "src": "34452:94:62",
                            "statements": [
                                {
                                    "expression": {
                                        "arguments": [
                                            {
                                                "arguments": [
                                                    {
                                                        "hexValue": "6c6f6728737472696e672c626f6f6c2c75696e742c626f6f6c29",
                                                        "id": 17299,
                                                        "isConstant": false,
                                                        "isLValue": false,
                                                        "isPure": true,
                                                        "kind": "string",
                                                        "lValueRequested": false,
                                                        "nodeType": "Literal",
                                                        "src": "34496:28:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_stringliteral_3cc5b5d38fa67d61ad4f760e2dab344ea54d36d39a7b72ff747c1e117e2289bb",
                                                            "typeString": "literal_string \"log(string,bool,uint,bool)\""
                                                        },
                                                        "value": "log(string,bool,uint,bool)"
                                                    },
                                                    {
                                                        "id": 17300,
                                                        "name": "p0",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 17287,
                                                        "src": "34526:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_string_memory_ptr",
                                                            "typeString": "string memory"
                                                        }
                                                    },
                                                    {
                                                        "id": 17301,
                                                        "name": "p1",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 17289,
                                                        "src": "34530:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_bool",
                                                            "typeString": "bool"
                                                        }
                                                    },
                                                    {
                                                        "id": 17302,
                                                        "name": "p2",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 17291,
                                                        "src": "34534:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_uint256",
                                                            "typeString": "uint256"
                                                        }
                                                    },
                                                    {
                                                        "id": 17303,
                                                        "name": "p3",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 17293,
                                                        "src": "34538:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_bool",
                                                            "typeString": "bool"
                                                        }
                                                    }
                                                ],
                                                "expression": {
                                                    "argumentTypes": [
                                                        {
                                                            "typeIdentifier": "t_stringliteral_3cc5b5d38fa67d61ad4f760e2dab344ea54d36d39a7b72ff747c1e117e2289bb",
                                                            "typeString": "literal_string \"log(string,bool,uint,bool)\""
                                                        },
                                                        {
                                                            "typeIdentifier": "t_string_memory_ptr",
                                                            "typeString": "string memory"
                                                        },
                                                        {
                                                            "typeIdentifier": "t_bool",
                                                            "typeString": "bool"
                                                        },
                                                        {
                                                            "typeIdentifier": "t_uint256",
                                                            "typeString": "uint256"
                                                        },
                                                        {
                                                            "typeIdentifier": "t_bool",
                                                            "typeString": "bool"
                                                        }
                                                    ],
                                                    "expression": {
                                                        "id": 17297,
                                                        "name": "abi",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 4294967295,
                                                        "src": "34472:3:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_magic_abi",
                                                            "typeString": "abi"
                                                        }
                                                    },
                                                    "id": 17298,
                                                    "isConstant": false,
                                                    "isLValue": false,
                                                    "isPure": true,
                                                    "lValueRequested": false,
                                                    "memberName": "encodeWithSignature",
                                                    "nodeType": "MemberAccess",
                                                    "src": "34472:23:62",
                                                    "typeDescriptions": {
                                                        "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$",
                                                        "typeString": "function (string memory) pure returns (bytes memory)"
                                                    }
                                                },
                                                "id": 17304,
                                                "isConstant": false,
                                                "isLValue": false,
                                                "isPure": false,
                                                "kind": "functionCall",
                                                "lValueRequested": false,
                                                "names": [],
                                                "nodeType": "FunctionCall",
                                                "src": "34472:69:62",
                                                "tryCall": false,
                                                "typeDescriptions": {
                                                    "typeIdentifier": "t_bytes_memory_ptr",
                                                    "typeString": "bytes memory"
                                                }
                                            }
                                        ],
                                        "expression": {
                                            "argumentTypes": [
                                                {
                                                    "typeIdentifier": "t_bytes_memory_ptr",
                                                    "typeString": "bytes memory"
                                                }
                                            ],
                                            "id": 17296,
                                            "name": "_sendLogPayload",
                                            "nodeType": "Identifier",
                                            "overloadedDeclarations": [],
                                            "referencedDeclaration": 12880,
                                            "src": "34456:15:62",
                                            "typeDescriptions": {
                                                "typeIdentifier": "t_function_internal_view$_t_bytes_memory_ptr_$returns$__$",
                                                "typeString": "function (bytes memory) view"
                                            }
                                        },
                                        "id": 17305,
                                        "isConstant": false,
                                        "isLValue": false,
                                        "isPure": false,
                                        "kind": "functionCall",
                                        "lValueRequested": false,
                                        "names": [],
                                        "nodeType": "FunctionCall",
                                        "src": "34456:86:62",
                                        "tryCall": false,
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_tuple$__$",
                                            "typeString": "tuple()"
                                        }
                                    },
                                    "id": 17306,
                                    "nodeType": "ExpressionStatement",
                                    "src": "34456:86:62"
                                }
                            ]
                        },
                        "id": 17308,
                        "implemented": true,
                        "kind": "function",
                        "modifiers": [],
                        "name": "log",
                        "nameLocation": "34389:3:62",
                        "nodeType": "FunctionDefinition",
                        "parameters": {
                            "id": 17294,
                            "nodeType": "ParameterList",
                            "parameters": [
                                {
                                    "constant": false,
                                    "id": 17287,
                                    "mutability": "mutable",
                                    "name": "p0",
                                    "nameLocation": "34407:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 17308,
                                    "src": "34393:16:62",
                                    "stateVariable": false,
                                    "storageLocation": "memory",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_string_memory_ptr",
                                        "typeString": "string"
                                    },
                                    "typeName": {
                                        "id": 17286,
                                        "name": "string",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "34393:6:62",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_string_storage_ptr",
                                            "typeString": "string"
                                        }
                                    },
                                    "visibility": "internal"
                                },
                                {
                                    "constant": false,
                                    "id": 17289,
                                    "mutability": "mutable",
                                    "name": "p1",
                                    "nameLocation": "34416:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 17308,
                                    "src": "34411:7:62",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_bool",
                                        "typeString": "bool"
                                    },
                                    "typeName": {
                                        "id": 17288,
                                        "name": "bool",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "34411:4:62",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_bool",
                                            "typeString": "bool"
                                        }
                                    },
                                    "visibility": "internal"
                                },
                                {
                                    "constant": false,
                                    "id": 17291,
                                    "mutability": "mutable",
                                    "name": "p2",
                                    "nameLocation": "34425:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 17308,
                                    "src": "34420:7:62",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_uint256",
                                        "typeString": "uint256"
                                    },
                                    "typeName": {
                                        "id": 17290,
                                        "name": "uint",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "34420:4:62",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_uint256",
                                            "typeString": "uint256"
                                        }
                                    },
                                    "visibility": "internal"
                                },
                                {
                                    "constant": false,
                                    "id": 17293,
                                    "mutability": "mutable",
                                    "name": "p3",
                                    "nameLocation": "34434:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 17308,
                                    "src": "34429:7:62",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_bool",
                                        "typeString": "bool"
                                    },
                                    "typeName": {
                                        "id": 17292,
                                        "name": "bool",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "34429:4:62",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_bool",
                                            "typeString": "bool"
                                        }
                                    },
                                    "visibility": "internal"
                                }
                            ],
                            "src": "34392:45:62"
                        },
                        "returnParameters": {
                            "id": 17295,
                            "nodeType": "ParameterList",
                            "parameters": [],
                            "src": "34452:0:62"
                        },
                        "scope": 20920,
                        "src": "34380:166:62",
                        "stateMutability": "view",
                        "virtual": false,
                        "visibility": "internal"
                    },
                    {
                        "body": {
                            "id": 17330,
                            "nodeType": "Block",
                            "src": "34624:97:62",
                            "statements": [
                                {
                                    "expression": {
                                        "arguments": [
                                            {
                                                "arguments": [
                                                    {
                                                        "hexValue": "6c6f6728737472696e672c626f6f6c2c75696e742c6164647265737329",
                                                        "id": 17322,
                                                        "isConstant": false,
                                                        "isLValue": false,
                                                        "isPure": true,
                                                        "kind": "string",
                                                        "lValueRequested": false,
                                                        "nodeType": "Literal",
                                                        "src": "34668:31:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_stringliteral_71d3850da171f493bcf1bd9faa0694f71484214d8459bca427251a9ad3e9bbd6",
                                                            "typeString": "literal_string \"log(string,bool,uint,address)\""
                                                        },
                                                        "value": "log(string,bool,uint,address)"
                                                    },
                                                    {
                                                        "id": 17323,
                                                        "name": "p0",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 17310,
                                                        "src": "34701:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_string_memory_ptr",
                                                            "typeString": "string memory"
                                                        }
                                                    },
                                                    {
                                                        "id": 17324,
                                                        "name": "p1",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 17312,
                                                        "src": "34705:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_bool",
                                                            "typeString": "bool"
                                                        }
                                                    },
                                                    {
                                                        "id": 17325,
                                                        "name": "p2",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 17314,
                                                        "src": "34709:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_uint256",
                                                            "typeString": "uint256"
                                                        }
                                                    },
                                                    {
                                                        "id": 17326,
                                                        "name": "p3",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 17316,
                                                        "src": "34713:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_address",
                                                            "typeString": "address"
                                                        }
                                                    }
                                                ],
                                                "expression": {
                                                    "argumentTypes": [
                                                        {
                                                            "typeIdentifier": "t_stringliteral_71d3850da171f493bcf1bd9faa0694f71484214d8459bca427251a9ad3e9bbd6",
                                                            "typeString": "literal_string \"log(string,bool,uint,address)\""
                                                        },
                                                        {
                                                            "typeIdentifier": "t_string_memory_ptr",
                                                            "typeString": "string memory"
                                                        },
                                                        {
                                                            "typeIdentifier": "t_bool",
                                                            "typeString": "bool"
                                                        },
                                                        {
                                                            "typeIdentifier": "t_uint256",
                                                            "typeString": "uint256"
                                                        },
                                                        {
                                                            "typeIdentifier": "t_address",
                                                            "typeString": "address"
                                                        }
                                                    ],
                                                    "expression": {
                                                        "id": 17320,
                                                        "name": "abi",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 4294967295,
                                                        "src": "34644:3:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_magic_abi",
                                                            "typeString": "abi"
                                                        }
                                                    },
                                                    "id": 17321,
                                                    "isConstant": false,
                                                    "isLValue": false,
                                                    "isPure": true,
                                                    "lValueRequested": false,
                                                    "memberName": "encodeWithSignature",
                                                    "nodeType": "MemberAccess",
                                                    "src": "34644:23:62",
                                                    "typeDescriptions": {
                                                        "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$",
                                                        "typeString": "function (string memory) pure returns (bytes memory)"
                                                    }
                                                },
                                                "id": 17327,
                                                "isConstant": false,
                                                "isLValue": false,
                                                "isPure": false,
                                                "kind": "functionCall",
                                                "lValueRequested": false,
                                                "names": [],
                                                "nodeType": "FunctionCall",
                                                "src": "34644:72:62",
                                                "tryCall": false,
                                                "typeDescriptions": {
                                                    "typeIdentifier": "t_bytes_memory_ptr",
                                                    "typeString": "bytes memory"
                                                }
                                            }
                                        ],
                                        "expression": {
                                            "argumentTypes": [
                                                {
                                                    "typeIdentifier": "t_bytes_memory_ptr",
                                                    "typeString": "bytes memory"
                                                }
                                            ],
                                            "id": 17319,
                                            "name": "_sendLogPayload",
                                            "nodeType": "Identifier",
                                            "overloadedDeclarations": [],
                                            "referencedDeclaration": 12880,
                                            "src": "34628:15:62",
                                            "typeDescriptions": {
                                                "typeIdentifier": "t_function_internal_view$_t_bytes_memory_ptr_$returns$__$",
                                                "typeString": "function (bytes memory) view"
                                            }
                                        },
                                        "id": 17328,
                                        "isConstant": false,
                                        "isLValue": false,
                                        "isPure": false,
                                        "kind": "functionCall",
                                        "lValueRequested": false,
                                        "names": [],
                                        "nodeType": "FunctionCall",
                                        "src": "34628:89:62",
                                        "tryCall": false,
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_tuple$__$",
                                            "typeString": "tuple()"
                                        }
                                    },
                                    "id": 17329,
                                    "nodeType": "ExpressionStatement",
                                    "src": "34628:89:62"
                                }
                            ]
                        },
                        "id": 17331,
                        "implemented": true,
                        "kind": "function",
                        "modifiers": [],
                        "name": "log",
                        "nameLocation": "34558:3:62",
                        "nodeType": "FunctionDefinition",
                        "parameters": {
                            "id": 17317,
                            "nodeType": "ParameterList",
                            "parameters": [
                                {
                                    "constant": false,
                                    "id": 17310,
                                    "mutability": "mutable",
                                    "name": "p0",
                                    "nameLocation": "34576:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 17331,
                                    "src": "34562:16:62",
                                    "stateVariable": false,
                                    "storageLocation": "memory",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_string_memory_ptr",
                                        "typeString": "string"
                                    },
                                    "typeName": {
                                        "id": 17309,
                                        "name": "string",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "34562:6:62",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_string_storage_ptr",
                                            "typeString": "string"
                                        }
                                    },
                                    "visibility": "internal"
                                },
                                {
                                    "constant": false,
                                    "id": 17312,
                                    "mutability": "mutable",
                                    "name": "p1",
                                    "nameLocation": "34585:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 17331,
                                    "src": "34580:7:62",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_bool",
                                        "typeString": "bool"
                                    },
                                    "typeName": {
                                        "id": 17311,
                                        "name": "bool",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "34580:4:62",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_bool",
                                            "typeString": "bool"
                                        }
                                    },
                                    "visibility": "internal"
                                },
                                {
                                    "constant": false,
                                    "id": 17314,
                                    "mutability": "mutable",
                                    "name": "p2",
                                    "nameLocation": "34594:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 17331,
                                    "src": "34589:7:62",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_uint256",
                                        "typeString": "uint256"
                                    },
                                    "typeName": {
                                        "id": 17313,
                                        "name": "uint",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "34589:4:62",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_uint256",
                                            "typeString": "uint256"
                                        }
                                    },
                                    "visibility": "internal"
                                },
                                {
                                    "constant": false,
                                    "id": 17316,
                                    "mutability": "mutable",
                                    "name": "p3",
                                    "nameLocation": "34606:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 17331,
                                    "src": "34598:10:62",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_address",
                                        "typeString": "address"
                                    },
                                    "typeName": {
                                        "id": 17315,
                                        "name": "address",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "34598:7:62",
                                        "stateMutability": "nonpayable",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_address",
                                            "typeString": "address"
                                        }
                                    },
                                    "visibility": "internal"
                                }
                            ],
                            "src": "34561:48:62"
                        },
                        "returnParameters": {
                            "id": 17318,
                            "nodeType": "ParameterList",
                            "parameters": [],
                            "src": "34624:0:62"
                        },
                        "scope": 20920,
                        "src": "34549:172:62",
                        "stateMutability": "view",
                        "virtual": false,
                        "visibility": "internal"
                    },
                    {
                        "body": {
                            "id": 17353,
                            "nodeType": "Block",
                            "src": "34805:96:62",
                            "statements": [
                                {
                                    "expression": {
                                        "arguments": [
                                            {
                                                "arguments": [
                                                    {
                                                        "hexValue": "6c6f6728737472696e672c626f6f6c2c737472696e672c75696e7429",
                                                        "id": 17345,
                                                        "isConstant": false,
                                                        "isLValue": false,
                                                        "isPure": true,
                                                        "kind": "string",
                                                        "lValueRequested": false,
                                                        "nodeType": "Literal",
                                                        "src": "34849:30:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_stringliteral_34cb308d42fc37e3a239bcd0d717cf3713a336733737bee1d82ac9061e969d72",
                                                            "typeString": "literal_string \"log(string,bool,string,uint)\""
                                                        },
                                                        "value": "log(string,bool,string,uint)"
                                                    },
                                                    {
                                                        "id": 17346,
                                                        "name": "p0",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 17333,
                                                        "src": "34881:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_string_memory_ptr",
                                                            "typeString": "string memory"
                                                        }
                                                    },
                                                    {
                                                        "id": 17347,
                                                        "name": "p1",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 17335,
                                                        "src": "34885:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_bool",
                                                            "typeString": "bool"
                                                        }
                                                    },
                                                    {
                                                        "id": 17348,
                                                        "name": "p2",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 17337,
                                                        "src": "34889:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_string_memory_ptr",
                                                            "typeString": "string memory"
                                                        }
                                                    },
                                                    {
                                                        "id": 17349,
                                                        "name": "p3",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 17339,
                                                        "src": "34893:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_uint256",
                                                            "typeString": "uint256"
                                                        }
                                                    }
                                                ],
                                                "expression": {
                                                    "argumentTypes": [
                                                        {
                                                            "typeIdentifier": "t_stringliteral_34cb308d42fc37e3a239bcd0d717cf3713a336733737bee1d82ac9061e969d72",
                                                            "typeString": "literal_string \"log(string,bool,string,uint)\""
                                                        },
                                                        {
                                                            "typeIdentifier": "t_string_memory_ptr",
                                                            "typeString": "string memory"
                                                        },
                                                        {
                                                            "typeIdentifier": "t_bool",
                                                            "typeString": "bool"
                                                        },
                                                        {
                                                            "typeIdentifier": "t_string_memory_ptr",
                                                            "typeString": "string memory"
                                                        },
                                                        {
                                                            "typeIdentifier": "t_uint256",
                                                            "typeString": "uint256"
                                                        }
                                                    ],
                                                    "expression": {
                                                        "id": 17343,
                                                        "name": "abi",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 4294967295,
                                                        "src": "34825:3:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_magic_abi",
                                                            "typeString": "abi"
                                                        }
                                                    },
                                                    "id": 17344,
                                                    "isConstant": false,
                                                    "isLValue": false,
                                                    "isPure": true,
                                                    "lValueRequested": false,
                                                    "memberName": "encodeWithSignature",
                                                    "nodeType": "MemberAccess",
                                                    "src": "34825:23:62",
                                                    "typeDescriptions": {
                                                        "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$",
                                                        "typeString": "function (string memory) pure returns (bytes memory)"
                                                    }
                                                },
                                                "id": 17350,
                                                "isConstant": false,
                                                "isLValue": false,
                                                "isPure": false,
                                                "kind": "functionCall",
                                                "lValueRequested": false,
                                                "names": [],
                                                "nodeType": "FunctionCall",
                                                "src": "34825:71:62",
                                                "tryCall": false,
                                                "typeDescriptions": {
                                                    "typeIdentifier": "t_bytes_memory_ptr",
                                                    "typeString": "bytes memory"
                                                }
                                            }
                                        ],
                                        "expression": {
                                            "argumentTypes": [
                                                {
                                                    "typeIdentifier": "t_bytes_memory_ptr",
                                                    "typeString": "bytes memory"
                                                }
                                            ],
                                            "id": 17342,
                                            "name": "_sendLogPayload",
                                            "nodeType": "Identifier",
                                            "overloadedDeclarations": [],
                                            "referencedDeclaration": 12880,
                                            "src": "34809:15:62",
                                            "typeDescriptions": {
                                                "typeIdentifier": "t_function_internal_view$_t_bytes_memory_ptr_$returns$__$",
                                                "typeString": "function (bytes memory) view"
                                            }
                                        },
                                        "id": 17351,
                                        "isConstant": false,
                                        "isLValue": false,
                                        "isPure": false,
                                        "kind": "functionCall",
                                        "lValueRequested": false,
                                        "names": [],
                                        "nodeType": "FunctionCall",
                                        "src": "34809:88:62",
                                        "tryCall": false,
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_tuple$__$",
                                            "typeString": "tuple()"
                                        }
                                    },
                                    "id": 17352,
                                    "nodeType": "ExpressionStatement",
                                    "src": "34809:88:62"
                                }
                            ]
                        },
                        "id": 17354,
                        "implemented": true,
                        "kind": "function",
                        "modifiers": [],
                        "name": "log",
                        "nameLocation": "34733:3:62",
                        "nodeType": "FunctionDefinition",
                        "parameters": {
                            "id": 17340,
                            "nodeType": "ParameterList",
                            "parameters": [
                                {
                                    "constant": false,
                                    "id": 17333,
                                    "mutability": "mutable",
                                    "name": "p0",
                                    "nameLocation": "34751:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 17354,
                                    "src": "34737:16:62",
                                    "stateVariable": false,
                                    "storageLocation": "memory",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_string_memory_ptr",
                                        "typeString": "string"
                                    },
                                    "typeName": {
                                        "id": 17332,
                                        "name": "string",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "34737:6:62",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_string_storage_ptr",
                                            "typeString": "string"
                                        }
                                    },
                                    "visibility": "internal"
                                },
                                {
                                    "constant": false,
                                    "id": 17335,
                                    "mutability": "mutable",
                                    "name": "p1",
                                    "nameLocation": "34760:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 17354,
                                    "src": "34755:7:62",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_bool",
                                        "typeString": "bool"
                                    },
                                    "typeName": {
                                        "id": 17334,
                                        "name": "bool",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "34755:4:62",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_bool",
                                            "typeString": "bool"
                                        }
                                    },
                                    "visibility": "internal"
                                },
                                {
                                    "constant": false,
                                    "id": 17337,
                                    "mutability": "mutable",
                                    "name": "p2",
                                    "nameLocation": "34778:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 17354,
                                    "src": "34764:16:62",
                                    "stateVariable": false,
                                    "storageLocation": "memory",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_string_memory_ptr",
                                        "typeString": "string"
                                    },
                                    "typeName": {
                                        "id": 17336,
                                        "name": "string",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "34764:6:62",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_string_storage_ptr",
                                            "typeString": "string"
                                        }
                                    },
                                    "visibility": "internal"
                                },
                                {
                                    "constant": false,
                                    "id": 17339,
                                    "mutability": "mutable",
                                    "name": "p3",
                                    "nameLocation": "34787:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 17354,
                                    "src": "34782:7:62",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_uint256",
                                        "typeString": "uint256"
                                    },
                                    "typeName": {
                                        "id": 17338,
                                        "name": "uint",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "34782:4:62",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_uint256",
                                            "typeString": "uint256"
                                        }
                                    },
                                    "visibility": "internal"
                                }
                            ],
                            "src": "34736:54:62"
                        },
                        "returnParameters": {
                            "id": 17341,
                            "nodeType": "ParameterList",
                            "parameters": [],
                            "src": "34805:0:62"
                        },
                        "scope": 20920,
                        "src": "34724:177:62",
                        "stateMutability": "view",
                        "virtual": false,
                        "visibility": "internal"
                    },
                    {
                        "body": {
                            "id": 17376,
                            "nodeType": "Block",
                            "src": "34994:98:62",
                            "statements": [
                                {
                                    "expression": {
                                        "arguments": [
                                            {
                                                "arguments": [
                                                    {
                                                        "hexValue": "6c6f6728737472696e672c626f6f6c2c737472696e672c737472696e6729",
                                                        "id": 17368,
                                                        "isConstant": false,
                                                        "isLValue": false,
                                                        "isPure": true,
                                                        "kind": "string",
                                                        "lValueRequested": false,
                                                        "nodeType": "Literal",
                                                        "src": "35038:32:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_stringliteral_a826caebc65f4a71211c1c7fd8dc9bdd856d7ef7dbeef42d8af156e9f73bc47d",
                                                            "typeString": "literal_string \"log(string,bool,string,string)\""
                                                        },
                                                        "value": "log(string,bool,string,string)"
                                                    },
                                                    {
                                                        "id": 17369,
                                                        "name": "p0",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 17356,
                                                        "src": "35072:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_string_memory_ptr",
                                                            "typeString": "string memory"
                                                        }
                                                    },
                                                    {
                                                        "id": 17370,
                                                        "name": "p1",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 17358,
                                                        "src": "35076:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_bool",
                                                            "typeString": "bool"
                                                        }
                                                    },
                                                    {
                                                        "id": 17371,
                                                        "name": "p2",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 17360,
                                                        "src": "35080:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_string_memory_ptr",
                                                            "typeString": "string memory"
                                                        }
                                                    },
                                                    {
                                                        "id": 17372,
                                                        "name": "p3",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 17362,
                                                        "src": "35084:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_string_memory_ptr",
                                                            "typeString": "string memory"
                                                        }
                                                    }
                                                ],
                                                "expression": {
                                                    "argumentTypes": [
                                                        {
                                                            "typeIdentifier": "t_stringliteral_a826caebc65f4a71211c1c7fd8dc9bdd856d7ef7dbeef42d8af156e9f73bc47d",
                                                            "typeString": "literal_string \"log(string,bool,string,string)\""
                                                        },
                                                        {
                                                            "typeIdentifier": "t_string_memory_ptr",
                                                            "typeString": "string memory"
                                                        },
                                                        {
                                                            "typeIdentifier": "t_bool",
                                                            "typeString": "bool"
                                                        },
                                                        {
                                                            "typeIdentifier": "t_string_memory_ptr",
                                                            "typeString": "string memory"
                                                        },
                                                        {
                                                            "typeIdentifier": "t_string_memory_ptr",
                                                            "typeString": "string memory"
                                                        }
                                                    ],
                                                    "expression": {
                                                        "id": 17366,
                                                        "name": "abi",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 4294967295,
                                                        "src": "35014:3:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_magic_abi",
                                                            "typeString": "abi"
                                                        }
                                                    },
                                                    "id": 17367,
                                                    "isConstant": false,
                                                    "isLValue": false,
                                                    "isPure": true,
                                                    "lValueRequested": false,
                                                    "memberName": "encodeWithSignature",
                                                    "nodeType": "MemberAccess",
                                                    "src": "35014:23:62",
                                                    "typeDescriptions": {
                                                        "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$",
                                                        "typeString": "function (string memory) pure returns (bytes memory)"
                                                    }
                                                },
                                                "id": 17373,
                                                "isConstant": false,
                                                "isLValue": false,
                                                "isPure": false,
                                                "kind": "functionCall",
                                                "lValueRequested": false,
                                                "names": [],
                                                "nodeType": "FunctionCall",
                                                "src": "35014:73:62",
                                                "tryCall": false,
                                                "typeDescriptions": {
                                                    "typeIdentifier": "t_bytes_memory_ptr",
                                                    "typeString": "bytes memory"
                                                }
                                            }
                                        ],
                                        "expression": {
                                            "argumentTypes": [
                                                {
                                                    "typeIdentifier": "t_bytes_memory_ptr",
                                                    "typeString": "bytes memory"
                                                }
                                            ],
                                            "id": 17365,
                                            "name": "_sendLogPayload",
                                            "nodeType": "Identifier",
                                            "overloadedDeclarations": [],
                                            "referencedDeclaration": 12880,
                                            "src": "34998:15:62",
                                            "typeDescriptions": {
                                                "typeIdentifier": "t_function_internal_view$_t_bytes_memory_ptr_$returns$__$",
                                                "typeString": "function (bytes memory) view"
                                            }
                                        },
                                        "id": 17374,
                                        "isConstant": false,
                                        "isLValue": false,
                                        "isPure": false,
                                        "kind": "functionCall",
                                        "lValueRequested": false,
                                        "names": [],
                                        "nodeType": "FunctionCall",
                                        "src": "34998:90:62",
                                        "tryCall": false,
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_tuple$__$",
                                            "typeString": "tuple()"
                                        }
                                    },
                                    "id": 17375,
                                    "nodeType": "ExpressionStatement",
                                    "src": "34998:90:62"
                                }
                            ]
                        },
                        "id": 17377,
                        "implemented": true,
                        "kind": "function",
                        "modifiers": [],
                        "name": "log",
                        "nameLocation": "34913:3:62",
                        "nodeType": "FunctionDefinition",
                        "parameters": {
                            "id": 17363,
                            "nodeType": "ParameterList",
                            "parameters": [
                                {
                                    "constant": false,
                                    "id": 17356,
                                    "mutability": "mutable",
                                    "name": "p0",
                                    "nameLocation": "34931:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 17377,
                                    "src": "34917:16:62",
                                    "stateVariable": false,
                                    "storageLocation": "memory",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_string_memory_ptr",
                                        "typeString": "string"
                                    },
                                    "typeName": {
                                        "id": 17355,
                                        "name": "string",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "34917:6:62",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_string_storage_ptr",
                                            "typeString": "string"
                                        }
                                    },
                                    "visibility": "internal"
                                },
                                {
                                    "constant": false,
                                    "id": 17358,
                                    "mutability": "mutable",
                                    "name": "p1",
                                    "nameLocation": "34940:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 17377,
                                    "src": "34935:7:62",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_bool",
                                        "typeString": "bool"
                                    },
                                    "typeName": {
                                        "id": 17357,
                                        "name": "bool",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "34935:4:62",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_bool",
                                            "typeString": "bool"
                                        }
                                    },
                                    "visibility": "internal"
                                },
                                {
                                    "constant": false,
                                    "id": 17360,
                                    "mutability": "mutable",
                                    "name": "p2",
                                    "nameLocation": "34958:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 17377,
                                    "src": "34944:16:62",
                                    "stateVariable": false,
                                    "storageLocation": "memory",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_string_memory_ptr",
                                        "typeString": "string"
                                    },
                                    "typeName": {
                                        "id": 17359,
                                        "name": "string",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "34944:6:62",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_string_storage_ptr",
                                            "typeString": "string"
                                        }
                                    },
                                    "visibility": "internal"
                                },
                                {
                                    "constant": false,
                                    "id": 17362,
                                    "mutability": "mutable",
                                    "name": "p3",
                                    "nameLocation": "34976:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 17377,
                                    "src": "34962:16:62",
                                    "stateVariable": false,
                                    "storageLocation": "memory",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_string_memory_ptr",
                                        "typeString": "string"
                                    },
                                    "typeName": {
                                        "id": 17361,
                                        "name": "string",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "34962:6:62",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_string_storage_ptr",
                                            "typeString": "string"
                                        }
                                    },
                                    "visibility": "internal"
                                }
                            ],
                            "src": "34916:63:62"
                        },
                        "returnParameters": {
                            "id": 17364,
                            "nodeType": "ParameterList",
                            "parameters": [],
                            "src": "34994:0:62"
                        },
                        "scope": 20920,
                        "src": "34904:188:62",
                        "stateMutability": "view",
                        "virtual": false,
                        "visibility": "internal"
                    },
                    {
                        "body": {
                            "id": 17399,
                            "nodeType": "Block",
                            "src": "35176:96:62",
                            "statements": [
                                {
                                    "expression": {
                                        "arguments": [
                                            {
                                                "arguments": [
                                                    {
                                                        "hexValue": "6c6f6728737472696e672c626f6f6c2c737472696e672c626f6f6c29",
                                                        "id": 17391,
                                                        "isConstant": false,
                                                        "isLValue": false,
                                                        "isPure": true,
                                                        "kind": "string",
                                                        "lValueRequested": false,
                                                        "nodeType": "Literal",
                                                        "src": "35220:30:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_stringliteral_3f8a701d00386d6ad9c7b7a930805b985bcbbe108e894a7d5cb9493e87e57e8b",
                                                            "typeString": "literal_string \"log(string,bool,string,bool)\""
                                                        },
                                                        "value": "log(string,bool,string,bool)"
                                                    },
                                                    {
                                                        "id": 17392,
                                                        "name": "p0",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 17379,
                                                        "src": "35252:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_string_memory_ptr",
                                                            "typeString": "string memory"
                                                        }
                                                    },
                                                    {
                                                        "id": 17393,
                                                        "name": "p1",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 17381,
                                                        "src": "35256:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_bool",
                                                            "typeString": "bool"
                                                        }
                                                    },
                                                    {
                                                        "id": 17394,
                                                        "name": "p2",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 17383,
                                                        "src": "35260:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_string_memory_ptr",
                                                            "typeString": "string memory"
                                                        }
                                                    },
                                                    {
                                                        "id": 17395,
                                                        "name": "p3",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 17385,
                                                        "src": "35264:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_bool",
                                                            "typeString": "bool"
                                                        }
                                                    }
                                                ],
                                                "expression": {
                                                    "argumentTypes": [
                                                        {
                                                            "typeIdentifier": "t_stringliteral_3f8a701d00386d6ad9c7b7a930805b985bcbbe108e894a7d5cb9493e87e57e8b",
                                                            "typeString": "literal_string \"log(string,bool,string,bool)\""
                                                        },
                                                        {
                                                            "typeIdentifier": "t_string_memory_ptr",
                                                            "typeString": "string memory"
                                                        },
                                                        {
                                                            "typeIdentifier": "t_bool",
                                                            "typeString": "bool"
                                                        },
                                                        {
                                                            "typeIdentifier": "t_string_memory_ptr",
                                                            "typeString": "string memory"
                                                        },
                                                        {
                                                            "typeIdentifier": "t_bool",
                                                            "typeString": "bool"
                                                        }
                                                    ],
                                                    "expression": {
                                                        "id": 17389,
                                                        "name": "abi",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 4294967295,
                                                        "src": "35196:3:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_magic_abi",
                                                            "typeString": "abi"
                                                        }
                                                    },
                                                    "id": 17390,
                                                    "isConstant": false,
                                                    "isLValue": false,
                                                    "isPure": true,
                                                    "lValueRequested": false,
                                                    "memberName": "encodeWithSignature",
                                                    "nodeType": "MemberAccess",
                                                    "src": "35196:23:62",
                                                    "typeDescriptions": {
                                                        "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$",
                                                        "typeString": "function (string memory) pure returns (bytes memory)"
                                                    }
                                                },
                                                "id": 17396,
                                                "isConstant": false,
                                                "isLValue": false,
                                                "isPure": false,
                                                "kind": "functionCall",
                                                "lValueRequested": false,
                                                "names": [],
                                                "nodeType": "FunctionCall",
                                                "src": "35196:71:62",
                                                "tryCall": false,
                                                "typeDescriptions": {
                                                    "typeIdentifier": "t_bytes_memory_ptr",
                                                    "typeString": "bytes memory"
                                                }
                                            }
                                        ],
                                        "expression": {
                                            "argumentTypes": [
                                                {
                                                    "typeIdentifier": "t_bytes_memory_ptr",
                                                    "typeString": "bytes memory"
                                                }
                                            ],
                                            "id": 17388,
                                            "name": "_sendLogPayload",
                                            "nodeType": "Identifier",
                                            "overloadedDeclarations": [],
                                            "referencedDeclaration": 12880,
                                            "src": "35180:15:62",
                                            "typeDescriptions": {
                                                "typeIdentifier": "t_function_internal_view$_t_bytes_memory_ptr_$returns$__$",
                                                "typeString": "function (bytes memory) view"
                                            }
                                        },
                                        "id": 17397,
                                        "isConstant": false,
                                        "isLValue": false,
                                        "isPure": false,
                                        "kind": "functionCall",
                                        "lValueRequested": false,
                                        "names": [],
                                        "nodeType": "FunctionCall",
                                        "src": "35180:88:62",
                                        "tryCall": false,
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_tuple$__$",
                                            "typeString": "tuple()"
                                        }
                                    },
                                    "id": 17398,
                                    "nodeType": "ExpressionStatement",
                                    "src": "35180:88:62"
                                }
                            ]
                        },
                        "id": 17400,
                        "implemented": true,
                        "kind": "function",
                        "modifiers": [],
                        "name": "log",
                        "nameLocation": "35104:3:62",
                        "nodeType": "FunctionDefinition",
                        "parameters": {
                            "id": 17386,
                            "nodeType": "ParameterList",
                            "parameters": [
                                {
                                    "constant": false,
                                    "id": 17379,
                                    "mutability": "mutable",
                                    "name": "p0",
                                    "nameLocation": "35122:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 17400,
                                    "src": "35108:16:62",
                                    "stateVariable": false,
                                    "storageLocation": "memory",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_string_memory_ptr",
                                        "typeString": "string"
                                    },
                                    "typeName": {
                                        "id": 17378,
                                        "name": "string",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "35108:6:62",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_string_storage_ptr",
                                            "typeString": "string"
                                        }
                                    },
                                    "visibility": "internal"
                                },
                                {
                                    "constant": false,
                                    "id": 17381,
                                    "mutability": "mutable",
                                    "name": "p1",
                                    "nameLocation": "35131:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 17400,
                                    "src": "35126:7:62",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_bool",
                                        "typeString": "bool"
                                    },
                                    "typeName": {
                                        "id": 17380,
                                        "name": "bool",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "35126:4:62",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_bool",
                                            "typeString": "bool"
                                        }
                                    },
                                    "visibility": "internal"
                                },
                                {
                                    "constant": false,
                                    "id": 17383,
                                    "mutability": "mutable",
                                    "name": "p2",
                                    "nameLocation": "35149:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 17400,
                                    "src": "35135:16:62",
                                    "stateVariable": false,
                                    "storageLocation": "memory",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_string_memory_ptr",
                                        "typeString": "string"
                                    },
                                    "typeName": {
                                        "id": 17382,
                                        "name": "string",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "35135:6:62",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_string_storage_ptr",
                                            "typeString": "string"
                                        }
                                    },
                                    "visibility": "internal"
                                },
                                {
                                    "constant": false,
                                    "id": 17385,
                                    "mutability": "mutable",
                                    "name": "p3",
                                    "nameLocation": "35158:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 17400,
                                    "src": "35153:7:62",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_bool",
                                        "typeString": "bool"
                                    },
                                    "typeName": {
                                        "id": 17384,
                                        "name": "bool",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "35153:4:62",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_bool",
                                            "typeString": "bool"
                                        }
                                    },
                                    "visibility": "internal"
                                }
                            ],
                            "src": "35107:54:62"
                        },
                        "returnParameters": {
                            "id": 17387,
                            "nodeType": "ParameterList",
                            "parameters": [],
                            "src": "35176:0:62"
                        },
                        "scope": 20920,
                        "src": "35095:177:62",
                        "stateMutability": "view",
                        "virtual": false,
                        "visibility": "internal"
                    },
                    {
                        "body": {
                            "id": 17422,
                            "nodeType": "Block",
                            "src": "35359:99:62",
                            "statements": [
                                {
                                    "expression": {
                                        "arguments": [
                                            {
                                                "arguments": [
                                                    {
                                                        "hexValue": "6c6f6728737472696e672c626f6f6c2c737472696e672c6164647265737329",
                                                        "id": 17414,
                                                        "isConstant": false,
                                                        "isLValue": false,
                                                        "isPure": true,
                                                        "kind": "string",
                                                        "lValueRequested": false,
                                                        "nodeType": "Literal",
                                                        "src": "35403:33:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_stringliteral_e0625b292fa5cbc865b55f61713cbbe0ce7abb244ec2df45291ea19c30ddfaf8",
                                                            "typeString": "literal_string \"log(string,bool,string,address)\""
                                                        },
                                                        "value": "log(string,bool,string,address)"
                                                    },
                                                    {
                                                        "id": 17415,
                                                        "name": "p0",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 17402,
                                                        "src": "35438:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_string_memory_ptr",
                                                            "typeString": "string memory"
                                                        }
                                                    },
                                                    {
                                                        "id": 17416,
                                                        "name": "p1",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 17404,
                                                        "src": "35442:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_bool",
                                                            "typeString": "bool"
                                                        }
                                                    },
                                                    {
                                                        "id": 17417,
                                                        "name": "p2",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 17406,
                                                        "src": "35446:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_string_memory_ptr",
                                                            "typeString": "string memory"
                                                        }
                                                    },
                                                    {
                                                        "id": 17418,
                                                        "name": "p3",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 17408,
                                                        "src": "35450:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_address",
                                                            "typeString": "address"
                                                        }
                                                    }
                                                ],
                                                "expression": {
                                                    "argumentTypes": [
                                                        {
                                                            "typeIdentifier": "t_stringliteral_e0625b292fa5cbc865b55f61713cbbe0ce7abb244ec2df45291ea19c30ddfaf8",
                                                            "typeString": "literal_string \"log(string,bool,string,address)\""
                                                        },
                                                        {
                                                            "typeIdentifier": "t_string_memory_ptr",
                                                            "typeString": "string memory"
                                                        },
                                                        {
                                                            "typeIdentifier": "t_bool",
                                                            "typeString": "bool"
                                                        },
                                                        {
                                                            "typeIdentifier": "t_string_memory_ptr",
                                                            "typeString": "string memory"
                                                        },
                                                        {
                                                            "typeIdentifier": "t_address",
                                                            "typeString": "address"
                                                        }
                                                    ],
                                                    "expression": {
                                                        "id": 17412,
                                                        "name": "abi",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 4294967295,
                                                        "src": "35379:3:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_magic_abi",
                                                            "typeString": "abi"
                                                        }
                                                    },
                                                    "id": 17413,
                                                    "isConstant": false,
                                                    "isLValue": false,
                                                    "isPure": true,
                                                    "lValueRequested": false,
                                                    "memberName": "encodeWithSignature",
                                                    "nodeType": "MemberAccess",
                                                    "src": "35379:23:62",
                                                    "typeDescriptions": {
                                                        "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$",
                                                        "typeString": "function (string memory) pure returns (bytes memory)"
                                                    }
                                                },
                                                "id": 17419,
                                                "isConstant": false,
                                                "isLValue": false,
                                                "isPure": false,
                                                "kind": "functionCall",
                                                "lValueRequested": false,
                                                "names": [],
                                                "nodeType": "FunctionCall",
                                                "src": "35379:74:62",
                                                "tryCall": false,
                                                "typeDescriptions": {
                                                    "typeIdentifier": "t_bytes_memory_ptr",
                                                    "typeString": "bytes memory"
                                                }
                                            }
                                        ],
                                        "expression": {
                                            "argumentTypes": [
                                                {
                                                    "typeIdentifier": "t_bytes_memory_ptr",
                                                    "typeString": "bytes memory"
                                                }
                                            ],
                                            "id": 17411,
                                            "name": "_sendLogPayload",
                                            "nodeType": "Identifier",
                                            "overloadedDeclarations": [],
                                            "referencedDeclaration": 12880,
                                            "src": "35363:15:62",
                                            "typeDescriptions": {
                                                "typeIdentifier": "t_function_internal_view$_t_bytes_memory_ptr_$returns$__$",
                                                "typeString": "function (bytes memory) view"
                                            }
                                        },
                                        "id": 17420,
                                        "isConstant": false,
                                        "isLValue": false,
                                        "isPure": false,
                                        "kind": "functionCall",
                                        "lValueRequested": false,
                                        "names": [],
                                        "nodeType": "FunctionCall",
                                        "src": "35363:91:62",
                                        "tryCall": false,
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_tuple$__$",
                                            "typeString": "tuple()"
                                        }
                                    },
                                    "id": 17421,
                                    "nodeType": "ExpressionStatement",
                                    "src": "35363:91:62"
                                }
                            ]
                        },
                        "id": 17423,
                        "implemented": true,
                        "kind": "function",
                        "modifiers": [],
                        "name": "log",
                        "nameLocation": "35284:3:62",
                        "nodeType": "FunctionDefinition",
                        "parameters": {
                            "id": 17409,
                            "nodeType": "ParameterList",
                            "parameters": [
                                {
                                    "constant": false,
                                    "id": 17402,
                                    "mutability": "mutable",
                                    "name": "p0",
                                    "nameLocation": "35302:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 17423,
                                    "src": "35288:16:62",
                                    "stateVariable": false,
                                    "storageLocation": "memory",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_string_memory_ptr",
                                        "typeString": "string"
                                    },
                                    "typeName": {
                                        "id": 17401,
                                        "name": "string",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "35288:6:62",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_string_storage_ptr",
                                            "typeString": "string"
                                        }
                                    },
                                    "visibility": "internal"
                                },
                                {
                                    "constant": false,
                                    "id": 17404,
                                    "mutability": "mutable",
                                    "name": "p1",
                                    "nameLocation": "35311:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 17423,
                                    "src": "35306:7:62",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_bool",
                                        "typeString": "bool"
                                    },
                                    "typeName": {
                                        "id": 17403,
                                        "name": "bool",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "35306:4:62",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_bool",
                                            "typeString": "bool"
                                        }
                                    },
                                    "visibility": "internal"
                                },
                                {
                                    "constant": false,
                                    "id": 17406,
                                    "mutability": "mutable",
                                    "name": "p2",
                                    "nameLocation": "35329:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 17423,
                                    "src": "35315:16:62",
                                    "stateVariable": false,
                                    "storageLocation": "memory",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_string_memory_ptr",
                                        "typeString": "string"
                                    },
                                    "typeName": {
                                        "id": 17405,
                                        "name": "string",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "35315:6:62",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_string_storage_ptr",
                                            "typeString": "string"
                                        }
                                    },
                                    "visibility": "internal"
                                },
                                {
                                    "constant": false,
                                    "id": 17408,
                                    "mutability": "mutable",
                                    "name": "p3",
                                    "nameLocation": "35341:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 17423,
                                    "src": "35333:10:62",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_address",
                                        "typeString": "address"
                                    },
                                    "typeName": {
                                        "id": 17407,
                                        "name": "address",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "35333:7:62",
                                        "stateMutability": "nonpayable",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_address",
                                            "typeString": "address"
                                        }
                                    },
                                    "visibility": "internal"
                                }
                            ],
                            "src": "35287:57:62"
                        },
                        "returnParameters": {
                            "id": 17410,
                            "nodeType": "ParameterList",
                            "parameters": [],
                            "src": "35359:0:62"
                        },
                        "scope": 20920,
                        "src": "35275:183:62",
                        "stateMutability": "view",
                        "virtual": false,
                        "visibility": "internal"
                    },
                    {
                        "body": {
                            "id": 17445,
                            "nodeType": "Block",
                            "src": "35533:94:62",
                            "statements": [
                                {
                                    "expression": {
                                        "arguments": [
                                            {
                                                "arguments": [
                                                    {
                                                        "hexValue": "6c6f6728737472696e672c626f6f6c2c626f6f6c2c75696e7429",
                                                        "id": 17437,
                                                        "isConstant": false,
                                                        "isLValue": false,
                                                        "isPure": true,
                                                        "kind": "string",
                                                        "lValueRequested": false,
                                                        "nodeType": "Literal",
                                                        "src": "35577:28:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_stringliteral_807531e8eafdd7a15a803e586dd9a01b2aa8ae2cdd52f093775c0dcb0c977edf",
                                                            "typeString": "literal_string \"log(string,bool,bool,uint)\""
                                                        },
                                                        "value": "log(string,bool,bool,uint)"
                                                    },
                                                    {
                                                        "id": 17438,
                                                        "name": "p0",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 17425,
                                                        "src": "35607:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_string_memory_ptr",
                                                            "typeString": "string memory"
                                                        }
                                                    },
                                                    {
                                                        "id": 17439,
                                                        "name": "p1",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 17427,
                                                        "src": "35611:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_bool",
                                                            "typeString": "bool"
                                                        }
                                                    },
                                                    {
                                                        "id": 17440,
                                                        "name": "p2",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 17429,
                                                        "src": "35615:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_bool",
                                                            "typeString": "bool"
                                                        }
                                                    },
                                                    {
                                                        "id": 17441,
                                                        "name": "p3",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 17431,
                                                        "src": "35619:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_uint256",
                                                            "typeString": "uint256"
                                                        }
                                                    }
                                                ],
                                                "expression": {
                                                    "argumentTypes": [
                                                        {
                                                            "typeIdentifier": "t_stringliteral_807531e8eafdd7a15a803e586dd9a01b2aa8ae2cdd52f093775c0dcb0c977edf",
                                                            "typeString": "literal_string \"log(string,bool,bool,uint)\""
                                                        },
                                                        {
                                                            "typeIdentifier": "t_string_memory_ptr",
                                                            "typeString": "string memory"
                                                        },
                                                        {
                                                            "typeIdentifier": "t_bool",
                                                            "typeString": "bool"
                                                        },
                                                        {
                                                            "typeIdentifier": "t_bool",
                                                            "typeString": "bool"
                                                        },
                                                        {
                                                            "typeIdentifier": "t_uint256",
                                                            "typeString": "uint256"
                                                        }
                                                    ],
                                                    "expression": {
                                                        "id": 17435,
                                                        "name": "abi",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 4294967295,
                                                        "src": "35553:3:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_magic_abi",
                                                            "typeString": "abi"
                                                        }
                                                    },
                                                    "id": 17436,
                                                    "isConstant": false,
                                                    "isLValue": false,
                                                    "isPure": true,
                                                    "lValueRequested": false,
                                                    "memberName": "encodeWithSignature",
                                                    "nodeType": "MemberAccess",
                                                    "src": "35553:23:62",
                                                    "typeDescriptions": {
                                                        "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$",
                                                        "typeString": "function (string memory) pure returns (bytes memory)"
                                                    }
                                                },
                                                "id": 17442,
                                                "isConstant": false,
                                                "isLValue": false,
                                                "isPure": false,
                                                "kind": "functionCall",
                                                "lValueRequested": false,
                                                "names": [],
                                                "nodeType": "FunctionCall",
                                                "src": "35553:69:62",
                                                "tryCall": false,
                                                "typeDescriptions": {
                                                    "typeIdentifier": "t_bytes_memory_ptr",
                                                    "typeString": "bytes memory"
                                                }
                                            }
                                        ],
                                        "expression": {
                                            "argumentTypes": [
                                                {
                                                    "typeIdentifier": "t_bytes_memory_ptr",
                                                    "typeString": "bytes memory"
                                                }
                                            ],
                                            "id": 17434,
                                            "name": "_sendLogPayload",
                                            "nodeType": "Identifier",
                                            "overloadedDeclarations": [],
                                            "referencedDeclaration": 12880,
                                            "src": "35537:15:62",
                                            "typeDescriptions": {
                                                "typeIdentifier": "t_function_internal_view$_t_bytes_memory_ptr_$returns$__$",
                                                "typeString": "function (bytes memory) view"
                                            }
                                        },
                                        "id": 17443,
                                        "isConstant": false,
                                        "isLValue": false,
                                        "isPure": false,
                                        "kind": "functionCall",
                                        "lValueRequested": false,
                                        "names": [],
                                        "nodeType": "FunctionCall",
                                        "src": "35537:86:62",
                                        "tryCall": false,
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_tuple$__$",
                                            "typeString": "tuple()"
                                        }
                                    },
                                    "id": 17444,
                                    "nodeType": "ExpressionStatement",
                                    "src": "35537:86:62"
                                }
                            ]
                        },
                        "id": 17446,
                        "implemented": true,
                        "kind": "function",
                        "modifiers": [],
                        "name": "log",
                        "nameLocation": "35470:3:62",
                        "nodeType": "FunctionDefinition",
                        "parameters": {
                            "id": 17432,
                            "nodeType": "ParameterList",
                            "parameters": [
                                {
                                    "constant": false,
                                    "id": 17425,
                                    "mutability": "mutable",
                                    "name": "p0",
                                    "nameLocation": "35488:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 17446,
                                    "src": "35474:16:62",
                                    "stateVariable": false,
                                    "storageLocation": "memory",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_string_memory_ptr",
                                        "typeString": "string"
                                    },
                                    "typeName": {
                                        "id": 17424,
                                        "name": "string",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "35474:6:62",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_string_storage_ptr",
                                            "typeString": "string"
                                        }
                                    },
                                    "visibility": "internal"
                                },
                                {
                                    "constant": false,
                                    "id": 17427,
                                    "mutability": "mutable",
                                    "name": "p1",
                                    "nameLocation": "35497:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 17446,
                                    "src": "35492:7:62",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_bool",
                                        "typeString": "bool"
                                    },
                                    "typeName": {
                                        "id": 17426,
                                        "name": "bool",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "35492:4:62",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_bool",
                                            "typeString": "bool"
                                        }
                                    },
                                    "visibility": "internal"
                                },
                                {
                                    "constant": false,
                                    "id": 17429,
                                    "mutability": "mutable",
                                    "name": "p2",
                                    "nameLocation": "35506:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 17446,
                                    "src": "35501:7:62",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_bool",
                                        "typeString": "bool"
                                    },
                                    "typeName": {
                                        "id": 17428,
                                        "name": "bool",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "35501:4:62",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_bool",
                                            "typeString": "bool"
                                        }
                                    },
                                    "visibility": "internal"
                                },
                                {
                                    "constant": false,
                                    "id": 17431,
                                    "mutability": "mutable",
                                    "name": "p3",
                                    "nameLocation": "35515:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 17446,
                                    "src": "35510:7:62",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_uint256",
                                        "typeString": "uint256"
                                    },
                                    "typeName": {
                                        "id": 17430,
                                        "name": "uint",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "35510:4:62",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_uint256",
                                            "typeString": "uint256"
                                        }
                                    },
                                    "visibility": "internal"
                                }
                            ],
                            "src": "35473:45:62"
                        },
                        "returnParameters": {
                            "id": 17433,
                            "nodeType": "ParameterList",
                            "parameters": [],
                            "src": "35533:0:62"
                        },
                        "scope": 20920,
                        "src": "35461:166:62",
                        "stateMutability": "view",
                        "virtual": false,
                        "visibility": "internal"
                    },
                    {
                        "body": {
                            "id": 17468,
                            "nodeType": "Block",
                            "src": "35711:96:62",
                            "statements": [
                                {
                                    "expression": {
                                        "arguments": [
                                            {
                                                "arguments": [
                                                    {
                                                        "hexValue": "6c6f6728737472696e672c626f6f6c2c626f6f6c2c737472696e6729",
                                                        "id": 17460,
                                                        "isConstant": false,
                                                        "isLValue": false,
                                                        "isPure": true,
                                                        "kind": "string",
                                                        "lValueRequested": false,
                                                        "nodeType": "Literal",
                                                        "src": "35755:30:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_stringliteral_9d22d5dd5fa6b44920526f32944af8a0b12651bcfe7d5e4d9330573146eaf058",
                                                            "typeString": "literal_string \"log(string,bool,bool,string)\""
                                                        },
                                                        "value": "log(string,bool,bool,string)"
                                                    },
                                                    {
                                                        "id": 17461,
                                                        "name": "p0",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 17448,
                                                        "src": "35787:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_string_memory_ptr",
                                                            "typeString": "string memory"
                                                        }
                                                    },
                                                    {
                                                        "id": 17462,
                                                        "name": "p1",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 17450,
                                                        "src": "35791:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_bool",
                                                            "typeString": "bool"
                                                        }
                                                    },
                                                    {
                                                        "id": 17463,
                                                        "name": "p2",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 17452,
                                                        "src": "35795:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_bool",
                                                            "typeString": "bool"
                                                        }
                                                    },
                                                    {
                                                        "id": 17464,
                                                        "name": "p3",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 17454,
                                                        "src": "35799:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_string_memory_ptr",
                                                            "typeString": "string memory"
                                                        }
                                                    }
                                                ],
                                                "expression": {
                                                    "argumentTypes": [
                                                        {
                                                            "typeIdentifier": "t_stringliteral_9d22d5dd5fa6b44920526f32944af8a0b12651bcfe7d5e4d9330573146eaf058",
                                                            "typeString": "literal_string \"log(string,bool,bool,string)\""
                                                        },
                                                        {
                                                            "typeIdentifier": "t_string_memory_ptr",
                                                            "typeString": "string memory"
                                                        },
                                                        {
                                                            "typeIdentifier": "t_bool",
                                                            "typeString": "bool"
                                                        },
                                                        {
                                                            "typeIdentifier": "t_bool",
                                                            "typeString": "bool"
                                                        },
                                                        {
                                                            "typeIdentifier": "t_string_memory_ptr",
                                                            "typeString": "string memory"
                                                        }
                                                    ],
                                                    "expression": {
                                                        "id": 17458,
                                                        "name": "abi",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 4294967295,
                                                        "src": "35731:3:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_magic_abi",
                                                            "typeString": "abi"
                                                        }
                                                    },
                                                    "id": 17459,
                                                    "isConstant": false,
                                                    "isLValue": false,
                                                    "isPure": true,
                                                    "lValueRequested": false,
                                                    "memberName": "encodeWithSignature",
                                                    "nodeType": "MemberAccess",
                                                    "src": "35731:23:62",
                                                    "typeDescriptions": {
                                                        "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$",
                                                        "typeString": "function (string memory) pure returns (bytes memory)"
                                                    }
                                                },
                                                "id": 17465,
                                                "isConstant": false,
                                                "isLValue": false,
                                                "isPure": false,
                                                "kind": "functionCall",
                                                "lValueRequested": false,
                                                "names": [],
                                                "nodeType": "FunctionCall",
                                                "src": "35731:71:62",
                                                "tryCall": false,
                                                "typeDescriptions": {
                                                    "typeIdentifier": "t_bytes_memory_ptr",
                                                    "typeString": "bytes memory"
                                                }
                                            }
                                        ],
                                        "expression": {
                                            "argumentTypes": [
                                                {
                                                    "typeIdentifier": "t_bytes_memory_ptr",
                                                    "typeString": "bytes memory"
                                                }
                                            ],
                                            "id": 17457,
                                            "name": "_sendLogPayload",
                                            "nodeType": "Identifier",
                                            "overloadedDeclarations": [],
                                            "referencedDeclaration": 12880,
                                            "src": "35715:15:62",
                                            "typeDescriptions": {
                                                "typeIdentifier": "t_function_internal_view$_t_bytes_memory_ptr_$returns$__$",
                                                "typeString": "function (bytes memory) view"
                                            }
                                        },
                                        "id": 17466,
                                        "isConstant": false,
                                        "isLValue": false,
                                        "isPure": false,
                                        "kind": "functionCall",
                                        "lValueRequested": false,
                                        "names": [],
                                        "nodeType": "FunctionCall",
                                        "src": "35715:88:62",
                                        "tryCall": false,
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_tuple$__$",
                                            "typeString": "tuple()"
                                        }
                                    },
                                    "id": 17467,
                                    "nodeType": "ExpressionStatement",
                                    "src": "35715:88:62"
                                }
                            ]
                        },
                        "id": 17469,
                        "implemented": true,
                        "kind": "function",
                        "modifiers": [],
                        "name": "log",
                        "nameLocation": "35639:3:62",
                        "nodeType": "FunctionDefinition",
                        "parameters": {
                            "id": 17455,
                            "nodeType": "ParameterList",
                            "parameters": [
                                {
                                    "constant": false,
                                    "id": 17448,
                                    "mutability": "mutable",
                                    "name": "p0",
                                    "nameLocation": "35657:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 17469,
                                    "src": "35643:16:62",
                                    "stateVariable": false,
                                    "storageLocation": "memory",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_string_memory_ptr",
                                        "typeString": "string"
                                    },
                                    "typeName": {
                                        "id": 17447,
                                        "name": "string",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "35643:6:62",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_string_storage_ptr",
                                            "typeString": "string"
                                        }
                                    },
                                    "visibility": "internal"
                                },
                                {
                                    "constant": false,
                                    "id": 17450,
                                    "mutability": "mutable",
                                    "name": "p1",
                                    "nameLocation": "35666:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 17469,
                                    "src": "35661:7:62",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_bool",
                                        "typeString": "bool"
                                    },
                                    "typeName": {
                                        "id": 17449,
                                        "name": "bool",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "35661:4:62",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_bool",
                                            "typeString": "bool"
                                        }
                                    },
                                    "visibility": "internal"
                                },
                                {
                                    "constant": false,
                                    "id": 17452,
                                    "mutability": "mutable",
                                    "name": "p2",
                                    "nameLocation": "35675:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 17469,
                                    "src": "35670:7:62",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_bool",
                                        "typeString": "bool"
                                    },
                                    "typeName": {
                                        "id": 17451,
                                        "name": "bool",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "35670:4:62",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_bool",
                                            "typeString": "bool"
                                        }
                                    },
                                    "visibility": "internal"
                                },
                                {
                                    "constant": false,
                                    "id": 17454,
                                    "mutability": "mutable",
                                    "name": "p3",
                                    "nameLocation": "35693:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 17469,
                                    "src": "35679:16:62",
                                    "stateVariable": false,
                                    "storageLocation": "memory",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_string_memory_ptr",
                                        "typeString": "string"
                                    },
                                    "typeName": {
                                        "id": 17453,
                                        "name": "string",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "35679:6:62",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_string_storage_ptr",
                                            "typeString": "string"
                                        }
                                    },
                                    "visibility": "internal"
                                }
                            ],
                            "src": "35642:54:62"
                        },
                        "returnParameters": {
                            "id": 17456,
                            "nodeType": "ParameterList",
                            "parameters": [],
                            "src": "35711:0:62"
                        },
                        "scope": 20920,
                        "src": "35630:177:62",
                        "stateMutability": "view",
                        "virtual": false,
                        "visibility": "internal"
                    },
                    {
                        "body": {
                            "id": 17491,
                            "nodeType": "Block",
                            "src": "35882:94:62",
                            "statements": [
                                {
                                    "expression": {
                                        "arguments": [
                                            {
                                                "arguments": [
                                                    {
                                                        "hexValue": "6c6f6728737472696e672c626f6f6c2c626f6f6c2c626f6f6c29",
                                                        "id": 17483,
                                                        "isConstant": false,
                                                        "isLValue": false,
                                                        "isPure": true,
                                                        "kind": "string",
                                                        "lValueRequested": false,
                                                        "nodeType": "Literal",
                                                        "src": "35926:28:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_stringliteral_895af8c5b50078ceec3119054e20583155eeb3e1a8f56b8ed56efbec57456ad2",
                                                            "typeString": "literal_string \"log(string,bool,bool,bool)\""
                                                        },
                                                        "value": "log(string,bool,bool,bool)"
                                                    },
                                                    {
                                                        "id": 17484,
                                                        "name": "p0",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 17471,
                                                        "src": "35956:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_string_memory_ptr",
                                                            "typeString": "string memory"
                                                        }
                                                    },
                                                    {
                                                        "id": 17485,
                                                        "name": "p1",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 17473,
                                                        "src": "35960:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_bool",
                                                            "typeString": "bool"
                                                        }
                                                    },
                                                    {
                                                        "id": 17486,
                                                        "name": "p2",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 17475,
                                                        "src": "35964:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_bool",
                                                            "typeString": "bool"
                                                        }
                                                    },
                                                    {
                                                        "id": 17487,
                                                        "name": "p3",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 17477,
                                                        "src": "35968:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_bool",
                                                            "typeString": "bool"
                                                        }
                                                    }
                                                ],
                                                "expression": {
                                                    "argumentTypes": [
                                                        {
                                                            "typeIdentifier": "t_stringliteral_895af8c5b50078ceec3119054e20583155eeb3e1a8f56b8ed56efbec57456ad2",
                                                            "typeString": "literal_string \"log(string,bool,bool,bool)\""
                                                        },
                                                        {
                                                            "typeIdentifier": "t_string_memory_ptr",
                                                            "typeString": "string memory"
                                                        },
                                                        {
                                                            "typeIdentifier": "t_bool",
                                                            "typeString": "bool"
                                                        },
                                                        {
                                                            "typeIdentifier": "t_bool",
                                                            "typeString": "bool"
                                                        },
                                                        {
                                                            "typeIdentifier": "t_bool",
                                                            "typeString": "bool"
                                                        }
                                                    ],
                                                    "expression": {
                                                        "id": 17481,
                                                        "name": "abi",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 4294967295,
                                                        "src": "35902:3:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_magic_abi",
                                                            "typeString": "abi"
                                                        }
                                                    },
                                                    "id": 17482,
                                                    "isConstant": false,
                                                    "isLValue": false,
                                                    "isPure": true,
                                                    "lValueRequested": false,
                                                    "memberName": "encodeWithSignature",
                                                    "nodeType": "MemberAccess",
                                                    "src": "35902:23:62",
                                                    "typeDescriptions": {
                                                        "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$",
                                                        "typeString": "function (string memory) pure returns (bytes memory)"
                                                    }
                                                },
                                                "id": 17488,
                                                "isConstant": false,
                                                "isLValue": false,
                                                "isPure": false,
                                                "kind": "functionCall",
                                                "lValueRequested": false,
                                                "names": [],
                                                "nodeType": "FunctionCall",
                                                "src": "35902:69:62",
                                                "tryCall": false,
                                                "typeDescriptions": {
                                                    "typeIdentifier": "t_bytes_memory_ptr",
                                                    "typeString": "bytes memory"
                                                }
                                            }
                                        ],
                                        "expression": {
                                            "argumentTypes": [
                                                {
                                                    "typeIdentifier": "t_bytes_memory_ptr",
                                                    "typeString": "bytes memory"
                                                }
                                            ],
                                            "id": 17480,
                                            "name": "_sendLogPayload",
                                            "nodeType": "Identifier",
                                            "overloadedDeclarations": [],
                                            "referencedDeclaration": 12880,
                                            "src": "35886:15:62",
                                            "typeDescriptions": {
                                                "typeIdentifier": "t_function_internal_view$_t_bytes_memory_ptr_$returns$__$",
                                                "typeString": "function (bytes memory) view"
                                            }
                                        },
                                        "id": 17489,
                                        "isConstant": false,
                                        "isLValue": false,
                                        "isPure": false,
                                        "kind": "functionCall",
                                        "lValueRequested": false,
                                        "names": [],
                                        "nodeType": "FunctionCall",
                                        "src": "35886:86:62",
                                        "tryCall": false,
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_tuple$__$",
                                            "typeString": "tuple()"
                                        }
                                    },
                                    "id": 17490,
                                    "nodeType": "ExpressionStatement",
                                    "src": "35886:86:62"
                                }
                            ]
                        },
                        "id": 17492,
                        "implemented": true,
                        "kind": "function",
                        "modifiers": [],
                        "name": "log",
                        "nameLocation": "35819:3:62",
                        "nodeType": "FunctionDefinition",
                        "parameters": {
                            "id": 17478,
                            "nodeType": "ParameterList",
                            "parameters": [
                                {
                                    "constant": false,
                                    "id": 17471,
                                    "mutability": "mutable",
                                    "name": "p0",
                                    "nameLocation": "35837:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 17492,
                                    "src": "35823:16:62",
                                    "stateVariable": false,
                                    "storageLocation": "memory",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_string_memory_ptr",
                                        "typeString": "string"
                                    },
                                    "typeName": {
                                        "id": 17470,
                                        "name": "string",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "35823:6:62",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_string_storage_ptr",
                                            "typeString": "string"
                                        }
                                    },
                                    "visibility": "internal"
                                },
                                {
                                    "constant": false,
                                    "id": 17473,
                                    "mutability": "mutable",
                                    "name": "p1",
                                    "nameLocation": "35846:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 17492,
                                    "src": "35841:7:62",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_bool",
                                        "typeString": "bool"
                                    },
                                    "typeName": {
                                        "id": 17472,
                                        "name": "bool",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "35841:4:62",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_bool",
                                            "typeString": "bool"
                                        }
                                    },
                                    "visibility": "internal"
                                },
                                {
                                    "constant": false,
                                    "id": 17475,
                                    "mutability": "mutable",
                                    "name": "p2",
                                    "nameLocation": "35855:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 17492,
                                    "src": "35850:7:62",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_bool",
                                        "typeString": "bool"
                                    },
                                    "typeName": {
                                        "id": 17474,
                                        "name": "bool",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "35850:4:62",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_bool",
                                            "typeString": "bool"
                                        }
                                    },
                                    "visibility": "internal"
                                },
                                {
                                    "constant": false,
                                    "id": 17477,
                                    "mutability": "mutable",
                                    "name": "p3",
                                    "nameLocation": "35864:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 17492,
                                    "src": "35859:7:62",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_bool",
                                        "typeString": "bool"
                                    },
                                    "typeName": {
                                        "id": 17476,
                                        "name": "bool",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "35859:4:62",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_bool",
                                            "typeString": "bool"
                                        }
                                    },
                                    "visibility": "internal"
                                }
                            ],
                            "src": "35822:45:62"
                        },
                        "returnParameters": {
                            "id": 17479,
                            "nodeType": "ParameterList",
                            "parameters": [],
                            "src": "35882:0:62"
                        },
                        "scope": 20920,
                        "src": "35810:166:62",
                        "stateMutability": "view",
                        "virtual": false,
                        "visibility": "internal"
                    },
                    {
                        "body": {
                            "id": 17514,
                            "nodeType": "Block",
                            "src": "36054:97:62",
                            "statements": [
                                {
                                    "expression": {
                                        "arguments": [
                                            {
                                                "arguments": [
                                                    {
                                                        "hexValue": "6c6f6728737472696e672c626f6f6c2c626f6f6c2c6164647265737329",
                                                        "id": 17506,
                                                        "isConstant": false,
                                                        "isLValue": false,
                                                        "isPure": true,
                                                        "kind": "string",
                                                        "lValueRequested": false,
                                                        "nodeType": "Literal",
                                                        "src": "36098:31:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_stringliteral_7190a529624f3e9168945b9053b9648f6439313f31cad0801b50f9dc38a45d4d",
                                                            "typeString": "literal_string \"log(string,bool,bool,address)\""
                                                        },
                                                        "value": "log(string,bool,bool,address)"
                                                    },
                                                    {
                                                        "id": 17507,
                                                        "name": "p0",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 17494,
                                                        "src": "36131:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_string_memory_ptr",
                                                            "typeString": "string memory"
                                                        }
                                                    },
                                                    {
                                                        "id": 17508,
                                                        "name": "p1",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 17496,
                                                        "src": "36135:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_bool",
                                                            "typeString": "bool"
                                                        }
                                                    },
                                                    {
                                                        "id": 17509,
                                                        "name": "p2",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 17498,
                                                        "src": "36139:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_bool",
                                                            "typeString": "bool"
                                                        }
                                                    },
                                                    {
                                                        "id": 17510,
                                                        "name": "p3",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 17500,
                                                        "src": "36143:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_address",
                                                            "typeString": "address"
                                                        }
                                                    }
                                                ],
                                                "expression": {
                                                    "argumentTypes": [
                                                        {
                                                            "typeIdentifier": "t_stringliteral_7190a529624f3e9168945b9053b9648f6439313f31cad0801b50f9dc38a45d4d",
                                                            "typeString": "literal_string \"log(string,bool,bool,address)\""
                                                        },
                                                        {
                                                            "typeIdentifier": "t_string_memory_ptr",
                                                            "typeString": "string memory"
                                                        },
                                                        {
                                                            "typeIdentifier": "t_bool",
                                                            "typeString": "bool"
                                                        },
                                                        {
                                                            "typeIdentifier": "t_bool",
                                                            "typeString": "bool"
                                                        },
                                                        {
                                                            "typeIdentifier": "t_address",
                                                            "typeString": "address"
                                                        }
                                                    ],
                                                    "expression": {
                                                        "id": 17504,
                                                        "name": "abi",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 4294967295,
                                                        "src": "36074:3:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_magic_abi",
                                                            "typeString": "abi"
                                                        }
                                                    },
                                                    "id": 17505,
                                                    "isConstant": false,
                                                    "isLValue": false,
                                                    "isPure": true,
                                                    "lValueRequested": false,
                                                    "memberName": "encodeWithSignature",
                                                    "nodeType": "MemberAccess",
                                                    "src": "36074:23:62",
                                                    "typeDescriptions": {
                                                        "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$",
                                                        "typeString": "function (string memory) pure returns (bytes memory)"
                                                    }
                                                },
                                                "id": 17511,
                                                "isConstant": false,
                                                "isLValue": false,
                                                "isPure": false,
                                                "kind": "functionCall",
                                                "lValueRequested": false,
                                                "names": [],
                                                "nodeType": "FunctionCall",
                                                "src": "36074:72:62",
                                                "tryCall": false,
                                                "typeDescriptions": {
                                                    "typeIdentifier": "t_bytes_memory_ptr",
                                                    "typeString": "bytes memory"
                                                }
                                            }
                                        ],
                                        "expression": {
                                            "argumentTypes": [
                                                {
                                                    "typeIdentifier": "t_bytes_memory_ptr",
                                                    "typeString": "bytes memory"
                                                }
                                            ],
                                            "id": 17503,
                                            "name": "_sendLogPayload",
                                            "nodeType": "Identifier",
                                            "overloadedDeclarations": [],
                                            "referencedDeclaration": 12880,
                                            "src": "36058:15:62",
                                            "typeDescriptions": {
                                                "typeIdentifier": "t_function_internal_view$_t_bytes_memory_ptr_$returns$__$",
                                                "typeString": "function (bytes memory) view"
                                            }
                                        },
                                        "id": 17512,
                                        "isConstant": false,
                                        "isLValue": false,
                                        "isPure": false,
                                        "kind": "functionCall",
                                        "lValueRequested": false,
                                        "names": [],
                                        "nodeType": "FunctionCall",
                                        "src": "36058:89:62",
                                        "tryCall": false,
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_tuple$__$",
                                            "typeString": "tuple()"
                                        }
                                    },
                                    "id": 17513,
                                    "nodeType": "ExpressionStatement",
                                    "src": "36058:89:62"
                                }
                            ]
                        },
                        "id": 17515,
                        "implemented": true,
                        "kind": "function",
                        "modifiers": [],
                        "name": "log",
                        "nameLocation": "35988:3:62",
                        "nodeType": "FunctionDefinition",
                        "parameters": {
                            "id": 17501,
                            "nodeType": "ParameterList",
                            "parameters": [
                                {
                                    "constant": false,
                                    "id": 17494,
                                    "mutability": "mutable",
                                    "name": "p0",
                                    "nameLocation": "36006:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 17515,
                                    "src": "35992:16:62",
                                    "stateVariable": false,
                                    "storageLocation": "memory",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_string_memory_ptr",
                                        "typeString": "string"
                                    },
                                    "typeName": {
                                        "id": 17493,
                                        "name": "string",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "35992:6:62",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_string_storage_ptr",
                                            "typeString": "string"
                                        }
                                    },
                                    "visibility": "internal"
                                },
                                {
                                    "constant": false,
                                    "id": 17496,
                                    "mutability": "mutable",
                                    "name": "p1",
                                    "nameLocation": "36015:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 17515,
                                    "src": "36010:7:62",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_bool",
                                        "typeString": "bool"
                                    },
                                    "typeName": {
                                        "id": 17495,
                                        "name": "bool",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "36010:4:62",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_bool",
                                            "typeString": "bool"
                                        }
                                    },
                                    "visibility": "internal"
                                },
                                {
                                    "constant": false,
                                    "id": 17498,
                                    "mutability": "mutable",
                                    "name": "p2",
                                    "nameLocation": "36024:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 17515,
                                    "src": "36019:7:62",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_bool",
                                        "typeString": "bool"
                                    },
                                    "typeName": {
                                        "id": 17497,
                                        "name": "bool",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "36019:4:62",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_bool",
                                            "typeString": "bool"
                                        }
                                    },
                                    "visibility": "internal"
                                },
                                {
                                    "constant": false,
                                    "id": 17500,
                                    "mutability": "mutable",
                                    "name": "p3",
                                    "nameLocation": "36036:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 17515,
                                    "src": "36028:10:62",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_address",
                                        "typeString": "address"
                                    },
                                    "typeName": {
                                        "id": 17499,
                                        "name": "address",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "36028:7:62",
                                        "stateMutability": "nonpayable",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_address",
                                            "typeString": "address"
                                        }
                                    },
                                    "visibility": "internal"
                                }
                            ],
                            "src": "35991:48:62"
                        },
                        "returnParameters": {
                            "id": 17502,
                            "nodeType": "ParameterList",
                            "parameters": [],
                            "src": "36054:0:62"
                        },
                        "scope": 20920,
                        "src": "35979:172:62",
                        "stateMutability": "view",
                        "virtual": false,
                        "visibility": "internal"
                    },
                    {
                        "body": {
                            "id": 17537,
                            "nodeType": "Block",
                            "src": "36229:97:62",
                            "statements": [
                                {
                                    "expression": {
                                        "arguments": [
                                            {
                                                "arguments": [
                                                    {
                                                        "hexValue": "6c6f6728737472696e672c626f6f6c2c616464726573732c75696e7429",
                                                        "id": 17529,
                                                        "isConstant": false,
                                                        "isLValue": false,
                                                        "isPure": true,
                                                        "kind": "string",
                                                        "lValueRequested": false,
                                                        "nodeType": "Literal",
                                                        "src": "36273:31:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_stringliteral_28df4e96d50017c69e64253ea877c992512b689fb9fed17cf6af78f104f1200b",
                                                            "typeString": "literal_string \"log(string,bool,address,uint)\""
                                                        },
                                                        "value": "log(string,bool,address,uint)"
                                                    },
                                                    {
                                                        "id": 17530,
                                                        "name": "p0",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 17517,
                                                        "src": "36306:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_string_memory_ptr",
                                                            "typeString": "string memory"
                                                        }
                                                    },
                                                    {
                                                        "id": 17531,
                                                        "name": "p1",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 17519,
                                                        "src": "36310:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_bool",
                                                            "typeString": "bool"
                                                        }
                                                    },
                                                    {
                                                        "id": 17532,
                                                        "name": "p2",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 17521,
                                                        "src": "36314:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_address",
                                                            "typeString": "address"
                                                        }
                                                    },
                                                    {
                                                        "id": 17533,
                                                        "name": "p3",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 17523,
                                                        "src": "36318:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_uint256",
                                                            "typeString": "uint256"
                                                        }
                                                    }
                                                ],
                                                "expression": {
                                                    "argumentTypes": [
                                                        {
                                                            "typeIdentifier": "t_stringliteral_28df4e96d50017c69e64253ea877c992512b689fb9fed17cf6af78f104f1200b",
                                                            "typeString": "literal_string \"log(string,bool,address,uint)\""
                                                        },
                                                        {
                                                            "typeIdentifier": "t_string_memory_ptr",
                                                            "typeString": "string memory"
                                                        },
                                                        {
                                                            "typeIdentifier": "t_bool",
                                                            "typeString": "bool"
                                                        },
                                                        {
                                                            "typeIdentifier": "t_address",
                                                            "typeString": "address"
                                                        },
                                                        {
                                                            "typeIdentifier": "t_uint256",
                                                            "typeString": "uint256"
                                                        }
                                                    ],
                                                    "expression": {
                                                        "id": 17527,
                                                        "name": "abi",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 4294967295,
                                                        "src": "36249:3:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_magic_abi",
                                                            "typeString": "abi"
                                                        }
                                                    },
                                                    "id": 17528,
                                                    "isConstant": false,
                                                    "isLValue": false,
                                                    "isPure": true,
                                                    "lValueRequested": false,
                                                    "memberName": "encodeWithSignature",
                                                    "nodeType": "MemberAccess",
                                                    "src": "36249:23:62",
                                                    "typeDescriptions": {
                                                        "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$",
                                                        "typeString": "function (string memory) pure returns (bytes memory)"
                                                    }
                                                },
                                                "id": 17534,
                                                "isConstant": false,
                                                "isLValue": false,
                                                "isPure": false,
                                                "kind": "functionCall",
                                                "lValueRequested": false,
                                                "names": [],
                                                "nodeType": "FunctionCall",
                                                "src": "36249:72:62",
                                                "tryCall": false,
                                                "typeDescriptions": {
                                                    "typeIdentifier": "t_bytes_memory_ptr",
                                                    "typeString": "bytes memory"
                                                }
                                            }
                                        ],
                                        "expression": {
                                            "argumentTypes": [
                                                {
                                                    "typeIdentifier": "t_bytes_memory_ptr",
                                                    "typeString": "bytes memory"
                                                }
                                            ],
                                            "id": 17526,
                                            "name": "_sendLogPayload",
                                            "nodeType": "Identifier",
                                            "overloadedDeclarations": [],
                                            "referencedDeclaration": 12880,
                                            "src": "36233:15:62",
                                            "typeDescriptions": {
                                                "typeIdentifier": "t_function_internal_view$_t_bytes_memory_ptr_$returns$__$",
                                                "typeString": "function (bytes memory) view"
                                            }
                                        },
                                        "id": 17535,
                                        "isConstant": false,
                                        "isLValue": false,
                                        "isPure": false,
                                        "kind": "functionCall",
                                        "lValueRequested": false,
                                        "names": [],
                                        "nodeType": "FunctionCall",
                                        "src": "36233:89:62",
                                        "tryCall": false,
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_tuple$__$",
                                            "typeString": "tuple()"
                                        }
                                    },
                                    "id": 17536,
                                    "nodeType": "ExpressionStatement",
                                    "src": "36233:89:62"
                                }
                            ]
                        },
                        "id": 17538,
                        "implemented": true,
                        "kind": "function",
                        "modifiers": [],
                        "name": "log",
                        "nameLocation": "36163:3:62",
                        "nodeType": "FunctionDefinition",
                        "parameters": {
                            "id": 17524,
                            "nodeType": "ParameterList",
                            "parameters": [
                                {
                                    "constant": false,
                                    "id": 17517,
                                    "mutability": "mutable",
                                    "name": "p0",
                                    "nameLocation": "36181:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 17538,
                                    "src": "36167:16:62",
                                    "stateVariable": false,
                                    "storageLocation": "memory",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_string_memory_ptr",
                                        "typeString": "string"
                                    },
                                    "typeName": {
                                        "id": 17516,
                                        "name": "string",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "36167:6:62",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_string_storage_ptr",
                                            "typeString": "string"
                                        }
                                    },
                                    "visibility": "internal"
                                },
                                {
                                    "constant": false,
                                    "id": 17519,
                                    "mutability": "mutable",
                                    "name": "p1",
                                    "nameLocation": "36190:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 17538,
                                    "src": "36185:7:62",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_bool",
                                        "typeString": "bool"
                                    },
                                    "typeName": {
                                        "id": 17518,
                                        "name": "bool",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "36185:4:62",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_bool",
                                            "typeString": "bool"
                                        }
                                    },
                                    "visibility": "internal"
                                },
                                {
                                    "constant": false,
                                    "id": 17521,
                                    "mutability": "mutable",
                                    "name": "p2",
                                    "nameLocation": "36202:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 17538,
                                    "src": "36194:10:62",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_address",
                                        "typeString": "address"
                                    },
                                    "typeName": {
                                        "id": 17520,
                                        "name": "address",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "36194:7:62",
                                        "stateMutability": "nonpayable",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_address",
                                            "typeString": "address"
                                        }
                                    },
                                    "visibility": "internal"
                                },
                                {
                                    "constant": false,
                                    "id": 17523,
                                    "mutability": "mutable",
                                    "name": "p3",
                                    "nameLocation": "36211:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 17538,
                                    "src": "36206:7:62",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_uint256",
                                        "typeString": "uint256"
                                    },
                                    "typeName": {
                                        "id": 17522,
                                        "name": "uint",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "36206:4:62",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_uint256",
                                            "typeString": "uint256"
                                        }
                                    },
                                    "visibility": "internal"
                                }
                            ],
                            "src": "36166:48:62"
                        },
                        "returnParameters": {
                            "id": 17525,
                            "nodeType": "ParameterList",
                            "parameters": [],
                            "src": "36229:0:62"
                        },
                        "scope": 20920,
                        "src": "36154:172:62",
                        "stateMutability": "view",
                        "virtual": false,
                        "visibility": "internal"
                    },
                    {
                        "body": {
                            "id": 17560,
                            "nodeType": "Block",
                            "src": "36413:99:62",
                            "statements": [
                                {
                                    "expression": {
                                        "arguments": [
                                            {
                                                "arguments": [
                                                    {
                                                        "hexValue": "6c6f6728737472696e672c626f6f6c2c616464726573732c737472696e6729",
                                                        "id": 17552,
                                                        "isConstant": false,
                                                        "isLValue": false,
                                                        "isPure": true,
                                                        "kind": "string",
                                                        "lValueRequested": false,
                                                        "nodeType": "Literal",
                                                        "src": "36457:33:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_stringliteral_2d8e33a4e52268aad313274a8446eec6f40466a28da2456a8f12d83b298c13ef",
                                                            "typeString": "literal_string \"log(string,bool,address,string)\""
                                                        },
                                                        "value": "log(string,bool,address,string)"
                                                    },
                                                    {
                                                        "id": 17553,
                                                        "name": "p0",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 17540,
                                                        "src": "36492:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_string_memory_ptr",
                                                            "typeString": "string memory"
                                                        }
                                                    },
                                                    {
                                                        "id": 17554,
                                                        "name": "p1",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 17542,
                                                        "src": "36496:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_bool",
                                                            "typeString": "bool"
                                                        }
                                                    },
                                                    {
                                                        "id": 17555,
                                                        "name": "p2",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 17544,
                                                        "src": "36500:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_address",
                                                            "typeString": "address"
                                                        }
                                                    },
                                                    {
                                                        "id": 17556,
                                                        "name": "p3",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 17546,
                                                        "src": "36504:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_string_memory_ptr",
                                                            "typeString": "string memory"
                                                        }
                                                    }
                                                ],
                                                "expression": {
                                                    "argumentTypes": [
                                                        {
                                                            "typeIdentifier": "t_stringliteral_2d8e33a4e52268aad313274a8446eec6f40466a28da2456a8f12d83b298c13ef",
                                                            "typeString": "literal_string \"log(string,bool,address,string)\""
                                                        },
                                                        {
                                                            "typeIdentifier": "t_string_memory_ptr",
                                                            "typeString": "string memory"
                                                        },
                                                        {
                                                            "typeIdentifier": "t_bool",
                                                            "typeString": "bool"
                                                        },
                                                        {
                                                            "typeIdentifier": "t_address",
                                                            "typeString": "address"
                                                        },
                                                        {
                                                            "typeIdentifier": "t_string_memory_ptr",
                                                            "typeString": "string memory"
                                                        }
                                                    ],
                                                    "expression": {
                                                        "id": 17550,
                                                        "name": "abi",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 4294967295,
                                                        "src": "36433:3:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_magic_abi",
                                                            "typeString": "abi"
                                                        }
                                                    },
                                                    "id": 17551,
                                                    "isConstant": false,
                                                    "isLValue": false,
                                                    "isPure": true,
                                                    "lValueRequested": false,
                                                    "memberName": "encodeWithSignature",
                                                    "nodeType": "MemberAccess",
                                                    "src": "36433:23:62",
                                                    "typeDescriptions": {
                                                        "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$",
                                                        "typeString": "function (string memory) pure returns (bytes memory)"
                                                    }
                                                },
                                                "id": 17557,
                                                "isConstant": false,
                                                "isLValue": false,
                                                "isPure": false,
                                                "kind": "functionCall",
                                                "lValueRequested": false,
                                                "names": [],
                                                "nodeType": "FunctionCall",
                                                "src": "36433:74:62",
                                                "tryCall": false,
                                                "typeDescriptions": {
                                                    "typeIdentifier": "t_bytes_memory_ptr",
                                                    "typeString": "bytes memory"
                                                }
                                            }
                                        ],
                                        "expression": {
                                            "argumentTypes": [
                                                {
                                                    "typeIdentifier": "t_bytes_memory_ptr",
                                                    "typeString": "bytes memory"
                                                }
                                            ],
                                            "id": 17549,
                                            "name": "_sendLogPayload",
                                            "nodeType": "Identifier",
                                            "overloadedDeclarations": [],
                                            "referencedDeclaration": 12880,
                                            "src": "36417:15:62",
                                            "typeDescriptions": {
                                                "typeIdentifier": "t_function_internal_view$_t_bytes_memory_ptr_$returns$__$",
                                                "typeString": "function (bytes memory) view"
                                            }
                                        },
                                        "id": 17558,
                                        "isConstant": false,
                                        "isLValue": false,
                                        "isPure": false,
                                        "kind": "functionCall",
                                        "lValueRequested": false,
                                        "names": [],
                                        "nodeType": "FunctionCall",
                                        "src": "36417:91:62",
                                        "tryCall": false,
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_tuple$__$",
                                            "typeString": "tuple()"
                                        }
                                    },
                                    "id": 17559,
                                    "nodeType": "ExpressionStatement",
                                    "src": "36417:91:62"
                                }
                            ]
                        },
                        "id": 17561,
                        "implemented": true,
                        "kind": "function",
                        "modifiers": [],
                        "name": "log",
                        "nameLocation": "36338:3:62",
                        "nodeType": "FunctionDefinition",
                        "parameters": {
                            "id": 17547,
                            "nodeType": "ParameterList",
                            "parameters": [
                                {
                                    "constant": false,
                                    "id": 17540,
                                    "mutability": "mutable",
                                    "name": "p0",
                                    "nameLocation": "36356:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 17561,
                                    "src": "36342:16:62",
                                    "stateVariable": false,
                                    "storageLocation": "memory",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_string_memory_ptr",
                                        "typeString": "string"
                                    },
                                    "typeName": {
                                        "id": 17539,
                                        "name": "string",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "36342:6:62",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_string_storage_ptr",
                                            "typeString": "string"
                                        }
                                    },
                                    "visibility": "internal"
                                },
                                {
                                    "constant": false,
                                    "id": 17542,
                                    "mutability": "mutable",
                                    "name": "p1",
                                    "nameLocation": "36365:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 17561,
                                    "src": "36360:7:62",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_bool",
                                        "typeString": "bool"
                                    },
                                    "typeName": {
                                        "id": 17541,
                                        "name": "bool",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "36360:4:62",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_bool",
                                            "typeString": "bool"
                                        }
                                    },
                                    "visibility": "internal"
                                },
                                {
                                    "constant": false,
                                    "id": 17544,
                                    "mutability": "mutable",
                                    "name": "p2",
                                    "nameLocation": "36377:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 17561,
                                    "src": "36369:10:62",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_address",
                                        "typeString": "address"
                                    },
                                    "typeName": {
                                        "id": 17543,
                                        "name": "address",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "36369:7:62",
                                        "stateMutability": "nonpayable",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_address",
                                            "typeString": "address"
                                        }
                                    },
                                    "visibility": "internal"
                                },
                                {
                                    "constant": false,
                                    "id": 17546,
                                    "mutability": "mutable",
                                    "name": "p3",
                                    "nameLocation": "36395:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 17561,
                                    "src": "36381:16:62",
                                    "stateVariable": false,
                                    "storageLocation": "memory",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_string_memory_ptr",
                                        "typeString": "string"
                                    },
                                    "typeName": {
                                        "id": 17545,
                                        "name": "string",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "36381:6:62",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_string_storage_ptr",
                                            "typeString": "string"
                                        }
                                    },
                                    "visibility": "internal"
                                }
                            ],
                            "src": "36341:57:62"
                        },
                        "returnParameters": {
                            "id": 17548,
                            "nodeType": "ParameterList",
                            "parameters": [],
                            "src": "36413:0:62"
                        },
                        "scope": 20920,
                        "src": "36329:183:62",
                        "stateMutability": "view",
                        "virtual": false,
                        "visibility": "internal"
                    },
                    {
                        "body": {
                            "id": 17583,
                            "nodeType": "Block",
                            "src": "36590:97:62",
                            "statements": [
                                {
                                    "expression": {
                                        "arguments": [
                                            {
                                                "arguments": [
                                                    {
                                                        "hexValue": "6c6f6728737472696e672c626f6f6c2c616464726573732c626f6f6c29",
                                                        "id": 17575,
                                                        "isConstant": false,
                                                        "isLValue": false,
                                                        "isPure": true,
                                                        "kind": "string",
                                                        "lValueRequested": false,
                                                        "nodeType": "Literal",
                                                        "src": "36634:31:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_stringliteral_958c28c6e7bd79de7ce7f6f112cbcb194d9e383764dfb947492ee1374ff5c482",
                                                            "typeString": "literal_string \"log(string,bool,address,bool)\""
                                                        },
                                                        "value": "log(string,bool,address,bool)"
                                                    },
                                                    {
                                                        "id": 17576,
                                                        "name": "p0",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 17563,
                                                        "src": "36667:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_string_memory_ptr",
                                                            "typeString": "string memory"
                                                        }
                                                    },
                                                    {
                                                        "id": 17577,
                                                        "name": "p1",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 17565,
                                                        "src": "36671:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_bool",
                                                            "typeString": "bool"
                                                        }
                                                    },
                                                    {
                                                        "id": 17578,
                                                        "name": "p2",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 17567,
                                                        "src": "36675:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_address",
                                                            "typeString": "address"
                                                        }
                                                    },
                                                    {
                                                        "id": 17579,
                                                        "name": "p3",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 17569,
                                                        "src": "36679:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_bool",
                                                            "typeString": "bool"
                                                        }
                                                    }
                                                ],
                                                "expression": {
                                                    "argumentTypes": [
                                                        {
                                                            "typeIdentifier": "t_stringliteral_958c28c6e7bd79de7ce7f6f112cbcb194d9e383764dfb947492ee1374ff5c482",
                                                            "typeString": "literal_string \"log(string,bool,address,bool)\""
                                                        },
                                                        {
                                                            "typeIdentifier": "t_string_memory_ptr",
                                                            "typeString": "string memory"
                                                        },
                                                        {
                                                            "typeIdentifier": "t_bool",
                                                            "typeString": "bool"
                                                        },
                                                        {
                                                            "typeIdentifier": "t_address",
                                                            "typeString": "address"
                                                        },
                                                        {
                                                            "typeIdentifier": "t_bool",
                                                            "typeString": "bool"
                                                        }
                                                    ],
                                                    "expression": {
                                                        "id": 17573,
                                                        "name": "abi",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 4294967295,
                                                        "src": "36610:3:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_magic_abi",
                                                            "typeString": "abi"
                                                        }
                                                    },
                                                    "id": 17574,
                                                    "isConstant": false,
                                                    "isLValue": false,
                                                    "isPure": true,
                                                    "lValueRequested": false,
                                                    "memberName": "encodeWithSignature",
                                                    "nodeType": "MemberAccess",
                                                    "src": "36610:23:62",
                                                    "typeDescriptions": {
                                                        "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$",
                                                        "typeString": "function (string memory) pure returns (bytes memory)"
                                                    }
                                                },
                                                "id": 17580,
                                                "isConstant": false,
                                                "isLValue": false,
                                                "isPure": false,
                                                "kind": "functionCall",
                                                "lValueRequested": false,
                                                "names": [],
                                                "nodeType": "FunctionCall",
                                                "src": "36610:72:62",
                                                "tryCall": false,
                                                "typeDescriptions": {
                                                    "typeIdentifier": "t_bytes_memory_ptr",
                                                    "typeString": "bytes memory"
                                                }
                                            }
                                        ],
                                        "expression": {
                                            "argumentTypes": [
                                                {
                                                    "typeIdentifier": "t_bytes_memory_ptr",
                                                    "typeString": "bytes memory"
                                                }
                                            ],
                                            "id": 17572,
                                            "name": "_sendLogPayload",
                                            "nodeType": "Identifier",
                                            "overloadedDeclarations": [],
                                            "referencedDeclaration": 12880,
                                            "src": "36594:15:62",
                                            "typeDescriptions": {
                                                "typeIdentifier": "t_function_internal_view$_t_bytes_memory_ptr_$returns$__$",
                                                "typeString": "function (bytes memory) view"
                                            }
                                        },
                                        "id": 17581,
                                        "isConstant": false,
                                        "isLValue": false,
                                        "isPure": false,
                                        "kind": "functionCall",
                                        "lValueRequested": false,
                                        "names": [],
                                        "nodeType": "FunctionCall",
                                        "src": "36594:89:62",
                                        "tryCall": false,
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_tuple$__$",
                                            "typeString": "tuple()"
                                        }
                                    },
                                    "id": 17582,
                                    "nodeType": "ExpressionStatement",
                                    "src": "36594:89:62"
                                }
                            ]
                        },
                        "id": 17584,
                        "implemented": true,
                        "kind": "function",
                        "modifiers": [],
                        "name": "log",
                        "nameLocation": "36524:3:62",
                        "nodeType": "FunctionDefinition",
                        "parameters": {
                            "id": 17570,
                            "nodeType": "ParameterList",
                            "parameters": [
                                {
                                    "constant": false,
                                    "id": 17563,
                                    "mutability": "mutable",
                                    "name": "p0",
                                    "nameLocation": "36542:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 17584,
                                    "src": "36528:16:62",
                                    "stateVariable": false,
                                    "storageLocation": "memory",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_string_memory_ptr",
                                        "typeString": "string"
                                    },
                                    "typeName": {
                                        "id": 17562,
                                        "name": "string",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "36528:6:62",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_string_storage_ptr",
                                            "typeString": "string"
                                        }
                                    },
                                    "visibility": "internal"
                                },
                                {
                                    "constant": false,
                                    "id": 17565,
                                    "mutability": "mutable",
                                    "name": "p1",
                                    "nameLocation": "36551:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 17584,
                                    "src": "36546:7:62",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_bool",
                                        "typeString": "bool"
                                    },
                                    "typeName": {
                                        "id": 17564,
                                        "name": "bool",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "36546:4:62",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_bool",
                                            "typeString": "bool"
                                        }
                                    },
                                    "visibility": "internal"
                                },
                                {
                                    "constant": false,
                                    "id": 17567,
                                    "mutability": "mutable",
                                    "name": "p2",
                                    "nameLocation": "36563:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 17584,
                                    "src": "36555:10:62",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_address",
                                        "typeString": "address"
                                    },
                                    "typeName": {
                                        "id": 17566,
                                        "name": "address",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "36555:7:62",
                                        "stateMutability": "nonpayable",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_address",
                                            "typeString": "address"
                                        }
                                    },
                                    "visibility": "internal"
                                },
                                {
                                    "constant": false,
                                    "id": 17569,
                                    "mutability": "mutable",
                                    "name": "p3",
                                    "nameLocation": "36572:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 17584,
                                    "src": "36567:7:62",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_bool",
                                        "typeString": "bool"
                                    },
                                    "typeName": {
                                        "id": 17568,
                                        "name": "bool",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "36567:4:62",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_bool",
                                            "typeString": "bool"
                                        }
                                    },
                                    "visibility": "internal"
                                }
                            ],
                            "src": "36527:48:62"
                        },
                        "returnParameters": {
                            "id": 17571,
                            "nodeType": "ParameterList",
                            "parameters": [],
                            "src": "36590:0:62"
                        },
                        "scope": 20920,
                        "src": "36515:172:62",
                        "stateMutability": "view",
                        "virtual": false,
                        "visibility": "internal"
                    },
                    {
                        "body": {
                            "id": 17606,
                            "nodeType": "Block",
                            "src": "36768:100:62",
                            "statements": [
                                {
                                    "expression": {
                                        "arguments": [
                                            {
                                                "arguments": [
                                                    {
                                                        "hexValue": "6c6f6728737472696e672c626f6f6c2c616464726573732c6164647265737329",
                                                        "id": 17598,
                                                        "isConstant": false,
                                                        "isLValue": false,
                                                        "isPure": true,
                                                        "kind": "string",
                                                        "lValueRequested": false,
                                                        "nodeType": "Literal",
                                                        "src": "36812:34:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_stringliteral_33e9dd1deb33816160eb59d86987de501b214bedbbe3c70103eff4092834b53d",
                                                            "typeString": "literal_string \"log(string,bool,address,address)\""
                                                        },
                                                        "value": "log(string,bool,address,address)"
                                                    },
                                                    {
                                                        "id": 17599,
                                                        "name": "p0",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 17586,
                                                        "src": "36848:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_string_memory_ptr",
                                                            "typeString": "string memory"
                                                        }
                                                    },
                                                    {
                                                        "id": 17600,
                                                        "name": "p1",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 17588,
                                                        "src": "36852:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_bool",
                                                            "typeString": "bool"
                                                        }
                                                    },
                                                    {
                                                        "id": 17601,
                                                        "name": "p2",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 17590,
                                                        "src": "36856:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_address",
                                                            "typeString": "address"
                                                        }
                                                    },
                                                    {
                                                        "id": 17602,
                                                        "name": "p3",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 17592,
                                                        "src": "36860:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_address",
                                                            "typeString": "address"
                                                        }
                                                    }
                                                ],
                                                "expression": {
                                                    "argumentTypes": [
                                                        {
                                                            "typeIdentifier": "t_stringliteral_33e9dd1deb33816160eb59d86987de501b214bedbbe3c70103eff4092834b53d",
                                                            "typeString": "literal_string \"log(string,bool,address,address)\""
                                                        },
                                                        {
                                                            "typeIdentifier": "t_string_memory_ptr",
                                                            "typeString": "string memory"
                                                        },
                                                        {
                                                            "typeIdentifier": "t_bool",
                                                            "typeString": "bool"
                                                        },
                                                        {
                                                            "typeIdentifier": "t_address",
                                                            "typeString": "address"
                                                        },
                                                        {
                                                            "typeIdentifier": "t_address",
                                                            "typeString": "address"
                                                        }
                                                    ],
                                                    "expression": {
                                                        "id": 17596,
                                                        "name": "abi",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 4294967295,
                                                        "src": "36788:3:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_magic_abi",
                                                            "typeString": "abi"
                                                        }
                                                    },
                                                    "id": 17597,
                                                    "isConstant": false,
                                                    "isLValue": false,
                                                    "isPure": true,
                                                    "lValueRequested": false,
                                                    "memberName": "encodeWithSignature",
                                                    "nodeType": "MemberAccess",
                                                    "src": "36788:23:62",
                                                    "typeDescriptions": {
                                                        "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$",
                                                        "typeString": "function (string memory) pure returns (bytes memory)"
                                                    }
                                                },
                                                "id": 17603,
                                                "isConstant": false,
                                                "isLValue": false,
                                                "isPure": false,
                                                "kind": "functionCall",
                                                "lValueRequested": false,
                                                "names": [],
                                                "nodeType": "FunctionCall",
                                                "src": "36788:75:62",
                                                "tryCall": false,
                                                "typeDescriptions": {
                                                    "typeIdentifier": "t_bytes_memory_ptr",
                                                    "typeString": "bytes memory"
                                                }
                                            }
                                        ],
                                        "expression": {
                                            "argumentTypes": [
                                                {
                                                    "typeIdentifier": "t_bytes_memory_ptr",
                                                    "typeString": "bytes memory"
                                                }
                                            ],
                                            "id": 17595,
                                            "name": "_sendLogPayload",
                                            "nodeType": "Identifier",
                                            "overloadedDeclarations": [],
                                            "referencedDeclaration": 12880,
                                            "src": "36772:15:62",
                                            "typeDescriptions": {
                                                "typeIdentifier": "t_function_internal_view$_t_bytes_memory_ptr_$returns$__$",
                                                "typeString": "function (bytes memory) view"
                                            }
                                        },
                                        "id": 17604,
                                        "isConstant": false,
                                        "isLValue": false,
                                        "isPure": false,
                                        "kind": "functionCall",
                                        "lValueRequested": false,
                                        "names": [],
                                        "nodeType": "FunctionCall",
                                        "src": "36772:92:62",
                                        "tryCall": false,
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_tuple$__$",
                                            "typeString": "tuple()"
                                        }
                                    },
                                    "id": 17605,
                                    "nodeType": "ExpressionStatement",
                                    "src": "36772:92:62"
                                }
                            ]
                        },
                        "id": 17607,
                        "implemented": true,
                        "kind": "function",
                        "modifiers": [],
                        "name": "log",
                        "nameLocation": "36699:3:62",
                        "nodeType": "FunctionDefinition",
                        "parameters": {
                            "id": 17593,
                            "nodeType": "ParameterList",
                            "parameters": [
                                {
                                    "constant": false,
                                    "id": 17586,
                                    "mutability": "mutable",
                                    "name": "p0",
                                    "nameLocation": "36717:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 17607,
                                    "src": "36703:16:62",
                                    "stateVariable": false,
                                    "storageLocation": "memory",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_string_memory_ptr",
                                        "typeString": "string"
                                    },
                                    "typeName": {
                                        "id": 17585,
                                        "name": "string",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "36703:6:62",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_string_storage_ptr",
                                            "typeString": "string"
                                        }
                                    },
                                    "visibility": "internal"
                                },
                                {
                                    "constant": false,
                                    "id": 17588,
                                    "mutability": "mutable",
                                    "name": "p1",
                                    "nameLocation": "36726:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 17607,
                                    "src": "36721:7:62",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_bool",
                                        "typeString": "bool"
                                    },
                                    "typeName": {
                                        "id": 17587,
                                        "name": "bool",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "36721:4:62",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_bool",
                                            "typeString": "bool"
                                        }
                                    },
                                    "visibility": "internal"
                                },
                                {
                                    "constant": false,
                                    "id": 17590,
                                    "mutability": "mutable",
                                    "name": "p2",
                                    "nameLocation": "36738:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 17607,
                                    "src": "36730:10:62",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_address",
                                        "typeString": "address"
                                    },
                                    "typeName": {
                                        "id": 17589,
                                        "name": "address",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "36730:7:62",
                                        "stateMutability": "nonpayable",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_address",
                                            "typeString": "address"
                                        }
                                    },
                                    "visibility": "internal"
                                },
                                {
                                    "constant": false,
                                    "id": 17592,
                                    "mutability": "mutable",
                                    "name": "p3",
                                    "nameLocation": "36750:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 17607,
                                    "src": "36742:10:62",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_address",
                                        "typeString": "address"
                                    },
                                    "typeName": {
                                        "id": 17591,
                                        "name": "address",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "36742:7:62",
                                        "stateMutability": "nonpayable",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_address",
                                            "typeString": "address"
                                        }
                                    },
                                    "visibility": "internal"
                                }
                            ],
                            "src": "36702:51:62"
                        },
                        "returnParameters": {
                            "id": 17594,
                            "nodeType": "ParameterList",
                            "parameters": [],
                            "src": "36768:0:62"
                        },
                        "scope": 20920,
                        "src": "36690:178:62",
                        "stateMutability": "view",
                        "virtual": false,
                        "visibility": "internal"
                    },
                    {
                        "body": {
                            "id": 17629,
                            "nodeType": "Block",
                            "src": "36946:97:62",
                            "statements": [
                                {
                                    "expression": {
                                        "arguments": [
                                            {
                                                "arguments": [
                                                    {
                                                        "hexValue": "6c6f6728737472696e672c616464726573732c75696e742c75696e7429",
                                                        "id": 17621,
                                                        "isConstant": false,
                                                        "isLValue": false,
                                                        "isPure": true,
                                                        "kind": "string",
                                                        "lValueRequested": false,
                                                        "nodeType": "Literal",
                                                        "src": "36990:31:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_stringliteral_daa394bd4914eaece965f4173c7699746dff411e470b03385f052bd7b13f1bd3",
                                                            "typeString": "literal_string \"log(string,address,uint,uint)\""
                                                        },
                                                        "value": "log(string,address,uint,uint)"
                                                    },
                                                    {
                                                        "id": 17622,
                                                        "name": "p0",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 17609,
                                                        "src": "37023:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_string_memory_ptr",
                                                            "typeString": "string memory"
                                                        }
                                                    },
                                                    {
                                                        "id": 17623,
                                                        "name": "p1",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 17611,
                                                        "src": "37027:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_address",
                                                            "typeString": "address"
                                                        }
                                                    },
                                                    {
                                                        "id": 17624,
                                                        "name": "p2",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 17613,
                                                        "src": "37031:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_uint256",
                                                            "typeString": "uint256"
                                                        }
                                                    },
                                                    {
                                                        "id": 17625,
                                                        "name": "p3",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 17615,
                                                        "src": "37035:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_uint256",
                                                            "typeString": "uint256"
                                                        }
                                                    }
                                                ],
                                                "expression": {
                                                    "argumentTypes": [
                                                        {
                                                            "typeIdentifier": "t_stringliteral_daa394bd4914eaece965f4173c7699746dff411e470b03385f052bd7b13f1bd3",
                                                            "typeString": "literal_string \"log(string,address,uint,uint)\""
                                                        },
                                                        {
                                                            "typeIdentifier": "t_string_memory_ptr",
                                                            "typeString": "string memory"
                                                        },
                                                        {
                                                            "typeIdentifier": "t_address",
                                                            "typeString": "address"
                                                        },
                                                        {
                                                            "typeIdentifier": "t_uint256",
                                                            "typeString": "uint256"
                                                        },
                                                        {
                                                            "typeIdentifier": "t_uint256",
                                                            "typeString": "uint256"
                                                        }
                                                    ],
                                                    "expression": {
                                                        "id": 17619,
                                                        "name": "abi",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 4294967295,
                                                        "src": "36966:3:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_magic_abi",
                                                            "typeString": "abi"
                                                        }
                                                    },
                                                    "id": 17620,
                                                    "isConstant": false,
                                                    "isLValue": false,
                                                    "isPure": true,
                                                    "lValueRequested": false,
                                                    "memberName": "encodeWithSignature",
                                                    "nodeType": "MemberAccess",
                                                    "src": "36966:23:62",
                                                    "typeDescriptions": {
                                                        "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$",
                                                        "typeString": "function (string memory) pure returns (bytes memory)"
                                                    }
                                                },
                                                "id": 17626,
                                                "isConstant": false,
                                                "isLValue": false,
                                                "isPure": false,
                                                "kind": "functionCall",
                                                "lValueRequested": false,
                                                "names": [],
                                                "nodeType": "FunctionCall",
                                                "src": "36966:72:62",
                                                "tryCall": false,
                                                "typeDescriptions": {
                                                    "typeIdentifier": "t_bytes_memory_ptr",
                                                    "typeString": "bytes memory"
                                                }
                                            }
                                        ],
                                        "expression": {
                                            "argumentTypes": [
                                                {
                                                    "typeIdentifier": "t_bytes_memory_ptr",
                                                    "typeString": "bytes memory"
                                                }
                                            ],
                                            "id": 17618,
                                            "name": "_sendLogPayload",
                                            "nodeType": "Identifier",
                                            "overloadedDeclarations": [],
                                            "referencedDeclaration": 12880,
                                            "src": "36950:15:62",
                                            "typeDescriptions": {
                                                "typeIdentifier": "t_function_internal_view$_t_bytes_memory_ptr_$returns$__$",
                                                "typeString": "function (bytes memory) view"
                                            }
                                        },
                                        "id": 17627,
                                        "isConstant": false,
                                        "isLValue": false,
                                        "isPure": false,
                                        "kind": "functionCall",
                                        "lValueRequested": false,
                                        "names": [],
                                        "nodeType": "FunctionCall",
                                        "src": "36950:89:62",
                                        "tryCall": false,
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_tuple$__$",
                                            "typeString": "tuple()"
                                        }
                                    },
                                    "id": 17628,
                                    "nodeType": "ExpressionStatement",
                                    "src": "36950:89:62"
                                }
                            ]
                        },
                        "id": 17630,
                        "implemented": true,
                        "kind": "function",
                        "modifiers": [],
                        "name": "log",
                        "nameLocation": "36880:3:62",
                        "nodeType": "FunctionDefinition",
                        "parameters": {
                            "id": 17616,
                            "nodeType": "ParameterList",
                            "parameters": [
                                {
                                    "constant": false,
                                    "id": 17609,
                                    "mutability": "mutable",
                                    "name": "p0",
                                    "nameLocation": "36898:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 17630,
                                    "src": "36884:16:62",
                                    "stateVariable": false,
                                    "storageLocation": "memory",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_string_memory_ptr",
                                        "typeString": "string"
                                    },
                                    "typeName": {
                                        "id": 17608,
                                        "name": "string",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "36884:6:62",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_string_storage_ptr",
                                            "typeString": "string"
                                        }
                                    },
                                    "visibility": "internal"
                                },
                                {
                                    "constant": false,
                                    "id": 17611,
                                    "mutability": "mutable",
                                    "name": "p1",
                                    "nameLocation": "36910:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 17630,
                                    "src": "36902:10:62",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_address",
                                        "typeString": "address"
                                    },
                                    "typeName": {
                                        "id": 17610,
                                        "name": "address",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "36902:7:62",
                                        "stateMutability": "nonpayable",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_address",
                                            "typeString": "address"
                                        }
                                    },
                                    "visibility": "internal"
                                },
                                {
                                    "constant": false,
                                    "id": 17613,
                                    "mutability": "mutable",
                                    "name": "p2",
                                    "nameLocation": "36919:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 17630,
                                    "src": "36914:7:62",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_uint256",
                                        "typeString": "uint256"
                                    },
                                    "typeName": {
                                        "id": 17612,
                                        "name": "uint",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "36914:4:62",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_uint256",
                                            "typeString": "uint256"
                                        }
                                    },
                                    "visibility": "internal"
                                },
                                {
                                    "constant": false,
                                    "id": 17615,
                                    "mutability": "mutable",
                                    "name": "p3",
                                    "nameLocation": "36928:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 17630,
                                    "src": "36923:7:62",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_uint256",
                                        "typeString": "uint256"
                                    },
                                    "typeName": {
                                        "id": 17614,
                                        "name": "uint",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "36923:4:62",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_uint256",
                                            "typeString": "uint256"
                                        }
                                    },
                                    "visibility": "internal"
                                }
                            ],
                            "src": "36883:48:62"
                        },
                        "returnParameters": {
                            "id": 17617,
                            "nodeType": "ParameterList",
                            "parameters": [],
                            "src": "36946:0:62"
                        },
                        "scope": 20920,
                        "src": "36871:172:62",
                        "stateMutability": "view",
                        "virtual": false,
                        "visibility": "internal"
                    },
                    {
                        "body": {
                            "id": 17652,
                            "nodeType": "Block",
                            "src": "37130:99:62",
                            "statements": [
                                {
                                    "expression": {
                                        "arguments": [
                                            {
                                                "arguments": [
                                                    {
                                                        "hexValue": "6c6f6728737472696e672c616464726573732c75696e742c737472696e6729",
                                                        "id": 17644,
                                                        "isConstant": false,
                                                        "isLValue": false,
                                                        "isPure": true,
                                                        "kind": "string",
                                                        "lValueRequested": false,
                                                        "nodeType": "Literal",
                                                        "src": "37174:33:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_stringliteral_4c55f234d048f08e770926729ee5d8a9c70d6b9a607ce037165c7e0f36155a98",
                                                            "typeString": "literal_string \"log(string,address,uint,string)\""
                                                        },
                                                        "value": "log(string,address,uint,string)"
                                                    },
                                                    {
                                                        "id": 17645,
                                                        "name": "p0",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 17632,
                                                        "src": "37209:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_string_memory_ptr",
                                                            "typeString": "string memory"
                                                        }
                                                    },
                                                    {
                                                        "id": 17646,
                                                        "name": "p1",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 17634,
                                                        "src": "37213:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_address",
                                                            "typeString": "address"
                                                        }
                                                    },
                                                    {
                                                        "id": 17647,
                                                        "name": "p2",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 17636,
                                                        "src": "37217:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_uint256",
                                                            "typeString": "uint256"
                                                        }
                                                    },
                                                    {
                                                        "id": 17648,
                                                        "name": "p3",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 17638,
                                                        "src": "37221:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_string_memory_ptr",
                                                            "typeString": "string memory"
                                                        }
                                                    }
                                                ],
                                                "expression": {
                                                    "argumentTypes": [
                                                        {
                                                            "typeIdentifier": "t_stringliteral_4c55f234d048f08e770926729ee5d8a9c70d6b9a607ce037165c7e0f36155a98",
                                                            "typeString": "literal_string \"log(string,address,uint,string)\""
                                                        },
                                                        {
                                                            "typeIdentifier": "t_string_memory_ptr",
                                                            "typeString": "string memory"
                                                        },
                                                        {
                                                            "typeIdentifier": "t_address",
                                                            "typeString": "address"
                                                        },
                                                        {
                                                            "typeIdentifier": "t_uint256",
                                                            "typeString": "uint256"
                                                        },
                                                        {
                                                            "typeIdentifier": "t_string_memory_ptr",
                                                            "typeString": "string memory"
                                                        }
                                                    ],
                                                    "expression": {
                                                        "id": 17642,
                                                        "name": "abi",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 4294967295,
                                                        "src": "37150:3:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_magic_abi",
                                                            "typeString": "abi"
                                                        }
                                                    },
                                                    "id": 17643,
                                                    "isConstant": false,
                                                    "isLValue": false,
                                                    "isPure": true,
                                                    "lValueRequested": false,
                                                    "memberName": "encodeWithSignature",
                                                    "nodeType": "MemberAccess",
                                                    "src": "37150:23:62",
                                                    "typeDescriptions": {
                                                        "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$",
                                                        "typeString": "function (string memory) pure returns (bytes memory)"
                                                    }
                                                },
                                                "id": 17649,
                                                "isConstant": false,
                                                "isLValue": false,
                                                "isPure": false,
                                                "kind": "functionCall",
                                                "lValueRequested": false,
                                                "names": [],
                                                "nodeType": "FunctionCall",
                                                "src": "37150:74:62",
                                                "tryCall": false,
                                                "typeDescriptions": {
                                                    "typeIdentifier": "t_bytes_memory_ptr",
                                                    "typeString": "bytes memory"
                                                }
                                            }
                                        ],
                                        "expression": {
                                            "argumentTypes": [
                                                {
                                                    "typeIdentifier": "t_bytes_memory_ptr",
                                                    "typeString": "bytes memory"
                                                }
                                            ],
                                            "id": 17641,
                                            "name": "_sendLogPayload",
                                            "nodeType": "Identifier",
                                            "overloadedDeclarations": [],
                                            "referencedDeclaration": 12880,
                                            "src": "37134:15:62",
                                            "typeDescriptions": {
                                                "typeIdentifier": "t_function_internal_view$_t_bytes_memory_ptr_$returns$__$",
                                                "typeString": "function (bytes memory) view"
                                            }
                                        },
                                        "id": 17650,
                                        "isConstant": false,
                                        "isLValue": false,
                                        "isPure": false,
                                        "kind": "functionCall",
                                        "lValueRequested": false,
                                        "names": [],
                                        "nodeType": "FunctionCall",
                                        "src": "37134:91:62",
                                        "tryCall": false,
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_tuple$__$",
                                            "typeString": "tuple()"
                                        }
                                    },
                                    "id": 17651,
                                    "nodeType": "ExpressionStatement",
                                    "src": "37134:91:62"
                                }
                            ]
                        },
                        "id": 17653,
                        "implemented": true,
                        "kind": "function",
                        "modifiers": [],
                        "name": "log",
                        "nameLocation": "37055:3:62",
                        "nodeType": "FunctionDefinition",
                        "parameters": {
                            "id": 17639,
                            "nodeType": "ParameterList",
                            "parameters": [
                                {
                                    "constant": false,
                                    "id": 17632,
                                    "mutability": "mutable",
                                    "name": "p0",
                                    "nameLocation": "37073:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 17653,
                                    "src": "37059:16:62",
                                    "stateVariable": false,
                                    "storageLocation": "memory",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_string_memory_ptr",
                                        "typeString": "string"
                                    },
                                    "typeName": {
                                        "id": 17631,
                                        "name": "string",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "37059:6:62",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_string_storage_ptr",
                                            "typeString": "string"
                                        }
                                    },
                                    "visibility": "internal"
                                },
                                {
                                    "constant": false,
                                    "id": 17634,
                                    "mutability": "mutable",
                                    "name": "p1",
                                    "nameLocation": "37085:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 17653,
                                    "src": "37077:10:62",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_address",
                                        "typeString": "address"
                                    },
                                    "typeName": {
                                        "id": 17633,
                                        "name": "address",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "37077:7:62",
                                        "stateMutability": "nonpayable",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_address",
                                            "typeString": "address"
                                        }
                                    },
                                    "visibility": "internal"
                                },
                                {
                                    "constant": false,
                                    "id": 17636,
                                    "mutability": "mutable",
                                    "name": "p2",
                                    "nameLocation": "37094:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 17653,
                                    "src": "37089:7:62",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_uint256",
                                        "typeString": "uint256"
                                    },
                                    "typeName": {
                                        "id": 17635,
                                        "name": "uint",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "37089:4:62",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_uint256",
                                            "typeString": "uint256"
                                        }
                                    },
                                    "visibility": "internal"
                                },
                                {
                                    "constant": false,
                                    "id": 17638,
                                    "mutability": "mutable",
                                    "name": "p3",
                                    "nameLocation": "37112:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 17653,
                                    "src": "37098:16:62",
                                    "stateVariable": false,
                                    "storageLocation": "memory",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_string_memory_ptr",
                                        "typeString": "string"
                                    },
                                    "typeName": {
                                        "id": 17637,
                                        "name": "string",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "37098:6:62",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_string_storage_ptr",
                                            "typeString": "string"
                                        }
                                    },
                                    "visibility": "internal"
                                }
                            ],
                            "src": "37058:57:62"
                        },
                        "returnParameters": {
                            "id": 17640,
                            "nodeType": "ParameterList",
                            "parameters": [],
                            "src": "37130:0:62"
                        },
                        "scope": 20920,
                        "src": "37046:183:62",
                        "stateMutability": "view",
                        "virtual": false,
                        "visibility": "internal"
                    },
                    {
                        "body": {
                            "id": 17675,
                            "nodeType": "Block",
                            "src": "37307:97:62",
                            "statements": [
                                {
                                    "expression": {
                                        "arguments": [
                                            {
                                                "arguments": [
                                                    {
                                                        "hexValue": "6c6f6728737472696e672c616464726573732c75696e742c626f6f6c29",
                                                        "id": 17667,
                                                        "isConstant": false,
                                                        "isLValue": false,
                                                        "isPure": true,
                                                        "kind": "string",
                                                        "lValueRequested": false,
                                                        "nodeType": "Literal",
                                                        "src": "37351:31:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_stringliteral_5ac1c13c91f65a91284d9d77ba7484e75b0a3dd9b57a01fd497babb7d6ebc554",
                                                            "typeString": "literal_string \"log(string,address,uint,bool)\""
                                                        },
                                                        "value": "log(string,address,uint,bool)"
                                                    },
                                                    {
                                                        "id": 17668,
                                                        "name": "p0",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 17655,
                                                        "src": "37384:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_string_memory_ptr",
                                                            "typeString": "string memory"
                                                        }
                                                    },
                                                    {
                                                        "id": 17669,
                                                        "name": "p1",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 17657,
                                                        "src": "37388:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_address",
                                                            "typeString": "address"
                                                        }
                                                    },
                                                    {
                                                        "id": 17670,
                                                        "name": "p2",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 17659,
                                                        "src": "37392:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_uint256",
                                                            "typeString": "uint256"
                                                        }
                                                    },
                                                    {
                                                        "id": 17671,
                                                        "name": "p3",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 17661,
                                                        "src": "37396:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_bool",
                                                            "typeString": "bool"
                                                        }
                                                    }
                                                ],
                                                "expression": {
                                                    "argumentTypes": [
                                                        {
                                                            "typeIdentifier": "t_stringliteral_5ac1c13c91f65a91284d9d77ba7484e75b0a3dd9b57a01fd497babb7d6ebc554",
                                                            "typeString": "literal_string \"log(string,address,uint,bool)\""
                                                        },
                                                        {
                                                            "typeIdentifier": "t_string_memory_ptr",
                                                            "typeString": "string memory"
                                                        },
                                                        {
                                                            "typeIdentifier": "t_address",
                                                            "typeString": "address"
                                                        },
                                                        {
                                                            "typeIdentifier": "t_uint256",
                                                            "typeString": "uint256"
                                                        },
                                                        {
                                                            "typeIdentifier": "t_bool",
                                                            "typeString": "bool"
                                                        }
                                                    ],
                                                    "expression": {
                                                        "id": 17665,
                                                        "name": "abi",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 4294967295,
                                                        "src": "37327:3:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_magic_abi",
                                                            "typeString": "abi"
                                                        }
                                                    },
                                                    "id": 17666,
                                                    "isConstant": false,
                                                    "isLValue": false,
                                                    "isPure": true,
                                                    "lValueRequested": false,
                                                    "memberName": "encodeWithSignature",
                                                    "nodeType": "MemberAccess",
                                                    "src": "37327:23:62",
                                                    "typeDescriptions": {
                                                        "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$",
                                                        "typeString": "function (string memory) pure returns (bytes memory)"
                                                    }
                                                },
                                                "id": 17672,
                                                "isConstant": false,
                                                "isLValue": false,
                                                "isPure": false,
                                                "kind": "functionCall",
                                                "lValueRequested": false,
                                                "names": [],
                                                "nodeType": "FunctionCall",
                                                "src": "37327:72:62",
                                                "tryCall": false,
                                                "typeDescriptions": {
                                                    "typeIdentifier": "t_bytes_memory_ptr",
                                                    "typeString": "bytes memory"
                                                }
                                            }
                                        ],
                                        "expression": {
                                            "argumentTypes": [
                                                {
                                                    "typeIdentifier": "t_bytes_memory_ptr",
                                                    "typeString": "bytes memory"
                                                }
                                            ],
                                            "id": 17664,
                                            "name": "_sendLogPayload",
                                            "nodeType": "Identifier",
                                            "overloadedDeclarations": [],
                                            "referencedDeclaration": 12880,
                                            "src": "37311:15:62",
                                            "typeDescriptions": {
                                                "typeIdentifier": "t_function_internal_view$_t_bytes_memory_ptr_$returns$__$",
                                                "typeString": "function (bytes memory) view"
                                            }
                                        },
                                        "id": 17673,
                                        "isConstant": false,
                                        "isLValue": false,
                                        "isPure": false,
                                        "kind": "functionCall",
                                        "lValueRequested": false,
                                        "names": [],
                                        "nodeType": "FunctionCall",
                                        "src": "37311:89:62",
                                        "tryCall": false,
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_tuple$__$",
                                            "typeString": "tuple()"
                                        }
                                    },
                                    "id": 17674,
                                    "nodeType": "ExpressionStatement",
                                    "src": "37311:89:62"
                                }
                            ]
                        },
                        "id": 17676,
                        "implemented": true,
                        "kind": "function",
                        "modifiers": [],
                        "name": "log",
                        "nameLocation": "37241:3:62",
                        "nodeType": "FunctionDefinition",
                        "parameters": {
                            "id": 17662,
                            "nodeType": "ParameterList",
                            "parameters": [
                                {
                                    "constant": false,
                                    "id": 17655,
                                    "mutability": "mutable",
                                    "name": "p0",
                                    "nameLocation": "37259:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 17676,
                                    "src": "37245:16:62",
                                    "stateVariable": false,
                                    "storageLocation": "memory",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_string_memory_ptr",
                                        "typeString": "string"
                                    },
                                    "typeName": {
                                        "id": 17654,
                                        "name": "string",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "37245:6:62",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_string_storage_ptr",
                                            "typeString": "string"
                                        }
                                    },
                                    "visibility": "internal"
                                },
                                {
                                    "constant": false,
                                    "id": 17657,
                                    "mutability": "mutable",
                                    "name": "p1",
                                    "nameLocation": "37271:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 17676,
                                    "src": "37263:10:62",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_address",
                                        "typeString": "address"
                                    },
                                    "typeName": {
                                        "id": 17656,
                                        "name": "address",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "37263:7:62",
                                        "stateMutability": "nonpayable",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_address",
                                            "typeString": "address"
                                        }
                                    },
                                    "visibility": "internal"
                                },
                                {
                                    "constant": false,
                                    "id": 17659,
                                    "mutability": "mutable",
                                    "name": "p2",
                                    "nameLocation": "37280:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 17676,
                                    "src": "37275:7:62",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_uint256",
                                        "typeString": "uint256"
                                    },
                                    "typeName": {
                                        "id": 17658,
                                        "name": "uint",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "37275:4:62",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_uint256",
                                            "typeString": "uint256"
                                        }
                                    },
                                    "visibility": "internal"
                                },
                                {
                                    "constant": false,
                                    "id": 17661,
                                    "mutability": "mutable",
                                    "name": "p3",
                                    "nameLocation": "37289:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 17676,
                                    "src": "37284:7:62",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_bool",
                                        "typeString": "bool"
                                    },
                                    "typeName": {
                                        "id": 17660,
                                        "name": "bool",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "37284:4:62",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_bool",
                                            "typeString": "bool"
                                        }
                                    },
                                    "visibility": "internal"
                                }
                            ],
                            "src": "37244:48:62"
                        },
                        "returnParameters": {
                            "id": 17663,
                            "nodeType": "ParameterList",
                            "parameters": [],
                            "src": "37307:0:62"
                        },
                        "scope": 20920,
                        "src": "37232:172:62",
                        "stateMutability": "view",
                        "virtual": false,
                        "visibility": "internal"
                    },
                    {
                        "body": {
                            "id": 17698,
                            "nodeType": "Block",
                            "src": "37485:100:62",
                            "statements": [
                                {
                                    "expression": {
                                        "arguments": [
                                            {
                                                "arguments": [
                                                    {
                                                        "hexValue": "6c6f6728737472696e672c616464726573732c75696e742c6164647265737329",
                                                        "id": 17690,
                                                        "isConstant": false,
                                                        "isLValue": false,
                                                        "isPure": true,
                                                        "kind": "string",
                                                        "lValueRequested": false,
                                                        "nodeType": "Literal",
                                                        "src": "37529:34:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_stringliteral_a366ec808c8af1aa091e8102642939a99436cf04d3dfac2ae23c299404f821b2",
                                                            "typeString": "literal_string \"log(string,address,uint,address)\""
                                                        },
                                                        "value": "log(string,address,uint,address)"
                                                    },
                                                    {
                                                        "id": 17691,
                                                        "name": "p0",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 17678,
                                                        "src": "37565:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_string_memory_ptr",
                                                            "typeString": "string memory"
                                                        }
                                                    },
                                                    {
                                                        "id": 17692,
                                                        "name": "p1",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 17680,
                                                        "src": "37569:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_address",
                                                            "typeString": "address"
                                                        }
                                                    },
                                                    {
                                                        "id": 17693,
                                                        "name": "p2",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 17682,
                                                        "src": "37573:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_uint256",
                                                            "typeString": "uint256"
                                                        }
                                                    },
                                                    {
                                                        "id": 17694,
                                                        "name": "p3",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 17684,
                                                        "src": "37577:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_address",
                                                            "typeString": "address"
                                                        }
                                                    }
                                                ],
                                                "expression": {
                                                    "argumentTypes": [
                                                        {
                                                            "typeIdentifier": "t_stringliteral_a366ec808c8af1aa091e8102642939a99436cf04d3dfac2ae23c299404f821b2",
                                                            "typeString": "literal_string \"log(string,address,uint,address)\""
                                                        },
                                                        {
                                                            "typeIdentifier": "t_string_memory_ptr",
                                                            "typeString": "string memory"
                                                        },
                                                        {
                                                            "typeIdentifier": "t_address",
                                                            "typeString": "address"
                                                        },
                                                        {
                                                            "typeIdentifier": "t_uint256",
                                                            "typeString": "uint256"
                                                        },
                                                        {
                                                            "typeIdentifier": "t_address",
                                                            "typeString": "address"
                                                        }
                                                    ],
                                                    "expression": {
                                                        "id": 17688,
                                                        "name": "abi",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 4294967295,
                                                        "src": "37505:3:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_magic_abi",
                                                            "typeString": "abi"
                                                        }
                                                    },
                                                    "id": 17689,
                                                    "isConstant": false,
                                                    "isLValue": false,
                                                    "isPure": true,
                                                    "lValueRequested": false,
                                                    "memberName": "encodeWithSignature",
                                                    "nodeType": "MemberAccess",
                                                    "src": "37505:23:62",
                                                    "typeDescriptions": {
                                                        "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$",
                                                        "typeString": "function (string memory) pure returns (bytes memory)"
                                                    }
                                                },
                                                "id": 17695,
                                                "isConstant": false,
                                                "isLValue": false,
                                                "isPure": false,
                                                "kind": "functionCall",
                                                "lValueRequested": false,
                                                "names": [],
                                                "nodeType": "FunctionCall",
                                                "src": "37505:75:62",
                                                "tryCall": false,
                                                "typeDescriptions": {
                                                    "typeIdentifier": "t_bytes_memory_ptr",
                                                    "typeString": "bytes memory"
                                                }
                                            }
                                        ],
                                        "expression": {
                                            "argumentTypes": [
                                                {
                                                    "typeIdentifier": "t_bytes_memory_ptr",
                                                    "typeString": "bytes memory"
                                                }
                                            ],
                                            "id": 17687,
                                            "name": "_sendLogPayload",
                                            "nodeType": "Identifier",
                                            "overloadedDeclarations": [],
                                            "referencedDeclaration": 12880,
                                            "src": "37489:15:62",
                                            "typeDescriptions": {
                                                "typeIdentifier": "t_function_internal_view$_t_bytes_memory_ptr_$returns$__$",
                                                "typeString": "function (bytes memory) view"
                                            }
                                        },
                                        "id": 17696,
                                        "isConstant": false,
                                        "isLValue": false,
                                        "isPure": false,
                                        "kind": "functionCall",
                                        "lValueRequested": false,
                                        "names": [],
                                        "nodeType": "FunctionCall",
                                        "src": "37489:92:62",
                                        "tryCall": false,
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_tuple$__$",
                                            "typeString": "tuple()"
                                        }
                                    },
                                    "id": 17697,
                                    "nodeType": "ExpressionStatement",
                                    "src": "37489:92:62"
                                }
                            ]
                        },
                        "id": 17699,
                        "implemented": true,
                        "kind": "function",
                        "modifiers": [],
                        "name": "log",
                        "nameLocation": "37416:3:62",
                        "nodeType": "FunctionDefinition",
                        "parameters": {
                            "id": 17685,
                            "nodeType": "ParameterList",
                            "parameters": [
                                {
                                    "constant": false,
                                    "id": 17678,
                                    "mutability": "mutable",
                                    "name": "p0",
                                    "nameLocation": "37434:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 17699,
                                    "src": "37420:16:62",
                                    "stateVariable": false,
                                    "storageLocation": "memory",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_string_memory_ptr",
                                        "typeString": "string"
                                    },
                                    "typeName": {
                                        "id": 17677,
                                        "name": "string",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "37420:6:62",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_string_storage_ptr",
                                            "typeString": "string"
                                        }
                                    },
                                    "visibility": "internal"
                                },
                                {
                                    "constant": false,
                                    "id": 17680,
                                    "mutability": "mutable",
                                    "name": "p1",
                                    "nameLocation": "37446:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 17699,
                                    "src": "37438:10:62",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_address",
                                        "typeString": "address"
                                    },
                                    "typeName": {
                                        "id": 17679,
                                        "name": "address",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "37438:7:62",
                                        "stateMutability": "nonpayable",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_address",
                                            "typeString": "address"
                                        }
                                    },
                                    "visibility": "internal"
                                },
                                {
                                    "constant": false,
                                    "id": 17682,
                                    "mutability": "mutable",
                                    "name": "p2",
                                    "nameLocation": "37455:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 17699,
                                    "src": "37450:7:62",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_uint256",
                                        "typeString": "uint256"
                                    },
                                    "typeName": {
                                        "id": 17681,
                                        "name": "uint",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "37450:4:62",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_uint256",
                                            "typeString": "uint256"
                                        }
                                    },
                                    "visibility": "internal"
                                },
                                {
                                    "constant": false,
                                    "id": 17684,
                                    "mutability": "mutable",
                                    "name": "p3",
                                    "nameLocation": "37467:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 17699,
                                    "src": "37459:10:62",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_address",
                                        "typeString": "address"
                                    },
                                    "typeName": {
                                        "id": 17683,
                                        "name": "address",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "37459:7:62",
                                        "stateMutability": "nonpayable",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_address",
                                            "typeString": "address"
                                        }
                                    },
                                    "visibility": "internal"
                                }
                            ],
                            "src": "37419:51:62"
                        },
                        "returnParameters": {
                            "id": 17686,
                            "nodeType": "ParameterList",
                            "parameters": [],
                            "src": "37485:0:62"
                        },
                        "scope": 20920,
                        "src": "37407:178:62",
                        "stateMutability": "view",
                        "virtual": false,
                        "visibility": "internal"
                    },
                    {
                        "body": {
                            "id": 17721,
                            "nodeType": "Block",
                            "src": "37672:99:62",
                            "statements": [
                                {
                                    "expression": {
                                        "arguments": [
                                            {
                                                "arguments": [
                                                    {
                                                        "hexValue": "6c6f6728737472696e672c616464726573732c737472696e672c75696e7429",
                                                        "id": 17713,
                                                        "isConstant": false,
                                                        "isLValue": false,
                                                        "isPure": true,
                                                        "kind": "string",
                                                        "lValueRequested": false,
                                                        "nodeType": "Literal",
                                                        "src": "37716:33:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_stringliteral_8f624be9ea3983abac9c65ced8f562a492ebb84e6f74cd40f35387eff4d66349",
                                                            "typeString": "literal_string \"log(string,address,string,uint)\""
                                                        },
                                                        "value": "log(string,address,string,uint)"
                                                    },
                                                    {
                                                        "id": 17714,
                                                        "name": "p0",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 17701,
                                                        "src": "37751:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_string_memory_ptr",
                                                            "typeString": "string memory"
                                                        }
                                                    },
                                                    {
                                                        "id": 17715,
                                                        "name": "p1",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 17703,
                                                        "src": "37755:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_address",
                                                            "typeString": "address"
                                                        }
                                                    },
                                                    {
                                                        "id": 17716,
                                                        "name": "p2",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 17705,
                                                        "src": "37759:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_string_memory_ptr",
                                                            "typeString": "string memory"
                                                        }
                                                    },
                                                    {
                                                        "id": 17717,
                                                        "name": "p3",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 17707,
                                                        "src": "37763:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_uint256",
                                                            "typeString": "uint256"
                                                        }
                                                    }
                                                ],
                                                "expression": {
                                                    "argumentTypes": [
                                                        {
                                                            "typeIdentifier": "t_stringliteral_8f624be9ea3983abac9c65ced8f562a492ebb84e6f74cd40f35387eff4d66349",
                                                            "typeString": "literal_string \"log(string,address,string,uint)\""
                                                        },
                                                        {
                                                            "typeIdentifier": "t_string_memory_ptr",
                                                            "typeString": "string memory"
                                                        },
                                                        {
                                                            "typeIdentifier": "t_address",
                                                            "typeString": "address"
                                                        },
                                                        {
                                                            "typeIdentifier": "t_string_memory_ptr",
                                                            "typeString": "string memory"
                                                        },
                                                        {
                                                            "typeIdentifier": "t_uint256",
                                                            "typeString": "uint256"
                                                        }
                                                    ],
                                                    "expression": {
                                                        "id": 17711,
                                                        "name": "abi",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 4294967295,
                                                        "src": "37692:3:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_magic_abi",
                                                            "typeString": "abi"
                                                        }
                                                    },
                                                    "id": 17712,
                                                    "isConstant": false,
                                                    "isLValue": false,
                                                    "isPure": true,
                                                    "lValueRequested": false,
                                                    "memberName": "encodeWithSignature",
                                                    "nodeType": "MemberAccess",
                                                    "src": "37692:23:62",
                                                    "typeDescriptions": {
                                                        "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$",
                                                        "typeString": "function (string memory) pure returns (bytes memory)"
                                                    }
                                                },
                                                "id": 17718,
                                                "isConstant": false,
                                                "isLValue": false,
                                                "isPure": false,
                                                "kind": "functionCall",
                                                "lValueRequested": false,
                                                "names": [],
                                                "nodeType": "FunctionCall",
                                                "src": "37692:74:62",
                                                "tryCall": false,
                                                "typeDescriptions": {
                                                    "typeIdentifier": "t_bytes_memory_ptr",
                                                    "typeString": "bytes memory"
                                                }
                                            }
                                        ],
                                        "expression": {
                                            "argumentTypes": [
                                                {
                                                    "typeIdentifier": "t_bytes_memory_ptr",
                                                    "typeString": "bytes memory"
                                                }
                                            ],
                                            "id": 17710,
                                            "name": "_sendLogPayload",
                                            "nodeType": "Identifier",
                                            "overloadedDeclarations": [],
                                            "referencedDeclaration": 12880,
                                            "src": "37676:15:62",
                                            "typeDescriptions": {
                                                "typeIdentifier": "t_function_internal_view$_t_bytes_memory_ptr_$returns$__$",
                                                "typeString": "function (bytes memory) view"
                                            }
                                        },
                                        "id": 17719,
                                        "isConstant": false,
                                        "isLValue": false,
                                        "isPure": false,
                                        "kind": "functionCall",
                                        "lValueRequested": false,
                                        "names": [],
                                        "nodeType": "FunctionCall",
                                        "src": "37676:91:62",
                                        "tryCall": false,
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_tuple$__$",
                                            "typeString": "tuple()"
                                        }
                                    },
                                    "id": 17720,
                                    "nodeType": "ExpressionStatement",
                                    "src": "37676:91:62"
                                }
                            ]
                        },
                        "id": 17722,
                        "implemented": true,
                        "kind": "function",
                        "modifiers": [],
                        "name": "log",
                        "nameLocation": "37597:3:62",
                        "nodeType": "FunctionDefinition",
                        "parameters": {
                            "id": 17708,
                            "nodeType": "ParameterList",
                            "parameters": [
                                {
                                    "constant": false,
                                    "id": 17701,
                                    "mutability": "mutable",
                                    "name": "p0",
                                    "nameLocation": "37615:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 17722,
                                    "src": "37601:16:62",
                                    "stateVariable": false,
                                    "storageLocation": "memory",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_string_memory_ptr",
                                        "typeString": "string"
                                    },
                                    "typeName": {
                                        "id": 17700,
                                        "name": "string",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "37601:6:62",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_string_storage_ptr",
                                            "typeString": "string"
                                        }
                                    },
                                    "visibility": "internal"
                                },
                                {
                                    "constant": false,
                                    "id": 17703,
                                    "mutability": "mutable",
                                    "name": "p1",
                                    "nameLocation": "37627:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 17722,
                                    "src": "37619:10:62",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_address",
                                        "typeString": "address"
                                    },
                                    "typeName": {
                                        "id": 17702,
                                        "name": "address",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "37619:7:62",
                                        "stateMutability": "nonpayable",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_address",
                                            "typeString": "address"
                                        }
                                    },
                                    "visibility": "internal"
                                },
                                {
                                    "constant": false,
                                    "id": 17705,
                                    "mutability": "mutable",
                                    "name": "p2",
                                    "nameLocation": "37645:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 17722,
                                    "src": "37631:16:62",
                                    "stateVariable": false,
                                    "storageLocation": "memory",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_string_memory_ptr",
                                        "typeString": "string"
                                    },
                                    "typeName": {
                                        "id": 17704,
                                        "name": "string",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "37631:6:62",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_string_storage_ptr",
                                            "typeString": "string"
                                        }
                                    },
                                    "visibility": "internal"
                                },
                                {
                                    "constant": false,
                                    "id": 17707,
                                    "mutability": "mutable",
                                    "name": "p3",
                                    "nameLocation": "37654:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 17722,
                                    "src": "37649:7:62",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_uint256",
                                        "typeString": "uint256"
                                    },
                                    "typeName": {
                                        "id": 17706,
                                        "name": "uint",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "37649:4:62",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_uint256",
                                            "typeString": "uint256"
                                        }
                                    },
                                    "visibility": "internal"
                                }
                            ],
                            "src": "37600:57:62"
                        },
                        "returnParameters": {
                            "id": 17709,
                            "nodeType": "ParameterList",
                            "parameters": [],
                            "src": "37672:0:62"
                        },
                        "scope": 20920,
                        "src": "37588:183:62",
                        "stateMutability": "view",
                        "virtual": false,
                        "visibility": "internal"
                    },
                    {
                        "body": {
                            "id": 17744,
                            "nodeType": "Block",
                            "src": "37867:101:62",
                            "statements": [
                                {
                                    "expression": {
                                        "arguments": [
                                            {
                                                "arguments": [
                                                    {
                                                        "hexValue": "6c6f6728737472696e672c616464726573732c737472696e672c737472696e6729",
                                                        "id": 17736,
                                                        "isConstant": false,
                                                        "isLValue": false,
                                                        "isPure": true,
                                                        "kind": "string",
                                                        "lValueRequested": false,
                                                        "nodeType": "Literal",
                                                        "src": "37911:35:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_stringliteral_245986f22170901865e76245a48ee28ce0127ca357f6ad576a72190e1d358797",
                                                            "typeString": "literal_string \"log(string,address,string,string)\""
                                                        },
                                                        "value": "log(string,address,string,string)"
                                                    },
                                                    {
                                                        "id": 17737,
                                                        "name": "p0",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 17724,
                                                        "src": "37948:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_string_memory_ptr",
                                                            "typeString": "string memory"
                                                        }
                                                    },
                                                    {
                                                        "id": 17738,
                                                        "name": "p1",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 17726,
                                                        "src": "37952:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_address",
                                                            "typeString": "address"
                                                        }
                                                    },
                                                    {
                                                        "id": 17739,
                                                        "name": "p2",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 17728,
                                                        "src": "37956:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_string_memory_ptr",
                                                            "typeString": "string memory"
                                                        }
                                                    },
                                                    {
                                                        "id": 17740,
                                                        "name": "p3",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 17730,
                                                        "src": "37960:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_string_memory_ptr",
                                                            "typeString": "string memory"
                                                        }
                                                    }
                                                ],
                                                "expression": {
                                                    "argumentTypes": [
                                                        {
                                                            "typeIdentifier": "t_stringliteral_245986f22170901865e76245a48ee28ce0127ca357f6ad576a72190e1d358797",
                                                            "typeString": "literal_string \"log(string,address,string,string)\""
                                                        },
                                                        {
                                                            "typeIdentifier": "t_string_memory_ptr",
                                                            "typeString": "string memory"
                                                        },
                                                        {
                                                            "typeIdentifier": "t_address",
                                                            "typeString": "address"
                                                        },
                                                        {
                                                            "typeIdentifier": "t_string_memory_ptr",
                                                            "typeString": "string memory"
                                                        },
                                                        {
                                                            "typeIdentifier": "t_string_memory_ptr",
                                                            "typeString": "string memory"
                                                        }
                                                    ],
                                                    "expression": {
                                                        "id": 17734,
                                                        "name": "abi",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 4294967295,
                                                        "src": "37887:3:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_magic_abi",
                                                            "typeString": "abi"
                                                        }
                                                    },
                                                    "id": 17735,
                                                    "isConstant": false,
                                                    "isLValue": false,
                                                    "isPure": true,
                                                    "lValueRequested": false,
                                                    "memberName": "encodeWithSignature",
                                                    "nodeType": "MemberAccess",
                                                    "src": "37887:23:62",
                                                    "typeDescriptions": {
                                                        "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$",
                                                        "typeString": "function (string memory) pure returns (bytes memory)"
                                                    }
                                                },
                                                "id": 17741,
                                                "isConstant": false,
                                                "isLValue": false,
                                                "isPure": false,
                                                "kind": "functionCall",
                                                "lValueRequested": false,
                                                "names": [],
                                                "nodeType": "FunctionCall",
                                                "src": "37887:76:62",
                                                "tryCall": false,
                                                "typeDescriptions": {
                                                    "typeIdentifier": "t_bytes_memory_ptr",
                                                    "typeString": "bytes memory"
                                                }
                                            }
                                        ],
                                        "expression": {
                                            "argumentTypes": [
                                                {
                                                    "typeIdentifier": "t_bytes_memory_ptr",
                                                    "typeString": "bytes memory"
                                                }
                                            ],
                                            "id": 17733,
                                            "name": "_sendLogPayload",
                                            "nodeType": "Identifier",
                                            "overloadedDeclarations": [],
                                            "referencedDeclaration": 12880,
                                            "src": "37871:15:62",
                                            "typeDescriptions": {
                                                "typeIdentifier": "t_function_internal_view$_t_bytes_memory_ptr_$returns$__$",
                                                "typeString": "function (bytes memory) view"
                                            }
                                        },
                                        "id": 17742,
                                        "isConstant": false,
                                        "isLValue": false,
                                        "isPure": false,
                                        "kind": "functionCall",
                                        "lValueRequested": false,
                                        "names": [],
                                        "nodeType": "FunctionCall",
                                        "src": "37871:93:62",
                                        "tryCall": false,
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_tuple$__$",
                                            "typeString": "tuple()"
                                        }
                                    },
                                    "id": 17743,
                                    "nodeType": "ExpressionStatement",
                                    "src": "37871:93:62"
                                }
                            ]
                        },
                        "id": 17745,
                        "implemented": true,
                        "kind": "function",
                        "modifiers": [],
                        "name": "log",
                        "nameLocation": "37783:3:62",
                        "nodeType": "FunctionDefinition",
                        "parameters": {
                            "id": 17731,
                            "nodeType": "ParameterList",
                            "parameters": [
                                {
                                    "constant": false,
                                    "id": 17724,
                                    "mutability": "mutable",
                                    "name": "p0",
                                    "nameLocation": "37801:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 17745,
                                    "src": "37787:16:62",
                                    "stateVariable": false,
                                    "storageLocation": "memory",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_string_memory_ptr",
                                        "typeString": "string"
                                    },
                                    "typeName": {
                                        "id": 17723,
                                        "name": "string",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "37787:6:62",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_string_storage_ptr",
                                            "typeString": "string"
                                        }
                                    },
                                    "visibility": "internal"
                                },
                                {
                                    "constant": false,
                                    "id": 17726,
                                    "mutability": "mutable",
                                    "name": "p1",
                                    "nameLocation": "37813:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 17745,
                                    "src": "37805:10:62",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_address",
                                        "typeString": "address"
                                    },
                                    "typeName": {
                                        "id": 17725,
                                        "name": "address",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "37805:7:62",
                                        "stateMutability": "nonpayable",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_address",
                                            "typeString": "address"
                                        }
                                    },
                                    "visibility": "internal"
                                },
                                {
                                    "constant": false,
                                    "id": 17728,
                                    "mutability": "mutable",
                                    "name": "p2",
                                    "nameLocation": "37831:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 17745,
                                    "src": "37817:16:62",
                                    "stateVariable": false,
                                    "storageLocation": "memory",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_string_memory_ptr",
                                        "typeString": "string"
                                    },
                                    "typeName": {
                                        "id": 17727,
                                        "name": "string",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "37817:6:62",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_string_storage_ptr",
                                            "typeString": "string"
                                        }
                                    },
                                    "visibility": "internal"
                                },
                                {
                                    "constant": false,
                                    "id": 17730,
                                    "mutability": "mutable",
                                    "name": "p3",
                                    "nameLocation": "37849:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 17745,
                                    "src": "37835:16:62",
                                    "stateVariable": false,
                                    "storageLocation": "memory",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_string_memory_ptr",
                                        "typeString": "string"
                                    },
                                    "typeName": {
                                        "id": 17729,
                                        "name": "string",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "37835:6:62",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_string_storage_ptr",
                                            "typeString": "string"
                                        }
                                    },
                                    "visibility": "internal"
                                }
                            ],
                            "src": "37786:66:62"
                        },
                        "returnParameters": {
                            "id": 17732,
                            "nodeType": "ParameterList",
                            "parameters": [],
                            "src": "37867:0:62"
                        },
                        "scope": 20920,
                        "src": "37774:194:62",
                        "stateMutability": "view",
                        "virtual": false,
                        "visibility": "internal"
                    },
                    {
                        "body": {
                            "id": 17767,
                            "nodeType": "Block",
                            "src": "38055:99:62",
                            "statements": [
                                {
                                    "expression": {
                                        "arguments": [
                                            {
                                                "arguments": [
                                                    {
                                                        "hexValue": "6c6f6728737472696e672c616464726573732c737472696e672c626f6f6c29",
                                                        "id": 17759,
                                                        "isConstant": false,
                                                        "isLValue": false,
                                                        "isPure": true,
                                                        "kind": "string",
                                                        "lValueRequested": false,
                                                        "nodeType": "Literal",
                                                        "src": "38099:33:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_stringliteral_5f15d28c15ddff15fba1c00f6a4975ae6af8b36c9b2a875bf59bd45049046154",
                                                            "typeString": "literal_string \"log(string,address,string,bool)\""
                                                        },
                                                        "value": "log(string,address,string,bool)"
                                                    },
                                                    {
                                                        "id": 17760,
                                                        "name": "p0",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 17747,
                                                        "src": "38134:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_string_memory_ptr",
                                                            "typeString": "string memory"
                                                        }
                                                    },
                                                    {
                                                        "id": 17761,
                                                        "name": "p1",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 17749,
                                                        "src": "38138:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_address",
                                                            "typeString": "address"
                                                        }
                                                    },
                                                    {
                                                        "id": 17762,
                                                        "name": "p2",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 17751,
                                                        "src": "38142:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_string_memory_ptr",
                                                            "typeString": "string memory"
                                                        }
                                                    },
                                                    {
                                                        "id": 17763,
                                                        "name": "p3",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 17753,
                                                        "src": "38146:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_bool",
                                                            "typeString": "bool"
                                                        }
                                                    }
                                                ],
                                                "expression": {
                                                    "argumentTypes": [
                                                        {
                                                            "typeIdentifier": "t_stringliteral_5f15d28c15ddff15fba1c00f6a4975ae6af8b36c9b2a875bf59bd45049046154",
                                                            "typeString": "literal_string \"log(string,address,string,bool)\""
                                                        },
                                                        {
                                                            "typeIdentifier": "t_string_memory_ptr",
                                                            "typeString": "string memory"
                                                        },
                                                        {
                                                            "typeIdentifier": "t_address",
                                                            "typeString": "address"
                                                        },
                                                        {
                                                            "typeIdentifier": "t_string_memory_ptr",
                                                            "typeString": "string memory"
                                                        },
                                                        {
                                                            "typeIdentifier": "t_bool",
                                                            "typeString": "bool"
                                                        }
                                                    ],
                                                    "expression": {
                                                        "id": 17757,
                                                        "name": "abi",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 4294967295,
                                                        "src": "38075:3:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_magic_abi",
                                                            "typeString": "abi"
                                                        }
                                                    },
                                                    "id": 17758,
                                                    "isConstant": false,
                                                    "isLValue": false,
                                                    "isPure": true,
                                                    "lValueRequested": false,
                                                    "memberName": "encodeWithSignature",
                                                    "nodeType": "MemberAccess",
                                                    "src": "38075:23:62",
                                                    "typeDescriptions": {
                                                        "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$",
                                                        "typeString": "function (string memory) pure returns (bytes memory)"
                                                    }
                                                },
                                                "id": 17764,
                                                "isConstant": false,
                                                "isLValue": false,
                                                "isPure": false,
                                                "kind": "functionCall",
                                                "lValueRequested": false,
                                                "names": [],
                                                "nodeType": "FunctionCall",
                                                "src": "38075:74:62",
                                                "tryCall": false,
                                                "typeDescriptions": {
                                                    "typeIdentifier": "t_bytes_memory_ptr",
                                                    "typeString": "bytes memory"
                                                }
                                            }
                                        ],
                                        "expression": {
                                            "argumentTypes": [
                                                {
                                                    "typeIdentifier": "t_bytes_memory_ptr",
                                                    "typeString": "bytes memory"
                                                }
                                            ],
                                            "id": 17756,
                                            "name": "_sendLogPayload",
                                            "nodeType": "Identifier",
                                            "overloadedDeclarations": [],
                                            "referencedDeclaration": 12880,
                                            "src": "38059:15:62",
                                            "typeDescriptions": {
                                                "typeIdentifier": "t_function_internal_view$_t_bytes_memory_ptr_$returns$__$",
                                                "typeString": "function (bytes memory) view"
                                            }
                                        },
                                        "id": 17765,
                                        "isConstant": false,
                                        "isLValue": false,
                                        "isPure": false,
                                        "kind": "functionCall",
                                        "lValueRequested": false,
                                        "names": [],
                                        "nodeType": "FunctionCall",
                                        "src": "38059:91:62",
                                        "tryCall": false,
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_tuple$__$",
                                            "typeString": "tuple()"
                                        }
                                    },
                                    "id": 17766,
                                    "nodeType": "ExpressionStatement",
                                    "src": "38059:91:62"
                                }
                            ]
                        },
                        "id": 17768,
                        "implemented": true,
                        "kind": "function",
                        "modifiers": [],
                        "name": "log",
                        "nameLocation": "37980:3:62",
                        "nodeType": "FunctionDefinition",
                        "parameters": {
                            "id": 17754,
                            "nodeType": "ParameterList",
                            "parameters": [
                                {
                                    "constant": false,
                                    "id": 17747,
                                    "mutability": "mutable",
                                    "name": "p0",
                                    "nameLocation": "37998:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 17768,
                                    "src": "37984:16:62",
                                    "stateVariable": false,
                                    "storageLocation": "memory",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_string_memory_ptr",
                                        "typeString": "string"
                                    },
                                    "typeName": {
                                        "id": 17746,
                                        "name": "string",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "37984:6:62",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_string_storage_ptr",
                                            "typeString": "string"
                                        }
                                    },
                                    "visibility": "internal"
                                },
                                {
                                    "constant": false,
                                    "id": 17749,
                                    "mutability": "mutable",
                                    "name": "p1",
                                    "nameLocation": "38010:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 17768,
                                    "src": "38002:10:62",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_address",
                                        "typeString": "address"
                                    },
                                    "typeName": {
                                        "id": 17748,
                                        "name": "address",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "38002:7:62",
                                        "stateMutability": "nonpayable",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_address",
                                            "typeString": "address"
                                        }
                                    },
                                    "visibility": "internal"
                                },
                                {
                                    "constant": false,
                                    "id": 17751,
                                    "mutability": "mutable",
                                    "name": "p2",
                                    "nameLocation": "38028:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 17768,
                                    "src": "38014:16:62",
                                    "stateVariable": false,
                                    "storageLocation": "memory",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_string_memory_ptr",
                                        "typeString": "string"
                                    },
                                    "typeName": {
                                        "id": 17750,
                                        "name": "string",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "38014:6:62",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_string_storage_ptr",
                                            "typeString": "string"
                                        }
                                    },
                                    "visibility": "internal"
                                },
                                {
                                    "constant": false,
                                    "id": 17753,
                                    "mutability": "mutable",
                                    "name": "p3",
                                    "nameLocation": "38037:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 17768,
                                    "src": "38032:7:62",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_bool",
                                        "typeString": "bool"
                                    },
                                    "typeName": {
                                        "id": 17752,
                                        "name": "bool",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "38032:4:62",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_bool",
                                            "typeString": "bool"
                                        }
                                    },
                                    "visibility": "internal"
                                }
                            ],
                            "src": "37983:57:62"
                        },
                        "returnParameters": {
                            "id": 17755,
                            "nodeType": "ParameterList",
                            "parameters": [],
                            "src": "38055:0:62"
                        },
                        "scope": 20920,
                        "src": "37971:183:62",
                        "stateMutability": "view",
                        "virtual": false,
                        "visibility": "internal"
                    },
                    {
                        "body": {
                            "id": 17790,
                            "nodeType": "Block",
                            "src": "38244:102:62",
                            "statements": [
                                {
                                    "expression": {
                                        "arguments": [
                                            {
                                                "arguments": [
                                                    {
                                                        "hexValue": "6c6f6728737472696e672c616464726573732c737472696e672c6164647265737329",
                                                        "id": 17782,
                                                        "isConstant": false,
                                                        "isLValue": false,
                                                        "isPure": true,
                                                        "kind": "string",
                                                        "lValueRequested": false,
                                                        "nodeType": "Literal",
                                                        "src": "38288:36:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_stringliteral_aabc9a311ab49789834b120d81155a7fee846a9f0d4f740bbeb970770190c82d",
                                                            "typeString": "literal_string \"log(string,address,string,address)\""
                                                        },
                                                        "value": "log(string,address,string,address)"
                                                    },
                                                    {
                                                        "id": 17783,
                                                        "name": "p0",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 17770,
                                                        "src": "38326:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_string_memory_ptr",
                                                            "typeString": "string memory"
                                                        }
                                                    },
                                                    {
                                                        "id": 17784,
                                                        "name": "p1",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 17772,
                                                        "src": "38330:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_address",
                                                            "typeString": "address"
                                                        }
                                                    },
                                                    {
                                                        "id": 17785,
                                                        "name": "p2",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 17774,
                                                        "src": "38334:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_string_memory_ptr",
                                                            "typeString": "string memory"
                                                        }
                                                    },
                                                    {
                                                        "id": 17786,
                                                        "name": "p3",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 17776,
                                                        "src": "38338:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_address",
                                                            "typeString": "address"
                                                        }
                                                    }
                                                ],
                                                "expression": {
                                                    "argumentTypes": [
                                                        {
                                                            "typeIdentifier": "t_stringliteral_aabc9a311ab49789834b120d81155a7fee846a9f0d4f740bbeb970770190c82d",
                                                            "typeString": "literal_string \"log(string,address,string,address)\""
                                                        },
                                                        {
                                                            "typeIdentifier": "t_string_memory_ptr",
                                                            "typeString": "string memory"
                                                        },
                                                        {
                                                            "typeIdentifier": "t_address",
                                                            "typeString": "address"
                                                        },
                                                        {
                                                            "typeIdentifier": "t_string_memory_ptr",
                                                            "typeString": "string memory"
                                                        },
                                                        {
                                                            "typeIdentifier": "t_address",
                                                            "typeString": "address"
                                                        }
                                                    ],
                                                    "expression": {
                                                        "id": 17780,
                                                        "name": "abi",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 4294967295,
                                                        "src": "38264:3:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_magic_abi",
                                                            "typeString": "abi"
                                                        }
                                                    },
                                                    "id": 17781,
                                                    "isConstant": false,
                                                    "isLValue": false,
                                                    "isPure": true,
                                                    "lValueRequested": false,
                                                    "memberName": "encodeWithSignature",
                                                    "nodeType": "MemberAccess",
                                                    "src": "38264:23:62",
                                                    "typeDescriptions": {
                                                        "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$",
                                                        "typeString": "function (string memory) pure returns (bytes memory)"
                                                    }
                                                },
                                                "id": 17787,
                                                "isConstant": false,
                                                "isLValue": false,
                                                "isPure": false,
                                                "kind": "functionCall",
                                                "lValueRequested": false,
                                                "names": [],
                                                "nodeType": "FunctionCall",
                                                "src": "38264:77:62",
                                                "tryCall": false,
                                                "typeDescriptions": {
                                                    "typeIdentifier": "t_bytes_memory_ptr",
                                                    "typeString": "bytes memory"
                                                }
                                            }
                                        ],
                                        "expression": {
                                            "argumentTypes": [
                                                {
                                                    "typeIdentifier": "t_bytes_memory_ptr",
                                                    "typeString": "bytes memory"
                                                }
                                            ],
                                            "id": 17779,
                                            "name": "_sendLogPayload",
                                            "nodeType": "Identifier",
                                            "overloadedDeclarations": [],
                                            "referencedDeclaration": 12880,
                                            "src": "38248:15:62",
                                            "typeDescriptions": {
                                                "typeIdentifier": "t_function_internal_view$_t_bytes_memory_ptr_$returns$__$",
                                                "typeString": "function (bytes memory) view"
                                            }
                                        },
                                        "id": 17788,
                                        "isConstant": false,
                                        "isLValue": false,
                                        "isPure": false,
                                        "kind": "functionCall",
                                        "lValueRequested": false,
                                        "names": [],
                                        "nodeType": "FunctionCall",
                                        "src": "38248:94:62",
                                        "tryCall": false,
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_tuple$__$",
                                            "typeString": "tuple()"
                                        }
                                    },
                                    "id": 17789,
                                    "nodeType": "ExpressionStatement",
                                    "src": "38248:94:62"
                                }
                            ]
                        },
                        "id": 17791,
                        "implemented": true,
                        "kind": "function",
                        "modifiers": [],
                        "name": "log",
                        "nameLocation": "38166:3:62",
                        "nodeType": "FunctionDefinition",
                        "parameters": {
                            "id": 17777,
                            "nodeType": "ParameterList",
                            "parameters": [
                                {
                                    "constant": false,
                                    "id": 17770,
                                    "mutability": "mutable",
                                    "name": "p0",
                                    "nameLocation": "38184:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 17791,
                                    "src": "38170:16:62",
                                    "stateVariable": false,
                                    "storageLocation": "memory",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_string_memory_ptr",
                                        "typeString": "string"
                                    },
                                    "typeName": {
                                        "id": 17769,
                                        "name": "string",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "38170:6:62",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_string_storage_ptr",
                                            "typeString": "string"
                                        }
                                    },
                                    "visibility": "internal"
                                },
                                {
                                    "constant": false,
                                    "id": 17772,
                                    "mutability": "mutable",
                                    "name": "p1",
                                    "nameLocation": "38196:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 17791,
                                    "src": "38188:10:62",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_address",
                                        "typeString": "address"
                                    },
                                    "typeName": {
                                        "id": 17771,
                                        "name": "address",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "38188:7:62",
                                        "stateMutability": "nonpayable",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_address",
                                            "typeString": "address"
                                        }
                                    },
                                    "visibility": "internal"
                                },
                                {
                                    "constant": false,
                                    "id": 17774,
                                    "mutability": "mutable",
                                    "name": "p2",
                                    "nameLocation": "38214:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 17791,
                                    "src": "38200:16:62",
                                    "stateVariable": false,
                                    "storageLocation": "memory",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_string_memory_ptr",
                                        "typeString": "string"
                                    },
                                    "typeName": {
                                        "id": 17773,
                                        "name": "string",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "38200:6:62",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_string_storage_ptr",
                                            "typeString": "string"
                                        }
                                    },
                                    "visibility": "internal"
                                },
                                {
                                    "constant": false,
                                    "id": 17776,
                                    "mutability": "mutable",
                                    "name": "p3",
                                    "nameLocation": "38226:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 17791,
                                    "src": "38218:10:62",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_address",
                                        "typeString": "address"
                                    },
                                    "typeName": {
                                        "id": 17775,
                                        "name": "address",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "38218:7:62",
                                        "stateMutability": "nonpayable",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_address",
                                            "typeString": "address"
                                        }
                                    },
                                    "visibility": "internal"
                                }
                            ],
                            "src": "38169:60:62"
                        },
                        "returnParameters": {
                            "id": 17778,
                            "nodeType": "ParameterList",
                            "parameters": [],
                            "src": "38244:0:62"
                        },
                        "scope": 20920,
                        "src": "38157:189:62",
                        "stateMutability": "view",
                        "virtual": false,
                        "visibility": "internal"
                    },
                    {
                        "body": {
                            "id": 17813,
                            "nodeType": "Block",
                            "src": "38424:97:62",
                            "statements": [
                                {
                                    "expression": {
                                        "arguments": [
                                            {
                                                "arguments": [
                                                    {
                                                        "hexValue": "6c6f6728737472696e672c616464726573732c626f6f6c2c75696e7429",
                                                        "id": 17805,
                                                        "isConstant": false,
                                                        "isLValue": false,
                                                        "isPure": true,
                                                        "kind": "string",
                                                        "lValueRequested": false,
                                                        "nodeType": "Literal",
                                                        "src": "38468:31:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_stringliteral_c5d1bb8ba57e795e9925065473f653a381a99be37bdcfbeaf49f38097f35af7f",
                                                            "typeString": "literal_string \"log(string,address,bool,uint)\""
                                                        },
                                                        "value": "log(string,address,bool,uint)"
                                                    },
                                                    {
                                                        "id": 17806,
                                                        "name": "p0",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 17793,
                                                        "src": "38501:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_string_memory_ptr",
                                                            "typeString": "string memory"
                                                        }
                                                    },
                                                    {
                                                        "id": 17807,
                                                        "name": "p1",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 17795,
                                                        "src": "38505:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_address",
                                                            "typeString": "address"
                                                        }
                                                    },
                                                    {
                                                        "id": 17808,
                                                        "name": "p2",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 17797,
                                                        "src": "38509:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_bool",
                                                            "typeString": "bool"
                                                        }
                                                    },
                                                    {
                                                        "id": 17809,
                                                        "name": "p3",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 17799,
                                                        "src": "38513:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_uint256",
                                                            "typeString": "uint256"
                                                        }
                                                    }
                                                ],
                                                "expression": {
                                                    "argumentTypes": [
                                                        {
                                                            "typeIdentifier": "t_stringliteral_c5d1bb8ba57e795e9925065473f653a381a99be37bdcfbeaf49f38097f35af7f",
                                                            "typeString": "literal_string \"log(string,address,bool,uint)\""
                                                        },
                                                        {
                                                            "typeIdentifier": "t_string_memory_ptr",
                                                            "typeString": "string memory"
                                                        },
                                                        {
                                                            "typeIdentifier": "t_address",
                                                            "typeString": "address"
                                                        },
                                                        {
                                                            "typeIdentifier": "t_bool",
                                                            "typeString": "bool"
                                                        },
                                                        {
                                                            "typeIdentifier": "t_uint256",
                                                            "typeString": "uint256"
                                                        }
                                                    ],
                                                    "expression": {
                                                        "id": 17803,
                                                        "name": "abi",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 4294967295,
                                                        "src": "38444:3:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_magic_abi",
                                                            "typeString": "abi"
                                                        }
                                                    },
                                                    "id": 17804,
                                                    "isConstant": false,
                                                    "isLValue": false,
                                                    "isPure": true,
                                                    "lValueRequested": false,
                                                    "memberName": "encodeWithSignature",
                                                    "nodeType": "MemberAccess",
                                                    "src": "38444:23:62",
                                                    "typeDescriptions": {
                                                        "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$",
                                                        "typeString": "function (string memory) pure returns (bytes memory)"
                                                    }
                                                },
                                                "id": 17810,
                                                "isConstant": false,
                                                "isLValue": false,
                                                "isPure": false,
                                                "kind": "functionCall",
                                                "lValueRequested": false,
                                                "names": [],
                                                "nodeType": "FunctionCall",
                                                "src": "38444:72:62",
                                                "tryCall": false,
                                                "typeDescriptions": {
                                                    "typeIdentifier": "t_bytes_memory_ptr",
                                                    "typeString": "bytes memory"
                                                }
                                            }
                                        ],
                                        "expression": {
                                            "argumentTypes": [
                                                {
                                                    "typeIdentifier": "t_bytes_memory_ptr",
                                                    "typeString": "bytes memory"
                                                }
                                            ],
                                            "id": 17802,
                                            "name": "_sendLogPayload",
                                            "nodeType": "Identifier",
                                            "overloadedDeclarations": [],
                                            "referencedDeclaration": 12880,
                                            "src": "38428:15:62",
                                            "typeDescriptions": {
                                                "typeIdentifier": "t_function_internal_view$_t_bytes_memory_ptr_$returns$__$",
                                                "typeString": "function (bytes memory) view"
                                            }
                                        },
                                        "id": 17811,
                                        "isConstant": false,
                                        "isLValue": false,
                                        "isPure": false,
                                        "kind": "functionCall",
                                        "lValueRequested": false,
                                        "names": [],
                                        "nodeType": "FunctionCall",
                                        "src": "38428:89:62",
                                        "tryCall": false,
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_tuple$__$",
                                            "typeString": "tuple()"
                                        }
                                    },
                                    "id": 17812,
                                    "nodeType": "ExpressionStatement",
                                    "src": "38428:89:62"
                                }
                            ]
                        },
                        "id": 17814,
                        "implemented": true,
                        "kind": "function",
                        "modifiers": [],
                        "name": "log",
                        "nameLocation": "38358:3:62",
                        "nodeType": "FunctionDefinition",
                        "parameters": {
                            "id": 17800,
                            "nodeType": "ParameterList",
                            "parameters": [
                                {
                                    "constant": false,
                                    "id": 17793,
                                    "mutability": "mutable",
                                    "name": "p0",
                                    "nameLocation": "38376:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 17814,
                                    "src": "38362:16:62",
                                    "stateVariable": false,
                                    "storageLocation": "memory",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_string_memory_ptr",
                                        "typeString": "string"
                                    },
                                    "typeName": {
                                        "id": 17792,
                                        "name": "string",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "38362:6:62",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_string_storage_ptr",
                                            "typeString": "string"
                                        }
                                    },
                                    "visibility": "internal"
                                },
                                {
                                    "constant": false,
                                    "id": 17795,
                                    "mutability": "mutable",
                                    "name": "p1",
                                    "nameLocation": "38388:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 17814,
                                    "src": "38380:10:62",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_address",
                                        "typeString": "address"
                                    },
                                    "typeName": {
                                        "id": 17794,
                                        "name": "address",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "38380:7:62",
                                        "stateMutability": "nonpayable",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_address",
                                            "typeString": "address"
                                        }
                                    },
                                    "visibility": "internal"
                                },
                                {
                                    "constant": false,
                                    "id": 17797,
                                    "mutability": "mutable",
                                    "name": "p2",
                                    "nameLocation": "38397:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 17814,
                                    "src": "38392:7:62",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_bool",
                                        "typeString": "bool"
                                    },
                                    "typeName": {
                                        "id": 17796,
                                        "name": "bool",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "38392:4:62",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_bool",
                                            "typeString": "bool"
                                        }
                                    },
                                    "visibility": "internal"
                                },
                                {
                                    "constant": false,
                                    "id": 17799,
                                    "mutability": "mutable",
                                    "name": "p3",
                                    "nameLocation": "38406:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 17814,
                                    "src": "38401:7:62",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_uint256",
                                        "typeString": "uint256"
                                    },
                                    "typeName": {
                                        "id": 17798,
                                        "name": "uint",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "38401:4:62",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_uint256",
                                            "typeString": "uint256"
                                        }
                                    },
                                    "visibility": "internal"
                                }
                            ],
                            "src": "38361:48:62"
                        },
                        "returnParameters": {
                            "id": 17801,
                            "nodeType": "ParameterList",
                            "parameters": [],
                            "src": "38424:0:62"
                        },
                        "scope": 20920,
                        "src": "38349:172:62",
                        "stateMutability": "view",
                        "virtual": false,
                        "visibility": "internal"
                    },
                    {
                        "body": {
                            "id": 17836,
                            "nodeType": "Block",
                            "src": "38608:99:62",
                            "statements": [
                                {
                                    "expression": {
                                        "arguments": [
                                            {
                                                "arguments": [
                                                    {
                                                        "hexValue": "6c6f6728737472696e672c616464726573732c626f6f6c2c737472696e6729",
                                                        "id": 17828,
                                                        "isConstant": false,
                                                        "isLValue": false,
                                                        "isPure": true,
                                                        "kind": "string",
                                                        "lValueRequested": false,
                                                        "nodeType": "Literal",
                                                        "src": "38652:33:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_stringliteral_0454c0793d4a41e5f630eb9a887926f8a67ff9e817a5feb968698354ac9d22fb",
                                                            "typeString": "literal_string \"log(string,address,bool,string)\""
                                                        },
                                                        "value": "log(string,address,bool,string)"
                                                    },
                                                    {
                                                        "id": 17829,
                                                        "name": "p0",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 17816,
                                                        "src": "38687:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_string_memory_ptr",
                                                            "typeString": "string memory"
                                                        }
                                                    },
                                                    {
                                                        "id": 17830,
                                                        "name": "p1",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 17818,
                                                        "src": "38691:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_address",
                                                            "typeString": "address"
                                                        }
                                                    },
                                                    {
                                                        "id": 17831,
                                                        "name": "p2",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 17820,
                                                        "src": "38695:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_bool",
                                                            "typeString": "bool"
                                                        }
                                                    },
                                                    {
                                                        "id": 17832,
                                                        "name": "p3",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 17822,
                                                        "src": "38699:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_string_memory_ptr",
                                                            "typeString": "string memory"
                                                        }
                                                    }
                                                ],
                                                "expression": {
                                                    "argumentTypes": [
                                                        {
                                                            "typeIdentifier": "t_stringliteral_0454c0793d4a41e5f630eb9a887926f8a67ff9e817a5feb968698354ac9d22fb",
                                                            "typeString": "literal_string \"log(string,address,bool,string)\""
                                                        },
                                                        {
                                                            "typeIdentifier": "t_string_memory_ptr",
                                                            "typeString": "string memory"
                                                        },
                                                        {
                                                            "typeIdentifier": "t_address",
                                                            "typeString": "address"
                                                        },
                                                        {
                                                            "typeIdentifier": "t_bool",
                                                            "typeString": "bool"
                                                        },
                                                        {
                                                            "typeIdentifier": "t_string_memory_ptr",
                                                            "typeString": "string memory"
                                                        }
                                                    ],
                                                    "expression": {
                                                        "id": 17826,
                                                        "name": "abi",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 4294967295,
                                                        "src": "38628:3:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_magic_abi",
                                                            "typeString": "abi"
                                                        }
                                                    },
                                                    "id": 17827,
                                                    "isConstant": false,
                                                    "isLValue": false,
                                                    "isPure": true,
                                                    "lValueRequested": false,
                                                    "memberName": "encodeWithSignature",
                                                    "nodeType": "MemberAccess",
                                                    "src": "38628:23:62",
                                                    "typeDescriptions": {
                                                        "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$",
                                                        "typeString": "function (string memory) pure returns (bytes memory)"
                                                    }
                                                },
                                                "id": 17833,
                                                "isConstant": false,
                                                "isLValue": false,
                                                "isPure": false,
                                                "kind": "functionCall",
                                                "lValueRequested": false,
                                                "names": [],
                                                "nodeType": "FunctionCall",
                                                "src": "38628:74:62",
                                                "tryCall": false,
                                                "typeDescriptions": {
                                                    "typeIdentifier": "t_bytes_memory_ptr",
                                                    "typeString": "bytes memory"
                                                }
                                            }
                                        ],
                                        "expression": {
                                            "argumentTypes": [
                                                {
                                                    "typeIdentifier": "t_bytes_memory_ptr",
                                                    "typeString": "bytes memory"
                                                }
                                            ],
                                            "id": 17825,
                                            "name": "_sendLogPayload",
                                            "nodeType": "Identifier",
                                            "overloadedDeclarations": [],
                                            "referencedDeclaration": 12880,
                                            "src": "38612:15:62",
                                            "typeDescriptions": {
                                                "typeIdentifier": "t_function_internal_view$_t_bytes_memory_ptr_$returns$__$",
                                                "typeString": "function (bytes memory) view"
                                            }
                                        },
                                        "id": 17834,
                                        "isConstant": false,
                                        "isLValue": false,
                                        "isPure": false,
                                        "kind": "functionCall",
                                        "lValueRequested": false,
                                        "names": [],
                                        "nodeType": "FunctionCall",
                                        "src": "38612:91:62",
                                        "tryCall": false,
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_tuple$__$",
                                            "typeString": "tuple()"
                                        }
                                    },
                                    "id": 17835,
                                    "nodeType": "ExpressionStatement",
                                    "src": "38612:91:62"
                                }
                            ]
                        },
                        "id": 17837,
                        "implemented": true,
                        "kind": "function",
                        "modifiers": [],
                        "name": "log",
                        "nameLocation": "38533:3:62",
                        "nodeType": "FunctionDefinition",
                        "parameters": {
                            "id": 17823,
                            "nodeType": "ParameterList",
                            "parameters": [
                                {
                                    "constant": false,
                                    "id": 17816,
                                    "mutability": "mutable",
                                    "name": "p0",
                                    "nameLocation": "38551:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 17837,
                                    "src": "38537:16:62",
                                    "stateVariable": false,
                                    "storageLocation": "memory",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_string_memory_ptr",
                                        "typeString": "string"
                                    },
                                    "typeName": {
                                        "id": 17815,
                                        "name": "string",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "38537:6:62",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_string_storage_ptr",
                                            "typeString": "string"
                                        }
                                    },
                                    "visibility": "internal"
                                },
                                {
                                    "constant": false,
                                    "id": 17818,
                                    "mutability": "mutable",
                                    "name": "p1",
                                    "nameLocation": "38563:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 17837,
                                    "src": "38555:10:62",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_address",
                                        "typeString": "address"
                                    },
                                    "typeName": {
                                        "id": 17817,
                                        "name": "address",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "38555:7:62",
                                        "stateMutability": "nonpayable",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_address",
                                            "typeString": "address"
                                        }
                                    },
                                    "visibility": "internal"
                                },
                                {
                                    "constant": false,
                                    "id": 17820,
                                    "mutability": "mutable",
                                    "name": "p2",
                                    "nameLocation": "38572:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 17837,
                                    "src": "38567:7:62",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_bool",
                                        "typeString": "bool"
                                    },
                                    "typeName": {
                                        "id": 17819,
                                        "name": "bool",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "38567:4:62",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_bool",
                                            "typeString": "bool"
                                        }
                                    },
                                    "visibility": "internal"
                                },
                                {
                                    "constant": false,
                                    "id": 17822,
                                    "mutability": "mutable",
                                    "name": "p3",
                                    "nameLocation": "38590:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 17837,
                                    "src": "38576:16:62",
                                    "stateVariable": false,
                                    "storageLocation": "memory",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_string_memory_ptr",
                                        "typeString": "string"
                                    },
                                    "typeName": {
                                        "id": 17821,
                                        "name": "string",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "38576:6:62",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_string_storage_ptr",
                                            "typeString": "string"
                                        }
                                    },
                                    "visibility": "internal"
                                }
                            ],
                            "src": "38536:57:62"
                        },
                        "returnParameters": {
                            "id": 17824,
                            "nodeType": "ParameterList",
                            "parameters": [],
                            "src": "38608:0:62"
                        },
                        "scope": 20920,
                        "src": "38524:183:62",
                        "stateMutability": "view",
                        "virtual": false,
                        "visibility": "internal"
                    },
                    {
                        "body": {
                            "id": 17859,
                            "nodeType": "Block",
                            "src": "38785:97:62",
                            "statements": [
                                {
                                    "expression": {
                                        "arguments": [
                                            {
                                                "arguments": [
                                                    {
                                                        "hexValue": "6c6f6728737472696e672c616464726573732c626f6f6c2c626f6f6c29",
                                                        "id": 17851,
                                                        "isConstant": false,
                                                        "isLValue": false,
                                                        "isPure": true,
                                                        "kind": "string",
                                                        "lValueRequested": false,
                                                        "nodeType": "Literal",
                                                        "src": "38829:31:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_stringliteral_79884c2bc85eb73c854df1610df373a05f191b834f79cd47a7ab28be2308c039",
                                                            "typeString": "literal_string \"log(string,address,bool,bool)\""
                                                        },
                                                        "value": "log(string,address,bool,bool)"
                                                    },
                                                    {
                                                        "id": 17852,
                                                        "name": "p0",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 17839,
                                                        "src": "38862:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_string_memory_ptr",
                                                            "typeString": "string memory"
                                                        }
                                                    },
                                                    {
                                                        "id": 17853,
                                                        "name": "p1",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 17841,
                                                        "src": "38866:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_address",
                                                            "typeString": "address"
                                                        }
                                                    },
                                                    {
                                                        "id": 17854,
                                                        "name": "p2",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 17843,
                                                        "src": "38870:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_bool",
                                                            "typeString": "bool"
                                                        }
                                                    },
                                                    {
                                                        "id": 17855,
                                                        "name": "p3",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 17845,
                                                        "src": "38874:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_bool",
                                                            "typeString": "bool"
                                                        }
                                                    }
                                                ],
                                                "expression": {
                                                    "argumentTypes": [
                                                        {
                                                            "typeIdentifier": "t_stringliteral_79884c2bc85eb73c854df1610df373a05f191b834f79cd47a7ab28be2308c039",
                                                            "typeString": "literal_string \"log(string,address,bool,bool)\""
                                                        },
                                                        {
                                                            "typeIdentifier": "t_string_memory_ptr",
                                                            "typeString": "string memory"
                                                        },
                                                        {
                                                            "typeIdentifier": "t_address",
                                                            "typeString": "address"
                                                        },
                                                        {
                                                            "typeIdentifier": "t_bool",
                                                            "typeString": "bool"
                                                        },
                                                        {
                                                            "typeIdentifier": "t_bool",
                                                            "typeString": "bool"
                                                        }
                                                    ],
                                                    "expression": {
                                                        "id": 17849,
                                                        "name": "abi",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 4294967295,
                                                        "src": "38805:3:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_magic_abi",
                                                            "typeString": "abi"
                                                        }
                                                    },
                                                    "id": 17850,
                                                    "isConstant": false,
                                                    "isLValue": false,
                                                    "isPure": true,
                                                    "lValueRequested": false,
                                                    "memberName": "encodeWithSignature",
                                                    "nodeType": "MemberAccess",
                                                    "src": "38805:23:62",
                                                    "typeDescriptions": {
                                                        "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$",
                                                        "typeString": "function (string memory) pure returns (bytes memory)"
                                                    }
                                                },
                                                "id": 17856,
                                                "isConstant": false,
                                                "isLValue": false,
                                                "isPure": false,
                                                "kind": "functionCall",
                                                "lValueRequested": false,
                                                "names": [],
                                                "nodeType": "FunctionCall",
                                                "src": "38805:72:62",
                                                "tryCall": false,
                                                "typeDescriptions": {
                                                    "typeIdentifier": "t_bytes_memory_ptr",
                                                    "typeString": "bytes memory"
                                                }
                                            }
                                        ],
                                        "expression": {
                                            "argumentTypes": [
                                                {
                                                    "typeIdentifier": "t_bytes_memory_ptr",
                                                    "typeString": "bytes memory"
                                                }
                                            ],
                                            "id": 17848,
                                            "name": "_sendLogPayload",
                                            "nodeType": "Identifier",
                                            "overloadedDeclarations": [],
                                            "referencedDeclaration": 12880,
                                            "src": "38789:15:62",
                                            "typeDescriptions": {
                                                "typeIdentifier": "t_function_internal_view$_t_bytes_memory_ptr_$returns$__$",
                                                "typeString": "function (bytes memory) view"
                                            }
                                        },
                                        "id": 17857,
                                        "isConstant": false,
                                        "isLValue": false,
                                        "isPure": false,
                                        "kind": "functionCall",
                                        "lValueRequested": false,
                                        "names": [],
                                        "nodeType": "FunctionCall",
                                        "src": "38789:89:62",
                                        "tryCall": false,
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_tuple$__$",
                                            "typeString": "tuple()"
                                        }
                                    },
                                    "id": 17858,
                                    "nodeType": "ExpressionStatement",
                                    "src": "38789:89:62"
                                }
                            ]
                        },
                        "id": 17860,
                        "implemented": true,
                        "kind": "function",
                        "modifiers": [],
                        "name": "log",
                        "nameLocation": "38719:3:62",
                        "nodeType": "FunctionDefinition",
                        "parameters": {
                            "id": 17846,
                            "nodeType": "ParameterList",
                            "parameters": [
                                {
                                    "constant": false,
                                    "id": 17839,
                                    "mutability": "mutable",
                                    "name": "p0",
                                    "nameLocation": "38737:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 17860,
                                    "src": "38723:16:62",
                                    "stateVariable": false,
                                    "storageLocation": "memory",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_string_memory_ptr",
                                        "typeString": "string"
                                    },
                                    "typeName": {
                                        "id": 17838,
                                        "name": "string",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "38723:6:62",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_string_storage_ptr",
                                            "typeString": "string"
                                        }
                                    },
                                    "visibility": "internal"
                                },
                                {
                                    "constant": false,
                                    "id": 17841,
                                    "mutability": "mutable",
                                    "name": "p1",
                                    "nameLocation": "38749:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 17860,
                                    "src": "38741:10:62",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_address",
                                        "typeString": "address"
                                    },
                                    "typeName": {
                                        "id": 17840,
                                        "name": "address",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "38741:7:62",
                                        "stateMutability": "nonpayable",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_address",
                                            "typeString": "address"
                                        }
                                    },
                                    "visibility": "internal"
                                },
                                {
                                    "constant": false,
                                    "id": 17843,
                                    "mutability": "mutable",
                                    "name": "p2",
                                    "nameLocation": "38758:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 17860,
                                    "src": "38753:7:62",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_bool",
                                        "typeString": "bool"
                                    },
                                    "typeName": {
                                        "id": 17842,
                                        "name": "bool",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "38753:4:62",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_bool",
                                            "typeString": "bool"
                                        }
                                    },
                                    "visibility": "internal"
                                },
                                {
                                    "constant": false,
                                    "id": 17845,
                                    "mutability": "mutable",
                                    "name": "p3",
                                    "nameLocation": "38767:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 17860,
                                    "src": "38762:7:62",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_bool",
                                        "typeString": "bool"
                                    },
                                    "typeName": {
                                        "id": 17844,
                                        "name": "bool",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "38762:4:62",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_bool",
                                            "typeString": "bool"
                                        }
                                    },
                                    "visibility": "internal"
                                }
                            ],
                            "src": "38722:48:62"
                        },
                        "returnParameters": {
                            "id": 17847,
                            "nodeType": "ParameterList",
                            "parameters": [],
                            "src": "38785:0:62"
                        },
                        "scope": 20920,
                        "src": "38710:172:62",
                        "stateMutability": "view",
                        "virtual": false,
                        "visibility": "internal"
                    },
                    {
                        "body": {
                            "id": 17882,
                            "nodeType": "Block",
                            "src": "38963:100:62",
                            "statements": [
                                {
                                    "expression": {
                                        "arguments": [
                                            {
                                                "arguments": [
                                                    {
                                                        "hexValue": "6c6f6728737472696e672c616464726573732c626f6f6c2c6164647265737329",
                                                        "id": 17874,
                                                        "isConstant": false,
                                                        "isLValue": false,
                                                        "isPure": true,
                                                        "kind": "string",
                                                        "lValueRequested": false,
                                                        "nodeType": "Literal",
                                                        "src": "39007:34:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_stringliteral_223603bd064d72559a7d519ad0f1c6a8da707a49f5718dfa23a5ccb01bf9ab76",
                                                            "typeString": "literal_string \"log(string,address,bool,address)\""
                                                        },
                                                        "value": "log(string,address,bool,address)"
                                                    },
                                                    {
                                                        "id": 17875,
                                                        "name": "p0",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 17862,
                                                        "src": "39043:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_string_memory_ptr",
                                                            "typeString": "string memory"
                                                        }
                                                    },
                                                    {
                                                        "id": 17876,
                                                        "name": "p1",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 17864,
                                                        "src": "39047:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_address",
                                                            "typeString": "address"
                                                        }
                                                    },
                                                    {
                                                        "id": 17877,
                                                        "name": "p2",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 17866,
                                                        "src": "39051:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_bool",
                                                            "typeString": "bool"
                                                        }
                                                    },
                                                    {
                                                        "id": 17878,
                                                        "name": "p3",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 17868,
                                                        "src": "39055:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_address",
                                                            "typeString": "address"
                                                        }
                                                    }
                                                ],
                                                "expression": {
                                                    "argumentTypes": [
                                                        {
                                                            "typeIdentifier": "t_stringliteral_223603bd064d72559a7d519ad0f1c6a8da707a49f5718dfa23a5ccb01bf9ab76",
                                                            "typeString": "literal_string \"log(string,address,bool,address)\""
                                                        },
                                                        {
                                                            "typeIdentifier": "t_string_memory_ptr",
                                                            "typeString": "string memory"
                                                        },
                                                        {
                                                            "typeIdentifier": "t_address",
                                                            "typeString": "address"
                                                        },
                                                        {
                                                            "typeIdentifier": "t_bool",
                                                            "typeString": "bool"
                                                        },
                                                        {
                                                            "typeIdentifier": "t_address",
                                                            "typeString": "address"
                                                        }
                                                    ],
                                                    "expression": {
                                                        "id": 17872,
                                                        "name": "abi",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 4294967295,
                                                        "src": "38983:3:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_magic_abi",
                                                            "typeString": "abi"
                                                        }
                                                    },
                                                    "id": 17873,
                                                    "isConstant": false,
                                                    "isLValue": false,
                                                    "isPure": true,
                                                    "lValueRequested": false,
                                                    "memberName": "encodeWithSignature",
                                                    "nodeType": "MemberAccess",
                                                    "src": "38983:23:62",
                                                    "typeDescriptions": {
                                                        "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$",
                                                        "typeString": "function (string memory) pure returns (bytes memory)"
                                                    }
                                                },
                                                "id": 17879,
                                                "isConstant": false,
                                                "isLValue": false,
                                                "isPure": false,
                                                "kind": "functionCall",
                                                "lValueRequested": false,
                                                "names": [],
                                                "nodeType": "FunctionCall",
                                                "src": "38983:75:62",
                                                "tryCall": false,
                                                "typeDescriptions": {
                                                    "typeIdentifier": "t_bytes_memory_ptr",
                                                    "typeString": "bytes memory"
                                                }
                                            }
                                        ],
                                        "expression": {
                                            "argumentTypes": [
                                                {
                                                    "typeIdentifier": "t_bytes_memory_ptr",
                                                    "typeString": "bytes memory"
                                                }
                                            ],
                                            "id": 17871,
                                            "name": "_sendLogPayload",
                                            "nodeType": "Identifier",
                                            "overloadedDeclarations": [],
                                            "referencedDeclaration": 12880,
                                            "src": "38967:15:62",
                                            "typeDescriptions": {
                                                "typeIdentifier": "t_function_internal_view$_t_bytes_memory_ptr_$returns$__$",
                                                "typeString": "function (bytes memory) view"
                                            }
                                        },
                                        "id": 17880,
                                        "isConstant": false,
                                        "isLValue": false,
                                        "isPure": false,
                                        "kind": "functionCall",
                                        "lValueRequested": false,
                                        "names": [],
                                        "nodeType": "FunctionCall",
                                        "src": "38967:92:62",
                                        "tryCall": false,
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_tuple$__$",
                                            "typeString": "tuple()"
                                        }
                                    },
                                    "id": 17881,
                                    "nodeType": "ExpressionStatement",
                                    "src": "38967:92:62"
                                }
                            ]
                        },
                        "id": 17883,
                        "implemented": true,
                        "kind": "function",
                        "modifiers": [],
                        "name": "log",
                        "nameLocation": "38894:3:62",
                        "nodeType": "FunctionDefinition",
                        "parameters": {
                            "id": 17869,
                            "nodeType": "ParameterList",
                            "parameters": [
                                {
                                    "constant": false,
                                    "id": 17862,
                                    "mutability": "mutable",
                                    "name": "p0",
                                    "nameLocation": "38912:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 17883,
                                    "src": "38898:16:62",
                                    "stateVariable": false,
                                    "storageLocation": "memory",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_string_memory_ptr",
                                        "typeString": "string"
                                    },
                                    "typeName": {
                                        "id": 17861,
                                        "name": "string",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "38898:6:62",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_string_storage_ptr",
                                            "typeString": "string"
                                        }
                                    },
                                    "visibility": "internal"
                                },
                                {
                                    "constant": false,
                                    "id": 17864,
                                    "mutability": "mutable",
                                    "name": "p1",
                                    "nameLocation": "38924:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 17883,
                                    "src": "38916:10:62",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_address",
                                        "typeString": "address"
                                    },
                                    "typeName": {
                                        "id": 17863,
                                        "name": "address",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "38916:7:62",
                                        "stateMutability": "nonpayable",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_address",
                                            "typeString": "address"
                                        }
                                    },
                                    "visibility": "internal"
                                },
                                {
                                    "constant": false,
                                    "id": 17866,
                                    "mutability": "mutable",
                                    "name": "p2",
                                    "nameLocation": "38933:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 17883,
                                    "src": "38928:7:62",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_bool",
                                        "typeString": "bool"
                                    },
                                    "typeName": {
                                        "id": 17865,
                                        "name": "bool",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "38928:4:62",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_bool",
                                            "typeString": "bool"
                                        }
                                    },
                                    "visibility": "internal"
                                },
                                {
                                    "constant": false,
                                    "id": 17868,
                                    "mutability": "mutable",
                                    "name": "p3",
                                    "nameLocation": "38945:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 17883,
                                    "src": "38937:10:62",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_address",
                                        "typeString": "address"
                                    },
                                    "typeName": {
                                        "id": 17867,
                                        "name": "address",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "38937:7:62",
                                        "stateMutability": "nonpayable",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_address",
                                            "typeString": "address"
                                        }
                                    },
                                    "visibility": "internal"
                                }
                            ],
                            "src": "38897:51:62"
                        },
                        "returnParameters": {
                            "id": 17870,
                            "nodeType": "ParameterList",
                            "parameters": [],
                            "src": "38963:0:62"
                        },
                        "scope": 20920,
                        "src": "38885:178:62",
                        "stateMutability": "view",
                        "virtual": false,
                        "visibility": "internal"
                    },
                    {
                        "body": {
                            "id": 17905,
                            "nodeType": "Block",
                            "src": "39144:100:62",
                            "statements": [
                                {
                                    "expression": {
                                        "arguments": [
                                            {
                                                "arguments": [
                                                    {
                                                        "hexValue": "6c6f6728737472696e672c616464726573732c616464726573732c75696e7429",
                                                        "id": 17897,
                                                        "isConstant": false,
                                                        "isLValue": false,
                                                        "isPure": true,
                                                        "kind": "string",
                                                        "lValueRequested": false,
                                                        "nodeType": "Literal",
                                                        "src": "39188:34:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_stringliteral_6eb7943d4272e495e7f5cdeb25ef89b9c3c1042d5c1e0e6e11a8fdc842ff5e02",
                                                            "typeString": "literal_string \"log(string,address,address,uint)\""
                                                        },
                                                        "value": "log(string,address,address,uint)"
                                                    },
                                                    {
                                                        "id": 17898,
                                                        "name": "p0",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 17885,
                                                        "src": "39224:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_string_memory_ptr",
                                                            "typeString": "string memory"
                                                        }
                                                    },
                                                    {
                                                        "id": 17899,
                                                        "name": "p1",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 17887,
                                                        "src": "39228:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_address",
                                                            "typeString": "address"
                                                        }
                                                    },
                                                    {
                                                        "id": 17900,
                                                        "name": "p2",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 17889,
                                                        "src": "39232:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_address",
                                                            "typeString": "address"
                                                        }
                                                    },
                                                    {
                                                        "id": 17901,
                                                        "name": "p3",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 17891,
                                                        "src": "39236:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_uint256",
                                                            "typeString": "uint256"
                                                        }
                                                    }
                                                ],
                                                "expression": {
                                                    "argumentTypes": [
                                                        {
                                                            "typeIdentifier": "t_stringliteral_6eb7943d4272e495e7f5cdeb25ef89b9c3c1042d5c1e0e6e11a8fdc842ff5e02",
                                                            "typeString": "literal_string \"log(string,address,address,uint)\""
                                                        },
                                                        {
                                                            "typeIdentifier": "t_string_memory_ptr",
                                                            "typeString": "string memory"
                                                        },
                                                        {
                                                            "typeIdentifier": "t_address",
                                                            "typeString": "address"
                                                        },
                                                        {
                                                            "typeIdentifier": "t_address",
                                                            "typeString": "address"
                                                        },
                                                        {
                                                            "typeIdentifier": "t_uint256",
                                                            "typeString": "uint256"
                                                        }
                                                    ],
                                                    "expression": {
                                                        "id": 17895,
                                                        "name": "abi",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 4294967295,
                                                        "src": "39164:3:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_magic_abi",
                                                            "typeString": "abi"
                                                        }
                                                    },
                                                    "id": 17896,
                                                    "isConstant": false,
                                                    "isLValue": false,
                                                    "isPure": true,
                                                    "lValueRequested": false,
                                                    "memberName": "encodeWithSignature",
                                                    "nodeType": "MemberAccess",
                                                    "src": "39164:23:62",
                                                    "typeDescriptions": {
                                                        "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$",
                                                        "typeString": "function (string memory) pure returns (bytes memory)"
                                                    }
                                                },
                                                "id": 17902,
                                                "isConstant": false,
                                                "isLValue": false,
                                                "isPure": false,
                                                "kind": "functionCall",
                                                "lValueRequested": false,
                                                "names": [],
                                                "nodeType": "FunctionCall",
                                                "src": "39164:75:62",
                                                "tryCall": false,
                                                "typeDescriptions": {
                                                    "typeIdentifier": "t_bytes_memory_ptr",
                                                    "typeString": "bytes memory"
                                                }
                                            }
                                        ],
                                        "expression": {
                                            "argumentTypes": [
                                                {
                                                    "typeIdentifier": "t_bytes_memory_ptr",
                                                    "typeString": "bytes memory"
                                                }
                                            ],
                                            "id": 17894,
                                            "name": "_sendLogPayload",
                                            "nodeType": "Identifier",
                                            "overloadedDeclarations": [],
                                            "referencedDeclaration": 12880,
                                            "src": "39148:15:62",
                                            "typeDescriptions": {
                                                "typeIdentifier": "t_function_internal_view$_t_bytes_memory_ptr_$returns$__$",
                                                "typeString": "function (bytes memory) view"
                                            }
                                        },
                                        "id": 17903,
                                        "isConstant": false,
                                        "isLValue": false,
                                        "isPure": false,
                                        "kind": "functionCall",
                                        "lValueRequested": false,
                                        "names": [],
                                        "nodeType": "FunctionCall",
                                        "src": "39148:92:62",
                                        "tryCall": false,
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_tuple$__$",
                                            "typeString": "tuple()"
                                        }
                                    },
                                    "id": 17904,
                                    "nodeType": "ExpressionStatement",
                                    "src": "39148:92:62"
                                }
                            ]
                        },
                        "id": 17906,
                        "implemented": true,
                        "kind": "function",
                        "modifiers": [],
                        "name": "log",
                        "nameLocation": "39075:3:62",
                        "nodeType": "FunctionDefinition",
                        "parameters": {
                            "id": 17892,
                            "nodeType": "ParameterList",
                            "parameters": [
                                {
                                    "constant": false,
                                    "id": 17885,
                                    "mutability": "mutable",
                                    "name": "p0",
                                    "nameLocation": "39093:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 17906,
                                    "src": "39079:16:62",
                                    "stateVariable": false,
                                    "storageLocation": "memory",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_string_memory_ptr",
                                        "typeString": "string"
                                    },
                                    "typeName": {
                                        "id": 17884,
                                        "name": "string",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "39079:6:62",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_string_storage_ptr",
                                            "typeString": "string"
                                        }
                                    },
                                    "visibility": "internal"
                                },
                                {
                                    "constant": false,
                                    "id": 17887,
                                    "mutability": "mutable",
                                    "name": "p1",
                                    "nameLocation": "39105:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 17906,
                                    "src": "39097:10:62",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_address",
                                        "typeString": "address"
                                    },
                                    "typeName": {
                                        "id": 17886,
                                        "name": "address",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "39097:7:62",
                                        "stateMutability": "nonpayable",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_address",
                                            "typeString": "address"
                                        }
                                    },
                                    "visibility": "internal"
                                },
                                {
                                    "constant": false,
                                    "id": 17889,
                                    "mutability": "mutable",
                                    "name": "p2",
                                    "nameLocation": "39117:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 17906,
                                    "src": "39109:10:62",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_address",
                                        "typeString": "address"
                                    },
                                    "typeName": {
                                        "id": 17888,
                                        "name": "address",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "39109:7:62",
                                        "stateMutability": "nonpayable",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_address",
                                            "typeString": "address"
                                        }
                                    },
                                    "visibility": "internal"
                                },
                                {
                                    "constant": false,
                                    "id": 17891,
                                    "mutability": "mutable",
                                    "name": "p3",
                                    "nameLocation": "39126:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 17906,
                                    "src": "39121:7:62",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_uint256",
                                        "typeString": "uint256"
                                    },
                                    "typeName": {
                                        "id": 17890,
                                        "name": "uint",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "39121:4:62",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_uint256",
                                            "typeString": "uint256"
                                        }
                                    },
                                    "visibility": "internal"
                                }
                            ],
                            "src": "39078:51:62"
                        },
                        "returnParameters": {
                            "id": 17893,
                            "nodeType": "ParameterList",
                            "parameters": [],
                            "src": "39144:0:62"
                        },
                        "scope": 20920,
                        "src": "39066:178:62",
                        "stateMutability": "view",
                        "virtual": false,
                        "visibility": "internal"
                    },
                    {
                        "body": {
                            "id": 17928,
                            "nodeType": "Block",
                            "src": "39334:102:62",
                            "statements": [
                                {
                                    "expression": {
                                        "arguments": [
                                            {
                                                "arguments": [
                                                    {
                                                        "hexValue": "6c6f6728737472696e672c616464726573732c616464726573732c737472696e6729",
                                                        "id": 17920,
                                                        "isConstant": false,
                                                        "isLValue": false,
                                                        "isPure": true,
                                                        "kind": "string",
                                                        "lValueRequested": false,
                                                        "nodeType": "Literal",
                                                        "src": "39378:36:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_stringliteral_800a1c6756a402b6162ca8653fd8e87e2c52d1c019c876e92eb2980479636a76",
                                                            "typeString": "literal_string \"log(string,address,address,string)\""
                                                        },
                                                        "value": "log(string,address,address,string)"
                                                    },
                                                    {
                                                        "id": 17921,
                                                        "name": "p0",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 17908,
                                                        "src": "39416:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_string_memory_ptr",
                                                            "typeString": "string memory"
                                                        }
                                                    },
                                                    {
                                                        "id": 17922,
                                                        "name": "p1",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 17910,
                                                        "src": "39420:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_address",
                                                            "typeString": "address"
                                                        }
                                                    },
                                                    {
                                                        "id": 17923,
                                                        "name": "p2",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 17912,
                                                        "src": "39424:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_address",
                                                            "typeString": "address"
                                                        }
                                                    },
                                                    {
                                                        "id": 17924,
                                                        "name": "p3",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 17914,
                                                        "src": "39428:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_string_memory_ptr",
                                                            "typeString": "string memory"
                                                        }
                                                    }
                                                ],
                                                "expression": {
                                                    "argumentTypes": [
                                                        {
                                                            "typeIdentifier": "t_stringliteral_800a1c6756a402b6162ca8653fd8e87e2c52d1c019c876e92eb2980479636a76",
                                                            "typeString": "literal_string \"log(string,address,address,string)\""
                                                        },
                                                        {
                                                            "typeIdentifier": "t_string_memory_ptr",
                                                            "typeString": "string memory"
                                                        },
                                                        {
                                                            "typeIdentifier": "t_address",
                                                            "typeString": "address"
                                                        },
                                                        {
                                                            "typeIdentifier": "t_address",
                                                            "typeString": "address"
                                                        },
                                                        {
                                                            "typeIdentifier": "t_string_memory_ptr",
                                                            "typeString": "string memory"
                                                        }
                                                    ],
                                                    "expression": {
                                                        "id": 17918,
                                                        "name": "abi",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 4294967295,
                                                        "src": "39354:3:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_magic_abi",
                                                            "typeString": "abi"
                                                        }
                                                    },
                                                    "id": 17919,
                                                    "isConstant": false,
                                                    "isLValue": false,
                                                    "isPure": true,
                                                    "lValueRequested": false,
                                                    "memberName": "encodeWithSignature",
                                                    "nodeType": "MemberAccess",
                                                    "src": "39354:23:62",
                                                    "typeDescriptions": {
                                                        "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$",
                                                        "typeString": "function (string memory) pure returns (bytes memory)"
                                                    }
                                                },
                                                "id": 17925,
                                                "isConstant": false,
                                                "isLValue": false,
                                                "isPure": false,
                                                "kind": "functionCall",
                                                "lValueRequested": false,
                                                "names": [],
                                                "nodeType": "FunctionCall",
                                                "src": "39354:77:62",
                                                "tryCall": false,
                                                "typeDescriptions": {
                                                    "typeIdentifier": "t_bytes_memory_ptr",
                                                    "typeString": "bytes memory"
                                                }
                                            }
                                        ],
                                        "expression": {
                                            "argumentTypes": [
                                                {
                                                    "typeIdentifier": "t_bytes_memory_ptr",
                                                    "typeString": "bytes memory"
                                                }
                                            ],
                                            "id": 17917,
                                            "name": "_sendLogPayload",
                                            "nodeType": "Identifier",
                                            "overloadedDeclarations": [],
                                            "referencedDeclaration": 12880,
                                            "src": "39338:15:62",
                                            "typeDescriptions": {
                                                "typeIdentifier": "t_function_internal_view$_t_bytes_memory_ptr_$returns$__$",
                                                "typeString": "function (bytes memory) view"
                                            }
                                        },
                                        "id": 17926,
                                        "isConstant": false,
                                        "isLValue": false,
                                        "isPure": false,
                                        "kind": "functionCall",
                                        "lValueRequested": false,
                                        "names": [],
                                        "nodeType": "FunctionCall",
                                        "src": "39338:94:62",
                                        "tryCall": false,
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_tuple$__$",
                                            "typeString": "tuple()"
                                        }
                                    },
                                    "id": 17927,
                                    "nodeType": "ExpressionStatement",
                                    "src": "39338:94:62"
                                }
                            ]
                        },
                        "id": 17929,
                        "implemented": true,
                        "kind": "function",
                        "modifiers": [],
                        "name": "log",
                        "nameLocation": "39256:3:62",
                        "nodeType": "FunctionDefinition",
                        "parameters": {
                            "id": 17915,
                            "nodeType": "ParameterList",
                            "parameters": [
                                {
                                    "constant": false,
                                    "id": 17908,
                                    "mutability": "mutable",
                                    "name": "p0",
                                    "nameLocation": "39274:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 17929,
                                    "src": "39260:16:62",
                                    "stateVariable": false,
                                    "storageLocation": "memory",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_string_memory_ptr",
                                        "typeString": "string"
                                    },
                                    "typeName": {
                                        "id": 17907,
                                        "name": "string",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "39260:6:62",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_string_storage_ptr",
                                            "typeString": "string"
                                        }
                                    },
                                    "visibility": "internal"
                                },
                                {
                                    "constant": false,
                                    "id": 17910,
                                    "mutability": "mutable",
                                    "name": "p1",
                                    "nameLocation": "39286:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 17929,
                                    "src": "39278:10:62",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_address",
                                        "typeString": "address"
                                    },
                                    "typeName": {
                                        "id": 17909,
                                        "name": "address",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "39278:7:62",
                                        "stateMutability": "nonpayable",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_address",
                                            "typeString": "address"
                                        }
                                    },
                                    "visibility": "internal"
                                },
                                {
                                    "constant": false,
                                    "id": 17912,
                                    "mutability": "mutable",
                                    "name": "p2",
                                    "nameLocation": "39298:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 17929,
                                    "src": "39290:10:62",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_address",
                                        "typeString": "address"
                                    },
                                    "typeName": {
                                        "id": 17911,
                                        "name": "address",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "39290:7:62",
                                        "stateMutability": "nonpayable",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_address",
                                            "typeString": "address"
                                        }
                                    },
                                    "visibility": "internal"
                                },
                                {
                                    "constant": false,
                                    "id": 17914,
                                    "mutability": "mutable",
                                    "name": "p3",
                                    "nameLocation": "39316:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 17929,
                                    "src": "39302:16:62",
                                    "stateVariable": false,
                                    "storageLocation": "memory",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_string_memory_ptr",
                                        "typeString": "string"
                                    },
                                    "typeName": {
                                        "id": 17913,
                                        "name": "string",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "39302:6:62",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_string_storage_ptr",
                                            "typeString": "string"
                                        }
                                    },
                                    "visibility": "internal"
                                }
                            ],
                            "src": "39259:60:62"
                        },
                        "returnParameters": {
                            "id": 17916,
                            "nodeType": "ParameterList",
                            "parameters": [],
                            "src": "39334:0:62"
                        },
                        "scope": 20920,
                        "src": "39247:189:62",
                        "stateMutability": "view",
                        "virtual": false,
                        "visibility": "internal"
                    },
                    {
                        "body": {
                            "id": 17951,
                            "nodeType": "Block",
                            "src": "39517:100:62",
                            "statements": [
                                {
                                    "expression": {
                                        "arguments": [
                                            {
                                                "arguments": [
                                                    {
                                                        "hexValue": "6c6f6728737472696e672c616464726573732c616464726573732c626f6f6c29",
                                                        "id": 17943,
                                                        "isConstant": false,
                                                        "isLValue": false,
                                                        "isPure": true,
                                                        "kind": "string",
                                                        "lValueRequested": false,
                                                        "nodeType": "Literal",
                                                        "src": "39561:34:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_stringliteral_b59dbd60587b4eeae521d5427cbc88bff32729f88aff059e7deb0a3a4320aaf4",
                                                            "typeString": "literal_string \"log(string,address,address,bool)\""
                                                        },
                                                        "value": "log(string,address,address,bool)"
                                                    },
                                                    {
                                                        "id": 17944,
                                                        "name": "p0",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 17931,
                                                        "src": "39597:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_string_memory_ptr",
                                                            "typeString": "string memory"
                                                        }
                                                    },
                                                    {
                                                        "id": 17945,
                                                        "name": "p1",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 17933,
                                                        "src": "39601:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_address",
                                                            "typeString": "address"
                                                        }
                                                    },
                                                    {
                                                        "id": 17946,
                                                        "name": "p2",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 17935,
                                                        "src": "39605:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_address",
                                                            "typeString": "address"
                                                        }
                                                    },
                                                    {
                                                        "id": 17947,
                                                        "name": "p3",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 17937,
                                                        "src": "39609:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_bool",
                                                            "typeString": "bool"
                                                        }
                                                    }
                                                ],
                                                "expression": {
                                                    "argumentTypes": [
                                                        {
                                                            "typeIdentifier": "t_stringliteral_b59dbd60587b4eeae521d5427cbc88bff32729f88aff059e7deb0a3a4320aaf4",
                                                            "typeString": "literal_string \"log(string,address,address,bool)\""
                                                        },
                                                        {
                                                            "typeIdentifier": "t_string_memory_ptr",
                                                            "typeString": "string memory"
                                                        },
                                                        {
                                                            "typeIdentifier": "t_address",
                                                            "typeString": "address"
                                                        },
                                                        {
                                                            "typeIdentifier": "t_address",
                                                            "typeString": "address"
                                                        },
                                                        {
                                                            "typeIdentifier": "t_bool",
                                                            "typeString": "bool"
                                                        }
                                                    ],
                                                    "expression": {
                                                        "id": 17941,
                                                        "name": "abi",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 4294967295,
                                                        "src": "39537:3:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_magic_abi",
                                                            "typeString": "abi"
                                                        }
                                                    },
                                                    "id": 17942,
                                                    "isConstant": false,
                                                    "isLValue": false,
                                                    "isPure": true,
                                                    "lValueRequested": false,
                                                    "memberName": "encodeWithSignature",
                                                    "nodeType": "MemberAccess",
                                                    "src": "39537:23:62",
                                                    "typeDescriptions": {
                                                        "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$",
                                                        "typeString": "function (string memory) pure returns (bytes memory)"
                                                    }
                                                },
                                                "id": 17948,
                                                "isConstant": false,
                                                "isLValue": false,
                                                "isPure": false,
                                                "kind": "functionCall",
                                                "lValueRequested": false,
                                                "names": [],
                                                "nodeType": "FunctionCall",
                                                "src": "39537:75:62",
                                                "tryCall": false,
                                                "typeDescriptions": {
                                                    "typeIdentifier": "t_bytes_memory_ptr",
                                                    "typeString": "bytes memory"
                                                }
                                            }
                                        ],
                                        "expression": {
                                            "argumentTypes": [
                                                {
                                                    "typeIdentifier": "t_bytes_memory_ptr",
                                                    "typeString": "bytes memory"
                                                }
                                            ],
                                            "id": 17940,
                                            "name": "_sendLogPayload",
                                            "nodeType": "Identifier",
                                            "overloadedDeclarations": [],
                                            "referencedDeclaration": 12880,
                                            "src": "39521:15:62",
                                            "typeDescriptions": {
                                                "typeIdentifier": "t_function_internal_view$_t_bytes_memory_ptr_$returns$__$",
                                                "typeString": "function (bytes memory) view"
                                            }
                                        },
                                        "id": 17949,
                                        "isConstant": false,
                                        "isLValue": false,
                                        "isPure": false,
                                        "kind": "functionCall",
                                        "lValueRequested": false,
                                        "names": [],
                                        "nodeType": "FunctionCall",
                                        "src": "39521:92:62",
                                        "tryCall": false,
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_tuple$__$",
                                            "typeString": "tuple()"
                                        }
                                    },
                                    "id": 17950,
                                    "nodeType": "ExpressionStatement",
                                    "src": "39521:92:62"
                                }
                            ]
                        },
                        "id": 17952,
                        "implemented": true,
                        "kind": "function",
                        "modifiers": [],
                        "name": "log",
                        "nameLocation": "39448:3:62",
                        "nodeType": "FunctionDefinition",
                        "parameters": {
                            "id": 17938,
                            "nodeType": "ParameterList",
                            "parameters": [
                                {
                                    "constant": false,
                                    "id": 17931,
                                    "mutability": "mutable",
                                    "name": "p0",
                                    "nameLocation": "39466:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 17952,
                                    "src": "39452:16:62",
                                    "stateVariable": false,
                                    "storageLocation": "memory",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_string_memory_ptr",
                                        "typeString": "string"
                                    },
                                    "typeName": {
                                        "id": 17930,
                                        "name": "string",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "39452:6:62",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_string_storage_ptr",
                                            "typeString": "string"
                                        }
                                    },
                                    "visibility": "internal"
                                },
                                {
                                    "constant": false,
                                    "id": 17933,
                                    "mutability": "mutable",
                                    "name": "p1",
                                    "nameLocation": "39478:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 17952,
                                    "src": "39470:10:62",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_address",
                                        "typeString": "address"
                                    },
                                    "typeName": {
                                        "id": 17932,
                                        "name": "address",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "39470:7:62",
                                        "stateMutability": "nonpayable",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_address",
                                            "typeString": "address"
                                        }
                                    },
                                    "visibility": "internal"
                                },
                                {
                                    "constant": false,
                                    "id": 17935,
                                    "mutability": "mutable",
                                    "name": "p2",
                                    "nameLocation": "39490:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 17952,
                                    "src": "39482:10:62",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_address",
                                        "typeString": "address"
                                    },
                                    "typeName": {
                                        "id": 17934,
                                        "name": "address",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "39482:7:62",
                                        "stateMutability": "nonpayable",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_address",
                                            "typeString": "address"
                                        }
                                    },
                                    "visibility": "internal"
                                },
                                {
                                    "constant": false,
                                    "id": 17937,
                                    "mutability": "mutable",
                                    "name": "p3",
                                    "nameLocation": "39499:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 17952,
                                    "src": "39494:7:62",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_bool",
                                        "typeString": "bool"
                                    },
                                    "typeName": {
                                        "id": 17936,
                                        "name": "bool",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "39494:4:62",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_bool",
                                            "typeString": "bool"
                                        }
                                    },
                                    "visibility": "internal"
                                }
                            ],
                            "src": "39451:51:62"
                        },
                        "returnParameters": {
                            "id": 17939,
                            "nodeType": "ParameterList",
                            "parameters": [],
                            "src": "39517:0:62"
                        },
                        "scope": 20920,
                        "src": "39439:178:62",
                        "stateMutability": "view",
                        "virtual": false,
                        "visibility": "internal"
                    },
                    {
                        "body": {
                            "id": 17974,
                            "nodeType": "Block",
                            "src": "39701:103:62",
                            "statements": [
                                {
                                    "expression": {
                                        "arguments": [
                                            {
                                                "arguments": [
                                                    {
                                                        "hexValue": "6c6f6728737472696e672c616464726573732c616464726573732c6164647265737329",
                                                        "id": 17966,
                                                        "isConstant": false,
                                                        "isLValue": false,
                                                        "isPure": true,
                                                        "kind": "string",
                                                        "lValueRequested": false,
                                                        "nodeType": "Literal",
                                                        "src": "39745:37:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_stringliteral_ed8f28f6f4b5d54b1d37f705e543f556805f28b9d1bb3aef0ef7e57ef4992d15",
                                                            "typeString": "literal_string \"log(string,address,address,address)\""
                                                        },
                                                        "value": "log(string,address,address,address)"
                                                    },
                                                    {
                                                        "id": 17967,
                                                        "name": "p0",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 17954,
                                                        "src": "39784:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_string_memory_ptr",
                                                            "typeString": "string memory"
                                                        }
                                                    },
                                                    {
                                                        "id": 17968,
                                                        "name": "p1",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 17956,
                                                        "src": "39788:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_address",
                                                            "typeString": "address"
                                                        }
                                                    },
                                                    {
                                                        "id": 17969,
                                                        "name": "p2",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 17958,
                                                        "src": "39792:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_address",
                                                            "typeString": "address"
                                                        }
                                                    },
                                                    {
                                                        "id": 17970,
                                                        "name": "p3",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 17960,
                                                        "src": "39796:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_address",
                                                            "typeString": "address"
                                                        }
                                                    }
                                                ],
                                                "expression": {
                                                    "argumentTypes": [
                                                        {
                                                            "typeIdentifier": "t_stringliteral_ed8f28f6f4b5d54b1d37f705e543f556805f28b9d1bb3aef0ef7e57ef4992d15",
                                                            "typeString": "literal_string \"log(string,address,address,address)\""
                                                        },
                                                        {
                                                            "typeIdentifier": "t_string_memory_ptr",
                                                            "typeString": "string memory"
                                                        },
                                                        {
                                                            "typeIdentifier": "t_address",
                                                            "typeString": "address"
                                                        },
                                                        {
                                                            "typeIdentifier": "t_address",
                                                            "typeString": "address"
                                                        },
                                                        {
                                                            "typeIdentifier": "t_address",
                                                            "typeString": "address"
                                                        }
                                                    ],
                                                    "expression": {
                                                        "id": 17964,
                                                        "name": "abi",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 4294967295,
                                                        "src": "39721:3:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_magic_abi",
                                                            "typeString": "abi"
                                                        }
                                                    },
                                                    "id": 17965,
                                                    "isConstant": false,
                                                    "isLValue": false,
                                                    "isPure": true,
                                                    "lValueRequested": false,
                                                    "memberName": "encodeWithSignature",
                                                    "nodeType": "MemberAccess",
                                                    "src": "39721:23:62",
                                                    "typeDescriptions": {
                                                        "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$",
                                                        "typeString": "function (string memory) pure returns (bytes memory)"
                                                    }
                                                },
                                                "id": 17971,
                                                "isConstant": false,
                                                "isLValue": false,
                                                "isPure": false,
                                                "kind": "functionCall",
                                                "lValueRequested": false,
                                                "names": [],
                                                "nodeType": "FunctionCall",
                                                "src": "39721:78:62",
                                                "tryCall": false,
                                                "typeDescriptions": {
                                                    "typeIdentifier": "t_bytes_memory_ptr",
                                                    "typeString": "bytes memory"
                                                }
                                            }
                                        ],
                                        "expression": {
                                            "argumentTypes": [
                                                {
                                                    "typeIdentifier": "t_bytes_memory_ptr",
                                                    "typeString": "bytes memory"
                                                }
                                            ],
                                            "id": 17963,
                                            "name": "_sendLogPayload",
                                            "nodeType": "Identifier",
                                            "overloadedDeclarations": [],
                                            "referencedDeclaration": 12880,
                                            "src": "39705:15:62",
                                            "typeDescriptions": {
                                                "typeIdentifier": "t_function_internal_view$_t_bytes_memory_ptr_$returns$__$",
                                                "typeString": "function (bytes memory) view"
                                            }
                                        },
                                        "id": 17972,
                                        "isConstant": false,
                                        "isLValue": false,
                                        "isPure": false,
                                        "kind": "functionCall",
                                        "lValueRequested": false,
                                        "names": [],
                                        "nodeType": "FunctionCall",
                                        "src": "39705:95:62",
                                        "tryCall": false,
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_tuple$__$",
                                            "typeString": "tuple()"
                                        }
                                    },
                                    "id": 17973,
                                    "nodeType": "ExpressionStatement",
                                    "src": "39705:95:62"
                                }
                            ]
                        },
                        "id": 17975,
                        "implemented": true,
                        "kind": "function",
                        "modifiers": [],
                        "name": "log",
                        "nameLocation": "39629:3:62",
                        "nodeType": "FunctionDefinition",
                        "parameters": {
                            "id": 17961,
                            "nodeType": "ParameterList",
                            "parameters": [
                                {
                                    "constant": false,
                                    "id": 17954,
                                    "mutability": "mutable",
                                    "name": "p0",
                                    "nameLocation": "39647:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 17975,
                                    "src": "39633:16:62",
                                    "stateVariable": false,
                                    "storageLocation": "memory",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_string_memory_ptr",
                                        "typeString": "string"
                                    },
                                    "typeName": {
                                        "id": 17953,
                                        "name": "string",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "39633:6:62",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_string_storage_ptr",
                                            "typeString": "string"
                                        }
                                    },
                                    "visibility": "internal"
                                },
                                {
                                    "constant": false,
                                    "id": 17956,
                                    "mutability": "mutable",
                                    "name": "p1",
                                    "nameLocation": "39659:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 17975,
                                    "src": "39651:10:62",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_address",
                                        "typeString": "address"
                                    },
                                    "typeName": {
                                        "id": 17955,
                                        "name": "address",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "39651:7:62",
                                        "stateMutability": "nonpayable",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_address",
                                            "typeString": "address"
                                        }
                                    },
                                    "visibility": "internal"
                                },
                                {
                                    "constant": false,
                                    "id": 17958,
                                    "mutability": "mutable",
                                    "name": "p2",
                                    "nameLocation": "39671:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 17975,
                                    "src": "39663:10:62",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_address",
                                        "typeString": "address"
                                    },
                                    "typeName": {
                                        "id": 17957,
                                        "name": "address",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "39663:7:62",
                                        "stateMutability": "nonpayable",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_address",
                                            "typeString": "address"
                                        }
                                    },
                                    "visibility": "internal"
                                },
                                {
                                    "constant": false,
                                    "id": 17960,
                                    "mutability": "mutable",
                                    "name": "p3",
                                    "nameLocation": "39683:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 17975,
                                    "src": "39675:10:62",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_address",
                                        "typeString": "address"
                                    },
                                    "typeName": {
                                        "id": 17959,
                                        "name": "address",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "39675:7:62",
                                        "stateMutability": "nonpayable",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_address",
                                            "typeString": "address"
                                        }
                                    },
                                    "visibility": "internal"
                                }
                            ],
                            "src": "39632:54:62"
                        },
                        "returnParameters": {
                            "id": 17962,
                            "nodeType": "ParameterList",
                            "parameters": [],
                            "src": "39701:0:62"
                        },
                        "scope": 20920,
                        "src": "39620:184:62",
                        "stateMutability": "view",
                        "virtual": false,
                        "visibility": "internal"
                    },
                    {
                        "body": {
                            "id": 17997,
                            "nodeType": "Block",
                            "src": "39870:92:62",
                            "statements": [
                                {
                                    "expression": {
                                        "arguments": [
                                            {
                                                "arguments": [
                                                    {
                                                        "hexValue": "6c6f6728626f6f6c2c75696e742c75696e742c75696e7429",
                                                        "id": 17989,
                                                        "isConstant": false,
                                                        "isLValue": false,
                                                        "isPure": true,
                                                        "kind": "string",
                                                        "lValueRequested": false,
                                                        "nodeType": "Literal",
                                                        "src": "39914:26:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_stringliteral_32dfa524f720faf836764864b46011dc5eb74e494d57e12b294a68048585d558",
                                                            "typeString": "literal_string \"log(bool,uint,uint,uint)\""
                                                        },
                                                        "value": "log(bool,uint,uint,uint)"
                                                    },
                                                    {
                                                        "id": 17990,
                                                        "name": "p0",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 17977,
                                                        "src": "39942:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_bool",
                                                            "typeString": "bool"
                                                        }
                                                    },
                                                    {
                                                        "id": 17991,
                                                        "name": "p1",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 17979,
                                                        "src": "39946:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_uint256",
                                                            "typeString": "uint256"
                                                        }
                                                    },
                                                    {
                                                        "id": 17992,
                                                        "name": "p2",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 17981,
                                                        "src": "39950:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_uint256",
                                                            "typeString": "uint256"
                                                        }
                                                    },
                                                    {
                                                        "id": 17993,
                                                        "name": "p3",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 17983,
                                                        "src": "39954:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_uint256",
                                                            "typeString": "uint256"
                                                        }
                                                    }
                                                ],
                                                "expression": {
                                                    "argumentTypes": [
                                                        {
                                                            "typeIdentifier": "t_stringliteral_32dfa524f720faf836764864b46011dc5eb74e494d57e12b294a68048585d558",
                                                            "typeString": "literal_string \"log(bool,uint,uint,uint)\""
                                                        },
                                                        {
                                                            "typeIdentifier": "t_bool",
                                                            "typeString": "bool"
                                                        },
                                                        {
                                                            "typeIdentifier": "t_uint256",
                                                            "typeString": "uint256"
                                                        },
                                                        {
                                                            "typeIdentifier": "t_uint256",
                                                            "typeString": "uint256"
                                                        },
                                                        {
                                                            "typeIdentifier": "t_uint256",
                                                            "typeString": "uint256"
                                                        }
                                                    ],
                                                    "expression": {
                                                        "id": 17987,
                                                        "name": "abi",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 4294967295,
                                                        "src": "39890:3:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_magic_abi",
                                                            "typeString": "abi"
                                                        }
                                                    },
                                                    "id": 17988,
                                                    "isConstant": false,
                                                    "isLValue": false,
                                                    "isPure": true,
                                                    "lValueRequested": false,
                                                    "memberName": "encodeWithSignature",
                                                    "nodeType": "MemberAccess",
                                                    "src": "39890:23:62",
                                                    "typeDescriptions": {
                                                        "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$",
                                                        "typeString": "function (string memory) pure returns (bytes memory)"
                                                    }
                                                },
                                                "id": 17994,
                                                "isConstant": false,
                                                "isLValue": false,
                                                "isPure": false,
                                                "kind": "functionCall",
                                                "lValueRequested": false,
                                                "names": [],
                                                "nodeType": "FunctionCall",
                                                "src": "39890:67:62",
                                                "tryCall": false,
                                                "typeDescriptions": {
                                                    "typeIdentifier": "t_bytes_memory_ptr",
                                                    "typeString": "bytes memory"
                                                }
                                            }
                                        ],
                                        "expression": {
                                            "argumentTypes": [
                                                {
                                                    "typeIdentifier": "t_bytes_memory_ptr",
                                                    "typeString": "bytes memory"
                                                }
                                            ],
                                            "id": 17986,
                                            "name": "_sendLogPayload",
                                            "nodeType": "Identifier",
                                            "overloadedDeclarations": [],
                                            "referencedDeclaration": 12880,
                                            "src": "39874:15:62",
                                            "typeDescriptions": {
                                                "typeIdentifier": "t_function_internal_view$_t_bytes_memory_ptr_$returns$__$",
                                                "typeString": "function (bytes memory) view"
                                            }
                                        },
                                        "id": 17995,
                                        "isConstant": false,
                                        "isLValue": false,
                                        "isPure": false,
                                        "kind": "functionCall",
                                        "lValueRequested": false,
                                        "names": [],
                                        "nodeType": "FunctionCall",
                                        "src": "39874:84:62",
                                        "tryCall": false,
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_tuple$__$",
                                            "typeString": "tuple()"
                                        }
                                    },
                                    "id": 17996,
                                    "nodeType": "ExpressionStatement",
                                    "src": "39874:84:62"
                                }
                            ]
                        },
                        "id": 17998,
                        "implemented": true,
                        "kind": "function",
                        "modifiers": [],
                        "name": "log",
                        "nameLocation": "39816:3:62",
                        "nodeType": "FunctionDefinition",
                        "parameters": {
                            "id": 17984,
                            "nodeType": "ParameterList",
                            "parameters": [
                                {
                                    "constant": false,
                                    "id": 17977,
                                    "mutability": "mutable",
                                    "name": "p0",
                                    "nameLocation": "39825:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 17998,
                                    "src": "39820:7:62",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_bool",
                                        "typeString": "bool"
                                    },
                                    "typeName": {
                                        "id": 17976,
                                        "name": "bool",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "39820:4:62",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_bool",
                                            "typeString": "bool"
                                        }
                                    },
                                    "visibility": "internal"
                                },
                                {
                                    "constant": false,
                                    "id": 17979,
                                    "mutability": "mutable",
                                    "name": "p1",
                                    "nameLocation": "39834:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 17998,
                                    "src": "39829:7:62",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_uint256",
                                        "typeString": "uint256"
                                    },
                                    "typeName": {
                                        "id": 17978,
                                        "name": "uint",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "39829:4:62",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_uint256",
                                            "typeString": "uint256"
                                        }
                                    },
                                    "visibility": "internal"
                                },
                                {
                                    "constant": false,
                                    "id": 17981,
                                    "mutability": "mutable",
                                    "name": "p2",
                                    "nameLocation": "39843:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 17998,
                                    "src": "39838:7:62",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_uint256",
                                        "typeString": "uint256"
                                    },
                                    "typeName": {
                                        "id": 17980,
                                        "name": "uint",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "39838:4:62",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_uint256",
                                            "typeString": "uint256"
                                        }
                                    },
                                    "visibility": "internal"
                                },
                                {
                                    "constant": false,
                                    "id": 17983,
                                    "mutability": "mutable",
                                    "name": "p3",
                                    "nameLocation": "39852:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 17998,
                                    "src": "39847:7:62",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_uint256",
                                        "typeString": "uint256"
                                    },
                                    "typeName": {
                                        "id": 17982,
                                        "name": "uint",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "39847:4:62",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_uint256",
                                            "typeString": "uint256"
                                        }
                                    },
                                    "visibility": "internal"
                                }
                            ],
                            "src": "39819:36:62"
                        },
                        "returnParameters": {
                            "id": 17985,
                            "nodeType": "ParameterList",
                            "parameters": [],
                            "src": "39870:0:62"
                        },
                        "scope": 20920,
                        "src": "39807:155:62",
                        "stateMutability": "view",
                        "virtual": false,
                        "visibility": "internal"
                    },
                    {
                        "body": {
                            "id": 18020,
                            "nodeType": "Block",
                            "src": "40037:94:62",
                            "statements": [
                                {
                                    "expression": {
                                        "arguments": [
                                            {
                                                "arguments": [
                                                    {
                                                        "hexValue": "6c6f6728626f6f6c2c75696e742c75696e742c737472696e6729",
                                                        "id": 18012,
                                                        "isConstant": false,
                                                        "isLValue": false,
                                                        "isPure": true,
                                                        "kind": "string",
                                                        "lValueRequested": false,
                                                        "nodeType": "Literal",
                                                        "src": "40081:28:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_stringliteral_da0666c89b01999f5c8980ce90fe9d0a367a350fd8d2ec7d1f94587b6281ebd3",
                                                            "typeString": "literal_string \"log(bool,uint,uint,string)\""
                                                        },
                                                        "value": "log(bool,uint,uint,string)"
                                                    },
                                                    {
                                                        "id": 18013,
                                                        "name": "p0",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 18000,
                                                        "src": "40111:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_bool",
                                                            "typeString": "bool"
                                                        }
                                                    },
                                                    {
                                                        "id": 18014,
                                                        "name": "p1",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 18002,
                                                        "src": "40115:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_uint256",
                                                            "typeString": "uint256"
                                                        }
                                                    },
                                                    {
                                                        "id": 18015,
                                                        "name": "p2",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 18004,
                                                        "src": "40119:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_uint256",
                                                            "typeString": "uint256"
                                                        }
                                                    },
                                                    {
                                                        "id": 18016,
                                                        "name": "p3",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 18006,
                                                        "src": "40123:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_string_memory_ptr",
                                                            "typeString": "string memory"
                                                        }
                                                    }
                                                ],
                                                "expression": {
                                                    "argumentTypes": [
                                                        {
                                                            "typeIdentifier": "t_stringliteral_da0666c89b01999f5c8980ce90fe9d0a367a350fd8d2ec7d1f94587b6281ebd3",
                                                            "typeString": "literal_string \"log(bool,uint,uint,string)\""
                                                        },
                                                        {
                                                            "typeIdentifier": "t_bool",
                                                            "typeString": "bool"
                                                        },
                                                        {
                                                            "typeIdentifier": "t_uint256",
                                                            "typeString": "uint256"
                                                        },
                                                        {
                                                            "typeIdentifier": "t_uint256",
                                                            "typeString": "uint256"
                                                        },
                                                        {
                                                            "typeIdentifier": "t_string_memory_ptr",
                                                            "typeString": "string memory"
                                                        }
                                                    ],
                                                    "expression": {
                                                        "id": 18010,
                                                        "name": "abi",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 4294967295,
                                                        "src": "40057:3:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_magic_abi",
                                                            "typeString": "abi"
                                                        }
                                                    },
                                                    "id": 18011,
                                                    "isConstant": false,
                                                    "isLValue": false,
                                                    "isPure": true,
                                                    "lValueRequested": false,
                                                    "memberName": "encodeWithSignature",
                                                    "nodeType": "MemberAccess",
                                                    "src": "40057:23:62",
                                                    "typeDescriptions": {
                                                        "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$",
                                                        "typeString": "function (string memory) pure returns (bytes memory)"
                                                    }
                                                },
                                                "id": 18017,
                                                "isConstant": false,
                                                "isLValue": false,
                                                "isPure": false,
                                                "kind": "functionCall",
                                                "lValueRequested": false,
                                                "names": [],
                                                "nodeType": "FunctionCall",
                                                "src": "40057:69:62",
                                                "tryCall": false,
                                                "typeDescriptions": {
                                                    "typeIdentifier": "t_bytes_memory_ptr",
                                                    "typeString": "bytes memory"
                                                }
                                            }
                                        ],
                                        "expression": {
                                            "argumentTypes": [
                                                {
                                                    "typeIdentifier": "t_bytes_memory_ptr",
                                                    "typeString": "bytes memory"
                                                }
                                            ],
                                            "id": 18009,
                                            "name": "_sendLogPayload",
                                            "nodeType": "Identifier",
                                            "overloadedDeclarations": [],
                                            "referencedDeclaration": 12880,
                                            "src": "40041:15:62",
                                            "typeDescriptions": {
                                                "typeIdentifier": "t_function_internal_view$_t_bytes_memory_ptr_$returns$__$",
                                                "typeString": "function (bytes memory) view"
                                            }
                                        },
                                        "id": 18018,
                                        "isConstant": false,
                                        "isLValue": false,
                                        "isPure": false,
                                        "kind": "functionCall",
                                        "lValueRequested": false,
                                        "names": [],
                                        "nodeType": "FunctionCall",
                                        "src": "40041:86:62",
                                        "tryCall": false,
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_tuple$__$",
                                            "typeString": "tuple()"
                                        }
                                    },
                                    "id": 18019,
                                    "nodeType": "ExpressionStatement",
                                    "src": "40041:86:62"
                                }
                            ]
                        },
                        "id": 18021,
                        "implemented": true,
                        "kind": "function",
                        "modifiers": [],
                        "name": "log",
                        "nameLocation": "39974:3:62",
                        "nodeType": "FunctionDefinition",
                        "parameters": {
                            "id": 18007,
                            "nodeType": "ParameterList",
                            "parameters": [
                                {
                                    "constant": false,
                                    "id": 18000,
                                    "mutability": "mutable",
                                    "name": "p0",
                                    "nameLocation": "39983:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 18021,
                                    "src": "39978:7:62",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_bool",
                                        "typeString": "bool"
                                    },
                                    "typeName": {
                                        "id": 17999,
                                        "name": "bool",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "39978:4:62",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_bool",
                                            "typeString": "bool"
                                        }
                                    },
                                    "visibility": "internal"
                                },
                                {
                                    "constant": false,
                                    "id": 18002,
                                    "mutability": "mutable",
                                    "name": "p1",
                                    "nameLocation": "39992:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 18021,
                                    "src": "39987:7:62",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_uint256",
                                        "typeString": "uint256"
                                    },
                                    "typeName": {
                                        "id": 18001,
                                        "name": "uint",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "39987:4:62",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_uint256",
                                            "typeString": "uint256"
                                        }
                                    },
                                    "visibility": "internal"
                                },
                                {
                                    "constant": false,
                                    "id": 18004,
                                    "mutability": "mutable",
                                    "name": "p2",
                                    "nameLocation": "40001:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 18021,
                                    "src": "39996:7:62",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_uint256",
                                        "typeString": "uint256"
                                    },
                                    "typeName": {
                                        "id": 18003,
                                        "name": "uint",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "39996:4:62",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_uint256",
                                            "typeString": "uint256"
                                        }
                                    },
                                    "visibility": "internal"
                                },
                                {
                                    "constant": false,
                                    "id": 18006,
                                    "mutability": "mutable",
                                    "name": "p3",
                                    "nameLocation": "40019:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 18021,
                                    "src": "40005:16:62",
                                    "stateVariable": false,
                                    "storageLocation": "memory",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_string_memory_ptr",
                                        "typeString": "string"
                                    },
                                    "typeName": {
                                        "id": 18005,
                                        "name": "string",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "40005:6:62",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_string_storage_ptr",
                                            "typeString": "string"
                                        }
                                    },
                                    "visibility": "internal"
                                }
                            ],
                            "src": "39977:45:62"
                        },
                        "returnParameters": {
                            "id": 18008,
                            "nodeType": "ParameterList",
                            "parameters": [],
                            "src": "40037:0:62"
                        },
                        "scope": 20920,
                        "src": "39965:166:62",
                        "stateMutability": "view",
                        "virtual": false,
                        "visibility": "internal"
                    },
                    {
                        "body": {
                            "id": 18043,
                            "nodeType": "Block",
                            "src": "40197:92:62",
                            "statements": [
                                {
                                    "expression": {
                                        "arguments": [
                                            {
                                                "arguments": [
                                                    {
                                                        "hexValue": "6c6f6728626f6f6c2c75696e742c75696e742c626f6f6c29",
                                                        "id": 18035,
                                                        "isConstant": false,
                                                        "isLValue": false,
                                                        "isPure": true,
                                                        "kind": "string",
                                                        "lValueRequested": false,
                                                        "nodeType": "Literal",
                                                        "src": "40241:26:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_stringliteral_a41d81dec511172fa866e067fea22fe074eb6260a116ec078e2e0e79a7fd8ef2",
                                                            "typeString": "literal_string \"log(bool,uint,uint,bool)\""
                                                        },
                                                        "value": "log(bool,uint,uint,bool)"
                                                    },
                                                    {
                                                        "id": 18036,
                                                        "name": "p0",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 18023,
                                                        "src": "40269:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_bool",
                                                            "typeString": "bool"
                                                        }
                                                    },
                                                    {
                                                        "id": 18037,
                                                        "name": "p1",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 18025,
                                                        "src": "40273:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_uint256",
                                                            "typeString": "uint256"
                                                        }
                                                    },
                                                    {
                                                        "id": 18038,
                                                        "name": "p2",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 18027,
                                                        "src": "40277:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_uint256",
                                                            "typeString": "uint256"
                                                        }
                                                    },
                                                    {
                                                        "id": 18039,
                                                        "name": "p3",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 18029,
                                                        "src": "40281:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_bool",
                                                            "typeString": "bool"
                                                        }
                                                    }
                                                ],
                                                "expression": {
                                                    "argumentTypes": [
                                                        {
                                                            "typeIdentifier": "t_stringliteral_a41d81dec511172fa866e067fea22fe074eb6260a116ec078e2e0e79a7fd8ef2",
                                                            "typeString": "literal_string \"log(bool,uint,uint,bool)\""
                                                        },
                                                        {
                                                            "typeIdentifier": "t_bool",
                                                            "typeString": "bool"
                                                        },
                                                        {
                                                            "typeIdentifier": "t_uint256",
                                                            "typeString": "uint256"
                                                        },
                                                        {
                                                            "typeIdentifier": "t_uint256",
                                                            "typeString": "uint256"
                                                        },
                                                        {
                                                            "typeIdentifier": "t_bool",
                                                            "typeString": "bool"
                                                        }
                                                    ],
                                                    "expression": {
                                                        "id": 18033,
                                                        "name": "abi",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 4294967295,
                                                        "src": "40217:3:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_magic_abi",
                                                            "typeString": "abi"
                                                        }
                                                    },
                                                    "id": 18034,
                                                    "isConstant": false,
                                                    "isLValue": false,
                                                    "isPure": true,
                                                    "lValueRequested": false,
                                                    "memberName": "encodeWithSignature",
                                                    "nodeType": "MemberAccess",
                                                    "src": "40217:23:62",
                                                    "typeDescriptions": {
                                                        "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$",
                                                        "typeString": "function (string memory) pure returns (bytes memory)"
                                                    }
                                                },
                                                "id": 18040,
                                                "isConstant": false,
                                                "isLValue": false,
                                                "isPure": false,
                                                "kind": "functionCall",
                                                "lValueRequested": false,
                                                "names": [],
                                                "nodeType": "FunctionCall",
                                                "src": "40217:67:62",
                                                "tryCall": false,
                                                "typeDescriptions": {
                                                    "typeIdentifier": "t_bytes_memory_ptr",
                                                    "typeString": "bytes memory"
                                                }
                                            }
                                        ],
                                        "expression": {
                                            "argumentTypes": [
                                                {
                                                    "typeIdentifier": "t_bytes_memory_ptr",
                                                    "typeString": "bytes memory"
                                                }
                                            ],
                                            "id": 18032,
                                            "name": "_sendLogPayload",
                                            "nodeType": "Identifier",
                                            "overloadedDeclarations": [],
                                            "referencedDeclaration": 12880,
                                            "src": "40201:15:62",
                                            "typeDescriptions": {
                                                "typeIdentifier": "t_function_internal_view$_t_bytes_memory_ptr_$returns$__$",
                                                "typeString": "function (bytes memory) view"
                                            }
                                        },
                                        "id": 18041,
                                        "isConstant": false,
                                        "isLValue": false,
                                        "isPure": false,
                                        "kind": "functionCall",
                                        "lValueRequested": false,
                                        "names": [],
                                        "nodeType": "FunctionCall",
                                        "src": "40201:84:62",
                                        "tryCall": false,
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_tuple$__$",
                                            "typeString": "tuple()"
                                        }
                                    },
                                    "id": 18042,
                                    "nodeType": "ExpressionStatement",
                                    "src": "40201:84:62"
                                }
                            ]
                        },
                        "id": 18044,
                        "implemented": true,
                        "kind": "function",
                        "modifiers": [],
                        "name": "log",
                        "nameLocation": "40143:3:62",
                        "nodeType": "FunctionDefinition",
                        "parameters": {
                            "id": 18030,
                            "nodeType": "ParameterList",
                            "parameters": [
                                {
                                    "constant": false,
                                    "id": 18023,
                                    "mutability": "mutable",
                                    "name": "p0",
                                    "nameLocation": "40152:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 18044,
                                    "src": "40147:7:62",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_bool",
                                        "typeString": "bool"
                                    },
                                    "typeName": {
                                        "id": 18022,
                                        "name": "bool",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "40147:4:62",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_bool",
                                            "typeString": "bool"
                                        }
                                    },
                                    "visibility": "internal"
                                },
                                {
                                    "constant": false,
                                    "id": 18025,
                                    "mutability": "mutable",
                                    "name": "p1",
                                    "nameLocation": "40161:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 18044,
                                    "src": "40156:7:62",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_uint256",
                                        "typeString": "uint256"
                                    },
                                    "typeName": {
                                        "id": 18024,
                                        "name": "uint",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "40156:4:62",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_uint256",
                                            "typeString": "uint256"
                                        }
                                    },
                                    "visibility": "internal"
                                },
                                {
                                    "constant": false,
                                    "id": 18027,
                                    "mutability": "mutable",
                                    "name": "p2",
                                    "nameLocation": "40170:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 18044,
                                    "src": "40165:7:62",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_uint256",
                                        "typeString": "uint256"
                                    },
                                    "typeName": {
                                        "id": 18026,
                                        "name": "uint",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "40165:4:62",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_uint256",
                                            "typeString": "uint256"
                                        }
                                    },
                                    "visibility": "internal"
                                },
                                {
                                    "constant": false,
                                    "id": 18029,
                                    "mutability": "mutable",
                                    "name": "p3",
                                    "nameLocation": "40179:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 18044,
                                    "src": "40174:7:62",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_bool",
                                        "typeString": "bool"
                                    },
                                    "typeName": {
                                        "id": 18028,
                                        "name": "bool",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "40174:4:62",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_bool",
                                            "typeString": "bool"
                                        }
                                    },
                                    "visibility": "internal"
                                }
                            ],
                            "src": "40146:36:62"
                        },
                        "returnParameters": {
                            "id": 18031,
                            "nodeType": "ParameterList",
                            "parameters": [],
                            "src": "40197:0:62"
                        },
                        "scope": 20920,
                        "src": "40134:155:62",
                        "stateMutability": "view",
                        "virtual": false,
                        "visibility": "internal"
                    },
                    {
                        "body": {
                            "id": 18066,
                            "nodeType": "Block",
                            "src": "40358:95:62",
                            "statements": [
                                {
                                    "expression": {
                                        "arguments": [
                                            {
                                                "arguments": [
                                                    {
                                                        "hexValue": "6c6f6728626f6f6c2c75696e742c75696e742c6164647265737329",
                                                        "id": 18058,
                                                        "isConstant": false,
                                                        "isLValue": false,
                                                        "isPure": true,
                                                        "kind": "string",
                                                        "lValueRequested": false,
                                                        "nodeType": "Literal",
                                                        "src": "40402:29:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_stringliteral_f161b2216765f7746c6d62a843721a4e56fa83880464de0ff958770fd9704e33",
                                                            "typeString": "literal_string \"log(bool,uint,uint,address)\""
                                                        },
                                                        "value": "log(bool,uint,uint,address)"
                                                    },
                                                    {
                                                        "id": 18059,
                                                        "name": "p0",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 18046,
                                                        "src": "40433:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_bool",
                                                            "typeString": "bool"
                                                        }
                                                    },
                                                    {
                                                        "id": 18060,
                                                        "name": "p1",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 18048,
                                                        "src": "40437:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_uint256",
                                                            "typeString": "uint256"
                                                        }
                                                    },
                                                    {
                                                        "id": 18061,
                                                        "name": "p2",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 18050,
                                                        "src": "40441:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_uint256",
                                                            "typeString": "uint256"
                                                        }
                                                    },
                                                    {
                                                        "id": 18062,
                                                        "name": "p3",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 18052,
                                                        "src": "40445:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_address",
                                                            "typeString": "address"
                                                        }
                                                    }
                                                ],
                                                "expression": {
                                                    "argumentTypes": [
                                                        {
                                                            "typeIdentifier": "t_stringliteral_f161b2216765f7746c6d62a843721a4e56fa83880464de0ff958770fd9704e33",
                                                            "typeString": "literal_string \"log(bool,uint,uint,address)\""
                                                        },
                                                        {
                                                            "typeIdentifier": "t_bool",
                                                            "typeString": "bool"
                                                        },
                                                        {
                                                            "typeIdentifier": "t_uint256",
                                                            "typeString": "uint256"
                                                        },
                                                        {
                                                            "typeIdentifier": "t_uint256",
                                                            "typeString": "uint256"
                                                        },
                                                        {
                                                            "typeIdentifier": "t_address",
                                                            "typeString": "address"
                                                        }
                                                    ],
                                                    "expression": {
                                                        "id": 18056,
                                                        "name": "abi",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 4294967295,
                                                        "src": "40378:3:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_magic_abi",
                                                            "typeString": "abi"
                                                        }
                                                    },
                                                    "id": 18057,
                                                    "isConstant": false,
                                                    "isLValue": false,
                                                    "isPure": true,
                                                    "lValueRequested": false,
                                                    "memberName": "encodeWithSignature",
                                                    "nodeType": "MemberAccess",
                                                    "src": "40378:23:62",
                                                    "typeDescriptions": {
                                                        "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$",
                                                        "typeString": "function (string memory) pure returns (bytes memory)"
                                                    }
                                                },
                                                "id": 18063,
                                                "isConstant": false,
                                                "isLValue": false,
                                                "isPure": false,
                                                "kind": "functionCall",
                                                "lValueRequested": false,
                                                "names": [],
                                                "nodeType": "FunctionCall",
                                                "src": "40378:70:62",
                                                "tryCall": false,
                                                "typeDescriptions": {
                                                    "typeIdentifier": "t_bytes_memory_ptr",
                                                    "typeString": "bytes memory"
                                                }
                                            }
                                        ],
                                        "expression": {
                                            "argumentTypes": [
                                                {
                                                    "typeIdentifier": "t_bytes_memory_ptr",
                                                    "typeString": "bytes memory"
                                                }
                                            ],
                                            "id": 18055,
                                            "name": "_sendLogPayload",
                                            "nodeType": "Identifier",
                                            "overloadedDeclarations": [],
                                            "referencedDeclaration": 12880,
                                            "src": "40362:15:62",
                                            "typeDescriptions": {
                                                "typeIdentifier": "t_function_internal_view$_t_bytes_memory_ptr_$returns$__$",
                                                "typeString": "function (bytes memory) view"
                                            }
                                        },
                                        "id": 18064,
                                        "isConstant": false,
                                        "isLValue": false,
                                        "isPure": false,
                                        "kind": "functionCall",
                                        "lValueRequested": false,
                                        "names": [],
                                        "nodeType": "FunctionCall",
                                        "src": "40362:87:62",
                                        "tryCall": false,
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_tuple$__$",
                                            "typeString": "tuple()"
                                        }
                                    },
                                    "id": 18065,
                                    "nodeType": "ExpressionStatement",
                                    "src": "40362:87:62"
                                }
                            ]
                        },
                        "id": 18067,
                        "implemented": true,
                        "kind": "function",
                        "modifiers": [],
                        "name": "log",
                        "nameLocation": "40301:3:62",
                        "nodeType": "FunctionDefinition",
                        "parameters": {
                            "id": 18053,
                            "nodeType": "ParameterList",
                            "parameters": [
                                {
                                    "constant": false,
                                    "id": 18046,
                                    "mutability": "mutable",
                                    "name": "p0",
                                    "nameLocation": "40310:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 18067,
                                    "src": "40305:7:62",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_bool",
                                        "typeString": "bool"
                                    },
                                    "typeName": {
                                        "id": 18045,
                                        "name": "bool",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "40305:4:62",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_bool",
                                            "typeString": "bool"
                                        }
                                    },
                                    "visibility": "internal"
                                },
                                {
                                    "constant": false,
                                    "id": 18048,
                                    "mutability": "mutable",
                                    "name": "p1",
                                    "nameLocation": "40319:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 18067,
                                    "src": "40314:7:62",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_uint256",
                                        "typeString": "uint256"
                                    },
                                    "typeName": {
                                        "id": 18047,
                                        "name": "uint",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "40314:4:62",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_uint256",
                                            "typeString": "uint256"
                                        }
                                    },
                                    "visibility": "internal"
                                },
                                {
                                    "constant": false,
                                    "id": 18050,
                                    "mutability": "mutable",
                                    "name": "p2",
                                    "nameLocation": "40328:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 18067,
                                    "src": "40323:7:62",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_uint256",
                                        "typeString": "uint256"
                                    },
                                    "typeName": {
                                        "id": 18049,
                                        "name": "uint",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "40323:4:62",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_uint256",
                                            "typeString": "uint256"
                                        }
                                    },
                                    "visibility": "internal"
                                },
                                {
                                    "constant": false,
                                    "id": 18052,
                                    "mutability": "mutable",
                                    "name": "p3",
                                    "nameLocation": "40340:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 18067,
                                    "src": "40332:10:62",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_address",
                                        "typeString": "address"
                                    },
                                    "typeName": {
                                        "id": 18051,
                                        "name": "address",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "40332:7:62",
                                        "stateMutability": "nonpayable",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_address",
                                            "typeString": "address"
                                        }
                                    },
                                    "visibility": "internal"
                                }
                            ],
                            "src": "40304:39:62"
                        },
                        "returnParameters": {
                            "id": 18054,
                            "nodeType": "ParameterList",
                            "parameters": [],
                            "src": "40358:0:62"
                        },
                        "scope": 20920,
                        "src": "40292:161:62",
                        "stateMutability": "view",
                        "virtual": false,
                        "visibility": "internal"
                    },
                    {
                        "body": {
                            "id": 18089,
                            "nodeType": "Block",
                            "src": "40528:94:62",
                            "statements": [
                                {
                                    "expression": {
                                        "arguments": [
                                            {
                                                "arguments": [
                                                    {
                                                        "hexValue": "6c6f6728626f6f6c2c75696e742c737472696e672c75696e7429",
                                                        "id": 18081,
                                                        "isConstant": false,
                                                        "isLValue": false,
                                                        "isPure": true,
                                                        "kind": "string",
                                                        "lValueRequested": false,
                                                        "nodeType": "Literal",
                                                        "src": "40572:28:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_stringliteral_4180011b79de474cdb825b6c4cfbc6d05927b06d92ab7c90ba7ff48d251e1813",
                                                            "typeString": "literal_string \"log(bool,uint,string,uint)\""
                                                        },
                                                        "value": "log(bool,uint,string,uint)"
                                                    },
                                                    {
                                                        "id": 18082,
                                                        "name": "p0",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 18069,
                                                        "src": "40602:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_bool",
                                                            "typeString": "bool"
                                                        }
                                                    },
                                                    {
                                                        "id": 18083,
                                                        "name": "p1",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 18071,
                                                        "src": "40606:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_uint256",
                                                            "typeString": "uint256"
                                                        }
                                                    },
                                                    {
                                                        "id": 18084,
                                                        "name": "p2",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 18073,
                                                        "src": "40610:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_string_memory_ptr",
                                                            "typeString": "string memory"
                                                        }
                                                    },
                                                    {
                                                        "id": 18085,
                                                        "name": "p3",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 18075,
                                                        "src": "40614:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_uint256",
                                                            "typeString": "uint256"
                                                        }
                                                    }
                                                ],
                                                "expression": {
                                                    "argumentTypes": [
                                                        {
                                                            "typeIdentifier": "t_stringliteral_4180011b79de474cdb825b6c4cfbc6d05927b06d92ab7c90ba7ff48d251e1813",
                                                            "typeString": "literal_string \"log(bool,uint,string,uint)\""
                                                        },
                                                        {
                                                            "typeIdentifier": "t_bool",
                                                            "typeString": "bool"
                                                        },
                                                        {
                                                            "typeIdentifier": "t_uint256",
                                                            "typeString": "uint256"
                                                        },
                                                        {
                                                            "typeIdentifier": "t_string_memory_ptr",
                                                            "typeString": "string memory"
                                                        },
                                                        {
                                                            "typeIdentifier": "t_uint256",
                                                            "typeString": "uint256"
                                                        }
                                                    ],
                                                    "expression": {
                                                        "id": 18079,
                                                        "name": "abi",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 4294967295,
                                                        "src": "40548:3:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_magic_abi",
                                                            "typeString": "abi"
                                                        }
                                                    },
                                                    "id": 18080,
                                                    "isConstant": false,
                                                    "isLValue": false,
                                                    "isPure": true,
                                                    "lValueRequested": false,
                                                    "memberName": "encodeWithSignature",
                                                    "nodeType": "MemberAccess",
                                                    "src": "40548:23:62",
                                                    "typeDescriptions": {
                                                        "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$",
                                                        "typeString": "function (string memory) pure returns (bytes memory)"
                                                    }
                                                },
                                                "id": 18086,
                                                "isConstant": false,
                                                "isLValue": false,
                                                "isPure": false,
                                                "kind": "functionCall",
                                                "lValueRequested": false,
                                                "names": [],
                                                "nodeType": "FunctionCall",
                                                "src": "40548:69:62",
                                                "tryCall": false,
                                                "typeDescriptions": {
                                                    "typeIdentifier": "t_bytes_memory_ptr",
                                                    "typeString": "bytes memory"
                                                }
                                            }
                                        ],
                                        "expression": {
                                            "argumentTypes": [
                                                {
                                                    "typeIdentifier": "t_bytes_memory_ptr",
                                                    "typeString": "bytes memory"
                                                }
                                            ],
                                            "id": 18078,
                                            "name": "_sendLogPayload",
                                            "nodeType": "Identifier",
                                            "overloadedDeclarations": [],
                                            "referencedDeclaration": 12880,
                                            "src": "40532:15:62",
                                            "typeDescriptions": {
                                                "typeIdentifier": "t_function_internal_view$_t_bytes_memory_ptr_$returns$__$",
                                                "typeString": "function (bytes memory) view"
                                            }
                                        },
                                        "id": 18087,
                                        "isConstant": false,
                                        "isLValue": false,
                                        "isPure": false,
                                        "kind": "functionCall",
                                        "lValueRequested": false,
                                        "names": [],
                                        "nodeType": "FunctionCall",
                                        "src": "40532:86:62",
                                        "tryCall": false,
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_tuple$__$",
                                            "typeString": "tuple()"
                                        }
                                    },
                                    "id": 18088,
                                    "nodeType": "ExpressionStatement",
                                    "src": "40532:86:62"
                                }
                            ]
                        },
                        "id": 18090,
                        "implemented": true,
                        "kind": "function",
                        "modifiers": [],
                        "name": "log",
                        "nameLocation": "40465:3:62",
                        "nodeType": "FunctionDefinition",
                        "parameters": {
                            "id": 18076,
                            "nodeType": "ParameterList",
                            "parameters": [
                                {
                                    "constant": false,
                                    "id": 18069,
                                    "mutability": "mutable",
                                    "name": "p0",
                                    "nameLocation": "40474:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 18090,
                                    "src": "40469:7:62",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_bool",
                                        "typeString": "bool"
                                    },
                                    "typeName": {
                                        "id": 18068,
                                        "name": "bool",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "40469:4:62",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_bool",
                                            "typeString": "bool"
                                        }
                                    },
                                    "visibility": "internal"
                                },
                                {
                                    "constant": false,
                                    "id": 18071,
                                    "mutability": "mutable",
                                    "name": "p1",
                                    "nameLocation": "40483:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 18090,
                                    "src": "40478:7:62",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_uint256",
                                        "typeString": "uint256"
                                    },
                                    "typeName": {
                                        "id": 18070,
                                        "name": "uint",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "40478:4:62",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_uint256",
                                            "typeString": "uint256"
                                        }
                                    },
                                    "visibility": "internal"
                                },
                                {
                                    "constant": false,
                                    "id": 18073,
                                    "mutability": "mutable",
                                    "name": "p2",
                                    "nameLocation": "40501:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 18090,
                                    "src": "40487:16:62",
                                    "stateVariable": false,
                                    "storageLocation": "memory",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_string_memory_ptr",
                                        "typeString": "string"
                                    },
                                    "typeName": {
                                        "id": 18072,
                                        "name": "string",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "40487:6:62",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_string_storage_ptr",
                                            "typeString": "string"
                                        }
                                    },
                                    "visibility": "internal"
                                },
                                {
                                    "constant": false,
                                    "id": 18075,
                                    "mutability": "mutable",
                                    "name": "p3",
                                    "nameLocation": "40510:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 18090,
                                    "src": "40505:7:62",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_uint256",
                                        "typeString": "uint256"
                                    },
                                    "typeName": {
                                        "id": 18074,
                                        "name": "uint",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "40505:4:62",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_uint256",
                                            "typeString": "uint256"
                                        }
                                    },
                                    "visibility": "internal"
                                }
                            ],
                            "src": "40468:45:62"
                        },
                        "returnParameters": {
                            "id": 18077,
                            "nodeType": "ParameterList",
                            "parameters": [],
                            "src": "40528:0:62"
                        },
                        "scope": 20920,
                        "src": "40456:166:62",
                        "stateMutability": "view",
                        "virtual": false,
                        "visibility": "internal"
                    },
                    {
                        "body": {
                            "id": 18112,
                            "nodeType": "Block",
                            "src": "40706:96:62",
                            "statements": [
                                {
                                    "expression": {
                                        "arguments": [
                                            {
                                                "arguments": [
                                                    {
                                                        "hexValue": "6c6f6728626f6f6c2c75696e742c737472696e672c737472696e6729",
                                                        "id": 18104,
                                                        "isConstant": false,
                                                        "isLValue": false,
                                                        "isPure": true,
                                                        "kind": "string",
                                                        "lValueRequested": false,
                                                        "nodeType": "Literal",
                                                        "src": "40750:30:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_stringliteral_d32a654812cf9bc5514c83d6adb00987a26a725c531c254b4dfe4eef4cdfc8ee",
                                                            "typeString": "literal_string \"log(bool,uint,string,string)\""
                                                        },
                                                        "value": "log(bool,uint,string,string)"
                                                    },
                                                    {
                                                        "id": 18105,
                                                        "name": "p0",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 18092,
                                                        "src": "40782:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_bool",
                                                            "typeString": "bool"
                                                        }
                                                    },
                                                    {
                                                        "id": 18106,
                                                        "name": "p1",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 18094,
                                                        "src": "40786:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_uint256",
                                                            "typeString": "uint256"
                                                        }
                                                    },
                                                    {
                                                        "id": 18107,
                                                        "name": "p2",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 18096,
                                                        "src": "40790:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_string_memory_ptr",
                                                            "typeString": "string memory"
                                                        }
                                                    },
                                                    {
                                                        "id": 18108,
                                                        "name": "p3",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 18098,
                                                        "src": "40794:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_string_memory_ptr",
                                                            "typeString": "string memory"
                                                        }
                                                    }
                                                ],
                                                "expression": {
                                                    "argumentTypes": [
                                                        {
                                                            "typeIdentifier": "t_stringliteral_d32a654812cf9bc5514c83d6adb00987a26a725c531c254b4dfe4eef4cdfc8ee",
                                                            "typeString": "literal_string \"log(bool,uint,string,string)\""
                                                        },
                                                        {
                                                            "typeIdentifier": "t_bool",
                                                            "typeString": "bool"
                                                        },
                                                        {
                                                            "typeIdentifier": "t_uint256",
                                                            "typeString": "uint256"
                                                        },
                                                        {
                                                            "typeIdentifier": "t_string_memory_ptr",
                                                            "typeString": "string memory"
                                                        },
                                                        {
                                                            "typeIdentifier": "t_string_memory_ptr",
                                                            "typeString": "string memory"
                                                        }
                                                    ],
                                                    "expression": {
                                                        "id": 18102,
                                                        "name": "abi",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 4294967295,
                                                        "src": "40726:3:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_magic_abi",
                                                            "typeString": "abi"
                                                        }
                                                    },
                                                    "id": 18103,
                                                    "isConstant": false,
                                                    "isLValue": false,
                                                    "isPure": true,
                                                    "lValueRequested": false,
                                                    "memberName": "encodeWithSignature",
                                                    "nodeType": "MemberAccess",
                                                    "src": "40726:23:62",
                                                    "typeDescriptions": {
                                                        "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$",
                                                        "typeString": "function (string memory) pure returns (bytes memory)"
                                                    }
                                                },
                                                "id": 18109,
                                                "isConstant": false,
                                                "isLValue": false,
                                                "isPure": false,
                                                "kind": "functionCall",
                                                "lValueRequested": false,
                                                "names": [],
                                                "nodeType": "FunctionCall",
                                                "src": "40726:71:62",
                                                "tryCall": false,
                                                "typeDescriptions": {
                                                    "typeIdentifier": "t_bytes_memory_ptr",
                                                    "typeString": "bytes memory"
                                                }
                                            }
                                        ],
                                        "expression": {
                                            "argumentTypes": [
                                                {
                                                    "typeIdentifier": "t_bytes_memory_ptr",
                                                    "typeString": "bytes memory"
                                                }
                                            ],
                                            "id": 18101,
                                            "name": "_sendLogPayload",
                                            "nodeType": "Identifier",
                                            "overloadedDeclarations": [],
                                            "referencedDeclaration": 12880,
                                            "src": "40710:15:62",
                                            "typeDescriptions": {
                                                "typeIdentifier": "t_function_internal_view$_t_bytes_memory_ptr_$returns$__$",
                                                "typeString": "function (bytes memory) view"
                                            }
                                        },
                                        "id": 18110,
                                        "isConstant": false,
                                        "isLValue": false,
                                        "isPure": false,
                                        "kind": "functionCall",
                                        "lValueRequested": false,
                                        "names": [],
                                        "nodeType": "FunctionCall",
                                        "src": "40710:88:62",
                                        "tryCall": false,
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_tuple$__$",
                                            "typeString": "tuple()"
                                        }
                                    },
                                    "id": 18111,
                                    "nodeType": "ExpressionStatement",
                                    "src": "40710:88:62"
                                }
                            ]
                        },
                        "id": 18113,
                        "implemented": true,
                        "kind": "function",
                        "modifiers": [],
                        "name": "log",
                        "nameLocation": "40634:3:62",
                        "nodeType": "FunctionDefinition",
                        "parameters": {
                            "id": 18099,
                            "nodeType": "ParameterList",
                            "parameters": [
                                {
                                    "constant": false,
                                    "id": 18092,
                                    "mutability": "mutable",
                                    "name": "p0",
                                    "nameLocation": "40643:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 18113,
                                    "src": "40638:7:62",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_bool",
                                        "typeString": "bool"
                                    },
                                    "typeName": {
                                        "id": 18091,
                                        "name": "bool",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "40638:4:62",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_bool",
                                            "typeString": "bool"
                                        }
                                    },
                                    "visibility": "internal"
                                },
                                {
                                    "constant": false,
                                    "id": 18094,
                                    "mutability": "mutable",
                                    "name": "p1",
                                    "nameLocation": "40652:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 18113,
                                    "src": "40647:7:62",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_uint256",
                                        "typeString": "uint256"
                                    },
                                    "typeName": {
                                        "id": 18093,
                                        "name": "uint",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "40647:4:62",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_uint256",
                                            "typeString": "uint256"
                                        }
                                    },
                                    "visibility": "internal"
                                },
                                {
                                    "constant": false,
                                    "id": 18096,
                                    "mutability": "mutable",
                                    "name": "p2",
                                    "nameLocation": "40670:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 18113,
                                    "src": "40656:16:62",
                                    "stateVariable": false,
                                    "storageLocation": "memory",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_string_memory_ptr",
                                        "typeString": "string"
                                    },
                                    "typeName": {
                                        "id": 18095,
                                        "name": "string",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "40656:6:62",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_string_storage_ptr",
                                            "typeString": "string"
                                        }
                                    },
                                    "visibility": "internal"
                                },
                                {
                                    "constant": false,
                                    "id": 18098,
                                    "mutability": "mutable",
                                    "name": "p3",
                                    "nameLocation": "40688:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 18113,
                                    "src": "40674:16:62",
                                    "stateVariable": false,
                                    "storageLocation": "memory",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_string_memory_ptr",
                                        "typeString": "string"
                                    },
                                    "typeName": {
                                        "id": 18097,
                                        "name": "string",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "40674:6:62",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_string_storage_ptr",
                                            "typeString": "string"
                                        }
                                    },
                                    "visibility": "internal"
                                }
                            ],
                            "src": "40637:54:62"
                        },
                        "returnParameters": {
                            "id": 18100,
                            "nodeType": "ParameterList",
                            "parameters": [],
                            "src": "40706:0:62"
                        },
                        "scope": 20920,
                        "src": "40625:177:62",
                        "stateMutability": "view",
                        "virtual": false,
                        "visibility": "internal"
                    },
                    {
                        "body": {
                            "id": 18135,
                            "nodeType": "Block",
                            "src": "40877:94:62",
                            "statements": [
                                {
                                    "expression": {
                                        "arguments": [
                                            {
                                                "arguments": [
                                                    {
                                                        "hexValue": "6c6f6728626f6f6c2c75696e742c737472696e672c626f6f6c29",
                                                        "id": 18127,
                                                        "isConstant": false,
                                                        "isLValue": false,
                                                        "isPure": true,
                                                        "kind": "string",
                                                        "lValueRequested": false,
                                                        "nodeType": "Literal",
                                                        "src": "40921:28:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_stringliteral_91d2f813beb255a90e7ea595fb27355b60d93c3f818aac6b4c27388d34e0ea16",
                                                            "typeString": "literal_string \"log(bool,uint,string,bool)\""
                                                        },
                                                        "value": "log(bool,uint,string,bool)"
                                                    },
                                                    {
                                                        "id": 18128,
                                                        "name": "p0",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 18115,
                                                        "src": "40951:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_bool",
                                                            "typeString": "bool"
                                                        }
                                                    },
                                                    {
                                                        "id": 18129,
                                                        "name": "p1",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 18117,
                                                        "src": "40955:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_uint256",
                                                            "typeString": "uint256"
                                                        }
                                                    },
                                                    {
                                                        "id": 18130,
                                                        "name": "p2",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 18119,
                                                        "src": "40959:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_string_memory_ptr",
                                                            "typeString": "string memory"
                                                        }
                                                    },
                                                    {
                                                        "id": 18131,
                                                        "name": "p3",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 18121,
                                                        "src": "40963:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_bool",
                                                            "typeString": "bool"
                                                        }
                                                    }
                                                ],
                                                "expression": {
                                                    "argumentTypes": [
                                                        {
                                                            "typeIdentifier": "t_stringliteral_91d2f813beb255a90e7ea595fb27355b60d93c3f818aac6b4c27388d34e0ea16",
                                                            "typeString": "literal_string \"log(bool,uint,string,bool)\""
                                                        },
                                                        {
                                                            "typeIdentifier": "t_bool",
                                                            "typeString": "bool"
                                                        },
                                                        {
                                                            "typeIdentifier": "t_uint256",
                                                            "typeString": "uint256"
                                                        },
                                                        {
                                                            "typeIdentifier": "t_string_memory_ptr",
                                                            "typeString": "string memory"
                                                        },
                                                        {
                                                            "typeIdentifier": "t_bool",
                                                            "typeString": "bool"
                                                        }
                                                    ],
                                                    "expression": {
                                                        "id": 18125,
                                                        "name": "abi",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 4294967295,
                                                        "src": "40897:3:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_magic_abi",
                                                            "typeString": "abi"
                                                        }
                                                    },
                                                    "id": 18126,
                                                    "isConstant": false,
                                                    "isLValue": false,
                                                    "isPure": true,
                                                    "lValueRequested": false,
                                                    "memberName": "encodeWithSignature",
                                                    "nodeType": "MemberAccess",
                                                    "src": "40897:23:62",
                                                    "typeDescriptions": {
                                                        "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$",
                                                        "typeString": "function (string memory) pure returns (bytes memory)"
                                                    }
                                                },
                                                "id": 18132,
                                                "isConstant": false,
                                                "isLValue": false,
                                                "isPure": false,
                                                "kind": "functionCall",
                                                "lValueRequested": false,
                                                "names": [],
                                                "nodeType": "FunctionCall",
                                                "src": "40897:69:62",
                                                "tryCall": false,
                                                "typeDescriptions": {
                                                    "typeIdentifier": "t_bytes_memory_ptr",
                                                    "typeString": "bytes memory"
                                                }
                                            }
                                        ],
                                        "expression": {
                                            "argumentTypes": [
                                                {
                                                    "typeIdentifier": "t_bytes_memory_ptr",
                                                    "typeString": "bytes memory"
                                                }
                                            ],
                                            "id": 18124,
                                            "name": "_sendLogPayload",
                                            "nodeType": "Identifier",
                                            "overloadedDeclarations": [],
                                            "referencedDeclaration": 12880,
                                            "src": "40881:15:62",
                                            "typeDescriptions": {
                                                "typeIdentifier": "t_function_internal_view$_t_bytes_memory_ptr_$returns$__$",
                                                "typeString": "function (bytes memory) view"
                                            }
                                        },
                                        "id": 18133,
                                        "isConstant": false,
                                        "isLValue": false,
                                        "isPure": false,
                                        "kind": "functionCall",
                                        "lValueRequested": false,
                                        "names": [],
                                        "nodeType": "FunctionCall",
                                        "src": "40881:86:62",
                                        "tryCall": false,
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_tuple$__$",
                                            "typeString": "tuple()"
                                        }
                                    },
                                    "id": 18134,
                                    "nodeType": "ExpressionStatement",
                                    "src": "40881:86:62"
                                }
                            ]
                        },
                        "id": 18136,
                        "implemented": true,
                        "kind": "function",
                        "modifiers": [],
                        "name": "log",
                        "nameLocation": "40814:3:62",
                        "nodeType": "FunctionDefinition",
                        "parameters": {
                            "id": 18122,
                            "nodeType": "ParameterList",
                            "parameters": [
                                {
                                    "constant": false,
                                    "id": 18115,
                                    "mutability": "mutable",
                                    "name": "p0",
                                    "nameLocation": "40823:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 18136,
                                    "src": "40818:7:62",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_bool",
                                        "typeString": "bool"
                                    },
                                    "typeName": {
                                        "id": 18114,
                                        "name": "bool",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "40818:4:62",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_bool",
                                            "typeString": "bool"
                                        }
                                    },
                                    "visibility": "internal"
                                },
                                {
                                    "constant": false,
                                    "id": 18117,
                                    "mutability": "mutable",
                                    "name": "p1",
                                    "nameLocation": "40832:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 18136,
                                    "src": "40827:7:62",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_uint256",
                                        "typeString": "uint256"
                                    },
                                    "typeName": {
                                        "id": 18116,
                                        "name": "uint",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "40827:4:62",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_uint256",
                                            "typeString": "uint256"
                                        }
                                    },
                                    "visibility": "internal"
                                },
                                {
                                    "constant": false,
                                    "id": 18119,
                                    "mutability": "mutable",
                                    "name": "p2",
                                    "nameLocation": "40850:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 18136,
                                    "src": "40836:16:62",
                                    "stateVariable": false,
                                    "storageLocation": "memory",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_string_memory_ptr",
                                        "typeString": "string"
                                    },
                                    "typeName": {
                                        "id": 18118,
                                        "name": "string",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "40836:6:62",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_string_storage_ptr",
                                            "typeString": "string"
                                        }
                                    },
                                    "visibility": "internal"
                                },
                                {
                                    "constant": false,
                                    "id": 18121,
                                    "mutability": "mutable",
                                    "name": "p3",
                                    "nameLocation": "40859:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 18136,
                                    "src": "40854:7:62",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_bool",
                                        "typeString": "bool"
                                    },
                                    "typeName": {
                                        "id": 18120,
                                        "name": "bool",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "40854:4:62",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_bool",
                                            "typeString": "bool"
                                        }
                                    },
                                    "visibility": "internal"
                                }
                            ],
                            "src": "40817:45:62"
                        },
                        "returnParameters": {
                            "id": 18123,
                            "nodeType": "ParameterList",
                            "parameters": [],
                            "src": "40877:0:62"
                        },
                        "scope": 20920,
                        "src": "40805:166:62",
                        "stateMutability": "view",
                        "virtual": false,
                        "visibility": "internal"
                    },
                    {
                        "body": {
                            "id": 18158,
                            "nodeType": "Block",
                            "src": "41049:97:62",
                            "statements": [
                                {
                                    "expression": {
                                        "arguments": [
                                            {
                                                "arguments": [
                                                    {
                                                        "hexValue": "6c6f6728626f6f6c2c75696e742c737472696e672c6164647265737329",
                                                        "id": 18150,
                                                        "isConstant": false,
                                                        "isLValue": false,
                                                        "isPure": true,
                                                        "kind": "string",
                                                        "lValueRequested": false,
                                                        "nodeType": "Literal",
                                                        "src": "41093:31:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_stringliteral_a5c70d29969a9ad21bdf8986348e5dc44eea151f64e0f90231a45219c4d0e3d5",
                                                            "typeString": "literal_string \"log(bool,uint,string,address)\""
                                                        },
                                                        "value": "log(bool,uint,string,address)"
                                                    },
                                                    {
                                                        "id": 18151,
                                                        "name": "p0",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 18138,
                                                        "src": "41126:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_bool",
                                                            "typeString": "bool"
                                                        }
                                                    },
                                                    {
                                                        "id": 18152,
                                                        "name": "p1",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 18140,
                                                        "src": "41130:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_uint256",
                                                            "typeString": "uint256"
                                                        }
                                                    },
                                                    {
                                                        "id": 18153,
                                                        "name": "p2",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 18142,
                                                        "src": "41134:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_string_memory_ptr",
                                                            "typeString": "string memory"
                                                        }
                                                    },
                                                    {
                                                        "id": 18154,
                                                        "name": "p3",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 18144,
                                                        "src": "41138:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_address",
                                                            "typeString": "address"
                                                        }
                                                    }
                                                ],
                                                "expression": {
                                                    "argumentTypes": [
                                                        {
                                                            "typeIdentifier": "t_stringliteral_a5c70d29969a9ad21bdf8986348e5dc44eea151f64e0f90231a45219c4d0e3d5",
                                                            "typeString": "literal_string \"log(bool,uint,string,address)\""
                                                        },
                                                        {
                                                            "typeIdentifier": "t_bool",
                                                            "typeString": "bool"
                                                        },
                                                        {
                                                            "typeIdentifier": "t_uint256",
                                                            "typeString": "uint256"
                                                        },
                                                        {
                                                            "typeIdentifier": "t_string_memory_ptr",
                                                            "typeString": "string memory"
                                                        },
                                                        {
                                                            "typeIdentifier": "t_address",
                                                            "typeString": "address"
                                                        }
                                                    ],
                                                    "expression": {
                                                        "id": 18148,
                                                        "name": "abi",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 4294967295,
                                                        "src": "41069:3:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_magic_abi",
                                                            "typeString": "abi"
                                                        }
                                                    },
                                                    "id": 18149,
                                                    "isConstant": false,
                                                    "isLValue": false,
                                                    "isPure": true,
                                                    "lValueRequested": false,
                                                    "memberName": "encodeWithSignature",
                                                    "nodeType": "MemberAccess",
                                                    "src": "41069:23:62",
                                                    "typeDescriptions": {
                                                        "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$",
                                                        "typeString": "function (string memory) pure returns (bytes memory)"
                                                    }
                                                },
                                                "id": 18155,
                                                "isConstant": false,
                                                "isLValue": false,
                                                "isPure": false,
                                                "kind": "functionCall",
                                                "lValueRequested": false,
                                                "names": [],
                                                "nodeType": "FunctionCall",
                                                "src": "41069:72:62",
                                                "tryCall": false,
                                                "typeDescriptions": {
                                                    "typeIdentifier": "t_bytes_memory_ptr",
                                                    "typeString": "bytes memory"
                                                }
                                            }
                                        ],
                                        "expression": {
                                            "argumentTypes": [
                                                {
                                                    "typeIdentifier": "t_bytes_memory_ptr",
                                                    "typeString": "bytes memory"
                                                }
                                            ],
                                            "id": 18147,
                                            "name": "_sendLogPayload",
                                            "nodeType": "Identifier",
                                            "overloadedDeclarations": [],
                                            "referencedDeclaration": 12880,
                                            "src": "41053:15:62",
                                            "typeDescriptions": {
                                                "typeIdentifier": "t_function_internal_view$_t_bytes_memory_ptr_$returns$__$",
                                                "typeString": "function (bytes memory) view"
                                            }
                                        },
                                        "id": 18156,
                                        "isConstant": false,
                                        "isLValue": false,
                                        "isPure": false,
                                        "kind": "functionCall",
                                        "lValueRequested": false,
                                        "names": [],
                                        "nodeType": "FunctionCall",
                                        "src": "41053:89:62",
                                        "tryCall": false,
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_tuple$__$",
                                            "typeString": "tuple()"
                                        }
                                    },
                                    "id": 18157,
                                    "nodeType": "ExpressionStatement",
                                    "src": "41053:89:62"
                                }
                            ]
                        },
                        "id": 18159,
                        "implemented": true,
                        "kind": "function",
                        "modifiers": [],
                        "name": "log",
                        "nameLocation": "40983:3:62",
                        "nodeType": "FunctionDefinition",
                        "parameters": {
                            "id": 18145,
                            "nodeType": "ParameterList",
                            "parameters": [
                                {
                                    "constant": false,
                                    "id": 18138,
                                    "mutability": "mutable",
                                    "name": "p0",
                                    "nameLocation": "40992:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 18159,
                                    "src": "40987:7:62",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_bool",
                                        "typeString": "bool"
                                    },
                                    "typeName": {
                                        "id": 18137,
                                        "name": "bool",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "40987:4:62",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_bool",
                                            "typeString": "bool"
                                        }
                                    },
                                    "visibility": "internal"
                                },
                                {
                                    "constant": false,
                                    "id": 18140,
                                    "mutability": "mutable",
                                    "name": "p1",
                                    "nameLocation": "41001:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 18159,
                                    "src": "40996:7:62",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_uint256",
                                        "typeString": "uint256"
                                    },
                                    "typeName": {
                                        "id": 18139,
                                        "name": "uint",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "40996:4:62",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_uint256",
                                            "typeString": "uint256"
                                        }
                                    },
                                    "visibility": "internal"
                                },
                                {
                                    "constant": false,
                                    "id": 18142,
                                    "mutability": "mutable",
                                    "name": "p2",
                                    "nameLocation": "41019:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 18159,
                                    "src": "41005:16:62",
                                    "stateVariable": false,
                                    "storageLocation": "memory",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_string_memory_ptr",
                                        "typeString": "string"
                                    },
                                    "typeName": {
                                        "id": 18141,
                                        "name": "string",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "41005:6:62",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_string_storage_ptr",
                                            "typeString": "string"
                                        }
                                    },
                                    "visibility": "internal"
                                },
                                {
                                    "constant": false,
                                    "id": 18144,
                                    "mutability": "mutable",
                                    "name": "p3",
                                    "nameLocation": "41031:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 18159,
                                    "src": "41023:10:62",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_address",
                                        "typeString": "address"
                                    },
                                    "typeName": {
                                        "id": 18143,
                                        "name": "address",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "41023:7:62",
                                        "stateMutability": "nonpayable",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_address",
                                            "typeString": "address"
                                        }
                                    },
                                    "visibility": "internal"
                                }
                            ],
                            "src": "40986:48:62"
                        },
                        "returnParameters": {
                            "id": 18146,
                            "nodeType": "ParameterList",
                            "parameters": [],
                            "src": "41049:0:62"
                        },
                        "scope": 20920,
                        "src": "40974:172:62",
                        "stateMutability": "view",
                        "virtual": false,
                        "visibility": "internal"
                    },
                    {
                        "body": {
                            "id": 18181,
                            "nodeType": "Block",
                            "src": "41212:92:62",
                            "statements": [
                                {
                                    "expression": {
                                        "arguments": [
                                            {
                                                "arguments": [
                                                    {
                                                        "hexValue": "6c6f6728626f6f6c2c75696e742c626f6f6c2c75696e7429",
                                                        "id": 18173,
                                                        "isConstant": false,
                                                        "isLValue": false,
                                                        "isPure": true,
                                                        "kind": "string",
                                                        "lValueRequested": false,
                                                        "nodeType": "Literal",
                                                        "src": "41256:26:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_stringliteral_d3de5593988099d08808f80d2a972ea3da18ecd746f0a3e437c530efaad65aa0",
                                                            "typeString": "literal_string \"log(bool,uint,bool,uint)\""
                                                        },
                                                        "value": "log(bool,uint,bool,uint)"
                                                    },
                                                    {
                                                        "id": 18174,
                                                        "name": "p0",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 18161,
                                                        "src": "41284:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_bool",
                                                            "typeString": "bool"
                                                        }
                                                    },
                                                    {
                                                        "id": 18175,
                                                        "name": "p1",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 18163,
                                                        "src": "41288:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_uint256",
                                                            "typeString": "uint256"
                                                        }
                                                    },
                                                    {
                                                        "id": 18176,
                                                        "name": "p2",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 18165,
                                                        "src": "41292:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_bool",
                                                            "typeString": "bool"
                                                        }
                                                    },
                                                    {
                                                        "id": 18177,
                                                        "name": "p3",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 18167,
                                                        "src": "41296:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_uint256",
                                                            "typeString": "uint256"
                                                        }
                                                    }
                                                ],
                                                "expression": {
                                                    "argumentTypes": [
                                                        {
                                                            "typeIdentifier": "t_stringliteral_d3de5593988099d08808f80d2a972ea3da18ecd746f0a3e437c530efaad65aa0",
                                                            "typeString": "literal_string \"log(bool,uint,bool,uint)\""
                                                        },
                                                        {
                                                            "typeIdentifier": "t_bool",
                                                            "typeString": "bool"
                                                        },
                                                        {
                                                            "typeIdentifier": "t_uint256",
                                                            "typeString": "uint256"
                                                        },
                                                        {
                                                            "typeIdentifier": "t_bool",
                                                            "typeString": "bool"
                                                        },
                                                        {
                                                            "typeIdentifier": "t_uint256",
                                                            "typeString": "uint256"
                                                        }
                                                    ],
                                                    "expression": {
                                                        "id": 18171,
                                                        "name": "abi",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 4294967295,
                                                        "src": "41232:3:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_magic_abi",
                                                            "typeString": "abi"
                                                        }
                                                    },
                                                    "id": 18172,
                                                    "isConstant": false,
                                                    "isLValue": false,
                                                    "isPure": true,
                                                    "lValueRequested": false,
                                                    "memberName": "encodeWithSignature",
                                                    "nodeType": "MemberAccess",
                                                    "src": "41232:23:62",
                                                    "typeDescriptions": {
                                                        "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$",
                                                        "typeString": "function (string memory) pure returns (bytes memory)"
                                                    }
                                                },
                                                "id": 18178,
                                                "isConstant": false,
                                                "isLValue": false,
                                                "isPure": false,
                                                "kind": "functionCall",
                                                "lValueRequested": false,
                                                "names": [],
                                                "nodeType": "FunctionCall",
                                                "src": "41232:67:62",
                                                "tryCall": false,
                                                "typeDescriptions": {
                                                    "typeIdentifier": "t_bytes_memory_ptr",
                                                    "typeString": "bytes memory"
                                                }
                                            }
                                        ],
                                        "expression": {
                                            "argumentTypes": [
                                                {
                                                    "typeIdentifier": "t_bytes_memory_ptr",
                                                    "typeString": "bytes memory"
                                                }
                                            ],
                                            "id": 18170,
                                            "name": "_sendLogPayload",
                                            "nodeType": "Identifier",
                                            "overloadedDeclarations": [],
                                            "referencedDeclaration": 12880,
                                            "src": "41216:15:62",
                                            "typeDescriptions": {
                                                "typeIdentifier": "t_function_internal_view$_t_bytes_memory_ptr_$returns$__$",
                                                "typeString": "function (bytes memory) view"
                                            }
                                        },
                                        "id": 18179,
                                        "isConstant": false,
                                        "isLValue": false,
                                        "isPure": false,
                                        "kind": "functionCall",
                                        "lValueRequested": false,
                                        "names": [],
                                        "nodeType": "FunctionCall",
                                        "src": "41216:84:62",
                                        "tryCall": false,
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_tuple$__$",
                                            "typeString": "tuple()"
                                        }
                                    },
                                    "id": 18180,
                                    "nodeType": "ExpressionStatement",
                                    "src": "41216:84:62"
                                }
                            ]
                        },
                        "id": 18182,
                        "implemented": true,
                        "kind": "function",
                        "modifiers": [],
                        "name": "log",
                        "nameLocation": "41158:3:62",
                        "nodeType": "FunctionDefinition",
                        "parameters": {
                            "id": 18168,
                            "nodeType": "ParameterList",
                            "parameters": [
                                {
                                    "constant": false,
                                    "id": 18161,
                                    "mutability": "mutable",
                                    "name": "p0",
                                    "nameLocation": "41167:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 18182,
                                    "src": "41162:7:62",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_bool",
                                        "typeString": "bool"
                                    },
                                    "typeName": {
                                        "id": 18160,
                                        "name": "bool",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "41162:4:62",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_bool",
                                            "typeString": "bool"
                                        }
                                    },
                                    "visibility": "internal"
                                },
                                {
                                    "constant": false,
                                    "id": 18163,
                                    "mutability": "mutable",
                                    "name": "p1",
                                    "nameLocation": "41176:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 18182,
                                    "src": "41171:7:62",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_uint256",
                                        "typeString": "uint256"
                                    },
                                    "typeName": {
                                        "id": 18162,
                                        "name": "uint",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "41171:4:62",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_uint256",
                                            "typeString": "uint256"
                                        }
                                    },
                                    "visibility": "internal"
                                },
                                {
                                    "constant": false,
                                    "id": 18165,
                                    "mutability": "mutable",
                                    "name": "p2",
                                    "nameLocation": "41185:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 18182,
                                    "src": "41180:7:62",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_bool",
                                        "typeString": "bool"
                                    },
                                    "typeName": {
                                        "id": 18164,
                                        "name": "bool",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "41180:4:62",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_bool",
                                            "typeString": "bool"
                                        }
                                    },
                                    "visibility": "internal"
                                },
                                {
                                    "constant": false,
                                    "id": 18167,
                                    "mutability": "mutable",
                                    "name": "p3",
                                    "nameLocation": "41194:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 18182,
                                    "src": "41189:7:62",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_uint256",
                                        "typeString": "uint256"
                                    },
                                    "typeName": {
                                        "id": 18166,
                                        "name": "uint",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "41189:4:62",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_uint256",
                                            "typeString": "uint256"
                                        }
                                    },
                                    "visibility": "internal"
                                }
                            ],
                            "src": "41161:36:62"
                        },
                        "returnParameters": {
                            "id": 18169,
                            "nodeType": "ParameterList",
                            "parameters": [],
                            "src": "41212:0:62"
                        },
                        "scope": 20920,
                        "src": "41149:155:62",
                        "stateMutability": "view",
                        "virtual": false,
                        "visibility": "internal"
                    },
                    {
                        "body": {
                            "id": 18204,
                            "nodeType": "Block",
                            "src": "41379:94:62",
                            "statements": [
                                {
                                    "expression": {
                                        "arguments": [
                                            {
                                                "arguments": [
                                                    {
                                                        "hexValue": "6c6f6728626f6f6c2c75696e742c626f6f6c2c737472696e6729",
                                                        "id": 18196,
                                                        "isConstant": false,
                                                        "isLValue": false,
                                                        "isPure": true,
                                                        "kind": "string",
                                                        "lValueRequested": false,
                                                        "nodeType": "Literal",
                                                        "src": "41423:28:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_stringliteral_b6d569d433e69694879a799e3777d59bc29ee89dcbaf739de9b283882fd259ad",
                                                            "typeString": "literal_string \"log(bool,uint,bool,string)\""
                                                        },
                                                        "value": "log(bool,uint,bool,string)"
                                                    },
                                                    {
                                                        "id": 18197,
                                                        "name": "p0",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 18184,
                                                        "src": "41453:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_bool",
                                                            "typeString": "bool"
                                                        }
                                                    },
                                                    {
                                                        "id": 18198,
                                                        "name": "p1",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 18186,
                                                        "src": "41457:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_uint256",
                                                            "typeString": "uint256"
                                                        }
                                                    },
                                                    {
                                                        "id": 18199,
                                                        "name": "p2",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 18188,
                                                        "src": "41461:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_bool",
                                                            "typeString": "bool"
                                                        }
                                                    },
                                                    {
                                                        "id": 18200,
                                                        "name": "p3",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 18190,
                                                        "src": "41465:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_string_memory_ptr",
                                                            "typeString": "string memory"
                                                        }
                                                    }
                                                ],
                                                "expression": {
                                                    "argumentTypes": [
                                                        {
                                                            "typeIdentifier": "t_stringliteral_b6d569d433e69694879a799e3777d59bc29ee89dcbaf739de9b283882fd259ad",
                                                            "typeString": "literal_string \"log(bool,uint,bool,string)\""
                                                        },
                                                        {
                                                            "typeIdentifier": "t_bool",
                                                            "typeString": "bool"
                                                        },
                                                        {
                                                            "typeIdentifier": "t_uint256",
                                                            "typeString": "uint256"
                                                        },
                                                        {
                                                            "typeIdentifier": "t_bool",
                                                            "typeString": "bool"
                                                        },
                                                        {
                                                            "typeIdentifier": "t_string_memory_ptr",
                                                            "typeString": "string memory"
                                                        }
                                                    ],
                                                    "expression": {
                                                        "id": 18194,
                                                        "name": "abi",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 4294967295,
                                                        "src": "41399:3:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_magic_abi",
                                                            "typeString": "abi"
                                                        }
                                                    },
                                                    "id": 18195,
                                                    "isConstant": false,
                                                    "isLValue": false,
                                                    "isPure": true,
                                                    "lValueRequested": false,
                                                    "memberName": "encodeWithSignature",
                                                    "nodeType": "MemberAccess",
                                                    "src": "41399:23:62",
                                                    "typeDescriptions": {
                                                        "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$",
                                                        "typeString": "function (string memory) pure returns (bytes memory)"
                                                    }
                                                },
                                                "id": 18201,
                                                "isConstant": false,
                                                "isLValue": false,
                                                "isPure": false,
                                                "kind": "functionCall",
                                                "lValueRequested": false,
                                                "names": [],
                                                "nodeType": "FunctionCall",
                                                "src": "41399:69:62",
                                                "tryCall": false,
                                                "typeDescriptions": {
                                                    "typeIdentifier": "t_bytes_memory_ptr",
                                                    "typeString": "bytes memory"
                                                }
                                            }
                                        ],
                                        "expression": {
                                            "argumentTypes": [
                                                {
                                                    "typeIdentifier": "t_bytes_memory_ptr",
                                                    "typeString": "bytes memory"
                                                }
                                            ],
                                            "id": 18193,
                                            "name": "_sendLogPayload",
                                            "nodeType": "Identifier",
                                            "overloadedDeclarations": [],
                                            "referencedDeclaration": 12880,
                                            "src": "41383:15:62",
                                            "typeDescriptions": {
                                                "typeIdentifier": "t_function_internal_view$_t_bytes_memory_ptr_$returns$__$",
                                                "typeString": "function (bytes memory) view"
                                            }
                                        },
                                        "id": 18202,
                                        "isConstant": false,
                                        "isLValue": false,
                                        "isPure": false,
                                        "kind": "functionCall",
                                        "lValueRequested": false,
                                        "names": [],
                                        "nodeType": "FunctionCall",
                                        "src": "41383:86:62",
                                        "tryCall": false,
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_tuple$__$",
                                            "typeString": "tuple()"
                                        }
                                    },
                                    "id": 18203,
                                    "nodeType": "ExpressionStatement",
                                    "src": "41383:86:62"
                                }
                            ]
                        },
                        "id": 18205,
                        "implemented": true,
                        "kind": "function",
                        "modifiers": [],
                        "name": "log",
                        "nameLocation": "41316:3:62",
                        "nodeType": "FunctionDefinition",
                        "parameters": {
                            "id": 18191,
                            "nodeType": "ParameterList",
                            "parameters": [
                                {
                                    "constant": false,
                                    "id": 18184,
                                    "mutability": "mutable",
                                    "name": "p0",
                                    "nameLocation": "41325:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 18205,
                                    "src": "41320:7:62",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_bool",
                                        "typeString": "bool"
                                    },
                                    "typeName": {
                                        "id": 18183,
                                        "name": "bool",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "41320:4:62",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_bool",
                                            "typeString": "bool"
                                        }
                                    },
                                    "visibility": "internal"
                                },
                                {
                                    "constant": false,
                                    "id": 18186,
                                    "mutability": "mutable",
                                    "name": "p1",
                                    "nameLocation": "41334:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 18205,
                                    "src": "41329:7:62",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_uint256",
                                        "typeString": "uint256"
                                    },
                                    "typeName": {
                                        "id": 18185,
                                        "name": "uint",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "41329:4:62",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_uint256",
                                            "typeString": "uint256"
                                        }
                                    },
                                    "visibility": "internal"
                                },
                                {
                                    "constant": false,
                                    "id": 18188,
                                    "mutability": "mutable",
                                    "name": "p2",
                                    "nameLocation": "41343:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 18205,
                                    "src": "41338:7:62",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_bool",
                                        "typeString": "bool"
                                    },
                                    "typeName": {
                                        "id": 18187,
                                        "name": "bool",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "41338:4:62",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_bool",
                                            "typeString": "bool"
                                        }
                                    },
                                    "visibility": "internal"
                                },
                                {
                                    "constant": false,
                                    "id": 18190,
                                    "mutability": "mutable",
                                    "name": "p3",
                                    "nameLocation": "41361:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 18205,
                                    "src": "41347:16:62",
                                    "stateVariable": false,
                                    "storageLocation": "memory",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_string_memory_ptr",
                                        "typeString": "string"
                                    },
                                    "typeName": {
                                        "id": 18189,
                                        "name": "string",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "41347:6:62",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_string_storage_ptr",
                                            "typeString": "string"
                                        }
                                    },
                                    "visibility": "internal"
                                }
                            ],
                            "src": "41319:45:62"
                        },
                        "returnParameters": {
                            "id": 18192,
                            "nodeType": "ParameterList",
                            "parameters": [],
                            "src": "41379:0:62"
                        },
                        "scope": 20920,
                        "src": "41307:166:62",
                        "stateMutability": "view",
                        "virtual": false,
                        "visibility": "internal"
                    },
                    {
                        "body": {
                            "id": 18227,
                            "nodeType": "Block",
                            "src": "41539:92:62",
                            "statements": [
                                {
                                    "expression": {
                                        "arguments": [
                                            {
                                                "arguments": [
                                                    {
                                                        "hexValue": "6c6f6728626f6f6c2c75696e742c626f6f6c2c626f6f6c29",
                                                        "id": 18219,
                                                        "isConstant": false,
                                                        "isLValue": false,
                                                        "isPure": true,
                                                        "kind": "string",
                                                        "lValueRequested": false,
                                                        "nodeType": "Literal",
                                                        "src": "41583:26:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_stringliteral_9e01f7417c5ff66a2399364b03788fbf8437045d38acf377fab727a3440df7be",
                                                            "typeString": "literal_string \"log(bool,uint,bool,bool)\""
                                                        },
                                                        "value": "log(bool,uint,bool,bool)"
                                                    },
                                                    {
                                                        "id": 18220,
                                                        "name": "p0",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 18207,
                                                        "src": "41611:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_bool",
                                                            "typeString": "bool"
                                                        }
                                                    },
                                                    {
                                                        "id": 18221,
                                                        "name": "p1",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 18209,
                                                        "src": "41615:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_uint256",
                                                            "typeString": "uint256"
                                                        }
                                                    },
                                                    {
                                                        "id": 18222,
                                                        "name": "p2",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 18211,
                                                        "src": "41619:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_bool",
                                                            "typeString": "bool"
                                                        }
                                                    },
                                                    {
                                                        "id": 18223,
                                                        "name": "p3",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 18213,
                                                        "src": "41623:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_bool",
                                                            "typeString": "bool"
                                                        }
                                                    }
                                                ],
                                                "expression": {
                                                    "argumentTypes": [
                                                        {
                                                            "typeIdentifier": "t_stringliteral_9e01f7417c5ff66a2399364b03788fbf8437045d38acf377fab727a3440df7be",
                                                            "typeString": "literal_string \"log(bool,uint,bool,bool)\""
                                                        },
                                                        {
                                                            "typeIdentifier": "t_bool",
                                                            "typeString": "bool"
                                                        },
                                                        {
                                                            "typeIdentifier": "t_uint256",
                                                            "typeString": "uint256"
                                                        },
                                                        {
                                                            "typeIdentifier": "t_bool",
                                                            "typeString": "bool"
                                                        },
                                                        {
                                                            "typeIdentifier": "t_bool",
                                                            "typeString": "bool"
                                                        }
                                                    ],
                                                    "expression": {
                                                        "id": 18217,
                                                        "name": "abi",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 4294967295,
                                                        "src": "41559:3:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_magic_abi",
                                                            "typeString": "abi"
                                                        }
                                                    },
                                                    "id": 18218,
                                                    "isConstant": false,
                                                    "isLValue": false,
                                                    "isPure": true,
                                                    "lValueRequested": false,
                                                    "memberName": "encodeWithSignature",
                                                    "nodeType": "MemberAccess",
                                                    "src": "41559:23:62",
                                                    "typeDescriptions": {
                                                        "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$",
                                                        "typeString": "function (string memory) pure returns (bytes memory)"
                                                    }
                                                },
                                                "id": 18224,
                                                "isConstant": false,
                                                "isLValue": false,
                                                "isPure": false,
                                                "kind": "functionCall",
                                                "lValueRequested": false,
                                                "names": [],
                                                "nodeType": "FunctionCall",
                                                "src": "41559:67:62",
                                                "tryCall": false,
                                                "typeDescriptions": {
                                                    "typeIdentifier": "t_bytes_memory_ptr",
                                                    "typeString": "bytes memory"
                                                }
                                            }
                                        ],
                                        "expression": {
                                            "argumentTypes": [
                                                {
                                                    "typeIdentifier": "t_bytes_memory_ptr",
                                                    "typeString": "bytes memory"
                                                }
                                            ],
                                            "id": 18216,
                                            "name": "_sendLogPayload",
                                            "nodeType": "Identifier",
                                            "overloadedDeclarations": [],
                                            "referencedDeclaration": 12880,
                                            "src": "41543:15:62",
                                            "typeDescriptions": {
                                                "typeIdentifier": "t_function_internal_view$_t_bytes_memory_ptr_$returns$__$",
                                                "typeString": "function (bytes memory) view"
                                            }
                                        },
                                        "id": 18225,
                                        "isConstant": false,
                                        "isLValue": false,
                                        "isPure": false,
                                        "kind": "functionCall",
                                        "lValueRequested": false,
                                        "names": [],
                                        "nodeType": "FunctionCall",
                                        "src": "41543:84:62",
                                        "tryCall": false,
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_tuple$__$",
                                            "typeString": "tuple()"
                                        }
                                    },
                                    "id": 18226,
                                    "nodeType": "ExpressionStatement",
                                    "src": "41543:84:62"
                                }
                            ]
                        },
                        "id": 18228,
                        "implemented": true,
                        "kind": "function",
                        "modifiers": [],
                        "name": "log",
                        "nameLocation": "41485:3:62",
                        "nodeType": "FunctionDefinition",
                        "parameters": {
                            "id": 18214,
                            "nodeType": "ParameterList",
                            "parameters": [
                                {
                                    "constant": false,
                                    "id": 18207,
                                    "mutability": "mutable",
                                    "name": "p0",
                                    "nameLocation": "41494:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 18228,
                                    "src": "41489:7:62",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_bool",
                                        "typeString": "bool"
                                    },
                                    "typeName": {
                                        "id": 18206,
                                        "name": "bool",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "41489:4:62",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_bool",
                                            "typeString": "bool"
                                        }
                                    },
                                    "visibility": "internal"
                                },
                                {
                                    "constant": false,
                                    "id": 18209,
                                    "mutability": "mutable",
                                    "name": "p1",
                                    "nameLocation": "41503:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 18228,
                                    "src": "41498:7:62",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_uint256",
                                        "typeString": "uint256"
                                    },
                                    "typeName": {
                                        "id": 18208,
                                        "name": "uint",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "41498:4:62",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_uint256",
                                            "typeString": "uint256"
                                        }
                                    },
                                    "visibility": "internal"
                                },
                                {
                                    "constant": false,
                                    "id": 18211,
                                    "mutability": "mutable",
                                    "name": "p2",
                                    "nameLocation": "41512:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 18228,
                                    "src": "41507:7:62",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_bool",
                                        "typeString": "bool"
                                    },
                                    "typeName": {
                                        "id": 18210,
                                        "name": "bool",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "41507:4:62",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_bool",
                                            "typeString": "bool"
                                        }
                                    },
                                    "visibility": "internal"
                                },
                                {
                                    "constant": false,
                                    "id": 18213,
                                    "mutability": "mutable",
                                    "name": "p3",
                                    "nameLocation": "41521:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 18228,
                                    "src": "41516:7:62",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_bool",
                                        "typeString": "bool"
                                    },
                                    "typeName": {
                                        "id": 18212,
                                        "name": "bool",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "41516:4:62",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_bool",
                                            "typeString": "bool"
                                        }
                                    },
                                    "visibility": "internal"
                                }
                            ],
                            "src": "41488:36:62"
                        },
                        "returnParameters": {
                            "id": 18215,
                            "nodeType": "ParameterList",
                            "parameters": [],
                            "src": "41539:0:62"
                        },
                        "scope": 20920,
                        "src": "41476:155:62",
                        "stateMutability": "view",
                        "virtual": false,
                        "visibility": "internal"
                    },
                    {
                        "body": {
                            "id": 18250,
                            "nodeType": "Block",
                            "src": "41700:95:62",
                            "statements": [
                                {
                                    "expression": {
                                        "arguments": [
                                            {
                                                "arguments": [
                                                    {
                                                        "hexValue": "6c6f6728626f6f6c2c75696e742c626f6f6c2c6164647265737329",
                                                        "id": 18242,
                                                        "isConstant": false,
                                                        "isLValue": false,
                                                        "isPure": true,
                                                        "kind": "string",
                                                        "lValueRequested": false,
                                                        "nodeType": "Literal",
                                                        "src": "41744:29:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_stringliteral_4267c7f8f9987b1bc934e31e016f4d182f67ab95e55c5567fbc71b4f01a83f4b",
                                                            "typeString": "literal_string \"log(bool,uint,bool,address)\""
                                                        },
                                                        "value": "log(bool,uint,bool,address)"
                                                    },
                                                    {
                                                        "id": 18243,
                                                        "name": "p0",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 18230,
                                                        "src": "41775:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_bool",
                                                            "typeString": "bool"
                                                        }
                                                    },
                                                    {
                                                        "id": 18244,
                                                        "name": "p1",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 18232,
                                                        "src": "41779:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_uint256",
                                                            "typeString": "uint256"
                                                        }
                                                    },
                                                    {
                                                        "id": 18245,
                                                        "name": "p2",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 18234,
                                                        "src": "41783:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_bool",
                                                            "typeString": "bool"
                                                        }
                                                    },
                                                    {
                                                        "id": 18246,
                                                        "name": "p3",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 18236,
                                                        "src": "41787:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_address",
                                                            "typeString": "address"
                                                        }
                                                    }
                                                ],
                                                "expression": {
                                                    "argumentTypes": [
                                                        {
                                                            "typeIdentifier": "t_stringliteral_4267c7f8f9987b1bc934e31e016f4d182f67ab95e55c5567fbc71b4f01a83f4b",
                                                            "typeString": "literal_string \"log(bool,uint,bool,address)\""
                                                        },
                                                        {
                                                            "typeIdentifier": "t_bool",
                                                            "typeString": "bool"
                                                        },
                                                        {
                                                            "typeIdentifier": "t_uint256",
                                                            "typeString": "uint256"
                                                        },
                                                        {
                                                            "typeIdentifier": "t_bool",
                                                            "typeString": "bool"
                                                        },
                                                        {
                                                            "typeIdentifier": "t_address",
                                                            "typeString": "address"
                                                        }
                                                    ],
                                                    "expression": {
                                                        "id": 18240,
                                                        "name": "abi",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 4294967295,
                                                        "src": "41720:3:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_magic_abi",
                                                            "typeString": "abi"
                                                        }
                                                    },
                                                    "id": 18241,
                                                    "isConstant": false,
                                                    "isLValue": false,
                                                    "isPure": true,
                                                    "lValueRequested": false,
                                                    "memberName": "encodeWithSignature",
                                                    "nodeType": "MemberAccess",
                                                    "src": "41720:23:62",
                                                    "typeDescriptions": {
                                                        "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$",
                                                        "typeString": "function (string memory) pure returns (bytes memory)"
                                                    }
                                                },
                                                "id": 18247,
                                                "isConstant": false,
                                                "isLValue": false,
                                                "isPure": false,
                                                "kind": "functionCall",
                                                "lValueRequested": false,
                                                "names": [],
                                                "nodeType": "FunctionCall",
                                                "src": "41720:70:62",
                                                "tryCall": false,
                                                "typeDescriptions": {
                                                    "typeIdentifier": "t_bytes_memory_ptr",
                                                    "typeString": "bytes memory"
                                                }
                                            }
                                        ],
                                        "expression": {
                                            "argumentTypes": [
                                                {
                                                    "typeIdentifier": "t_bytes_memory_ptr",
                                                    "typeString": "bytes memory"
                                                }
                                            ],
                                            "id": 18239,
                                            "name": "_sendLogPayload",
                                            "nodeType": "Identifier",
                                            "overloadedDeclarations": [],
                                            "referencedDeclaration": 12880,
                                            "src": "41704:15:62",
                                            "typeDescriptions": {
                                                "typeIdentifier": "t_function_internal_view$_t_bytes_memory_ptr_$returns$__$",
                                                "typeString": "function (bytes memory) view"
                                            }
                                        },
                                        "id": 18248,
                                        "isConstant": false,
                                        "isLValue": false,
                                        "isPure": false,
                                        "kind": "functionCall",
                                        "lValueRequested": false,
                                        "names": [],
                                        "nodeType": "FunctionCall",
                                        "src": "41704:87:62",
                                        "tryCall": false,
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_tuple$__$",
                                            "typeString": "tuple()"
                                        }
                                    },
                                    "id": 18249,
                                    "nodeType": "ExpressionStatement",
                                    "src": "41704:87:62"
                                }
                            ]
                        },
                        "id": 18251,
                        "implemented": true,
                        "kind": "function",
                        "modifiers": [],
                        "name": "log",
                        "nameLocation": "41643:3:62",
                        "nodeType": "FunctionDefinition",
                        "parameters": {
                            "id": 18237,
                            "nodeType": "ParameterList",
                            "parameters": [
                                {
                                    "constant": false,
                                    "id": 18230,
                                    "mutability": "mutable",
                                    "name": "p0",
                                    "nameLocation": "41652:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 18251,
                                    "src": "41647:7:62",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_bool",
                                        "typeString": "bool"
                                    },
                                    "typeName": {
                                        "id": 18229,
                                        "name": "bool",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "41647:4:62",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_bool",
                                            "typeString": "bool"
                                        }
                                    },
                                    "visibility": "internal"
                                },
                                {
                                    "constant": false,
                                    "id": 18232,
                                    "mutability": "mutable",
                                    "name": "p1",
                                    "nameLocation": "41661:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 18251,
                                    "src": "41656:7:62",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_uint256",
                                        "typeString": "uint256"
                                    },
                                    "typeName": {
                                        "id": 18231,
                                        "name": "uint",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "41656:4:62",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_uint256",
                                            "typeString": "uint256"
                                        }
                                    },
                                    "visibility": "internal"
                                },
                                {
                                    "constant": false,
                                    "id": 18234,
                                    "mutability": "mutable",
                                    "name": "p2",
                                    "nameLocation": "41670:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 18251,
                                    "src": "41665:7:62",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_bool",
                                        "typeString": "bool"
                                    },
                                    "typeName": {
                                        "id": 18233,
                                        "name": "bool",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "41665:4:62",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_bool",
                                            "typeString": "bool"
                                        }
                                    },
                                    "visibility": "internal"
                                },
                                {
                                    "constant": false,
                                    "id": 18236,
                                    "mutability": "mutable",
                                    "name": "p3",
                                    "nameLocation": "41682:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 18251,
                                    "src": "41674:10:62",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_address",
                                        "typeString": "address"
                                    },
                                    "typeName": {
                                        "id": 18235,
                                        "name": "address",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "41674:7:62",
                                        "stateMutability": "nonpayable",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_address",
                                            "typeString": "address"
                                        }
                                    },
                                    "visibility": "internal"
                                }
                            ],
                            "src": "41646:39:62"
                        },
                        "returnParameters": {
                            "id": 18238,
                            "nodeType": "ParameterList",
                            "parameters": [],
                            "src": "41700:0:62"
                        },
                        "scope": 20920,
                        "src": "41634:161:62",
                        "stateMutability": "view",
                        "virtual": false,
                        "visibility": "internal"
                    },
                    {
                        "body": {
                            "id": 18273,
                            "nodeType": "Block",
                            "src": "41864:95:62",
                            "statements": [
                                {
                                    "expression": {
                                        "arguments": [
                                            {
                                                "arguments": [
                                                    {
                                                        "hexValue": "6c6f6728626f6f6c2c75696e742c616464726573732c75696e7429",
                                                        "id": 18265,
                                                        "isConstant": false,
                                                        "isLValue": false,
                                                        "isPure": true,
                                                        "kind": "string",
                                                        "lValueRequested": false,
                                                        "nodeType": "Literal",
                                                        "src": "41908:29:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_stringliteral_caa5236acb25f4f5a01ec5f570d99d895d397c7e9fd20ed31c9c33fa8a17f26d",
                                                            "typeString": "literal_string \"log(bool,uint,address,uint)\""
                                                        },
                                                        "value": "log(bool,uint,address,uint)"
                                                    },
                                                    {
                                                        "id": 18266,
                                                        "name": "p0",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 18253,
                                                        "src": "41939:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_bool",
                                                            "typeString": "bool"
                                                        }
                                                    },
                                                    {
                                                        "id": 18267,
                                                        "name": "p1",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 18255,
                                                        "src": "41943:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_uint256",
                                                            "typeString": "uint256"
                                                        }
                                                    },
                                                    {
                                                        "id": 18268,
                                                        "name": "p2",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 18257,
                                                        "src": "41947:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_address",
                                                            "typeString": "address"
                                                        }
                                                    },
                                                    {
                                                        "id": 18269,
                                                        "name": "p3",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 18259,
                                                        "src": "41951:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_uint256",
                                                            "typeString": "uint256"
                                                        }
                                                    }
                                                ],
                                                "expression": {
                                                    "argumentTypes": [
                                                        {
                                                            "typeIdentifier": "t_stringliteral_caa5236acb25f4f5a01ec5f570d99d895d397c7e9fd20ed31c9c33fa8a17f26d",
                                                            "typeString": "literal_string \"log(bool,uint,address,uint)\""
                                                        },
                                                        {
                                                            "typeIdentifier": "t_bool",
                                                            "typeString": "bool"
                                                        },
                                                        {
                                                            "typeIdentifier": "t_uint256",
                                                            "typeString": "uint256"
                                                        },
                                                        {
                                                            "typeIdentifier": "t_address",
                                                            "typeString": "address"
                                                        },
                                                        {
                                                            "typeIdentifier": "t_uint256",
                                                            "typeString": "uint256"
                                                        }
                                                    ],
                                                    "expression": {
                                                        "id": 18263,
                                                        "name": "abi",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 4294967295,
                                                        "src": "41884:3:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_magic_abi",
                                                            "typeString": "abi"
                                                        }
                                                    },
                                                    "id": 18264,
                                                    "isConstant": false,
                                                    "isLValue": false,
                                                    "isPure": true,
                                                    "lValueRequested": false,
                                                    "memberName": "encodeWithSignature",
                                                    "nodeType": "MemberAccess",
                                                    "src": "41884:23:62",
                                                    "typeDescriptions": {
                                                        "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$",
                                                        "typeString": "function (string memory) pure returns (bytes memory)"
                                                    }
                                                },
                                                "id": 18270,
                                                "isConstant": false,
                                                "isLValue": false,
                                                "isPure": false,
                                                "kind": "functionCall",
                                                "lValueRequested": false,
                                                "names": [],
                                                "nodeType": "FunctionCall",
                                                "src": "41884:70:62",
                                                "tryCall": false,
                                                "typeDescriptions": {
                                                    "typeIdentifier": "t_bytes_memory_ptr",
                                                    "typeString": "bytes memory"
                                                }
                                            }
                                        ],
                                        "expression": {
                                            "argumentTypes": [
                                                {
                                                    "typeIdentifier": "t_bytes_memory_ptr",
                                                    "typeString": "bytes memory"
                                                }
                                            ],
                                            "id": 18262,
                                            "name": "_sendLogPayload",
                                            "nodeType": "Identifier",
                                            "overloadedDeclarations": [],
                                            "referencedDeclaration": 12880,
                                            "src": "41868:15:62",
                                            "typeDescriptions": {
                                                "typeIdentifier": "t_function_internal_view$_t_bytes_memory_ptr_$returns$__$",
                                                "typeString": "function (bytes memory) view"
                                            }
                                        },
                                        "id": 18271,
                                        "isConstant": false,
                                        "isLValue": false,
                                        "isPure": false,
                                        "kind": "functionCall",
                                        "lValueRequested": false,
                                        "names": [],
                                        "nodeType": "FunctionCall",
                                        "src": "41868:87:62",
                                        "tryCall": false,
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_tuple$__$",
                                            "typeString": "tuple()"
                                        }
                                    },
                                    "id": 18272,
                                    "nodeType": "ExpressionStatement",
                                    "src": "41868:87:62"
                                }
                            ]
                        },
                        "id": 18274,
                        "implemented": true,
                        "kind": "function",
                        "modifiers": [],
                        "name": "log",
                        "nameLocation": "41807:3:62",
                        "nodeType": "FunctionDefinition",
                        "parameters": {
                            "id": 18260,
                            "nodeType": "ParameterList",
                            "parameters": [
                                {
                                    "constant": false,
                                    "id": 18253,
                                    "mutability": "mutable",
                                    "name": "p0",
                                    "nameLocation": "41816:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 18274,
                                    "src": "41811:7:62",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_bool",
                                        "typeString": "bool"
                                    },
                                    "typeName": {
                                        "id": 18252,
                                        "name": "bool",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "41811:4:62",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_bool",
                                            "typeString": "bool"
                                        }
                                    },
                                    "visibility": "internal"
                                },
                                {
                                    "constant": false,
                                    "id": 18255,
                                    "mutability": "mutable",
                                    "name": "p1",
                                    "nameLocation": "41825:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 18274,
                                    "src": "41820:7:62",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_uint256",
                                        "typeString": "uint256"
                                    },
                                    "typeName": {
                                        "id": 18254,
                                        "name": "uint",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "41820:4:62",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_uint256",
                                            "typeString": "uint256"
                                        }
                                    },
                                    "visibility": "internal"
                                },
                                {
                                    "constant": false,
                                    "id": 18257,
                                    "mutability": "mutable",
                                    "name": "p2",
                                    "nameLocation": "41837:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 18274,
                                    "src": "41829:10:62",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_address",
                                        "typeString": "address"
                                    },
                                    "typeName": {
                                        "id": 18256,
                                        "name": "address",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "41829:7:62",
                                        "stateMutability": "nonpayable",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_address",
                                            "typeString": "address"
                                        }
                                    },
                                    "visibility": "internal"
                                },
                                {
                                    "constant": false,
                                    "id": 18259,
                                    "mutability": "mutable",
                                    "name": "p3",
                                    "nameLocation": "41846:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 18274,
                                    "src": "41841:7:62",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_uint256",
                                        "typeString": "uint256"
                                    },
                                    "typeName": {
                                        "id": 18258,
                                        "name": "uint",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "41841:4:62",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_uint256",
                                            "typeString": "uint256"
                                        }
                                    },
                                    "visibility": "internal"
                                }
                            ],
                            "src": "41810:39:62"
                        },
                        "returnParameters": {
                            "id": 18261,
                            "nodeType": "ParameterList",
                            "parameters": [],
                            "src": "41864:0:62"
                        },
                        "scope": 20920,
                        "src": "41798:161:62",
                        "stateMutability": "view",
                        "virtual": false,
                        "visibility": "internal"
                    },
                    {
                        "body": {
                            "id": 18296,
                            "nodeType": "Block",
                            "src": "42037:97:62",
                            "statements": [
                                {
                                    "expression": {
                                        "arguments": [
                                            {
                                                "arguments": [
                                                    {
                                                        "hexValue": "6c6f6728626f6f6c2c75696e742c616464726573732c737472696e6729",
                                                        "id": 18288,
                                                        "isConstant": false,
                                                        "isLValue": false,
                                                        "isPure": true,
                                                        "kind": "string",
                                                        "lValueRequested": false,
                                                        "nodeType": "Literal",
                                                        "src": "42081:31:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_stringliteral_180913415ccbde45e0d2184e3dd2387bed86df0066bd73fcb896bc02a6226689",
                                                            "typeString": "literal_string \"log(bool,uint,address,string)\""
                                                        },
                                                        "value": "log(bool,uint,address,string)"
                                                    },
                                                    {
                                                        "id": 18289,
                                                        "name": "p0",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 18276,
                                                        "src": "42114:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_bool",
                                                            "typeString": "bool"
                                                        }
                                                    },
                                                    {
                                                        "id": 18290,
                                                        "name": "p1",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 18278,
                                                        "src": "42118:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_uint256",
                                                            "typeString": "uint256"
                                                        }
                                                    },
                                                    {
                                                        "id": 18291,
                                                        "name": "p2",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 18280,
                                                        "src": "42122:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_address",
                                                            "typeString": "address"
                                                        }
                                                    },
                                                    {
                                                        "id": 18292,
                                                        "name": "p3",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 18282,
                                                        "src": "42126:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_string_memory_ptr",
                                                            "typeString": "string memory"
                                                        }
                                                    }
                                                ],
                                                "expression": {
                                                    "argumentTypes": [
                                                        {
                                                            "typeIdentifier": "t_stringliteral_180913415ccbde45e0d2184e3dd2387bed86df0066bd73fcb896bc02a6226689",
                                                            "typeString": "literal_string \"log(bool,uint,address,string)\""
                                                        },
                                                        {
                                                            "typeIdentifier": "t_bool",
                                                            "typeString": "bool"
                                                        },
                                                        {
                                                            "typeIdentifier": "t_uint256",
                                                            "typeString": "uint256"
                                                        },
                                                        {
                                                            "typeIdentifier": "t_address",
                                                            "typeString": "address"
                                                        },
                                                        {
                                                            "typeIdentifier": "t_string_memory_ptr",
                                                            "typeString": "string memory"
                                                        }
                                                    ],
                                                    "expression": {
                                                        "id": 18286,
                                                        "name": "abi",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 4294967295,
                                                        "src": "42057:3:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_magic_abi",
                                                            "typeString": "abi"
                                                        }
                                                    },
                                                    "id": 18287,
                                                    "isConstant": false,
                                                    "isLValue": false,
                                                    "isPure": true,
                                                    "lValueRequested": false,
                                                    "memberName": "encodeWithSignature",
                                                    "nodeType": "MemberAccess",
                                                    "src": "42057:23:62",
                                                    "typeDescriptions": {
                                                        "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$",
                                                        "typeString": "function (string memory) pure returns (bytes memory)"
                                                    }
                                                },
                                                "id": 18293,
                                                "isConstant": false,
                                                "isLValue": false,
                                                "isPure": false,
                                                "kind": "functionCall",
                                                "lValueRequested": false,
                                                "names": [],
                                                "nodeType": "FunctionCall",
                                                "src": "42057:72:62",
                                                "tryCall": false,
                                                "typeDescriptions": {
                                                    "typeIdentifier": "t_bytes_memory_ptr",
                                                    "typeString": "bytes memory"
                                                }
                                            }
                                        ],
                                        "expression": {
                                            "argumentTypes": [
                                                {
                                                    "typeIdentifier": "t_bytes_memory_ptr",
                                                    "typeString": "bytes memory"
                                                }
                                            ],
                                            "id": 18285,
                                            "name": "_sendLogPayload",
                                            "nodeType": "Identifier",
                                            "overloadedDeclarations": [],
                                            "referencedDeclaration": 12880,
                                            "src": "42041:15:62",
                                            "typeDescriptions": {
                                                "typeIdentifier": "t_function_internal_view$_t_bytes_memory_ptr_$returns$__$",
                                                "typeString": "function (bytes memory) view"
                                            }
                                        },
                                        "id": 18294,
                                        "isConstant": false,
                                        "isLValue": false,
                                        "isPure": false,
                                        "kind": "functionCall",
                                        "lValueRequested": false,
                                        "names": [],
                                        "nodeType": "FunctionCall",
                                        "src": "42041:89:62",
                                        "tryCall": false,
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_tuple$__$",
                                            "typeString": "tuple()"
                                        }
                                    },
                                    "id": 18295,
                                    "nodeType": "ExpressionStatement",
                                    "src": "42041:89:62"
                                }
                            ]
                        },
                        "id": 18297,
                        "implemented": true,
                        "kind": "function",
                        "modifiers": [],
                        "name": "log",
                        "nameLocation": "41971:3:62",
                        "nodeType": "FunctionDefinition",
                        "parameters": {
                            "id": 18283,
                            "nodeType": "ParameterList",
                            "parameters": [
                                {
                                    "constant": false,
                                    "id": 18276,
                                    "mutability": "mutable",
                                    "name": "p0",
                                    "nameLocation": "41980:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 18297,
                                    "src": "41975:7:62",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_bool",
                                        "typeString": "bool"
                                    },
                                    "typeName": {
                                        "id": 18275,
                                        "name": "bool",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "41975:4:62",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_bool",
                                            "typeString": "bool"
                                        }
                                    },
                                    "visibility": "internal"
                                },
                                {
                                    "constant": false,
                                    "id": 18278,
                                    "mutability": "mutable",
                                    "name": "p1",
                                    "nameLocation": "41989:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 18297,
                                    "src": "41984:7:62",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_uint256",
                                        "typeString": "uint256"
                                    },
                                    "typeName": {
                                        "id": 18277,
                                        "name": "uint",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "41984:4:62",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_uint256",
                                            "typeString": "uint256"
                                        }
                                    },
                                    "visibility": "internal"
                                },
                                {
                                    "constant": false,
                                    "id": 18280,
                                    "mutability": "mutable",
                                    "name": "p2",
                                    "nameLocation": "42001:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 18297,
                                    "src": "41993:10:62",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_address",
                                        "typeString": "address"
                                    },
                                    "typeName": {
                                        "id": 18279,
                                        "name": "address",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "41993:7:62",
                                        "stateMutability": "nonpayable",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_address",
                                            "typeString": "address"
                                        }
                                    },
                                    "visibility": "internal"
                                },
                                {
                                    "constant": false,
                                    "id": 18282,
                                    "mutability": "mutable",
                                    "name": "p3",
                                    "nameLocation": "42019:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 18297,
                                    "src": "42005:16:62",
                                    "stateVariable": false,
                                    "storageLocation": "memory",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_string_memory_ptr",
                                        "typeString": "string"
                                    },
                                    "typeName": {
                                        "id": 18281,
                                        "name": "string",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "42005:6:62",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_string_storage_ptr",
                                            "typeString": "string"
                                        }
                                    },
                                    "visibility": "internal"
                                }
                            ],
                            "src": "41974:48:62"
                        },
                        "returnParameters": {
                            "id": 18284,
                            "nodeType": "ParameterList",
                            "parameters": [],
                            "src": "42037:0:62"
                        },
                        "scope": 20920,
                        "src": "41962:172:62",
                        "stateMutability": "view",
                        "virtual": false,
                        "visibility": "internal"
                    },
                    {
                        "body": {
                            "id": 18319,
                            "nodeType": "Block",
                            "src": "42203:95:62",
                            "statements": [
                                {
                                    "expression": {
                                        "arguments": [
                                            {
                                                "arguments": [
                                                    {
                                                        "hexValue": "6c6f6728626f6f6c2c75696e742c616464726573732c626f6f6c29",
                                                        "id": 18311,
                                                        "isConstant": false,
                                                        "isLValue": false,
                                                        "isPure": true,
                                                        "kind": "string",
                                                        "lValueRequested": false,
                                                        "nodeType": "Literal",
                                                        "src": "42247:29:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_stringliteral_65adf4082cd731bd1252f957eddeecdbdcf11e48975b5ac20d902fcb218153fa",
                                                            "typeString": "literal_string \"log(bool,uint,address,bool)\""
                                                        },
                                                        "value": "log(bool,uint,address,bool)"
                                                    },
                                                    {
                                                        "id": 18312,
                                                        "name": "p0",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 18299,
                                                        "src": "42278:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_bool",
                                                            "typeString": "bool"
                                                        }
                                                    },
                                                    {
                                                        "id": 18313,
                                                        "name": "p1",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 18301,
                                                        "src": "42282:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_uint256",
                                                            "typeString": "uint256"
                                                        }
                                                    },
                                                    {
                                                        "id": 18314,
                                                        "name": "p2",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 18303,
                                                        "src": "42286:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_address",
                                                            "typeString": "address"
                                                        }
                                                    },
                                                    {
                                                        "id": 18315,
                                                        "name": "p3",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 18305,
                                                        "src": "42290:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_bool",
                                                            "typeString": "bool"
                                                        }
                                                    }
                                                ],
                                                "expression": {
                                                    "argumentTypes": [
                                                        {
                                                            "typeIdentifier": "t_stringliteral_65adf4082cd731bd1252f957eddeecdbdcf11e48975b5ac20d902fcb218153fa",
                                                            "typeString": "literal_string \"log(bool,uint,address,bool)\""
                                                        },
                                                        {
                                                            "typeIdentifier": "t_bool",
                                                            "typeString": "bool"
                                                        },
                                                        {
                                                            "typeIdentifier": "t_uint256",
                                                            "typeString": "uint256"
                                                        },
                                                        {
                                                            "typeIdentifier": "t_address",
                                                            "typeString": "address"
                                                        },
                                                        {
                                                            "typeIdentifier": "t_bool",
                                                            "typeString": "bool"
                                                        }
                                                    ],
                                                    "expression": {
                                                        "id": 18309,
                                                        "name": "abi",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 4294967295,
                                                        "src": "42223:3:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_magic_abi",
                                                            "typeString": "abi"
                                                        }
                                                    },
                                                    "id": 18310,
                                                    "isConstant": false,
                                                    "isLValue": false,
                                                    "isPure": true,
                                                    "lValueRequested": false,
                                                    "memberName": "encodeWithSignature",
                                                    "nodeType": "MemberAccess",
                                                    "src": "42223:23:62",
                                                    "typeDescriptions": {
                                                        "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$",
                                                        "typeString": "function (string memory) pure returns (bytes memory)"
                                                    }
                                                },
                                                "id": 18316,
                                                "isConstant": false,
                                                "isLValue": false,
                                                "isPure": false,
                                                "kind": "functionCall",
                                                "lValueRequested": false,
                                                "names": [],
                                                "nodeType": "FunctionCall",
                                                "src": "42223:70:62",
                                                "tryCall": false,
                                                "typeDescriptions": {
                                                    "typeIdentifier": "t_bytes_memory_ptr",
                                                    "typeString": "bytes memory"
                                                }
                                            }
                                        ],
                                        "expression": {
                                            "argumentTypes": [
                                                {
                                                    "typeIdentifier": "t_bytes_memory_ptr",
                                                    "typeString": "bytes memory"
                                                }
                                            ],
                                            "id": 18308,
                                            "name": "_sendLogPayload",
                                            "nodeType": "Identifier",
                                            "overloadedDeclarations": [],
                                            "referencedDeclaration": 12880,
                                            "src": "42207:15:62",
                                            "typeDescriptions": {
                                                "typeIdentifier": "t_function_internal_view$_t_bytes_memory_ptr_$returns$__$",
                                                "typeString": "function (bytes memory) view"
                                            }
                                        },
                                        "id": 18317,
                                        "isConstant": false,
                                        "isLValue": false,
                                        "isPure": false,
                                        "kind": "functionCall",
                                        "lValueRequested": false,
                                        "names": [],
                                        "nodeType": "FunctionCall",
                                        "src": "42207:87:62",
                                        "tryCall": false,
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_tuple$__$",
                                            "typeString": "tuple()"
                                        }
                                    },
                                    "id": 18318,
                                    "nodeType": "ExpressionStatement",
                                    "src": "42207:87:62"
                                }
                            ]
                        },
                        "id": 18320,
                        "implemented": true,
                        "kind": "function",
                        "modifiers": [],
                        "name": "log",
                        "nameLocation": "42146:3:62",
                        "nodeType": "FunctionDefinition",
                        "parameters": {
                            "id": 18306,
                            "nodeType": "ParameterList",
                            "parameters": [
                                {
                                    "constant": false,
                                    "id": 18299,
                                    "mutability": "mutable",
                                    "name": "p0",
                                    "nameLocation": "42155:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 18320,
                                    "src": "42150:7:62",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_bool",
                                        "typeString": "bool"
                                    },
                                    "typeName": {
                                        "id": 18298,
                                        "name": "bool",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "42150:4:62",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_bool",
                                            "typeString": "bool"
                                        }
                                    },
                                    "visibility": "internal"
                                },
                                {
                                    "constant": false,
                                    "id": 18301,
                                    "mutability": "mutable",
                                    "name": "p1",
                                    "nameLocation": "42164:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 18320,
                                    "src": "42159:7:62",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_uint256",
                                        "typeString": "uint256"
                                    },
                                    "typeName": {
                                        "id": 18300,
                                        "name": "uint",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "42159:4:62",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_uint256",
                                            "typeString": "uint256"
                                        }
                                    },
                                    "visibility": "internal"
                                },
                                {
                                    "constant": false,
                                    "id": 18303,
                                    "mutability": "mutable",
                                    "name": "p2",
                                    "nameLocation": "42176:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 18320,
                                    "src": "42168:10:62",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_address",
                                        "typeString": "address"
                                    },
                                    "typeName": {
                                        "id": 18302,
                                        "name": "address",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "42168:7:62",
                                        "stateMutability": "nonpayable",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_address",
                                            "typeString": "address"
                                        }
                                    },
                                    "visibility": "internal"
                                },
                                {
                                    "constant": false,
                                    "id": 18305,
                                    "mutability": "mutable",
                                    "name": "p3",
                                    "nameLocation": "42185:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 18320,
                                    "src": "42180:7:62",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_bool",
                                        "typeString": "bool"
                                    },
                                    "typeName": {
                                        "id": 18304,
                                        "name": "bool",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "42180:4:62",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_bool",
                                            "typeString": "bool"
                                        }
                                    },
                                    "visibility": "internal"
                                }
                            ],
                            "src": "42149:39:62"
                        },
                        "returnParameters": {
                            "id": 18307,
                            "nodeType": "ParameterList",
                            "parameters": [],
                            "src": "42203:0:62"
                        },
                        "scope": 20920,
                        "src": "42137:161:62",
                        "stateMutability": "view",
                        "virtual": false,
                        "visibility": "internal"
                    },
                    {
                        "body": {
                            "id": 18342,
                            "nodeType": "Block",
                            "src": "42370:98:62",
                            "statements": [
                                {
                                    "expression": {
                                        "arguments": [
                                            {
                                                "arguments": [
                                                    {
                                                        "hexValue": "6c6f6728626f6f6c2c75696e742c616464726573732c6164647265737329",
                                                        "id": 18334,
                                                        "isConstant": false,
                                                        "isLValue": false,
                                                        "isPure": true,
                                                        "kind": "string",
                                                        "lValueRequested": false,
                                                        "nodeType": "Literal",
                                                        "src": "42414:32:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_stringliteral_8a2f90aa07fc9781ea213028ce9aef0a44d6a31a77e2f4d54d97a0d808348d5d",
                                                            "typeString": "literal_string \"log(bool,uint,address,address)\""
                                                        },
                                                        "value": "log(bool,uint,address,address)"
                                                    },
                                                    {
                                                        "id": 18335,
                                                        "name": "p0",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 18322,
                                                        "src": "42448:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_bool",
                                                            "typeString": "bool"
                                                        }
                                                    },
                                                    {
                                                        "id": 18336,
                                                        "name": "p1",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 18324,
                                                        "src": "42452:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_uint256",
                                                            "typeString": "uint256"
                                                        }
                                                    },
                                                    {
                                                        "id": 18337,
                                                        "name": "p2",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 18326,
                                                        "src": "42456:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_address",
                                                            "typeString": "address"
                                                        }
                                                    },
                                                    {
                                                        "id": 18338,
                                                        "name": "p3",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 18328,
                                                        "src": "42460:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_address",
                                                            "typeString": "address"
                                                        }
                                                    }
                                                ],
                                                "expression": {
                                                    "argumentTypes": [
                                                        {
                                                            "typeIdentifier": "t_stringliteral_8a2f90aa07fc9781ea213028ce9aef0a44d6a31a77e2f4d54d97a0d808348d5d",
                                                            "typeString": "literal_string \"log(bool,uint,address,address)\""
                                                        },
                                                        {
                                                            "typeIdentifier": "t_bool",
                                                            "typeString": "bool"
                                                        },
                                                        {
                                                            "typeIdentifier": "t_uint256",
                                                            "typeString": "uint256"
                                                        },
                                                        {
                                                            "typeIdentifier": "t_address",
                                                            "typeString": "address"
                                                        },
                                                        {
                                                            "typeIdentifier": "t_address",
                                                            "typeString": "address"
                                                        }
                                                    ],
                                                    "expression": {
                                                        "id": 18332,
                                                        "name": "abi",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 4294967295,
                                                        "src": "42390:3:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_magic_abi",
                                                            "typeString": "abi"
                                                        }
                                                    },
                                                    "id": 18333,
                                                    "isConstant": false,
                                                    "isLValue": false,
                                                    "isPure": true,
                                                    "lValueRequested": false,
                                                    "memberName": "encodeWithSignature",
                                                    "nodeType": "MemberAccess",
                                                    "src": "42390:23:62",
                                                    "typeDescriptions": {
                                                        "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$",
                                                        "typeString": "function (string memory) pure returns (bytes memory)"
                                                    }
                                                },
                                                "id": 18339,
                                                "isConstant": false,
                                                "isLValue": false,
                                                "isPure": false,
                                                "kind": "functionCall",
                                                "lValueRequested": false,
                                                "names": [],
                                                "nodeType": "FunctionCall",
                                                "src": "42390:73:62",
                                                "tryCall": false,
                                                "typeDescriptions": {
                                                    "typeIdentifier": "t_bytes_memory_ptr",
                                                    "typeString": "bytes memory"
                                                }
                                            }
                                        ],
                                        "expression": {
                                            "argumentTypes": [
                                                {
                                                    "typeIdentifier": "t_bytes_memory_ptr",
                                                    "typeString": "bytes memory"
                                                }
                                            ],
                                            "id": 18331,
                                            "name": "_sendLogPayload",
                                            "nodeType": "Identifier",
                                            "overloadedDeclarations": [],
                                            "referencedDeclaration": 12880,
                                            "src": "42374:15:62",
                                            "typeDescriptions": {
                                                "typeIdentifier": "t_function_internal_view$_t_bytes_memory_ptr_$returns$__$",
                                                "typeString": "function (bytes memory) view"
                                            }
                                        },
                                        "id": 18340,
                                        "isConstant": false,
                                        "isLValue": false,
                                        "isPure": false,
                                        "kind": "functionCall",
                                        "lValueRequested": false,
                                        "names": [],
                                        "nodeType": "FunctionCall",
                                        "src": "42374:90:62",
                                        "tryCall": false,
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_tuple$__$",
                                            "typeString": "tuple()"
                                        }
                                    },
                                    "id": 18341,
                                    "nodeType": "ExpressionStatement",
                                    "src": "42374:90:62"
                                }
                            ]
                        },
                        "id": 18343,
                        "implemented": true,
                        "kind": "function",
                        "modifiers": [],
                        "name": "log",
                        "nameLocation": "42310:3:62",
                        "nodeType": "FunctionDefinition",
                        "parameters": {
                            "id": 18329,
                            "nodeType": "ParameterList",
                            "parameters": [
                                {
                                    "constant": false,
                                    "id": 18322,
                                    "mutability": "mutable",
                                    "name": "p0",
                                    "nameLocation": "42319:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 18343,
                                    "src": "42314:7:62",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_bool",
                                        "typeString": "bool"
                                    },
                                    "typeName": {
                                        "id": 18321,
                                        "name": "bool",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "42314:4:62",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_bool",
                                            "typeString": "bool"
                                        }
                                    },
                                    "visibility": "internal"
                                },
                                {
                                    "constant": false,
                                    "id": 18324,
                                    "mutability": "mutable",
                                    "name": "p1",
                                    "nameLocation": "42328:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 18343,
                                    "src": "42323:7:62",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_uint256",
                                        "typeString": "uint256"
                                    },
                                    "typeName": {
                                        "id": 18323,
                                        "name": "uint",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "42323:4:62",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_uint256",
                                            "typeString": "uint256"
                                        }
                                    },
                                    "visibility": "internal"
                                },
                                {
                                    "constant": false,
                                    "id": 18326,
                                    "mutability": "mutable",
                                    "name": "p2",
                                    "nameLocation": "42340:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 18343,
                                    "src": "42332:10:62",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_address",
                                        "typeString": "address"
                                    },
                                    "typeName": {
                                        "id": 18325,
                                        "name": "address",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "42332:7:62",
                                        "stateMutability": "nonpayable",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_address",
                                            "typeString": "address"
                                        }
                                    },
                                    "visibility": "internal"
                                },
                                {
                                    "constant": false,
                                    "id": 18328,
                                    "mutability": "mutable",
                                    "name": "p3",
                                    "nameLocation": "42352:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 18343,
                                    "src": "42344:10:62",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_address",
                                        "typeString": "address"
                                    },
                                    "typeName": {
                                        "id": 18327,
                                        "name": "address",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "42344:7:62",
                                        "stateMutability": "nonpayable",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_address",
                                            "typeString": "address"
                                        }
                                    },
                                    "visibility": "internal"
                                }
                            ],
                            "src": "42313:42:62"
                        },
                        "returnParameters": {
                            "id": 18330,
                            "nodeType": "ParameterList",
                            "parameters": [],
                            "src": "42370:0:62"
                        },
                        "scope": 20920,
                        "src": "42301:167:62",
                        "stateMutability": "view",
                        "virtual": false,
                        "visibility": "internal"
                    },
                    {
                        "body": {
                            "id": 18365,
                            "nodeType": "Block",
                            "src": "42543:94:62",
                            "statements": [
                                {
                                    "expression": {
                                        "arguments": [
                                            {
                                                "arguments": [
                                                    {
                                                        "hexValue": "6c6f6728626f6f6c2c737472696e672c75696e742c75696e7429",
                                                        "id": 18357,
                                                        "isConstant": false,
                                                        "isLValue": false,
                                                        "isPure": true,
                                                        "kind": "string",
                                                        "lValueRequested": false,
                                                        "nodeType": "Literal",
                                                        "src": "42587:28:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_stringliteral_8e4ae86e71c7c77322d634e39fba7bc2a7e4fbe918bce10fe47326050a13b7c9",
                                                            "typeString": "literal_string \"log(bool,string,uint,uint)\""
                                                        },
                                                        "value": "log(bool,string,uint,uint)"
                                                    },
                                                    {
                                                        "id": 18358,
                                                        "name": "p0",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 18345,
                                                        "src": "42617:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_bool",
                                                            "typeString": "bool"
                                                        }
                                                    },
                                                    {
                                                        "id": 18359,
                                                        "name": "p1",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 18347,
                                                        "src": "42621:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_string_memory_ptr",
                                                            "typeString": "string memory"
                                                        }
                                                    },
                                                    {
                                                        "id": 18360,
                                                        "name": "p2",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 18349,
                                                        "src": "42625:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_uint256",
                                                            "typeString": "uint256"
                                                        }
                                                    },
                                                    {
                                                        "id": 18361,
                                                        "name": "p3",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 18351,
                                                        "src": "42629:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_uint256",
                                                            "typeString": "uint256"
                                                        }
                                                    }
                                                ],
                                                "expression": {
                                                    "argumentTypes": [
                                                        {
                                                            "typeIdentifier": "t_stringliteral_8e4ae86e71c7c77322d634e39fba7bc2a7e4fbe918bce10fe47326050a13b7c9",
                                                            "typeString": "literal_string \"log(bool,string,uint,uint)\""
                                                        },
                                                        {
                                                            "typeIdentifier": "t_bool",
                                                            "typeString": "bool"
                                                        },
                                                        {
                                                            "typeIdentifier": "t_string_memory_ptr",
                                                            "typeString": "string memory"
                                                        },
                                                        {
                                                            "typeIdentifier": "t_uint256",
                                                            "typeString": "uint256"
                                                        },
                                                        {
                                                            "typeIdentifier": "t_uint256",
                                                            "typeString": "uint256"
                                                        }
                                                    ],
                                                    "expression": {
                                                        "id": 18355,
                                                        "name": "abi",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 4294967295,
                                                        "src": "42563:3:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_magic_abi",
                                                            "typeString": "abi"
                                                        }
                                                    },
                                                    "id": 18356,
                                                    "isConstant": false,
                                                    "isLValue": false,
                                                    "isPure": true,
                                                    "lValueRequested": false,
                                                    "memberName": "encodeWithSignature",
                                                    "nodeType": "MemberAccess",
                                                    "src": "42563:23:62",
                                                    "typeDescriptions": {
                                                        "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$",
                                                        "typeString": "function (string memory) pure returns (bytes memory)"
                                                    }
                                                },
                                                "id": 18362,
                                                "isConstant": false,
                                                "isLValue": false,
                                                "isPure": false,
                                                "kind": "functionCall",
                                                "lValueRequested": false,
                                                "names": [],
                                                "nodeType": "FunctionCall",
                                                "src": "42563:69:62",
                                                "tryCall": false,
                                                "typeDescriptions": {
                                                    "typeIdentifier": "t_bytes_memory_ptr",
                                                    "typeString": "bytes memory"
                                                }
                                            }
                                        ],
                                        "expression": {
                                            "argumentTypes": [
                                                {
                                                    "typeIdentifier": "t_bytes_memory_ptr",
                                                    "typeString": "bytes memory"
                                                }
                                            ],
                                            "id": 18354,
                                            "name": "_sendLogPayload",
                                            "nodeType": "Identifier",
                                            "overloadedDeclarations": [],
                                            "referencedDeclaration": 12880,
                                            "src": "42547:15:62",
                                            "typeDescriptions": {
                                                "typeIdentifier": "t_function_internal_view$_t_bytes_memory_ptr_$returns$__$",
                                                "typeString": "function (bytes memory) view"
                                            }
                                        },
                                        "id": 18363,
                                        "isConstant": false,
                                        "isLValue": false,
                                        "isPure": false,
                                        "kind": "functionCall",
                                        "lValueRequested": false,
                                        "names": [],
                                        "nodeType": "FunctionCall",
                                        "src": "42547:86:62",
                                        "tryCall": false,
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_tuple$__$",
                                            "typeString": "tuple()"
                                        }
                                    },
                                    "id": 18364,
                                    "nodeType": "ExpressionStatement",
                                    "src": "42547:86:62"
                                }
                            ]
                        },
                        "id": 18366,
                        "implemented": true,
                        "kind": "function",
                        "modifiers": [],
                        "name": "log",
                        "nameLocation": "42480:3:62",
                        "nodeType": "FunctionDefinition",
                        "parameters": {
                            "id": 18352,
                            "nodeType": "ParameterList",
                            "parameters": [
                                {
                                    "constant": false,
                                    "id": 18345,
                                    "mutability": "mutable",
                                    "name": "p0",
                                    "nameLocation": "42489:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 18366,
                                    "src": "42484:7:62",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_bool",
                                        "typeString": "bool"
                                    },
                                    "typeName": {
                                        "id": 18344,
                                        "name": "bool",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "42484:4:62",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_bool",
                                            "typeString": "bool"
                                        }
                                    },
                                    "visibility": "internal"
                                },
                                {
                                    "constant": false,
                                    "id": 18347,
                                    "mutability": "mutable",
                                    "name": "p1",
                                    "nameLocation": "42507:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 18366,
                                    "src": "42493:16:62",
                                    "stateVariable": false,
                                    "storageLocation": "memory",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_string_memory_ptr",
                                        "typeString": "string"
                                    },
                                    "typeName": {
                                        "id": 18346,
                                        "name": "string",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "42493:6:62",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_string_storage_ptr",
                                            "typeString": "string"
                                        }
                                    },
                                    "visibility": "internal"
                                },
                                {
                                    "constant": false,
                                    "id": 18349,
                                    "mutability": "mutable",
                                    "name": "p2",
                                    "nameLocation": "42516:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 18366,
                                    "src": "42511:7:62",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_uint256",
                                        "typeString": "uint256"
                                    },
                                    "typeName": {
                                        "id": 18348,
                                        "name": "uint",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "42511:4:62",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_uint256",
                                            "typeString": "uint256"
                                        }
                                    },
                                    "visibility": "internal"
                                },
                                {
                                    "constant": false,
                                    "id": 18351,
                                    "mutability": "mutable",
                                    "name": "p3",
                                    "nameLocation": "42525:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 18366,
                                    "src": "42520:7:62",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_uint256",
                                        "typeString": "uint256"
                                    },
                                    "typeName": {
                                        "id": 18350,
                                        "name": "uint",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "42520:4:62",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_uint256",
                                            "typeString": "uint256"
                                        }
                                    },
                                    "visibility": "internal"
                                }
                            ],
                            "src": "42483:45:62"
                        },
                        "returnParameters": {
                            "id": 18353,
                            "nodeType": "ParameterList",
                            "parameters": [],
                            "src": "42543:0:62"
                        },
                        "scope": 20920,
                        "src": "42471:166:62",
                        "stateMutability": "view",
                        "virtual": false,
                        "visibility": "internal"
                    },
                    {
                        "body": {
                            "id": 18388,
                            "nodeType": "Block",
                            "src": "42721:96:62",
                            "statements": [
                                {
                                    "expression": {
                                        "arguments": [
                                            {
                                                "arguments": [
                                                    {
                                                        "hexValue": "6c6f6728626f6f6c2c737472696e672c75696e742c737472696e6729",
                                                        "id": 18380,
                                                        "isConstant": false,
                                                        "isLValue": false,
                                                        "isPure": true,
                                                        "kind": "string",
                                                        "lValueRequested": false,
                                                        "nodeType": "Literal",
                                                        "src": "42765:30:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_stringliteral_77a1abed9f9fbc44023408083dd5c1cf42b0b566799470c6ab535b12d0f8f649",
                                                            "typeString": "literal_string \"log(bool,string,uint,string)\""
                                                        },
                                                        "value": "log(bool,string,uint,string)"
                                                    },
                                                    {
                                                        "id": 18381,
                                                        "name": "p0",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 18368,
                                                        "src": "42797:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_bool",
                                                            "typeString": "bool"
                                                        }
                                                    },
                                                    {
                                                        "id": 18382,
                                                        "name": "p1",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 18370,
                                                        "src": "42801:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_string_memory_ptr",
                                                            "typeString": "string memory"
                                                        }
                                                    },
                                                    {
                                                        "id": 18383,
                                                        "name": "p2",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 18372,
                                                        "src": "42805:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_uint256",
                                                            "typeString": "uint256"
                                                        }
                                                    },
                                                    {
                                                        "id": 18384,
                                                        "name": "p3",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 18374,
                                                        "src": "42809:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_string_memory_ptr",
                                                            "typeString": "string memory"
                                                        }
                                                    }
                                                ],
                                                "expression": {
                                                    "argumentTypes": [
                                                        {
                                                            "typeIdentifier": "t_stringliteral_77a1abed9f9fbc44023408083dd5c1cf42b0b566799470c6ab535b12d0f8f649",
                                                            "typeString": "literal_string \"log(bool,string,uint,string)\""
                                                        },
                                                        {
                                                            "typeIdentifier": "t_bool",
                                                            "typeString": "bool"
                                                        },
                                                        {
                                                            "typeIdentifier": "t_string_memory_ptr",
                                                            "typeString": "string memory"
                                                        },
                                                        {
                                                            "typeIdentifier": "t_uint256",
                                                            "typeString": "uint256"
                                                        },
                                                        {
                                                            "typeIdentifier": "t_string_memory_ptr",
                                                            "typeString": "string memory"
                                                        }
                                                    ],
                                                    "expression": {
                                                        "id": 18378,
                                                        "name": "abi",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 4294967295,
                                                        "src": "42741:3:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_magic_abi",
                                                            "typeString": "abi"
                                                        }
                                                    },
                                                    "id": 18379,
                                                    "isConstant": false,
                                                    "isLValue": false,
                                                    "isPure": true,
                                                    "lValueRequested": false,
                                                    "memberName": "encodeWithSignature",
                                                    "nodeType": "MemberAccess",
                                                    "src": "42741:23:62",
                                                    "typeDescriptions": {
                                                        "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$",
                                                        "typeString": "function (string memory) pure returns (bytes memory)"
                                                    }
                                                },
                                                "id": 18385,
                                                "isConstant": false,
                                                "isLValue": false,
                                                "isPure": false,
                                                "kind": "functionCall",
                                                "lValueRequested": false,
                                                "names": [],
                                                "nodeType": "FunctionCall",
                                                "src": "42741:71:62",
                                                "tryCall": false,
                                                "typeDescriptions": {
                                                    "typeIdentifier": "t_bytes_memory_ptr",
                                                    "typeString": "bytes memory"
                                                }
                                            }
                                        ],
                                        "expression": {
                                            "argumentTypes": [
                                                {
                                                    "typeIdentifier": "t_bytes_memory_ptr",
                                                    "typeString": "bytes memory"
                                                }
                                            ],
                                            "id": 18377,
                                            "name": "_sendLogPayload",
                                            "nodeType": "Identifier",
                                            "overloadedDeclarations": [],
                                            "referencedDeclaration": 12880,
                                            "src": "42725:15:62",
                                            "typeDescriptions": {
                                                "typeIdentifier": "t_function_internal_view$_t_bytes_memory_ptr_$returns$__$",
                                                "typeString": "function (bytes memory) view"
                                            }
                                        },
                                        "id": 18386,
                                        "isConstant": false,
                                        "isLValue": false,
                                        "isPure": false,
                                        "kind": "functionCall",
                                        "lValueRequested": false,
                                        "names": [],
                                        "nodeType": "FunctionCall",
                                        "src": "42725:88:62",
                                        "tryCall": false,
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_tuple$__$",
                                            "typeString": "tuple()"
                                        }
                                    },
                                    "id": 18387,
                                    "nodeType": "ExpressionStatement",
                                    "src": "42725:88:62"
                                }
                            ]
                        },
                        "id": 18389,
                        "implemented": true,
                        "kind": "function",
                        "modifiers": [],
                        "name": "log",
                        "nameLocation": "42649:3:62",
                        "nodeType": "FunctionDefinition",
                        "parameters": {
                            "id": 18375,
                            "nodeType": "ParameterList",
                            "parameters": [
                                {
                                    "constant": false,
                                    "id": 18368,
                                    "mutability": "mutable",
                                    "name": "p0",
                                    "nameLocation": "42658:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 18389,
                                    "src": "42653:7:62",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_bool",
                                        "typeString": "bool"
                                    },
                                    "typeName": {
                                        "id": 18367,
                                        "name": "bool",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "42653:4:62",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_bool",
                                            "typeString": "bool"
                                        }
                                    },
                                    "visibility": "internal"
                                },
                                {
                                    "constant": false,
                                    "id": 18370,
                                    "mutability": "mutable",
                                    "name": "p1",
                                    "nameLocation": "42676:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 18389,
                                    "src": "42662:16:62",
                                    "stateVariable": false,
                                    "storageLocation": "memory",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_string_memory_ptr",
                                        "typeString": "string"
                                    },
                                    "typeName": {
                                        "id": 18369,
                                        "name": "string",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "42662:6:62",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_string_storage_ptr",
                                            "typeString": "string"
                                        }
                                    },
                                    "visibility": "internal"
                                },
                                {
                                    "constant": false,
                                    "id": 18372,
                                    "mutability": "mutable",
                                    "name": "p2",
                                    "nameLocation": "42685:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 18389,
                                    "src": "42680:7:62",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_uint256",
                                        "typeString": "uint256"
                                    },
                                    "typeName": {
                                        "id": 18371,
                                        "name": "uint",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "42680:4:62",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_uint256",
                                            "typeString": "uint256"
                                        }
                                    },
                                    "visibility": "internal"
                                },
                                {
                                    "constant": false,
                                    "id": 18374,
                                    "mutability": "mutable",
                                    "name": "p3",
                                    "nameLocation": "42703:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 18389,
                                    "src": "42689:16:62",
                                    "stateVariable": false,
                                    "storageLocation": "memory",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_string_memory_ptr",
                                        "typeString": "string"
                                    },
                                    "typeName": {
                                        "id": 18373,
                                        "name": "string",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "42689:6:62",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_string_storage_ptr",
                                            "typeString": "string"
                                        }
                                    },
                                    "visibility": "internal"
                                }
                            ],
                            "src": "42652:54:62"
                        },
                        "returnParameters": {
                            "id": 18376,
                            "nodeType": "ParameterList",
                            "parameters": [],
                            "src": "42721:0:62"
                        },
                        "scope": 20920,
                        "src": "42640:177:62",
                        "stateMutability": "view",
                        "virtual": false,
                        "visibility": "internal"
                    },
                    {
                        "body": {
                            "id": 18411,
                            "nodeType": "Block",
                            "src": "42892:94:62",
                            "statements": [
                                {
                                    "expression": {
                                        "arguments": [
                                            {
                                                "arguments": [
                                                    {
                                                        "hexValue": "6c6f6728626f6f6c2c737472696e672c75696e742c626f6f6c29",
                                                        "id": 18403,
                                                        "isConstant": false,
                                                        "isLValue": false,
                                                        "isPure": true,
                                                        "kind": "string",
                                                        "lValueRequested": false,
                                                        "nodeType": "Literal",
                                                        "src": "42936:28:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_stringliteral_20bbc9af7c6bae926ffd73678c9130310d497610a5c76e6e2ae48edff96f38a8",
                                                            "typeString": "literal_string \"log(bool,string,uint,bool)\""
                                                        },
                                                        "value": "log(bool,string,uint,bool)"
                                                    },
                                                    {
                                                        "id": 18404,
                                                        "name": "p0",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 18391,
                                                        "src": "42966:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_bool",
                                                            "typeString": "bool"
                                                        }
                                                    },
                                                    {
                                                        "id": 18405,
                                                        "name": "p1",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 18393,
                                                        "src": "42970:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_string_memory_ptr",
                                                            "typeString": "string memory"
                                                        }
                                                    },
                                                    {
                                                        "id": 18406,
                                                        "name": "p2",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 18395,
                                                        "src": "42974:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_uint256",
                                                            "typeString": "uint256"
                                                        }
                                                    },
                                                    {
                                                        "id": 18407,
                                                        "name": "p3",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 18397,
                                                        "src": "42978:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_bool",
                                                            "typeString": "bool"
                                                        }
                                                    }
                                                ],
                                                "expression": {
                                                    "argumentTypes": [
                                                        {
                                                            "typeIdentifier": "t_stringliteral_20bbc9af7c6bae926ffd73678c9130310d497610a5c76e6e2ae48edff96f38a8",
                                                            "typeString": "literal_string \"log(bool,string,uint,bool)\""
                                                        },
                                                        {
                                                            "typeIdentifier": "t_bool",
                                                            "typeString": "bool"
                                                        },
                                                        {
                                                            "typeIdentifier": "t_string_memory_ptr",
                                                            "typeString": "string memory"
                                                        },
                                                        {
                                                            "typeIdentifier": "t_uint256",
                                                            "typeString": "uint256"
                                                        },
                                                        {
                                                            "typeIdentifier": "t_bool",
                                                            "typeString": "bool"
                                                        }
                                                    ],
                                                    "expression": {
                                                        "id": 18401,
                                                        "name": "abi",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 4294967295,
                                                        "src": "42912:3:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_magic_abi",
                                                            "typeString": "abi"
                                                        }
                                                    },
                                                    "id": 18402,
                                                    "isConstant": false,
                                                    "isLValue": false,
                                                    "isPure": true,
                                                    "lValueRequested": false,
                                                    "memberName": "encodeWithSignature",
                                                    "nodeType": "MemberAccess",
                                                    "src": "42912:23:62",
                                                    "typeDescriptions": {
                                                        "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$",
                                                        "typeString": "function (string memory) pure returns (bytes memory)"
                                                    }
                                                },
                                                "id": 18408,
                                                "isConstant": false,
                                                "isLValue": false,
                                                "isPure": false,
                                                "kind": "functionCall",
                                                "lValueRequested": false,
                                                "names": [],
                                                "nodeType": "FunctionCall",
                                                "src": "42912:69:62",
                                                "tryCall": false,
                                                "typeDescriptions": {
                                                    "typeIdentifier": "t_bytes_memory_ptr",
                                                    "typeString": "bytes memory"
                                                }
                                            }
                                        ],
                                        "expression": {
                                            "argumentTypes": [
                                                {
                                                    "typeIdentifier": "t_bytes_memory_ptr",
                                                    "typeString": "bytes memory"
                                                }
                                            ],
                                            "id": 18400,
                                            "name": "_sendLogPayload",
                                            "nodeType": "Identifier",
                                            "overloadedDeclarations": [],
                                            "referencedDeclaration": 12880,
                                            "src": "42896:15:62",
                                            "typeDescriptions": {
                                                "typeIdentifier": "t_function_internal_view$_t_bytes_memory_ptr_$returns$__$",
                                                "typeString": "function (bytes memory) view"
                                            }
                                        },
                                        "id": 18409,
                                        "isConstant": false,
                                        "isLValue": false,
                                        "isPure": false,
                                        "kind": "functionCall",
                                        "lValueRequested": false,
                                        "names": [],
                                        "nodeType": "FunctionCall",
                                        "src": "42896:86:62",
                                        "tryCall": false,
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_tuple$__$",
                                            "typeString": "tuple()"
                                        }
                                    },
                                    "id": 18410,
                                    "nodeType": "ExpressionStatement",
                                    "src": "42896:86:62"
                                }
                            ]
                        },
                        "id": 18412,
                        "implemented": true,
                        "kind": "function",
                        "modifiers": [],
                        "name": "log",
                        "nameLocation": "42829:3:62",
                        "nodeType": "FunctionDefinition",
                        "parameters": {
                            "id": 18398,
                            "nodeType": "ParameterList",
                            "parameters": [
                                {
                                    "constant": false,
                                    "id": 18391,
                                    "mutability": "mutable",
                                    "name": "p0",
                                    "nameLocation": "42838:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 18412,
                                    "src": "42833:7:62",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_bool",
                                        "typeString": "bool"
                                    },
                                    "typeName": {
                                        "id": 18390,
                                        "name": "bool",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "42833:4:62",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_bool",
                                            "typeString": "bool"
                                        }
                                    },
                                    "visibility": "internal"
                                },
                                {
                                    "constant": false,
                                    "id": 18393,
                                    "mutability": "mutable",
                                    "name": "p1",
                                    "nameLocation": "42856:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 18412,
                                    "src": "42842:16:62",
                                    "stateVariable": false,
                                    "storageLocation": "memory",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_string_memory_ptr",
                                        "typeString": "string"
                                    },
                                    "typeName": {
                                        "id": 18392,
                                        "name": "string",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "42842:6:62",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_string_storage_ptr",
                                            "typeString": "string"
                                        }
                                    },
                                    "visibility": "internal"
                                },
                                {
                                    "constant": false,
                                    "id": 18395,
                                    "mutability": "mutable",
                                    "name": "p2",
                                    "nameLocation": "42865:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 18412,
                                    "src": "42860:7:62",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_uint256",
                                        "typeString": "uint256"
                                    },
                                    "typeName": {
                                        "id": 18394,
                                        "name": "uint",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "42860:4:62",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_uint256",
                                            "typeString": "uint256"
                                        }
                                    },
                                    "visibility": "internal"
                                },
                                {
                                    "constant": false,
                                    "id": 18397,
                                    "mutability": "mutable",
                                    "name": "p3",
                                    "nameLocation": "42874:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 18412,
                                    "src": "42869:7:62",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_bool",
                                        "typeString": "bool"
                                    },
                                    "typeName": {
                                        "id": 18396,
                                        "name": "bool",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "42869:4:62",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_bool",
                                            "typeString": "bool"
                                        }
                                    },
                                    "visibility": "internal"
                                }
                            ],
                            "src": "42832:45:62"
                        },
                        "returnParameters": {
                            "id": 18399,
                            "nodeType": "ParameterList",
                            "parameters": [],
                            "src": "42892:0:62"
                        },
                        "scope": 20920,
                        "src": "42820:166:62",
                        "stateMutability": "view",
                        "virtual": false,
                        "visibility": "internal"
                    },
                    {
                        "body": {
                            "id": 18434,
                            "nodeType": "Block",
                            "src": "43064:97:62",
                            "statements": [
                                {
                                    "expression": {
                                        "arguments": [
                                            {
                                                "arguments": [
                                                    {
                                                        "hexValue": "6c6f6728626f6f6c2c737472696e672c75696e742c6164647265737329",
                                                        "id": 18426,
                                                        "isConstant": false,
                                                        "isLValue": false,
                                                        "isPure": true,
                                                        "kind": "string",
                                                        "lValueRequested": false,
                                                        "nodeType": "Literal",
                                                        "src": "43108:31:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_stringliteral_5b22b938264abfc98de8ea025ac5bd87df03cbffd23b96cdfe194e0ef6fb136a",
                                                            "typeString": "literal_string \"log(bool,string,uint,address)\""
                                                        },
                                                        "value": "log(bool,string,uint,address)"
                                                    },
                                                    {
                                                        "id": 18427,
                                                        "name": "p0",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 18414,
                                                        "src": "43141:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_bool",
                                                            "typeString": "bool"
                                                        }
                                                    },
                                                    {
                                                        "id": 18428,
                                                        "name": "p1",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 18416,
                                                        "src": "43145:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_string_memory_ptr",
                                                            "typeString": "string memory"
                                                        }
                                                    },
                                                    {
                                                        "id": 18429,
                                                        "name": "p2",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 18418,
                                                        "src": "43149:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_uint256",
                                                            "typeString": "uint256"
                                                        }
                                                    },
                                                    {
                                                        "id": 18430,
                                                        "name": "p3",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 18420,
                                                        "src": "43153:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_address",
                                                            "typeString": "address"
                                                        }
                                                    }
                                                ],
                                                "expression": {
                                                    "argumentTypes": [
                                                        {
                                                            "typeIdentifier": "t_stringliteral_5b22b938264abfc98de8ea025ac5bd87df03cbffd23b96cdfe194e0ef6fb136a",
                                                            "typeString": "literal_string \"log(bool,string,uint,address)\""
                                                        },
                                                        {
                                                            "typeIdentifier": "t_bool",
                                                            "typeString": "bool"
                                                        },
                                                        {
                                                            "typeIdentifier": "t_string_memory_ptr",
                                                            "typeString": "string memory"
                                                        },
                                                        {
                                                            "typeIdentifier": "t_uint256",
                                                            "typeString": "uint256"
                                                        },
                                                        {
                                                            "typeIdentifier": "t_address",
                                                            "typeString": "address"
                                                        }
                                                    ],
                                                    "expression": {
                                                        "id": 18424,
                                                        "name": "abi",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 4294967295,
                                                        "src": "43084:3:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_magic_abi",
                                                            "typeString": "abi"
                                                        }
                                                    },
                                                    "id": 18425,
                                                    "isConstant": false,
                                                    "isLValue": false,
                                                    "isPure": true,
                                                    "lValueRequested": false,
                                                    "memberName": "encodeWithSignature",
                                                    "nodeType": "MemberAccess",
                                                    "src": "43084:23:62",
                                                    "typeDescriptions": {
                                                        "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$",
                                                        "typeString": "function (string memory) pure returns (bytes memory)"
                                                    }
                                                },
                                                "id": 18431,
                                                "isConstant": false,
                                                "isLValue": false,
                                                "isPure": false,
                                                "kind": "functionCall",
                                                "lValueRequested": false,
                                                "names": [],
                                                "nodeType": "FunctionCall",
                                                "src": "43084:72:62",
                                                "tryCall": false,
                                                "typeDescriptions": {
                                                    "typeIdentifier": "t_bytes_memory_ptr",
                                                    "typeString": "bytes memory"
                                                }
                                            }
                                        ],
                                        "expression": {
                                            "argumentTypes": [
                                                {
                                                    "typeIdentifier": "t_bytes_memory_ptr",
                                                    "typeString": "bytes memory"
                                                }
                                            ],
                                            "id": 18423,
                                            "name": "_sendLogPayload",
                                            "nodeType": "Identifier",
                                            "overloadedDeclarations": [],
                                            "referencedDeclaration": 12880,
                                            "src": "43068:15:62",
                                            "typeDescriptions": {
                                                "typeIdentifier": "t_function_internal_view$_t_bytes_memory_ptr_$returns$__$",
                                                "typeString": "function (bytes memory) view"
                                            }
                                        },
                                        "id": 18432,
                                        "isConstant": false,
                                        "isLValue": false,
                                        "isPure": false,
                                        "kind": "functionCall",
                                        "lValueRequested": false,
                                        "names": [],
                                        "nodeType": "FunctionCall",
                                        "src": "43068:89:62",
                                        "tryCall": false,
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_tuple$__$",
                                            "typeString": "tuple()"
                                        }
                                    },
                                    "id": 18433,
                                    "nodeType": "ExpressionStatement",
                                    "src": "43068:89:62"
                                }
                            ]
                        },
                        "id": 18435,
                        "implemented": true,
                        "kind": "function",
                        "modifiers": [],
                        "name": "log",
                        "nameLocation": "42998:3:62",
                        "nodeType": "FunctionDefinition",
                        "parameters": {
                            "id": 18421,
                            "nodeType": "ParameterList",
                            "parameters": [
                                {
                                    "constant": false,
                                    "id": 18414,
                                    "mutability": "mutable",
                                    "name": "p0",
                                    "nameLocation": "43007:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 18435,
                                    "src": "43002:7:62",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_bool",
                                        "typeString": "bool"
                                    },
                                    "typeName": {
                                        "id": 18413,
                                        "name": "bool",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "43002:4:62",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_bool",
                                            "typeString": "bool"
                                        }
                                    },
                                    "visibility": "internal"
                                },
                                {
                                    "constant": false,
                                    "id": 18416,
                                    "mutability": "mutable",
                                    "name": "p1",
                                    "nameLocation": "43025:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 18435,
                                    "src": "43011:16:62",
                                    "stateVariable": false,
                                    "storageLocation": "memory",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_string_memory_ptr",
                                        "typeString": "string"
                                    },
                                    "typeName": {
                                        "id": 18415,
                                        "name": "string",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "43011:6:62",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_string_storage_ptr",
                                            "typeString": "string"
                                        }
                                    },
                                    "visibility": "internal"
                                },
                                {
                                    "constant": false,
                                    "id": 18418,
                                    "mutability": "mutable",
                                    "name": "p2",
                                    "nameLocation": "43034:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 18435,
                                    "src": "43029:7:62",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_uint256",
                                        "typeString": "uint256"
                                    },
                                    "typeName": {
                                        "id": 18417,
                                        "name": "uint",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "43029:4:62",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_uint256",
                                            "typeString": "uint256"
                                        }
                                    },
                                    "visibility": "internal"
                                },
                                {
                                    "constant": false,
                                    "id": 18420,
                                    "mutability": "mutable",
                                    "name": "p3",
                                    "nameLocation": "43046:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 18435,
                                    "src": "43038:10:62",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_address",
                                        "typeString": "address"
                                    },
                                    "typeName": {
                                        "id": 18419,
                                        "name": "address",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "43038:7:62",
                                        "stateMutability": "nonpayable",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_address",
                                            "typeString": "address"
                                        }
                                    },
                                    "visibility": "internal"
                                }
                            ],
                            "src": "43001:48:62"
                        },
                        "returnParameters": {
                            "id": 18422,
                            "nodeType": "ParameterList",
                            "parameters": [],
                            "src": "43064:0:62"
                        },
                        "scope": 20920,
                        "src": "42989:172:62",
                        "stateMutability": "view",
                        "virtual": false,
                        "visibility": "internal"
                    },
                    {
                        "body": {
                            "id": 18457,
                            "nodeType": "Block",
                            "src": "43245:96:62",
                            "statements": [
                                {
                                    "expression": {
                                        "arguments": [
                                            {
                                                "arguments": [
                                                    {
                                                        "hexValue": "6c6f6728626f6f6c2c737472696e672c737472696e672c75696e7429",
                                                        "id": 18449,
                                                        "isConstant": false,
                                                        "isLValue": false,
                                                        "isPure": true,
                                                        "kind": "string",
                                                        "lValueRequested": false,
                                                        "nodeType": "Literal",
                                                        "src": "43289:30:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_stringliteral_5ddb259214a75c0fc75757e8e19b1cf1c4ec17a5eef635b4715f04b86884d5df",
                                                            "typeString": "literal_string \"log(bool,string,string,uint)\""
                                                        },
                                                        "value": "log(bool,string,string,uint)"
                                                    },
                                                    {
                                                        "id": 18450,
                                                        "name": "p0",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 18437,
                                                        "src": "43321:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_bool",
                                                            "typeString": "bool"
                                                        }
                                                    },
                                                    {
                                                        "id": 18451,
                                                        "name": "p1",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 18439,
                                                        "src": "43325:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_string_memory_ptr",
                                                            "typeString": "string memory"
                                                        }
                                                    },
                                                    {
                                                        "id": 18452,
                                                        "name": "p2",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 18441,
                                                        "src": "43329:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_string_memory_ptr",
                                                            "typeString": "string memory"
                                                        }
                                                    },
                                                    {
                                                        "id": 18453,
                                                        "name": "p3",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 18443,
                                                        "src": "43333:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_uint256",
                                                            "typeString": "uint256"
                                                        }
                                                    }
                                                ],
                                                "expression": {
                                                    "argumentTypes": [
                                                        {
                                                            "typeIdentifier": "t_stringliteral_5ddb259214a75c0fc75757e8e19b1cf1c4ec17a5eef635b4715f04b86884d5df",
                                                            "typeString": "literal_string \"log(bool,string,string,uint)\""
                                                        },
                                                        {
                                                            "typeIdentifier": "t_bool",
                                                            "typeString": "bool"
                                                        },
                                                        {
                                                            "typeIdentifier": "t_string_memory_ptr",
                                                            "typeString": "string memory"
                                                        },
                                                        {
                                                            "typeIdentifier": "t_string_memory_ptr",
                                                            "typeString": "string memory"
                                                        },
                                                        {
                                                            "typeIdentifier": "t_uint256",
                                                            "typeString": "uint256"
                                                        }
                                                    ],
                                                    "expression": {
                                                        "id": 18447,
                                                        "name": "abi",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 4294967295,
                                                        "src": "43265:3:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_magic_abi",
                                                            "typeString": "abi"
                                                        }
                                                    },
                                                    "id": 18448,
                                                    "isConstant": false,
                                                    "isLValue": false,
                                                    "isPure": true,
                                                    "lValueRequested": false,
                                                    "memberName": "encodeWithSignature",
                                                    "nodeType": "MemberAccess",
                                                    "src": "43265:23:62",
                                                    "typeDescriptions": {
                                                        "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$",
                                                        "typeString": "function (string memory) pure returns (bytes memory)"
                                                    }
                                                },
                                                "id": 18454,
                                                "isConstant": false,
                                                "isLValue": false,
                                                "isPure": false,
                                                "kind": "functionCall",
                                                "lValueRequested": false,
                                                "names": [],
                                                "nodeType": "FunctionCall",
                                                "src": "43265:71:62",
                                                "tryCall": false,
                                                "typeDescriptions": {
                                                    "typeIdentifier": "t_bytes_memory_ptr",
                                                    "typeString": "bytes memory"
                                                }
                                            }
                                        ],
                                        "expression": {
                                            "argumentTypes": [
                                                {
                                                    "typeIdentifier": "t_bytes_memory_ptr",
                                                    "typeString": "bytes memory"
                                                }
                                            ],
                                            "id": 18446,
                                            "name": "_sendLogPayload",
                                            "nodeType": "Identifier",
                                            "overloadedDeclarations": [],
                                            "referencedDeclaration": 12880,
                                            "src": "43249:15:62",
                                            "typeDescriptions": {
                                                "typeIdentifier": "t_function_internal_view$_t_bytes_memory_ptr_$returns$__$",
                                                "typeString": "function (bytes memory) view"
                                            }
                                        },
                                        "id": 18455,
                                        "isConstant": false,
                                        "isLValue": false,
                                        "isPure": false,
                                        "kind": "functionCall",
                                        "lValueRequested": false,
                                        "names": [],
                                        "nodeType": "FunctionCall",
                                        "src": "43249:88:62",
                                        "tryCall": false,
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_tuple$__$",
                                            "typeString": "tuple()"
                                        }
                                    },
                                    "id": 18456,
                                    "nodeType": "ExpressionStatement",
                                    "src": "43249:88:62"
                                }
                            ]
                        },
                        "id": 18458,
                        "implemented": true,
                        "kind": "function",
                        "modifiers": [],
                        "name": "log",
                        "nameLocation": "43173:3:62",
                        "nodeType": "FunctionDefinition",
                        "parameters": {
                            "id": 18444,
                            "nodeType": "ParameterList",
                            "parameters": [
                                {
                                    "constant": false,
                                    "id": 18437,
                                    "mutability": "mutable",
                                    "name": "p0",
                                    "nameLocation": "43182:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 18458,
                                    "src": "43177:7:62",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_bool",
                                        "typeString": "bool"
                                    },
                                    "typeName": {
                                        "id": 18436,
                                        "name": "bool",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "43177:4:62",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_bool",
                                            "typeString": "bool"
                                        }
                                    },
                                    "visibility": "internal"
                                },
                                {
                                    "constant": false,
                                    "id": 18439,
                                    "mutability": "mutable",
                                    "name": "p1",
                                    "nameLocation": "43200:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 18458,
                                    "src": "43186:16:62",
                                    "stateVariable": false,
                                    "storageLocation": "memory",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_string_memory_ptr",
                                        "typeString": "string"
                                    },
                                    "typeName": {
                                        "id": 18438,
                                        "name": "string",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "43186:6:62",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_string_storage_ptr",
                                            "typeString": "string"
                                        }
                                    },
                                    "visibility": "internal"
                                },
                                {
                                    "constant": false,
                                    "id": 18441,
                                    "mutability": "mutable",
                                    "name": "p2",
                                    "nameLocation": "43218:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 18458,
                                    "src": "43204:16:62",
                                    "stateVariable": false,
                                    "storageLocation": "memory",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_string_memory_ptr",
                                        "typeString": "string"
                                    },
                                    "typeName": {
                                        "id": 18440,
                                        "name": "string",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "43204:6:62",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_string_storage_ptr",
                                            "typeString": "string"
                                        }
                                    },
                                    "visibility": "internal"
                                },
                                {
                                    "constant": false,
                                    "id": 18443,
                                    "mutability": "mutable",
                                    "name": "p3",
                                    "nameLocation": "43227:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 18458,
                                    "src": "43222:7:62",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_uint256",
                                        "typeString": "uint256"
                                    },
                                    "typeName": {
                                        "id": 18442,
                                        "name": "uint",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "43222:4:62",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_uint256",
                                            "typeString": "uint256"
                                        }
                                    },
                                    "visibility": "internal"
                                }
                            ],
                            "src": "43176:54:62"
                        },
                        "returnParameters": {
                            "id": 18445,
                            "nodeType": "ParameterList",
                            "parameters": [],
                            "src": "43245:0:62"
                        },
                        "scope": 20920,
                        "src": "43164:177:62",
                        "stateMutability": "view",
                        "virtual": false,
                        "visibility": "internal"
                    },
                    {
                        "body": {
                            "id": 18480,
                            "nodeType": "Block",
                            "src": "43434:98:62",
                            "statements": [
                                {
                                    "expression": {
                                        "arguments": [
                                            {
                                                "arguments": [
                                                    {
                                                        "hexValue": "6c6f6728626f6f6c2c737472696e672c737472696e672c737472696e6729",
                                                        "id": 18472,
                                                        "isConstant": false,
                                                        "isLValue": false,
                                                        "isPure": true,
                                                        "kind": "string",
                                                        "lValueRequested": false,
                                                        "nodeType": "Literal",
                                                        "src": "43478:32:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_stringliteral_1762e32af9fa924f818d8f4a6c92011d30129df73749081e0b95feea819a17c9",
                                                            "typeString": "literal_string \"log(bool,string,string,string)\""
                                                        },
                                                        "value": "log(bool,string,string,string)"
                                                    },
                                                    {
                                                        "id": 18473,
                                                        "name": "p0",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 18460,
                                                        "src": "43512:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_bool",
                                                            "typeString": "bool"
                                                        }
                                                    },
                                                    {
                                                        "id": 18474,
                                                        "name": "p1",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 18462,
                                                        "src": "43516:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_string_memory_ptr",
                                                            "typeString": "string memory"
                                                        }
                                                    },
                                                    {
                                                        "id": 18475,
                                                        "name": "p2",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 18464,
                                                        "src": "43520:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_string_memory_ptr",
                                                            "typeString": "string memory"
                                                        }
                                                    },
                                                    {
                                                        "id": 18476,
                                                        "name": "p3",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 18466,
                                                        "src": "43524:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_string_memory_ptr",
                                                            "typeString": "string memory"
                                                        }
                                                    }
                                                ],
                                                "expression": {
                                                    "argumentTypes": [
                                                        {
                                                            "typeIdentifier": "t_stringliteral_1762e32af9fa924f818d8f4a6c92011d30129df73749081e0b95feea819a17c9",
                                                            "typeString": "literal_string \"log(bool,string,string,string)\""
                                                        },
                                                        {
                                                            "typeIdentifier": "t_bool",
                                                            "typeString": "bool"
                                                        },
                                                        {
                                                            "typeIdentifier": "t_string_memory_ptr",
                                                            "typeString": "string memory"
                                                        },
                                                        {
                                                            "typeIdentifier": "t_string_memory_ptr",
                                                            "typeString": "string memory"
                                                        },
                                                        {
                                                            "typeIdentifier": "t_string_memory_ptr",
                                                            "typeString": "string memory"
                                                        }
                                                    ],
                                                    "expression": {
                                                        "id": 18470,
                                                        "name": "abi",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 4294967295,
                                                        "src": "43454:3:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_magic_abi",
                                                            "typeString": "abi"
                                                        }
                                                    },
                                                    "id": 18471,
                                                    "isConstant": false,
                                                    "isLValue": false,
                                                    "isPure": true,
                                                    "lValueRequested": false,
                                                    "memberName": "encodeWithSignature",
                                                    "nodeType": "MemberAccess",
                                                    "src": "43454:23:62",
                                                    "typeDescriptions": {
                                                        "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$",
                                                        "typeString": "function (string memory) pure returns (bytes memory)"
                                                    }
                                                },
                                                "id": 18477,
                                                "isConstant": false,
                                                "isLValue": false,
                                                "isPure": false,
                                                "kind": "functionCall",
                                                "lValueRequested": false,
                                                "names": [],
                                                "nodeType": "FunctionCall",
                                                "src": "43454:73:62",
                                                "tryCall": false,
                                                "typeDescriptions": {
                                                    "typeIdentifier": "t_bytes_memory_ptr",
                                                    "typeString": "bytes memory"
                                                }
                                            }
                                        ],
                                        "expression": {
                                            "argumentTypes": [
                                                {
                                                    "typeIdentifier": "t_bytes_memory_ptr",
                                                    "typeString": "bytes memory"
                                                }
                                            ],
                                            "id": 18469,
                                            "name": "_sendLogPayload",
                                            "nodeType": "Identifier",
                                            "overloadedDeclarations": [],
                                            "referencedDeclaration": 12880,
                                            "src": "43438:15:62",
                                            "typeDescriptions": {
                                                "typeIdentifier": "t_function_internal_view$_t_bytes_memory_ptr_$returns$__$",
                                                "typeString": "function (bytes memory) view"
                                            }
                                        },
                                        "id": 18478,
                                        "isConstant": false,
                                        "isLValue": false,
                                        "isPure": false,
                                        "kind": "functionCall",
                                        "lValueRequested": false,
                                        "names": [],
                                        "nodeType": "FunctionCall",
                                        "src": "43438:90:62",
                                        "tryCall": false,
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_tuple$__$",
                                            "typeString": "tuple()"
                                        }
                                    },
                                    "id": 18479,
                                    "nodeType": "ExpressionStatement",
                                    "src": "43438:90:62"
                                }
                            ]
                        },
                        "id": 18481,
                        "implemented": true,
                        "kind": "function",
                        "modifiers": [],
                        "name": "log",
                        "nameLocation": "43353:3:62",
                        "nodeType": "FunctionDefinition",
                        "parameters": {
                            "id": 18467,
                            "nodeType": "ParameterList",
                            "parameters": [
                                {
                                    "constant": false,
                                    "id": 18460,
                                    "mutability": "mutable",
                                    "name": "p0",
                                    "nameLocation": "43362:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 18481,
                                    "src": "43357:7:62",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_bool",
                                        "typeString": "bool"
                                    },
                                    "typeName": {
                                        "id": 18459,
                                        "name": "bool",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "43357:4:62",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_bool",
                                            "typeString": "bool"
                                        }
                                    },
                                    "visibility": "internal"
                                },
                                {
                                    "constant": false,
                                    "id": 18462,
                                    "mutability": "mutable",
                                    "name": "p1",
                                    "nameLocation": "43380:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 18481,
                                    "src": "43366:16:62",
                                    "stateVariable": false,
                                    "storageLocation": "memory",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_string_memory_ptr",
                                        "typeString": "string"
                                    },
                                    "typeName": {
                                        "id": 18461,
                                        "name": "string",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "43366:6:62",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_string_storage_ptr",
                                            "typeString": "string"
                                        }
                                    },
                                    "visibility": "internal"
                                },
                                {
                                    "constant": false,
                                    "id": 18464,
                                    "mutability": "mutable",
                                    "name": "p2",
                                    "nameLocation": "43398:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 18481,
                                    "src": "43384:16:62",
                                    "stateVariable": false,
                                    "storageLocation": "memory",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_string_memory_ptr",
                                        "typeString": "string"
                                    },
                                    "typeName": {
                                        "id": 18463,
                                        "name": "string",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "43384:6:62",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_string_storage_ptr",
                                            "typeString": "string"
                                        }
                                    },
                                    "visibility": "internal"
                                },
                                {
                                    "constant": false,
                                    "id": 18466,
                                    "mutability": "mutable",
                                    "name": "p3",
                                    "nameLocation": "43416:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 18481,
                                    "src": "43402:16:62",
                                    "stateVariable": false,
                                    "storageLocation": "memory",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_string_memory_ptr",
                                        "typeString": "string"
                                    },
                                    "typeName": {
                                        "id": 18465,
                                        "name": "string",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "43402:6:62",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_string_storage_ptr",
                                            "typeString": "string"
                                        }
                                    },
                                    "visibility": "internal"
                                }
                            ],
                            "src": "43356:63:62"
                        },
                        "returnParameters": {
                            "id": 18468,
                            "nodeType": "ParameterList",
                            "parameters": [],
                            "src": "43434:0:62"
                        },
                        "scope": 20920,
                        "src": "43344:188:62",
                        "stateMutability": "view",
                        "virtual": false,
                        "visibility": "internal"
                    },
                    {
                        "body": {
                            "id": 18503,
                            "nodeType": "Block",
                            "src": "43616:96:62",
                            "statements": [
                                {
                                    "expression": {
                                        "arguments": [
                                            {
                                                "arguments": [
                                                    {
                                                        "hexValue": "6c6f6728626f6f6c2c737472696e672c737472696e672c626f6f6c29",
                                                        "id": 18495,
                                                        "isConstant": false,
                                                        "isLValue": false,
                                                        "isPure": true,
                                                        "kind": "string",
                                                        "lValueRequested": false,
                                                        "nodeType": "Literal",
                                                        "src": "43660:30:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_stringliteral_1e4b87e52d13efc5b368defba0463e423637ec55125c6230945d005f817198d1",
                                                            "typeString": "literal_string \"log(bool,string,string,bool)\""
                                                        },
                                                        "value": "log(bool,string,string,bool)"
                                                    },
                                                    {
                                                        "id": 18496,
                                                        "name": "p0",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 18483,
                                                        "src": "43692:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_bool",
                                                            "typeString": "bool"
                                                        }
                                                    },
                                                    {
                                                        "id": 18497,
                                                        "name": "p1",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 18485,
                                                        "src": "43696:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_string_memory_ptr",
                                                            "typeString": "string memory"
                                                        }
                                                    },
                                                    {
                                                        "id": 18498,
                                                        "name": "p2",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 18487,
                                                        "src": "43700:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_string_memory_ptr",
                                                            "typeString": "string memory"
                                                        }
                                                    },
                                                    {
                                                        "id": 18499,
                                                        "name": "p3",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 18489,
                                                        "src": "43704:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_bool",
                                                            "typeString": "bool"
                                                        }
                                                    }
                                                ],
                                                "expression": {
                                                    "argumentTypes": [
                                                        {
                                                            "typeIdentifier": "t_stringliteral_1e4b87e52d13efc5b368defba0463e423637ec55125c6230945d005f817198d1",
                                                            "typeString": "literal_string \"log(bool,string,string,bool)\""
                                                        },
                                                        {
                                                            "typeIdentifier": "t_bool",
                                                            "typeString": "bool"
                                                        },
                                                        {
                                                            "typeIdentifier": "t_string_memory_ptr",
                                                            "typeString": "string memory"
                                                        },
                                                        {
                                                            "typeIdentifier": "t_string_memory_ptr",
                                                            "typeString": "string memory"
                                                        },
                                                        {
                                                            "typeIdentifier": "t_bool",
                                                            "typeString": "bool"
                                                        }
                                                    ],
                                                    "expression": {
                                                        "id": 18493,
                                                        "name": "abi",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 4294967295,
                                                        "src": "43636:3:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_magic_abi",
                                                            "typeString": "abi"
                                                        }
                                                    },
                                                    "id": 18494,
                                                    "isConstant": false,
                                                    "isLValue": false,
                                                    "isPure": true,
                                                    "lValueRequested": false,
                                                    "memberName": "encodeWithSignature",
                                                    "nodeType": "MemberAccess",
                                                    "src": "43636:23:62",
                                                    "typeDescriptions": {
                                                        "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$",
                                                        "typeString": "function (string memory) pure returns (bytes memory)"
                                                    }
                                                },
                                                "id": 18500,
                                                "isConstant": false,
                                                "isLValue": false,
                                                "isPure": false,
                                                "kind": "functionCall",
                                                "lValueRequested": false,
                                                "names": [],
                                                "nodeType": "FunctionCall",
                                                "src": "43636:71:62",
                                                "tryCall": false,
                                                "typeDescriptions": {
                                                    "typeIdentifier": "t_bytes_memory_ptr",
                                                    "typeString": "bytes memory"
                                                }
                                            }
                                        ],
                                        "expression": {
                                            "argumentTypes": [
                                                {
                                                    "typeIdentifier": "t_bytes_memory_ptr",
                                                    "typeString": "bytes memory"
                                                }
                                            ],
                                            "id": 18492,
                                            "name": "_sendLogPayload",
                                            "nodeType": "Identifier",
                                            "overloadedDeclarations": [],
                                            "referencedDeclaration": 12880,
                                            "src": "43620:15:62",
                                            "typeDescriptions": {
                                                "typeIdentifier": "t_function_internal_view$_t_bytes_memory_ptr_$returns$__$",
                                                "typeString": "function (bytes memory) view"
                                            }
                                        },
                                        "id": 18501,
                                        "isConstant": false,
                                        "isLValue": false,
                                        "isPure": false,
                                        "kind": "functionCall",
                                        "lValueRequested": false,
                                        "names": [],
                                        "nodeType": "FunctionCall",
                                        "src": "43620:88:62",
                                        "tryCall": false,
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_tuple$__$",
                                            "typeString": "tuple()"
                                        }
                                    },
                                    "id": 18502,
                                    "nodeType": "ExpressionStatement",
                                    "src": "43620:88:62"
                                }
                            ]
                        },
                        "id": 18504,
                        "implemented": true,
                        "kind": "function",
                        "modifiers": [],
                        "name": "log",
                        "nameLocation": "43544:3:62",
                        "nodeType": "FunctionDefinition",
                        "parameters": {
                            "id": 18490,
                            "nodeType": "ParameterList",
                            "parameters": [
                                {
                                    "constant": false,
                                    "id": 18483,
                                    "mutability": "mutable",
                                    "name": "p0",
                                    "nameLocation": "43553:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 18504,
                                    "src": "43548:7:62",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_bool",
                                        "typeString": "bool"
                                    },
                                    "typeName": {
                                        "id": 18482,
                                        "name": "bool",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "43548:4:62",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_bool",
                                            "typeString": "bool"
                                        }
                                    },
                                    "visibility": "internal"
                                },
                                {
                                    "constant": false,
                                    "id": 18485,
                                    "mutability": "mutable",
                                    "name": "p1",
                                    "nameLocation": "43571:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 18504,
                                    "src": "43557:16:62",
                                    "stateVariable": false,
                                    "storageLocation": "memory",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_string_memory_ptr",
                                        "typeString": "string"
                                    },
                                    "typeName": {
                                        "id": 18484,
                                        "name": "string",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "43557:6:62",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_string_storage_ptr",
                                            "typeString": "string"
                                        }
                                    },
                                    "visibility": "internal"
                                },
                                {
                                    "constant": false,
                                    "id": 18487,
                                    "mutability": "mutable",
                                    "name": "p2",
                                    "nameLocation": "43589:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 18504,
                                    "src": "43575:16:62",
                                    "stateVariable": false,
                                    "storageLocation": "memory",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_string_memory_ptr",
                                        "typeString": "string"
                                    },
                                    "typeName": {
                                        "id": 18486,
                                        "name": "string",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "43575:6:62",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_string_storage_ptr",
                                            "typeString": "string"
                                        }
                                    },
                                    "visibility": "internal"
                                },
                                {
                                    "constant": false,
                                    "id": 18489,
                                    "mutability": "mutable",
                                    "name": "p3",
                                    "nameLocation": "43598:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 18504,
                                    "src": "43593:7:62",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_bool",
                                        "typeString": "bool"
                                    },
                                    "typeName": {
                                        "id": 18488,
                                        "name": "bool",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "43593:4:62",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_bool",
                                            "typeString": "bool"
                                        }
                                    },
                                    "visibility": "internal"
                                }
                            ],
                            "src": "43547:54:62"
                        },
                        "returnParameters": {
                            "id": 18491,
                            "nodeType": "ParameterList",
                            "parameters": [],
                            "src": "43616:0:62"
                        },
                        "scope": 20920,
                        "src": "43535:177:62",
                        "stateMutability": "view",
                        "virtual": false,
                        "visibility": "internal"
                    },
                    {
                        "body": {
                            "id": 18526,
                            "nodeType": "Block",
                            "src": "43799:99:62",
                            "statements": [
                                {
                                    "expression": {
                                        "arguments": [
                                            {
                                                "arguments": [
                                                    {
                                                        "hexValue": "6c6f6728626f6f6c2c737472696e672c737472696e672c6164647265737329",
                                                        "id": 18518,
                                                        "isConstant": false,
                                                        "isLValue": false,
                                                        "isPure": true,
                                                        "kind": "string",
                                                        "lValueRequested": false,
                                                        "nodeType": "Literal",
                                                        "src": "43843:33:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_stringliteral_97d394d89551bd441d1340d1c3dcc3b6160871bf042c6884bcb4049b2fa2bdb5",
                                                            "typeString": "literal_string \"log(bool,string,string,address)\""
                                                        },
                                                        "value": "log(bool,string,string,address)"
                                                    },
                                                    {
                                                        "id": 18519,
                                                        "name": "p0",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 18506,
                                                        "src": "43878:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_bool",
                                                            "typeString": "bool"
                                                        }
                                                    },
                                                    {
                                                        "id": 18520,
                                                        "name": "p1",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 18508,
                                                        "src": "43882:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_string_memory_ptr",
                                                            "typeString": "string memory"
                                                        }
                                                    },
                                                    {
                                                        "id": 18521,
                                                        "name": "p2",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 18510,
                                                        "src": "43886:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_string_memory_ptr",
                                                            "typeString": "string memory"
                                                        }
                                                    },
                                                    {
                                                        "id": 18522,
                                                        "name": "p3",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 18512,
                                                        "src": "43890:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_address",
                                                            "typeString": "address"
                                                        }
                                                    }
                                                ],
                                                "expression": {
                                                    "argumentTypes": [
                                                        {
                                                            "typeIdentifier": "t_stringliteral_97d394d89551bd441d1340d1c3dcc3b6160871bf042c6884bcb4049b2fa2bdb5",
                                                            "typeString": "literal_string \"log(bool,string,string,address)\""
                                                        },
                                                        {
                                                            "typeIdentifier": "t_bool",
                                                            "typeString": "bool"
                                                        },
                                                        {
                                                            "typeIdentifier": "t_string_memory_ptr",
                                                            "typeString": "string memory"
                                                        },
                                                        {
                                                            "typeIdentifier": "t_string_memory_ptr",
                                                            "typeString": "string memory"
                                                        },
                                                        {
                                                            "typeIdentifier": "t_address",
                                                            "typeString": "address"
                                                        }
                                                    ],
                                                    "expression": {
                                                        "id": 18516,
                                                        "name": "abi",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 4294967295,
                                                        "src": "43819:3:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_magic_abi",
                                                            "typeString": "abi"
                                                        }
                                                    },
                                                    "id": 18517,
                                                    "isConstant": false,
                                                    "isLValue": false,
                                                    "isPure": true,
                                                    "lValueRequested": false,
                                                    "memberName": "encodeWithSignature",
                                                    "nodeType": "MemberAccess",
                                                    "src": "43819:23:62",
                                                    "typeDescriptions": {
                                                        "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$",
                                                        "typeString": "function (string memory) pure returns (bytes memory)"
                                                    }
                                                },
                                                "id": 18523,
                                                "isConstant": false,
                                                "isLValue": false,
                                                "isPure": false,
                                                "kind": "functionCall",
                                                "lValueRequested": false,
                                                "names": [],
                                                "nodeType": "FunctionCall",
                                                "src": "43819:74:62",
                                                "tryCall": false,
                                                "typeDescriptions": {
                                                    "typeIdentifier": "t_bytes_memory_ptr",
                                                    "typeString": "bytes memory"
                                                }
                                            }
                                        ],
                                        "expression": {
                                            "argumentTypes": [
                                                {
                                                    "typeIdentifier": "t_bytes_memory_ptr",
                                                    "typeString": "bytes memory"
                                                }
                                            ],
                                            "id": 18515,
                                            "name": "_sendLogPayload",
                                            "nodeType": "Identifier",
                                            "overloadedDeclarations": [],
                                            "referencedDeclaration": 12880,
                                            "src": "43803:15:62",
                                            "typeDescriptions": {
                                                "typeIdentifier": "t_function_internal_view$_t_bytes_memory_ptr_$returns$__$",
                                                "typeString": "function (bytes memory) view"
                                            }
                                        },
                                        "id": 18524,
                                        "isConstant": false,
                                        "isLValue": false,
                                        "isPure": false,
                                        "kind": "functionCall",
                                        "lValueRequested": false,
                                        "names": [],
                                        "nodeType": "FunctionCall",
                                        "src": "43803:91:62",
                                        "tryCall": false,
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_tuple$__$",
                                            "typeString": "tuple()"
                                        }
                                    },
                                    "id": 18525,
                                    "nodeType": "ExpressionStatement",
                                    "src": "43803:91:62"
                                }
                            ]
                        },
                        "id": 18527,
                        "implemented": true,
                        "kind": "function",
                        "modifiers": [],
                        "name": "log",
                        "nameLocation": "43724:3:62",
                        "nodeType": "FunctionDefinition",
                        "parameters": {
                            "id": 18513,
                            "nodeType": "ParameterList",
                            "parameters": [
                                {
                                    "constant": false,
                                    "id": 18506,
                                    "mutability": "mutable",
                                    "name": "p0",
                                    "nameLocation": "43733:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 18527,
                                    "src": "43728:7:62",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_bool",
                                        "typeString": "bool"
                                    },
                                    "typeName": {
                                        "id": 18505,
                                        "name": "bool",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "43728:4:62",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_bool",
                                            "typeString": "bool"
                                        }
                                    },
                                    "visibility": "internal"
                                },
                                {
                                    "constant": false,
                                    "id": 18508,
                                    "mutability": "mutable",
                                    "name": "p1",
                                    "nameLocation": "43751:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 18527,
                                    "src": "43737:16:62",
                                    "stateVariable": false,
                                    "storageLocation": "memory",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_string_memory_ptr",
                                        "typeString": "string"
                                    },
                                    "typeName": {
                                        "id": 18507,
                                        "name": "string",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "43737:6:62",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_string_storage_ptr",
                                            "typeString": "string"
                                        }
                                    },
                                    "visibility": "internal"
                                },
                                {
                                    "constant": false,
                                    "id": 18510,
                                    "mutability": "mutable",
                                    "name": "p2",
                                    "nameLocation": "43769:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 18527,
                                    "src": "43755:16:62",
                                    "stateVariable": false,
                                    "storageLocation": "memory",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_string_memory_ptr",
                                        "typeString": "string"
                                    },
                                    "typeName": {
                                        "id": 18509,
                                        "name": "string",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "43755:6:62",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_string_storage_ptr",
                                            "typeString": "string"
                                        }
                                    },
                                    "visibility": "internal"
                                },
                                {
                                    "constant": false,
                                    "id": 18512,
                                    "mutability": "mutable",
                                    "name": "p3",
                                    "nameLocation": "43781:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 18527,
                                    "src": "43773:10:62",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_address",
                                        "typeString": "address"
                                    },
                                    "typeName": {
                                        "id": 18511,
                                        "name": "address",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "43773:7:62",
                                        "stateMutability": "nonpayable",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_address",
                                            "typeString": "address"
                                        }
                                    },
                                    "visibility": "internal"
                                }
                            ],
                            "src": "43727:57:62"
                        },
                        "returnParameters": {
                            "id": 18514,
                            "nodeType": "ParameterList",
                            "parameters": [],
                            "src": "43799:0:62"
                        },
                        "scope": 20920,
                        "src": "43715:183:62",
                        "stateMutability": "view",
                        "virtual": false,
                        "visibility": "internal"
                    },
                    {
                        "body": {
                            "id": 18549,
                            "nodeType": "Block",
                            "src": "43973:94:62",
                            "statements": [
                                {
                                    "expression": {
                                        "arguments": [
                                            {
                                                "arguments": [
                                                    {
                                                        "hexValue": "6c6f6728626f6f6c2c737472696e672c626f6f6c2c75696e7429",
                                                        "id": 18541,
                                                        "isConstant": false,
                                                        "isLValue": false,
                                                        "isPure": true,
                                                        "kind": "string",
                                                        "lValueRequested": false,
                                                        "nodeType": "Literal",
                                                        "src": "44017:28:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_stringliteral_8d6f9ca539d16169f184b68d5f2cbc34ada538d6737083559aa5a96068582055",
                                                            "typeString": "literal_string \"log(bool,string,bool,uint)\""
                                                        },
                                                        "value": "log(bool,string,bool,uint)"
                                                    },
                                                    {
                                                        "id": 18542,
                                                        "name": "p0",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 18529,
                                                        "src": "44047:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_bool",
                                                            "typeString": "bool"
                                                        }
                                                    },
                                                    {
                                                        "id": 18543,
                                                        "name": "p1",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 18531,
                                                        "src": "44051:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_string_memory_ptr",
                                                            "typeString": "string memory"
                                                        }
                                                    },
                                                    {
                                                        "id": 18544,
                                                        "name": "p2",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 18533,
                                                        "src": "44055:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_bool",
                                                            "typeString": "bool"
                                                        }
                                                    },
                                                    {
                                                        "id": 18545,
                                                        "name": "p3",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 18535,
                                                        "src": "44059:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_uint256",
                                                            "typeString": "uint256"
                                                        }
                                                    }
                                                ],
                                                "expression": {
                                                    "argumentTypes": [
                                                        {
                                                            "typeIdentifier": "t_stringliteral_8d6f9ca539d16169f184b68d5f2cbc34ada538d6737083559aa5a96068582055",
                                                            "typeString": "literal_string \"log(bool,string,bool,uint)\""
                                                        },
                                                        {
                                                            "typeIdentifier": "t_bool",
                                                            "typeString": "bool"
                                                        },
                                                        {
                                                            "typeIdentifier": "t_string_memory_ptr",
                                                            "typeString": "string memory"
                                                        },
                                                        {
                                                            "typeIdentifier": "t_bool",
                                                            "typeString": "bool"
                                                        },
                                                        {
                                                            "typeIdentifier": "t_uint256",
                                                            "typeString": "uint256"
                                                        }
                                                    ],
                                                    "expression": {
                                                        "id": 18539,
                                                        "name": "abi",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 4294967295,
                                                        "src": "43993:3:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_magic_abi",
                                                            "typeString": "abi"
                                                        }
                                                    },
                                                    "id": 18540,
                                                    "isConstant": false,
                                                    "isLValue": false,
                                                    "isPure": true,
                                                    "lValueRequested": false,
                                                    "memberName": "encodeWithSignature",
                                                    "nodeType": "MemberAccess",
                                                    "src": "43993:23:62",
                                                    "typeDescriptions": {
                                                        "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$",
                                                        "typeString": "function (string memory) pure returns (bytes memory)"
                                                    }
                                                },
                                                "id": 18546,
                                                "isConstant": false,
                                                "isLValue": false,
                                                "isPure": false,
                                                "kind": "functionCall",
                                                "lValueRequested": false,
                                                "names": [],
                                                "nodeType": "FunctionCall",
                                                "src": "43993:69:62",
                                                "tryCall": false,
                                                "typeDescriptions": {
                                                    "typeIdentifier": "t_bytes_memory_ptr",
                                                    "typeString": "bytes memory"
                                                }
                                            }
                                        ],
                                        "expression": {
                                            "argumentTypes": [
                                                {
                                                    "typeIdentifier": "t_bytes_memory_ptr",
                                                    "typeString": "bytes memory"
                                                }
                                            ],
                                            "id": 18538,
                                            "name": "_sendLogPayload",
                                            "nodeType": "Identifier",
                                            "overloadedDeclarations": [],
                                            "referencedDeclaration": 12880,
                                            "src": "43977:15:62",
                                            "typeDescriptions": {
                                                "typeIdentifier": "t_function_internal_view$_t_bytes_memory_ptr_$returns$__$",
                                                "typeString": "function (bytes memory) view"
                                            }
                                        },
                                        "id": 18547,
                                        "isConstant": false,
                                        "isLValue": false,
                                        "isPure": false,
                                        "kind": "functionCall",
                                        "lValueRequested": false,
                                        "names": [],
                                        "nodeType": "FunctionCall",
                                        "src": "43977:86:62",
                                        "tryCall": false,
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_tuple$__$",
                                            "typeString": "tuple()"
                                        }
                                    },
                                    "id": 18548,
                                    "nodeType": "ExpressionStatement",
                                    "src": "43977:86:62"
                                }
                            ]
                        },
                        "id": 18550,
                        "implemented": true,
                        "kind": "function",
                        "modifiers": [],
                        "name": "log",
                        "nameLocation": "43910:3:62",
                        "nodeType": "FunctionDefinition",
                        "parameters": {
                            "id": 18536,
                            "nodeType": "ParameterList",
                            "parameters": [
                                {
                                    "constant": false,
                                    "id": 18529,
                                    "mutability": "mutable",
                                    "name": "p0",
                                    "nameLocation": "43919:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 18550,
                                    "src": "43914:7:62",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_bool",
                                        "typeString": "bool"
                                    },
                                    "typeName": {
                                        "id": 18528,
                                        "name": "bool",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "43914:4:62",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_bool",
                                            "typeString": "bool"
                                        }
                                    },
                                    "visibility": "internal"
                                },
                                {
                                    "constant": false,
                                    "id": 18531,
                                    "mutability": "mutable",
                                    "name": "p1",
                                    "nameLocation": "43937:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 18550,
                                    "src": "43923:16:62",
                                    "stateVariable": false,
                                    "storageLocation": "memory",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_string_memory_ptr",
                                        "typeString": "string"
                                    },
                                    "typeName": {
                                        "id": 18530,
                                        "name": "string",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "43923:6:62",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_string_storage_ptr",
                                            "typeString": "string"
                                        }
                                    },
                                    "visibility": "internal"
                                },
                                {
                                    "constant": false,
                                    "id": 18533,
                                    "mutability": "mutable",
                                    "name": "p2",
                                    "nameLocation": "43946:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 18550,
                                    "src": "43941:7:62",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_bool",
                                        "typeString": "bool"
                                    },
                                    "typeName": {
                                        "id": 18532,
                                        "name": "bool",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "43941:4:62",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_bool",
                                            "typeString": "bool"
                                        }
                                    },
                                    "visibility": "internal"
                                },
                                {
                                    "constant": false,
                                    "id": 18535,
                                    "mutability": "mutable",
                                    "name": "p3",
                                    "nameLocation": "43955:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 18550,
                                    "src": "43950:7:62",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_uint256",
                                        "typeString": "uint256"
                                    },
                                    "typeName": {
                                        "id": 18534,
                                        "name": "uint",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "43950:4:62",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_uint256",
                                            "typeString": "uint256"
                                        }
                                    },
                                    "visibility": "internal"
                                }
                            ],
                            "src": "43913:45:62"
                        },
                        "returnParameters": {
                            "id": 18537,
                            "nodeType": "ParameterList",
                            "parameters": [],
                            "src": "43973:0:62"
                        },
                        "scope": 20920,
                        "src": "43901:166:62",
                        "stateMutability": "view",
                        "virtual": false,
                        "visibility": "internal"
                    },
                    {
                        "body": {
                            "id": 18572,
                            "nodeType": "Block",
                            "src": "44151:96:62",
                            "statements": [
                                {
                                    "expression": {
                                        "arguments": [
                                            {
                                                "arguments": [
                                                    {
                                                        "hexValue": "6c6f6728626f6f6c2c737472696e672c626f6f6c2c737472696e6729",
                                                        "id": 18564,
                                                        "isConstant": false,
                                                        "isLValue": false,
                                                        "isPure": true,
                                                        "kind": "string",
                                                        "lValueRequested": false,
                                                        "nodeType": "Literal",
                                                        "src": "44195:30:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_stringliteral_483d0416329d0c81c68975a0cac822497c590c00f8ae8be66af490d0f9215468",
                                                            "typeString": "literal_string \"log(bool,string,bool,string)\""
                                                        },
                                                        "value": "log(bool,string,bool,string)"
                                                    },
                                                    {
                                                        "id": 18565,
                                                        "name": "p0",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 18552,
                                                        "src": "44227:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_bool",
                                                            "typeString": "bool"
                                                        }
                                                    },
                                                    {
                                                        "id": 18566,
                                                        "name": "p1",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 18554,
                                                        "src": "44231:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_string_memory_ptr",
                                                            "typeString": "string memory"
                                                        }
                                                    },
                                                    {
                                                        "id": 18567,
                                                        "name": "p2",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 18556,
                                                        "src": "44235:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_bool",
                                                            "typeString": "bool"
                                                        }
                                                    },
                                                    {
                                                        "id": 18568,
                                                        "name": "p3",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 18558,
                                                        "src": "44239:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_string_memory_ptr",
                                                            "typeString": "string memory"
                                                        }
                                                    }
                                                ],
                                                "expression": {
                                                    "argumentTypes": [
                                                        {
                                                            "typeIdentifier": "t_stringliteral_483d0416329d0c81c68975a0cac822497c590c00f8ae8be66af490d0f9215468",
                                                            "typeString": "literal_string \"log(bool,string,bool,string)\""
                                                        },
                                                        {
                                                            "typeIdentifier": "t_bool",
                                                            "typeString": "bool"
                                                        },
                                                        {
                                                            "typeIdentifier": "t_string_memory_ptr",
                                                            "typeString": "string memory"
                                                        },
                                                        {
                                                            "typeIdentifier": "t_bool",
                                                            "typeString": "bool"
                                                        },
                                                        {
                                                            "typeIdentifier": "t_string_memory_ptr",
                                                            "typeString": "string memory"
                                                        }
                                                    ],
                                                    "expression": {
                                                        "id": 18562,
                                                        "name": "abi",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 4294967295,
                                                        "src": "44171:3:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_magic_abi",
                                                            "typeString": "abi"
                                                        }
                                                    },
                                                    "id": 18563,
                                                    "isConstant": false,
                                                    "isLValue": false,
                                                    "isPure": true,
                                                    "lValueRequested": false,
                                                    "memberName": "encodeWithSignature",
                                                    "nodeType": "MemberAccess",
                                                    "src": "44171:23:62",
                                                    "typeDescriptions": {
                                                        "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$",
                                                        "typeString": "function (string memory) pure returns (bytes memory)"
                                                    }
                                                },
                                                "id": 18569,
                                                "isConstant": false,
                                                "isLValue": false,
                                                "isPure": false,
                                                "kind": "functionCall",
                                                "lValueRequested": false,
                                                "names": [],
                                                "nodeType": "FunctionCall",
                                                "src": "44171:71:62",
                                                "tryCall": false,
                                                "typeDescriptions": {
                                                    "typeIdentifier": "t_bytes_memory_ptr",
                                                    "typeString": "bytes memory"
                                                }
                                            }
                                        ],
                                        "expression": {
                                            "argumentTypes": [
                                                {
                                                    "typeIdentifier": "t_bytes_memory_ptr",
                                                    "typeString": "bytes memory"
                                                }
                                            ],
                                            "id": 18561,
                                            "name": "_sendLogPayload",
                                            "nodeType": "Identifier",
                                            "overloadedDeclarations": [],
                                            "referencedDeclaration": 12880,
                                            "src": "44155:15:62",
                                            "typeDescriptions": {
                                                "typeIdentifier": "t_function_internal_view$_t_bytes_memory_ptr_$returns$__$",
                                                "typeString": "function (bytes memory) view"
                                            }
                                        },
                                        "id": 18570,
                                        "isConstant": false,
                                        "isLValue": false,
                                        "isPure": false,
                                        "kind": "functionCall",
                                        "lValueRequested": false,
                                        "names": [],
                                        "nodeType": "FunctionCall",
                                        "src": "44155:88:62",
                                        "tryCall": false,
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_tuple$__$",
                                            "typeString": "tuple()"
                                        }
                                    },
                                    "id": 18571,
                                    "nodeType": "ExpressionStatement",
                                    "src": "44155:88:62"
                                }
                            ]
                        },
                        "id": 18573,
                        "implemented": true,
                        "kind": "function",
                        "modifiers": [],
                        "name": "log",
                        "nameLocation": "44079:3:62",
                        "nodeType": "FunctionDefinition",
                        "parameters": {
                            "id": 18559,
                            "nodeType": "ParameterList",
                            "parameters": [
                                {
                                    "constant": false,
                                    "id": 18552,
                                    "mutability": "mutable",
                                    "name": "p0",
                                    "nameLocation": "44088:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 18573,
                                    "src": "44083:7:62",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_bool",
                                        "typeString": "bool"
                                    },
                                    "typeName": {
                                        "id": 18551,
                                        "name": "bool",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "44083:4:62",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_bool",
                                            "typeString": "bool"
                                        }
                                    },
                                    "visibility": "internal"
                                },
                                {
                                    "constant": false,
                                    "id": 18554,
                                    "mutability": "mutable",
                                    "name": "p1",
                                    "nameLocation": "44106:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 18573,
                                    "src": "44092:16:62",
                                    "stateVariable": false,
                                    "storageLocation": "memory",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_string_memory_ptr",
                                        "typeString": "string"
                                    },
                                    "typeName": {
                                        "id": 18553,
                                        "name": "string",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "44092:6:62",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_string_storage_ptr",
                                            "typeString": "string"
                                        }
                                    },
                                    "visibility": "internal"
                                },
                                {
                                    "constant": false,
                                    "id": 18556,
                                    "mutability": "mutable",
                                    "name": "p2",
                                    "nameLocation": "44115:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 18573,
                                    "src": "44110:7:62",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_bool",
                                        "typeString": "bool"
                                    },
                                    "typeName": {
                                        "id": 18555,
                                        "name": "bool",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "44110:4:62",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_bool",
                                            "typeString": "bool"
                                        }
                                    },
                                    "visibility": "internal"
                                },
                                {
                                    "constant": false,
                                    "id": 18558,
                                    "mutability": "mutable",
                                    "name": "p3",
                                    "nameLocation": "44133:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 18573,
                                    "src": "44119:16:62",
                                    "stateVariable": false,
                                    "storageLocation": "memory",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_string_memory_ptr",
                                        "typeString": "string"
                                    },
                                    "typeName": {
                                        "id": 18557,
                                        "name": "string",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "44119:6:62",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_string_storage_ptr",
                                            "typeString": "string"
                                        }
                                    },
                                    "visibility": "internal"
                                }
                            ],
                            "src": "44082:54:62"
                        },
                        "returnParameters": {
                            "id": 18560,
                            "nodeType": "ParameterList",
                            "parameters": [],
                            "src": "44151:0:62"
                        },
                        "scope": 20920,
                        "src": "44070:177:62",
                        "stateMutability": "view",
                        "virtual": false,
                        "visibility": "internal"
                    },
                    {
                        "body": {
                            "id": 18595,
                            "nodeType": "Block",
                            "src": "44322:94:62",
                            "statements": [
                                {
                                    "expression": {
                                        "arguments": [
                                            {
                                                "arguments": [
                                                    {
                                                        "hexValue": "6c6f6728626f6f6c2c737472696e672c626f6f6c2c626f6f6c29",
                                                        "id": 18587,
                                                        "isConstant": false,
                                                        "isLValue": false,
                                                        "isPure": true,
                                                        "kind": "string",
                                                        "lValueRequested": false,
                                                        "nodeType": "Literal",
                                                        "src": "44366:28:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_stringliteral_dc5e935b9ccf45ff13b5900aeaf3a593df3e9479fc07e9c213f5fcaa0951e91f",
                                                            "typeString": "literal_string \"log(bool,string,bool,bool)\""
                                                        },
                                                        "value": "log(bool,string,bool,bool)"
                                                    },
                                                    {
                                                        "id": 18588,
                                                        "name": "p0",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 18575,
                                                        "src": "44396:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_bool",
                                                            "typeString": "bool"
                                                        }
                                                    },
                                                    {
                                                        "id": 18589,
                                                        "name": "p1",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 18577,
                                                        "src": "44400:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_string_memory_ptr",
                                                            "typeString": "string memory"
                                                        }
                                                    },
                                                    {
                                                        "id": 18590,
                                                        "name": "p2",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 18579,
                                                        "src": "44404:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_bool",
                                                            "typeString": "bool"
                                                        }
                                                    },
                                                    {
                                                        "id": 18591,
                                                        "name": "p3",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 18581,
                                                        "src": "44408:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_bool",
                                                            "typeString": "bool"
                                                        }
                                                    }
                                                ],
                                                "expression": {
                                                    "argumentTypes": [
                                                        {
                                                            "typeIdentifier": "t_stringliteral_dc5e935b9ccf45ff13b5900aeaf3a593df3e9479fc07e9c213f5fcaa0951e91f",
                                                            "typeString": "literal_string \"log(bool,string,bool,bool)\""
                                                        },
                                                        {
                                                            "typeIdentifier": "t_bool",
                                                            "typeString": "bool"
                                                        },
                                                        {
                                                            "typeIdentifier": "t_string_memory_ptr",
                                                            "typeString": "string memory"
                                                        },
                                                        {
                                                            "typeIdentifier": "t_bool",
                                                            "typeString": "bool"
                                                        },
                                                        {
                                                            "typeIdentifier": "t_bool",
                                                            "typeString": "bool"
                                                        }
                                                    ],
                                                    "expression": {
                                                        "id": 18585,
                                                        "name": "abi",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 4294967295,
                                                        "src": "44342:3:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_magic_abi",
                                                            "typeString": "abi"
                                                        }
                                                    },
                                                    "id": 18586,
                                                    "isConstant": false,
                                                    "isLValue": false,
                                                    "isPure": true,
                                                    "lValueRequested": false,
                                                    "memberName": "encodeWithSignature",
                                                    "nodeType": "MemberAccess",
                                                    "src": "44342:23:62",
                                                    "typeDescriptions": {
                                                        "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$",
                                                        "typeString": "function (string memory) pure returns (bytes memory)"
                                                    }
                                                },
                                                "id": 18592,
                                                "isConstant": false,
                                                "isLValue": false,
                                                "isPure": false,
                                                "kind": "functionCall",
                                                "lValueRequested": false,
                                                "names": [],
                                                "nodeType": "FunctionCall",
                                                "src": "44342:69:62",
                                                "tryCall": false,
                                                "typeDescriptions": {
                                                    "typeIdentifier": "t_bytes_memory_ptr",
                                                    "typeString": "bytes memory"
                                                }
                                            }
                                        ],
                                        "expression": {
                                            "argumentTypes": [
                                                {
                                                    "typeIdentifier": "t_bytes_memory_ptr",
                                                    "typeString": "bytes memory"
                                                }
                                            ],
                                            "id": 18584,
                                            "name": "_sendLogPayload",
                                            "nodeType": "Identifier",
                                            "overloadedDeclarations": [],
                                            "referencedDeclaration": 12880,
                                            "src": "44326:15:62",
                                            "typeDescriptions": {
                                                "typeIdentifier": "t_function_internal_view$_t_bytes_memory_ptr_$returns$__$",
                                                "typeString": "function (bytes memory) view"
                                            }
                                        },
                                        "id": 18593,
                                        "isConstant": false,
                                        "isLValue": false,
                                        "isPure": false,
                                        "kind": "functionCall",
                                        "lValueRequested": false,
                                        "names": [],
                                        "nodeType": "FunctionCall",
                                        "src": "44326:86:62",
                                        "tryCall": false,
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_tuple$__$",
                                            "typeString": "tuple()"
                                        }
                                    },
                                    "id": 18594,
                                    "nodeType": "ExpressionStatement",
                                    "src": "44326:86:62"
                                }
                            ]
                        },
                        "id": 18596,
                        "implemented": true,
                        "kind": "function",
                        "modifiers": [],
                        "name": "log",
                        "nameLocation": "44259:3:62",
                        "nodeType": "FunctionDefinition",
                        "parameters": {
                            "id": 18582,
                            "nodeType": "ParameterList",
                            "parameters": [
                                {
                                    "constant": false,
                                    "id": 18575,
                                    "mutability": "mutable",
                                    "name": "p0",
                                    "nameLocation": "44268:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 18596,
                                    "src": "44263:7:62",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_bool",
                                        "typeString": "bool"
                                    },
                                    "typeName": {
                                        "id": 18574,
                                        "name": "bool",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "44263:4:62",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_bool",
                                            "typeString": "bool"
                                        }
                                    },
                                    "visibility": "internal"
                                },
                                {
                                    "constant": false,
                                    "id": 18577,
                                    "mutability": "mutable",
                                    "name": "p1",
                                    "nameLocation": "44286:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 18596,
                                    "src": "44272:16:62",
                                    "stateVariable": false,
                                    "storageLocation": "memory",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_string_memory_ptr",
                                        "typeString": "string"
                                    },
                                    "typeName": {
                                        "id": 18576,
                                        "name": "string",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "44272:6:62",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_string_storage_ptr",
                                            "typeString": "string"
                                        }
                                    },
                                    "visibility": "internal"
                                },
                                {
                                    "constant": false,
                                    "id": 18579,
                                    "mutability": "mutable",
                                    "name": "p2",
                                    "nameLocation": "44295:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 18596,
                                    "src": "44290:7:62",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_bool",
                                        "typeString": "bool"
                                    },
                                    "typeName": {
                                        "id": 18578,
                                        "name": "bool",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "44290:4:62",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_bool",
                                            "typeString": "bool"
                                        }
                                    },
                                    "visibility": "internal"
                                },
                                {
                                    "constant": false,
                                    "id": 18581,
                                    "mutability": "mutable",
                                    "name": "p3",
                                    "nameLocation": "44304:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 18596,
                                    "src": "44299:7:62",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_bool",
                                        "typeString": "bool"
                                    },
                                    "typeName": {
                                        "id": 18580,
                                        "name": "bool",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "44299:4:62",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_bool",
                                            "typeString": "bool"
                                        }
                                    },
                                    "visibility": "internal"
                                }
                            ],
                            "src": "44262:45:62"
                        },
                        "returnParameters": {
                            "id": 18583,
                            "nodeType": "ParameterList",
                            "parameters": [],
                            "src": "44322:0:62"
                        },
                        "scope": 20920,
                        "src": "44250:166:62",
                        "stateMutability": "view",
                        "virtual": false,
                        "visibility": "internal"
                    },
                    {
                        "body": {
                            "id": 18618,
                            "nodeType": "Block",
                            "src": "44494:97:62",
                            "statements": [
                                {
                                    "expression": {
                                        "arguments": [
                                            {
                                                "arguments": [
                                                    {
                                                        "hexValue": "6c6f6728626f6f6c2c737472696e672c626f6f6c2c6164647265737329",
                                                        "id": 18610,
                                                        "isConstant": false,
                                                        "isLValue": false,
                                                        "isPure": true,
                                                        "kind": "string",
                                                        "lValueRequested": false,
                                                        "nodeType": "Literal",
                                                        "src": "44538:31:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_stringliteral_538e06ab06366b189ea53da7c11628ee5730bc373b0bc64719bea1a2afab03c5",
                                                            "typeString": "literal_string \"log(bool,string,bool,address)\""
                                                        },
                                                        "value": "log(bool,string,bool,address)"
                                                    },
                                                    {
                                                        "id": 18611,
                                                        "name": "p0",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 18598,
                                                        "src": "44571:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_bool",
                                                            "typeString": "bool"
                                                        }
                                                    },
                                                    {
                                                        "id": 18612,
                                                        "name": "p1",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 18600,
                                                        "src": "44575:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_string_memory_ptr",
                                                            "typeString": "string memory"
                                                        }
                                                    },
                                                    {
                                                        "id": 18613,
                                                        "name": "p2",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 18602,
                                                        "src": "44579:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_bool",
                                                            "typeString": "bool"
                                                        }
                                                    },
                                                    {
                                                        "id": 18614,
                                                        "name": "p3",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 18604,
                                                        "src": "44583:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_address",
                                                            "typeString": "address"
                                                        }
                                                    }
                                                ],
                                                "expression": {
                                                    "argumentTypes": [
                                                        {
                                                            "typeIdentifier": "t_stringliteral_538e06ab06366b189ea53da7c11628ee5730bc373b0bc64719bea1a2afab03c5",
                                                            "typeString": "literal_string \"log(bool,string,bool,address)\""
                                                        },
                                                        {
                                                            "typeIdentifier": "t_bool",
                                                            "typeString": "bool"
                                                        },
                                                        {
                                                            "typeIdentifier": "t_string_memory_ptr",
                                                            "typeString": "string memory"
                                                        },
                                                        {
                                                            "typeIdentifier": "t_bool",
                                                            "typeString": "bool"
                                                        },
                                                        {
                                                            "typeIdentifier": "t_address",
                                                            "typeString": "address"
                                                        }
                                                    ],
                                                    "expression": {
                                                        "id": 18608,
                                                        "name": "abi",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 4294967295,
                                                        "src": "44514:3:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_magic_abi",
                                                            "typeString": "abi"
                                                        }
                                                    },
                                                    "id": 18609,
                                                    "isConstant": false,
                                                    "isLValue": false,
                                                    "isPure": true,
                                                    "lValueRequested": false,
                                                    "memberName": "encodeWithSignature",
                                                    "nodeType": "MemberAccess",
                                                    "src": "44514:23:62",
                                                    "typeDescriptions": {
                                                        "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$",
                                                        "typeString": "function (string memory) pure returns (bytes memory)"
                                                    }
                                                },
                                                "id": 18615,
                                                "isConstant": false,
                                                "isLValue": false,
                                                "isPure": false,
                                                "kind": "functionCall",
                                                "lValueRequested": false,
                                                "names": [],
                                                "nodeType": "FunctionCall",
                                                "src": "44514:72:62",
                                                "tryCall": false,
                                                "typeDescriptions": {
                                                    "typeIdentifier": "t_bytes_memory_ptr",
                                                    "typeString": "bytes memory"
                                                }
                                            }
                                        ],
                                        "expression": {
                                            "argumentTypes": [
                                                {
                                                    "typeIdentifier": "t_bytes_memory_ptr",
                                                    "typeString": "bytes memory"
                                                }
                                            ],
                                            "id": 18607,
                                            "name": "_sendLogPayload",
                                            "nodeType": "Identifier",
                                            "overloadedDeclarations": [],
                                            "referencedDeclaration": 12880,
                                            "src": "44498:15:62",
                                            "typeDescriptions": {
                                                "typeIdentifier": "t_function_internal_view$_t_bytes_memory_ptr_$returns$__$",
                                                "typeString": "function (bytes memory) view"
                                            }
                                        },
                                        "id": 18616,
                                        "isConstant": false,
                                        "isLValue": false,
                                        "isPure": false,
                                        "kind": "functionCall",
                                        "lValueRequested": false,
                                        "names": [],
                                        "nodeType": "FunctionCall",
                                        "src": "44498:89:62",
                                        "tryCall": false,
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_tuple$__$",
                                            "typeString": "tuple()"
                                        }
                                    },
                                    "id": 18617,
                                    "nodeType": "ExpressionStatement",
                                    "src": "44498:89:62"
                                }
                            ]
                        },
                        "id": 18619,
                        "implemented": true,
                        "kind": "function",
                        "modifiers": [],
                        "name": "log",
                        "nameLocation": "44428:3:62",
                        "nodeType": "FunctionDefinition",
                        "parameters": {
                            "id": 18605,
                            "nodeType": "ParameterList",
                            "parameters": [
                                {
                                    "constant": false,
                                    "id": 18598,
                                    "mutability": "mutable",
                                    "name": "p0",
                                    "nameLocation": "44437:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 18619,
                                    "src": "44432:7:62",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_bool",
                                        "typeString": "bool"
                                    },
                                    "typeName": {
                                        "id": 18597,
                                        "name": "bool",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "44432:4:62",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_bool",
                                            "typeString": "bool"
                                        }
                                    },
                                    "visibility": "internal"
                                },
                                {
                                    "constant": false,
                                    "id": 18600,
                                    "mutability": "mutable",
                                    "name": "p1",
                                    "nameLocation": "44455:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 18619,
                                    "src": "44441:16:62",
                                    "stateVariable": false,
                                    "storageLocation": "memory",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_string_memory_ptr",
                                        "typeString": "string"
                                    },
                                    "typeName": {
                                        "id": 18599,
                                        "name": "string",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "44441:6:62",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_string_storage_ptr",
                                            "typeString": "string"
                                        }
                                    },
                                    "visibility": "internal"
                                },
                                {
                                    "constant": false,
                                    "id": 18602,
                                    "mutability": "mutable",
                                    "name": "p2",
                                    "nameLocation": "44464:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 18619,
                                    "src": "44459:7:62",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_bool",
                                        "typeString": "bool"
                                    },
                                    "typeName": {
                                        "id": 18601,
                                        "name": "bool",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "44459:4:62",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_bool",
                                            "typeString": "bool"
                                        }
                                    },
                                    "visibility": "internal"
                                },
                                {
                                    "constant": false,
                                    "id": 18604,
                                    "mutability": "mutable",
                                    "name": "p3",
                                    "nameLocation": "44476:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 18619,
                                    "src": "44468:10:62",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_address",
                                        "typeString": "address"
                                    },
                                    "typeName": {
                                        "id": 18603,
                                        "name": "address",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "44468:7:62",
                                        "stateMutability": "nonpayable",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_address",
                                            "typeString": "address"
                                        }
                                    },
                                    "visibility": "internal"
                                }
                            ],
                            "src": "44431:48:62"
                        },
                        "returnParameters": {
                            "id": 18606,
                            "nodeType": "ParameterList",
                            "parameters": [],
                            "src": "44494:0:62"
                        },
                        "scope": 20920,
                        "src": "44419:172:62",
                        "stateMutability": "view",
                        "virtual": false,
                        "visibility": "internal"
                    },
                    {
                        "body": {
                            "id": 18641,
                            "nodeType": "Block",
                            "src": "44669:97:62",
                            "statements": [
                                {
                                    "expression": {
                                        "arguments": [
                                            {
                                                "arguments": [
                                                    {
                                                        "hexValue": "6c6f6728626f6f6c2c737472696e672c616464726573732c75696e7429",
                                                        "id": 18633,
                                                        "isConstant": false,
                                                        "isLValue": false,
                                                        "isPure": true,
                                                        "kind": "string",
                                                        "lValueRequested": false,
                                                        "nodeType": "Literal",
                                                        "src": "44713:31:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_stringliteral_1b0b955b558cd224468bb20ba92b23519cb59fe363a105b00d7a815c1673c4ca",
                                                            "typeString": "literal_string \"log(bool,string,address,uint)\""
                                                        },
                                                        "value": "log(bool,string,address,uint)"
                                                    },
                                                    {
                                                        "id": 18634,
                                                        "name": "p0",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 18621,
                                                        "src": "44746:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_bool",
                                                            "typeString": "bool"
                                                        }
                                                    },
                                                    {
                                                        "id": 18635,
                                                        "name": "p1",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 18623,
                                                        "src": "44750:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_string_memory_ptr",
                                                            "typeString": "string memory"
                                                        }
                                                    },
                                                    {
                                                        "id": 18636,
                                                        "name": "p2",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 18625,
                                                        "src": "44754:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_address",
                                                            "typeString": "address"
                                                        }
                                                    },
                                                    {
                                                        "id": 18637,
                                                        "name": "p3",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 18627,
                                                        "src": "44758:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_uint256",
                                                            "typeString": "uint256"
                                                        }
                                                    }
                                                ],
                                                "expression": {
                                                    "argumentTypes": [
                                                        {
                                                            "typeIdentifier": "t_stringliteral_1b0b955b558cd224468bb20ba92b23519cb59fe363a105b00d7a815c1673c4ca",
                                                            "typeString": "literal_string \"log(bool,string,address,uint)\""
                                                        },
                                                        {
                                                            "typeIdentifier": "t_bool",
                                                            "typeString": "bool"
                                                        },
                                                        {
                                                            "typeIdentifier": "t_string_memory_ptr",
                                                            "typeString": "string memory"
                                                        },
                                                        {
                                                            "typeIdentifier": "t_address",
                                                            "typeString": "address"
                                                        },
                                                        {
                                                            "typeIdentifier": "t_uint256",
                                                            "typeString": "uint256"
                                                        }
                                                    ],
                                                    "expression": {
                                                        "id": 18631,
                                                        "name": "abi",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 4294967295,
                                                        "src": "44689:3:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_magic_abi",
                                                            "typeString": "abi"
                                                        }
                                                    },
                                                    "id": 18632,
                                                    "isConstant": false,
                                                    "isLValue": false,
                                                    "isPure": true,
                                                    "lValueRequested": false,
                                                    "memberName": "encodeWithSignature",
                                                    "nodeType": "MemberAccess",
                                                    "src": "44689:23:62",
                                                    "typeDescriptions": {
                                                        "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$",
                                                        "typeString": "function (string memory) pure returns (bytes memory)"
                                                    }
                                                },
                                                "id": 18638,
                                                "isConstant": false,
                                                "isLValue": false,
                                                "isPure": false,
                                                "kind": "functionCall",
                                                "lValueRequested": false,
                                                "names": [],
                                                "nodeType": "FunctionCall",
                                                "src": "44689:72:62",
                                                "tryCall": false,
                                                "typeDescriptions": {
                                                    "typeIdentifier": "t_bytes_memory_ptr",
                                                    "typeString": "bytes memory"
                                                }
                                            }
                                        ],
                                        "expression": {
                                            "argumentTypes": [
                                                {
                                                    "typeIdentifier": "t_bytes_memory_ptr",
                                                    "typeString": "bytes memory"
                                                }
                                            ],
                                            "id": 18630,
                                            "name": "_sendLogPayload",
                                            "nodeType": "Identifier",
                                            "overloadedDeclarations": [],
                                            "referencedDeclaration": 12880,
                                            "src": "44673:15:62",
                                            "typeDescriptions": {
                                                "typeIdentifier": "t_function_internal_view$_t_bytes_memory_ptr_$returns$__$",
                                                "typeString": "function (bytes memory) view"
                                            }
                                        },
                                        "id": 18639,
                                        "isConstant": false,
                                        "isLValue": false,
                                        "isPure": false,
                                        "kind": "functionCall",
                                        "lValueRequested": false,
                                        "names": [],
                                        "nodeType": "FunctionCall",
                                        "src": "44673:89:62",
                                        "tryCall": false,
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_tuple$__$",
                                            "typeString": "tuple()"
                                        }
                                    },
                                    "id": 18640,
                                    "nodeType": "ExpressionStatement",
                                    "src": "44673:89:62"
                                }
                            ]
                        },
                        "id": 18642,
                        "implemented": true,
                        "kind": "function",
                        "modifiers": [],
                        "name": "log",
                        "nameLocation": "44603:3:62",
                        "nodeType": "FunctionDefinition",
                        "parameters": {
                            "id": 18628,
                            "nodeType": "ParameterList",
                            "parameters": [
                                {
                                    "constant": false,
                                    "id": 18621,
                                    "mutability": "mutable",
                                    "name": "p0",
                                    "nameLocation": "44612:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 18642,
                                    "src": "44607:7:62",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_bool",
                                        "typeString": "bool"
                                    },
                                    "typeName": {
                                        "id": 18620,
                                        "name": "bool",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "44607:4:62",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_bool",
                                            "typeString": "bool"
                                        }
                                    },
                                    "visibility": "internal"
                                },
                                {
                                    "constant": false,
                                    "id": 18623,
                                    "mutability": "mutable",
                                    "name": "p1",
                                    "nameLocation": "44630:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 18642,
                                    "src": "44616:16:62",
                                    "stateVariable": false,
                                    "storageLocation": "memory",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_string_memory_ptr",
                                        "typeString": "string"
                                    },
                                    "typeName": {
                                        "id": 18622,
                                        "name": "string",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "44616:6:62",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_string_storage_ptr",
                                            "typeString": "string"
                                        }
                                    },
                                    "visibility": "internal"
                                },
                                {
                                    "constant": false,
                                    "id": 18625,
                                    "mutability": "mutable",
                                    "name": "p2",
                                    "nameLocation": "44642:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 18642,
                                    "src": "44634:10:62",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_address",
                                        "typeString": "address"
                                    },
                                    "typeName": {
                                        "id": 18624,
                                        "name": "address",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "44634:7:62",
                                        "stateMutability": "nonpayable",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_address",
                                            "typeString": "address"
                                        }
                                    },
                                    "visibility": "internal"
                                },
                                {
                                    "constant": false,
                                    "id": 18627,
                                    "mutability": "mutable",
                                    "name": "p3",
                                    "nameLocation": "44651:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 18642,
                                    "src": "44646:7:62",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_uint256",
                                        "typeString": "uint256"
                                    },
                                    "typeName": {
                                        "id": 18626,
                                        "name": "uint",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "44646:4:62",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_uint256",
                                            "typeString": "uint256"
                                        }
                                    },
                                    "visibility": "internal"
                                }
                            ],
                            "src": "44606:48:62"
                        },
                        "returnParameters": {
                            "id": 18629,
                            "nodeType": "ParameterList",
                            "parameters": [],
                            "src": "44669:0:62"
                        },
                        "scope": 20920,
                        "src": "44594:172:62",
                        "stateMutability": "view",
                        "virtual": false,
                        "visibility": "internal"
                    },
                    {
                        "body": {
                            "id": 18664,
                            "nodeType": "Block",
                            "src": "44853:99:62",
                            "statements": [
                                {
                                    "expression": {
                                        "arguments": [
                                            {
                                                "arguments": [
                                                    {
                                                        "hexValue": "6c6f6728626f6f6c2c737472696e672c616464726573732c737472696e6729",
                                                        "id": 18656,
                                                        "isConstant": false,
                                                        "isLValue": false,
                                                        "isPure": true,
                                                        "kind": "string",
                                                        "lValueRequested": false,
                                                        "nodeType": "Literal",
                                                        "src": "44897:33:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_stringliteral_12d6c788fea4d6144f2607e1e8821bec55a5c2dfdc4cece41a536f7b7831e7a7",
                                                            "typeString": "literal_string \"log(bool,string,address,string)\""
                                                        },
                                                        "value": "log(bool,string,address,string)"
                                                    },
                                                    {
                                                        "id": 18657,
                                                        "name": "p0",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 18644,
                                                        "src": "44932:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_bool",
                                                            "typeString": "bool"
                                                        }
                                                    },
                                                    {
                                                        "id": 18658,
                                                        "name": "p1",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 18646,
                                                        "src": "44936:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_string_memory_ptr",
                                                            "typeString": "string memory"
                                                        }
                                                    },
                                                    {
                                                        "id": 18659,
                                                        "name": "p2",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 18648,
                                                        "src": "44940:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_address",
                                                            "typeString": "address"
                                                        }
                                                    },
                                                    {
                                                        "id": 18660,
                                                        "name": "p3",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 18650,
                                                        "src": "44944:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_string_memory_ptr",
                                                            "typeString": "string memory"
                                                        }
                                                    }
                                                ],
                                                "expression": {
                                                    "argumentTypes": [
                                                        {
                                                            "typeIdentifier": "t_stringliteral_12d6c788fea4d6144f2607e1e8821bec55a5c2dfdc4cece41a536f7b7831e7a7",
                                                            "typeString": "literal_string \"log(bool,string,address,string)\""
                                                        },
                                                        {
                                                            "typeIdentifier": "t_bool",
                                                            "typeString": "bool"
                                                        },
                                                        {
                                                            "typeIdentifier": "t_string_memory_ptr",
                                                            "typeString": "string memory"
                                                        },
                                                        {
                                                            "typeIdentifier": "t_address",
                                                            "typeString": "address"
                                                        },
                                                        {
                                                            "typeIdentifier": "t_string_memory_ptr",
                                                            "typeString": "string memory"
                                                        }
                                                    ],
                                                    "expression": {
                                                        "id": 18654,
                                                        "name": "abi",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 4294967295,
                                                        "src": "44873:3:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_magic_abi",
                                                            "typeString": "abi"
                                                        }
                                                    },
                                                    "id": 18655,
                                                    "isConstant": false,
                                                    "isLValue": false,
                                                    "isPure": true,
                                                    "lValueRequested": false,
                                                    "memberName": "encodeWithSignature",
                                                    "nodeType": "MemberAccess",
                                                    "src": "44873:23:62",
                                                    "typeDescriptions": {
                                                        "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$",
                                                        "typeString": "function (string memory) pure returns (bytes memory)"
                                                    }
                                                },
                                                "id": 18661,
                                                "isConstant": false,
                                                "isLValue": false,
                                                "isPure": false,
                                                "kind": "functionCall",
                                                "lValueRequested": false,
                                                "names": [],
                                                "nodeType": "FunctionCall",
                                                "src": "44873:74:62",
                                                "tryCall": false,
                                                "typeDescriptions": {
                                                    "typeIdentifier": "t_bytes_memory_ptr",
                                                    "typeString": "bytes memory"
                                                }
                                            }
                                        ],
                                        "expression": {
                                            "argumentTypes": [
                                                {
                                                    "typeIdentifier": "t_bytes_memory_ptr",
                                                    "typeString": "bytes memory"
                                                }
                                            ],
                                            "id": 18653,
                                            "name": "_sendLogPayload",
                                            "nodeType": "Identifier",
                                            "overloadedDeclarations": [],
                                            "referencedDeclaration": 12880,
                                            "src": "44857:15:62",
                                            "typeDescriptions": {
                                                "typeIdentifier": "t_function_internal_view$_t_bytes_memory_ptr_$returns$__$",
                                                "typeString": "function (bytes memory) view"
                                            }
                                        },
                                        "id": 18662,
                                        "isConstant": false,
                                        "isLValue": false,
                                        "isPure": false,
                                        "kind": "functionCall",
                                        "lValueRequested": false,
                                        "names": [],
                                        "nodeType": "FunctionCall",
                                        "src": "44857:91:62",
                                        "tryCall": false,
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_tuple$__$",
                                            "typeString": "tuple()"
                                        }
                                    },
                                    "id": 18663,
                                    "nodeType": "ExpressionStatement",
                                    "src": "44857:91:62"
                                }
                            ]
                        },
                        "id": 18665,
                        "implemented": true,
                        "kind": "function",
                        "modifiers": [],
                        "name": "log",
                        "nameLocation": "44778:3:62",
                        "nodeType": "FunctionDefinition",
                        "parameters": {
                            "id": 18651,
                            "nodeType": "ParameterList",
                            "parameters": [
                                {
                                    "constant": false,
                                    "id": 18644,
                                    "mutability": "mutable",
                                    "name": "p0",
                                    "nameLocation": "44787:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 18665,
                                    "src": "44782:7:62",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_bool",
                                        "typeString": "bool"
                                    },
                                    "typeName": {
                                        "id": 18643,
                                        "name": "bool",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "44782:4:62",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_bool",
                                            "typeString": "bool"
                                        }
                                    },
                                    "visibility": "internal"
                                },
                                {
                                    "constant": false,
                                    "id": 18646,
                                    "mutability": "mutable",
                                    "name": "p1",
                                    "nameLocation": "44805:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 18665,
                                    "src": "44791:16:62",
                                    "stateVariable": false,
                                    "storageLocation": "memory",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_string_memory_ptr",
                                        "typeString": "string"
                                    },
                                    "typeName": {
                                        "id": 18645,
                                        "name": "string",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "44791:6:62",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_string_storage_ptr",
                                            "typeString": "string"
                                        }
                                    },
                                    "visibility": "internal"
                                },
                                {
                                    "constant": false,
                                    "id": 18648,
                                    "mutability": "mutable",
                                    "name": "p2",
                                    "nameLocation": "44817:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 18665,
                                    "src": "44809:10:62",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_address",
                                        "typeString": "address"
                                    },
                                    "typeName": {
                                        "id": 18647,
                                        "name": "address",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "44809:7:62",
                                        "stateMutability": "nonpayable",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_address",
                                            "typeString": "address"
                                        }
                                    },
                                    "visibility": "internal"
                                },
                                {
                                    "constant": false,
                                    "id": 18650,
                                    "mutability": "mutable",
                                    "name": "p3",
                                    "nameLocation": "44835:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 18665,
                                    "src": "44821:16:62",
                                    "stateVariable": false,
                                    "storageLocation": "memory",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_string_memory_ptr",
                                        "typeString": "string"
                                    },
                                    "typeName": {
                                        "id": 18649,
                                        "name": "string",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "44821:6:62",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_string_storage_ptr",
                                            "typeString": "string"
                                        }
                                    },
                                    "visibility": "internal"
                                }
                            ],
                            "src": "44781:57:62"
                        },
                        "returnParameters": {
                            "id": 18652,
                            "nodeType": "ParameterList",
                            "parameters": [],
                            "src": "44853:0:62"
                        },
                        "scope": 20920,
                        "src": "44769:183:62",
                        "stateMutability": "view",
                        "virtual": false,
                        "visibility": "internal"
                    },
                    {
                        "body": {
                            "id": 18687,
                            "nodeType": "Block",
                            "src": "45030:97:62",
                            "statements": [
                                {
                                    "expression": {
                                        "arguments": [
                                            {
                                                "arguments": [
                                                    {
                                                        "hexValue": "6c6f6728626f6f6c2c737472696e672c616464726573732c626f6f6c29",
                                                        "id": 18679,
                                                        "isConstant": false,
                                                        "isLValue": false,
                                                        "isPure": true,
                                                        "kind": "string",
                                                        "lValueRequested": false,
                                                        "nodeType": "Literal",
                                                        "src": "45074:31:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_stringliteral_6dd434ca1fa26d491bcd72b7fe69eb72d41cae8eadbda5a7f985734e1b80c67d",
                                                            "typeString": "literal_string \"log(bool,string,address,bool)\""
                                                        },
                                                        "value": "log(bool,string,address,bool)"
                                                    },
                                                    {
                                                        "id": 18680,
                                                        "name": "p0",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 18667,
                                                        "src": "45107:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_bool",
                                                            "typeString": "bool"
                                                        }
                                                    },
                                                    {
                                                        "id": 18681,
                                                        "name": "p1",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 18669,
                                                        "src": "45111:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_string_memory_ptr",
                                                            "typeString": "string memory"
                                                        }
                                                    },
                                                    {
                                                        "id": 18682,
                                                        "name": "p2",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 18671,
                                                        "src": "45115:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_address",
                                                            "typeString": "address"
                                                        }
                                                    },
                                                    {
                                                        "id": 18683,
                                                        "name": "p3",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 18673,
                                                        "src": "45119:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_bool",
                                                            "typeString": "bool"
                                                        }
                                                    }
                                                ],
                                                "expression": {
                                                    "argumentTypes": [
                                                        {
                                                            "typeIdentifier": "t_stringliteral_6dd434ca1fa26d491bcd72b7fe69eb72d41cae8eadbda5a7f985734e1b80c67d",
                                                            "typeString": "literal_string \"log(bool,string,address,bool)\""
                                                        },
                                                        {
                                                            "typeIdentifier": "t_bool",
                                                            "typeString": "bool"
                                                        },
                                                        {
                                                            "typeIdentifier": "t_string_memory_ptr",
                                                            "typeString": "string memory"
                                                        },
                                                        {
                                                            "typeIdentifier": "t_address",
                                                            "typeString": "address"
                                                        },
                                                        {
                                                            "typeIdentifier": "t_bool",
                                                            "typeString": "bool"
                                                        }
                                                    ],
                                                    "expression": {
                                                        "id": 18677,
                                                        "name": "abi",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 4294967295,
                                                        "src": "45050:3:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_magic_abi",
                                                            "typeString": "abi"
                                                        }
                                                    },
                                                    "id": 18678,
                                                    "isConstant": false,
                                                    "isLValue": false,
                                                    "isPure": true,
                                                    "lValueRequested": false,
                                                    "memberName": "encodeWithSignature",
                                                    "nodeType": "MemberAccess",
                                                    "src": "45050:23:62",
                                                    "typeDescriptions": {
                                                        "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$",
                                                        "typeString": "function (string memory) pure returns (bytes memory)"
                                                    }
                                                },
                                                "id": 18684,
                                                "isConstant": false,
                                                "isLValue": false,
                                                "isPure": false,
                                                "kind": "functionCall",
                                                "lValueRequested": false,
                                                "names": [],
                                                "nodeType": "FunctionCall",
                                                "src": "45050:72:62",
                                                "tryCall": false,
                                                "typeDescriptions": {
                                                    "typeIdentifier": "t_bytes_memory_ptr",
                                                    "typeString": "bytes memory"
                                                }
                                            }
                                        ],
                                        "expression": {
                                            "argumentTypes": [
                                                {
                                                    "typeIdentifier": "t_bytes_memory_ptr",
                                                    "typeString": "bytes memory"
                                                }
                                            ],
                                            "id": 18676,
                                            "name": "_sendLogPayload",
                                            "nodeType": "Identifier",
                                            "overloadedDeclarations": [],
                                            "referencedDeclaration": 12880,
                                            "src": "45034:15:62",
                                            "typeDescriptions": {
                                                "typeIdentifier": "t_function_internal_view$_t_bytes_memory_ptr_$returns$__$",
                                                "typeString": "function (bytes memory) view"
                                            }
                                        },
                                        "id": 18685,
                                        "isConstant": false,
                                        "isLValue": false,
                                        "isPure": false,
                                        "kind": "functionCall",
                                        "lValueRequested": false,
                                        "names": [],
                                        "nodeType": "FunctionCall",
                                        "src": "45034:89:62",
                                        "tryCall": false,
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_tuple$__$",
                                            "typeString": "tuple()"
                                        }
                                    },
                                    "id": 18686,
                                    "nodeType": "ExpressionStatement",
                                    "src": "45034:89:62"
                                }
                            ]
                        },
                        "id": 18688,
                        "implemented": true,
                        "kind": "function",
                        "modifiers": [],
                        "name": "log",
                        "nameLocation": "44964:3:62",
                        "nodeType": "FunctionDefinition",
                        "parameters": {
                            "id": 18674,
                            "nodeType": "ParameterList",
                            "parameters": [
                                {
                                    "constant": false,
                                    "id": 18667,
                                    "mutability": "mutable",
                                    "name": "p0",
                                    "nameLocation": "44973:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 18688,
                                    "src": "44968:7:62",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_bool",
                                        "typeString": "bool"
                                    },
                                    "typeName": {
                                        "id": 18666,
                                        "name": "bool",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "44968:4:62",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_bool",
                                            "typeString": "bool"
                                        }
                                    },
                                    "visibility": "internal"
                                },
                                {
                                    "constant": false,
                                    "id": 18669,
                                    "mutability": "mutable",
                                    "name": "p1",
                                    "nameLocation": "44991:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 18688,
                                    "src": "44977:16:62",
                                    "stateVariable": false,
                                    "storageLocation": "memory",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_string_memory_ptr",
                                        "typeString": "string"
                                    },
                                    "typeName": {
                                        "id": 18668,
                                        "name": "string",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "44977:6:62",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_string_storage_ptr",
                                            "typeString": "string"
                                        }
                                    },
                                    "visibility": "internal"
                                },
                                {
                                    "constant": false,
                                    "id": 18671,
                                    "mutability": "mutable",
                                    "name": "p2",
                                    "nameLocation": "45003:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 18688,
                                    "src": "44995:10:62",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_address",
                                        "typeString": "address"
                                    },
                                    "typeName": {
                                        "id": 18670,
                                        "name": "address",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "44995:7:62",
                                        "stateMutability": "nonpayable",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_address",
                                            "typeString": "address"
                                        }
                                    },
                                    "visibility": "internal"
                                },
                                {
                                    "constant": false,
                                    "id": 18673,
                                    "mutability": "mutable",
                                    "name": "p3",
                                    "nameLocation": "45012:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 18688,
                                    "src": "45007:7:62",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_bool",
                                        "typeString": "bool"
                                    },
                                    "typeName": {
                                        "id": 18672,
                                        "name": "bool",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "45007:4:62",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_bool",
                                            "typeString": "bool"
                                        }
                                    },
                                    "visibility": "internal"
                                }
                            ],
                            "src": "44967:48:62"
                        },
                        "returnParameters": {
                            "id": 18675,
                            "nodeType": "ParameterList",
                            "parameters": [],
                            "src": "45030:0:62"
                        },
                        "scope": 20920,
                        "src": "44955:172:62",
                        "stateMutability": "view",
                        "virtual": false,
                        "visibility": "internal"
                    },
                    {
                        "body": {
                            "id": 18710,
                            "nodeType": "Block",
                            "src": "45208:100:62",
                            "statements": [
                                {
                                    "expression": {
                                        "arguments": [
                                            {
                                                "arguments": [
                                                    {
                                                        "hexValue": "6c6f6728626f6f6c2c737472696e672c616464726573732c6164647265737329",
                                                        "id": 18702,
                                                        "isConstant": false,
                                                        "isLValue": false,
                                                        "isPure": true,
                                                        "kind": "string",
                                                        "lValueRequested": false,
                                                        "nodeType": "Literal",
                                                        "src": "45252:34:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_stringliteral_2b2b18dc50ecc75180f201de41eca533fbda0c7bf525c06b5b8e87bc1d010822",
                                                            "typeString": "literal_string \"log(bool,string,address,address)\""
                                                        },
                                                        "value": "log(bool,string,address,address)"
                                                    },
                                                    {
                                                        "id": 18703,
                                                        "name": "p0",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 18690,
                                                        "src": "45288:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_bool",
                                                            "typeString": "bool"
                                                        }
                                                    },
                                                    {
                                                        "id": 18704,
                                                        "name": "p1",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 18692,
                                                        "src": "45292:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_string_memory_ptr",
                                                            "typeString": "string memory"
                                                        }
                                                    },
                                                    {
                                                        "id": 18705,
                                                        "name": "p2",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 18694,
                                                        "src": "45296:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_address",
                                                            "typeString": "address"
                                                        }
                                                    },
                                                    {
                                                        "id": 18706,
                                                        "name": "p3",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 18696,
                                                        "src": "45300:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_address",
                                                            "typeString": "address"
                                                        }
                                                    }
                                                ],
                                                "expression": {
                                                    "argumentTypes": [
                                                        {
                                                            "typeIdentifier": "t_stringliteral_2b2b18dc50ecc75180f201de41eca533fbda0c7bf525c06b5b8e87bc1d010822",
                                                            "typeString": "literal_string \"log(bool,string,address,address)\""
                                                        },
                                                        {
                                                            "typeIdentifier": "t_bool",
                                                            "typeString": "bool"
                                                        },
                                                        {
                                                            "typeIdentifier": "t_string_memory_ptr",
                                                            "typeString": "string memory"
                                                        },
                                                        {
                                                            "typeIdentifier": "t_address",
                                                            "typeString": "address"
                                                        },
                                                        {
                                                            "typeIdentifier": "t_address",
                                                            "typeString": "address"
                                                        }
                                                    ],
                                                    "expression": {
                                                        "id": 18700,
                                                        "name": "abi",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 4294967295,
                                                        "src": "45228:3:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_magic_abi",
                                                            "typeString": "abi"
                                                        }
                                                    },
                                                    "id": 18701,
                                                    "isConstant": false,
                                                    "isLValue": false,
                                                    "isPure": true,
                                                    "lValueRequested": false,
                                                    "memberName": "encodeWithSignature",
                                                    "nodeType": "MemberAccess",
                                                    "src": "45228:23:62",
                                                    "typeDescriptions": {
                                                        "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$",
                                                        "typeString": "function (string memory) pure returns (bytes memory)"
                                                    }
                                                },
                                                "id": 18707,
                                                "isConstant": false,
                                                "isLValue": false,
                                                "isPure": false,
                                                "kind": "functionCall",
                                                "lValueRequested": false,
                                                "names": [],
                                                "nodeType": "FunctionCall",
                                                "src": "45228:75:62",
                                                "tryCall": false,
                                                "typeDescriptions": {
                                                    "typeIdentifier": "t_bytes_memory_ptr",
                                                    "typeString": "bytes memory"
                                                }
                                            }
                                        ],
                                        "expression": {
                                            "argumentTypes": [
                                                {
                                                    "typeIdentifier": "t_bytes_memory_ptr",
                                                    "typeString": "bytes memory"
                                                }
                                            ],
                                            "id": 18699,
                                            "name": "_sendLogPayload",
                                            "nodeType": "Identifier",
                                            "overloadedDeclarations": [],
                                            "referencedDeclaration": 12880,
                                            "src": "45212:15:62",
                                            "typeDescriptions": {
                                                "typeIdentifier": "t_function_internal_view$_t_bytes_memory_ptr_$returns$__$",
                                                "typeString": "function (bytes memory) view"
                                            }
                                        },
                                        "id": 18708,
                                        "isConstant": false,
                                        "isLValue": false,
                                        "isPure": false,
                                        "kind": "functionCall",
                                        "lValueRequested": false,
                                        "names": [],
                                        "nodeType": "FunctionCall",
                                        "src": "45212:92:62",
                                        "tryCall": false,
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_tuple$__$",
                                            "typeString": "tuple()"
                                        }
                                    },
                                    "id": 18709,
                                    "nodeType": "ExpressionStatement",
                                    "src": "45212:92:62"
                                }
                            ]
                        },
                        "id": 18711,
                        "implemented": true,
                        "kind": "function",
                        "modifiers": [],
                        "name": "log",
                        "nameLocation": "45139:3:62",
                        "nodeType": "FunctionDefinition",
                        "parameters": {
                            "id": 18697,
                            "nodeType": "ParameterList",
                            "parameters": [
                                {
                                    "constant": false,
                                    "id": 18690,
                                    "mutability": "mutable",
                                    "name": "p0",
                                    "nameLocation": "45148:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 18711,
                                    "src": "45143:7:62",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_bool",
                                        "typeString": "bool"
                                    },
                                    "typeName": {
                                        "id": 18689,
                                        "name": "bool",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "45143:4:62",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_bool",
                                            "typeString": "bool"
                                        }
                                    },
                                    "visibility": "internal"
                                },
                                {
                                    "constant": false,
                                    "id": 18692,
                                    "mutability": "mutable",
                                    "name": "p1",
                                    "nameLocation": "45166:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 18711,
                                    "src": "45152:16:62",
                                    "stateVariable": false,
                                    "storageLocation": "memory",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_string_memory_ptr",
                                        "typeString": "string"
                                    },
                                    "typeName": {
                                        "id": 18691,
                                        "name": "string",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "45152:6:62",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_string_storage_ptr",
                                            "typeString": "string"
                                        }
                                    },
                                    "visibility": "internal"
                                },
                                {
                                    "constant": false,
                                    "id": 18694,
                                    "mutability": "mutable",
                                    "name": "p2",
                                    "nameLocation": "45178:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 18711,
                                    "src": "45170:10:62",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_address",
                                        "typeString": "address"
                                    },
                                    "typeName": {
                                        "id": 18693,
                                        "name": "address",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "45170:7:62",
                                        "stateMutability": "nonpayable",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_address",
                                            "typeString": "address"
                                        }
                                    },
                                    "visibility": "internal"
                                },
                                {
                                    "constant": false,
                                    "id": 18696,
                                    "mutability": "mutable",
                                    "name": "p3",
                                    "nameLocation": "45190:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 18711,
                                    "src": "45182:10:62",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_address",
                                        "typeString": "address"
                                    },
                                    "typeName": {
                                        "id": 18695,
                                        "name": "address",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "45182:7:62",
                                        "stateMutability": "nonpayable",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_address",
                                            "typeString": "address"
                                        }
                                    },
                                    "visibility": "internal"
                                }
                            ],
                            "src": "45142:51:62"
                        },
                        "returnParameters": {
                            "id": 18698,
                            "nodeType": "ParameterList",
                            "parameters": [],
                            "src": "45208:0:62"
                        },
                        "scope": 20920,
                        "src": "45130:178:62",
                        "stateMutability": "view",
                        "virtual": false,
                        "visibility": "internal"
                    },
                    {
                        "body": {
                            "id": 18733,
                            "nodeType": "Block",
                            "src": "45374:92:62",
                            "statements": [
                                {
                                    "expression": {
                                        "arguments": [
                                            {
                                                "arguments": [
                                                    {
                                                        "hexValue": "6c6f6728626f6f6c2c626f6f6c2c75696e742c75696e7429",
                                                        "id": 18725,
                                                        "isConstant": false,
                                                        "isLValue": false,
                                                        "isPure": true,
                                                        "kind": "string",
                                                        "lValueRequested": false,
                                                        "nodeType": "Literal",
                                                        "src": "45418:26:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_stringliteral_4667de8ece32e91ade336fb6d8a14a500512d40e1162a34636a5bca908b16e6a",
                                                            "typeString": "literal_string \"log(bool,bool,uint,uint)\""
                                                        },
                                                        "value": "log(bool,bool,uint,uint)"
                                                    },
                                                    {
                                                        "id": 18726,
                                                        "name": "p0",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 18713,
                                                        "src": "45446:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_bool",
                                                            "typeString": "bool"
                                                        }
                                                    },
                                                    {
                                                        "id": 18727,
                                                        "name": "p1",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 18715,
                                                        "src": "45450:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_bool",
                                                            "typeString": "bool"
                                                        }
                                                    },
                                                    {
                                                        "id": 18728,
                                                        "name": "p2",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 18717,
                                                        "src": "45454:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_uint256",
                                                            "typeString": "uint256"
                                                        }
                                                    },
                                                    {
                                                        "id": 18729,
                                                        "name": "p3",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 18719,
                                                        "src": "45458:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_uint256",
                                                            "typeString": "uint256"
                                                        }
                                                    }
                                                ],
                                                "expression": {
                                                    "argumentTypes": [
                                                        {
                                                            "typeIdentifier": "t_stringliteral_4667de8ece32e91ade336fb6d8a14a500512d40e1162a34636a5bca908b16e6a",
                                                            "typeString": "literal_string \"log(bool,bool,uint,uint)\""
                                                        },
                                                        {
                                                            "typeIdentifier": "t_bool",
                                                            "typeString": "bool"
                                                        },
                                                        {
                                                            "typeIdentifier": "t_bool",
                                                            "typeString": "bool"
                                                        },
                                                        {
                                                            "typeIdentifier": "t_uint256",
                                                            "typeString": "uint256"
                                                        },
                                                        {
                                                            "typeIdentifier": "t_uint256",
                                                            "typeString": "uint256"
                                                        }
                                                    ],
                                                    "expression": {
                                                        "id": 18723,
                                                        "name": "abi",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 4294967295,
                                                        "src": "45394:3:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_magic_abi",
                                                            "typeString": "abi"
                                                        }
                                                    },
                                                    "id": 18724,
                                                    "isConstant": false,
                                                    "isLValue": false,
                                                    "isPure": true,
                                                    "lValueRequested": false,
                                                    "memberName": "encodeWithSignature",
                                                    "nodeType": "MemberAccess",
                                                    "src": "45394:23:62",
                                                    "typeDescriptions": {
                                                        "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$",
                                                        "typeString": "function (string memory) pure returns (bytes memory)"
                                                    }
                                                },
                                                "id": 18730,
                                                "isConstant": false,
                                                "isLValue": false,
                                                "isPure": false,
                                                "kind": "functionCall",
                                                "lValueRequested": false,
                                                "names": [],
                                                "nodeType": "FunctionCall",
                                                "src": "45394:67:62",
                                                "tryCall": false,
                                                "typeDescriptions": {
                                                    "typeIdentifier": "t_bytes_memory_ptr",
                                                    "typeString": "bytes memory"
                                                }
                                            }
                                        ],
                                        "expression": {
                                            "argumentTypes": [
                                                {
                                                    "typeIdentifier": "t_bytes_memory_ptr",
                                                    "typeString": "bytes memory"
                                                }
                                            ],
                                            "id": 18722,
                                            "name": "_sendLogPayload",
                                            "nodeType": "Identifier",
                                            "overloadedDeclarations": [],
                                            "referencedDeclaration": 12880,
                                            "src": "45378:15:62",
                                            "typeDescriptions": {
                                                "typeIdentifier": "t_function_internal_view$_t_bytes_memory_ptr_$returns$__$",
                                                "typeString": "function (bytes memory) view"
                                            }
                                        },
                                        "id": 18731,
                                        "isConstant": false,
                                        "isLValue": false,
                                        "isPure": false,
                                        "kind": "functionCall",
                                        "lValueRequested": false,
                                        "names": [],
                                        "nodeType": "FunctionCall",
                                        "src": "45378:84:62",
                                        "tryCall": false,
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_tuple$__$",
                                            "typeString": "tuple()"
                                        }
                                    },
                                    "id": 18732,
                                    "nodeType": "ExpressionStatement",
                                    "src": "45378:84:62"
                                }
                            ]
                        },
                        "id": 18734,
                        "implemented": true,
                        "kind": "function",
                        "modifiers": [],
                        "name": "log",
                        "nameLocation": "45320:3:62",
                        "nodeType": "FunctionDefinition",
                        "parameters": {
                            "id": 18720,
                            "nodeType": "ParameterList",
                            "parameters": [
                                {
                                    "constant": false,
                                    "id": 18713,
                                    "mutability": "mutable",
                                    "name": "p0",
                                    "nameLocation": "45329:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 18734,
                                    "src": "45324:7:62",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_bool",
                                        "typeString": "bool"
                                    },
                                    "typeName": {
                                        "id": 18712,
                                        "name": "bool",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "45324:4:62",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_bool",
                                            "typeString": "bool"
                                        }
                                    },
                                    "visibility": "internal"
                                },
                                {
                                    "constant": false,
                                    "id": 18715,
                                    "mutability": "mutable",
                                    "name": "p1",
                                    "nameLocation": "45338:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 18734,
                                    "src": "45333:7:62",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_bool",
                                        "typeString": "bool"
                                    },
                                    "typeName": {
                                        "id": 18714,
                                        "name": "bool",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "45333:4:62",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_bool",
                                            "typeString": "bool"
                                        }
                                    },
                                    "visibility": "internal"
                                },
                                {
                                    "constant": false,
                                    "id": 18717,
                                    "mutability": "mutable",
                                    "name": "p2",
                                    "nameLocation": "45347:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 18734,
                                    "src": "45342:7:62",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_uint256",
                                        "typeString": "uint256"
                                    },
                                    "typeName": {
                                        "id": 18716,
                                        "name": "uint",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "45342:4:62",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_uint256",
                                            "typeString": "uint256"
                                        }
                                    },
                                    "visibility": "internal"
                                },
                                {
                                    "constant": false,
                                    "id": 18719,
                                    "mutability": "mutable",
                                    "name": "p3",
                                    "nameLocation": "45356:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 18734,
                                    "src": "45351:7:62",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_uint256",
                                        "typeString": "uint256"
                                    },
                                    "typeName": {
                                        "id": 18718,
                                        "name": "uint",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "45351:4:62",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_uint256",
                                            "typeString": "uint256"
                                        }
                                    },
                                    "visibility": "internal"
                                }
                            ],
                            "src": "45323:36:62"
                        },
                        "returnParameters": {
                            "id": 18721,
                            "nodeType": "ParameterList",
                            "parameters": [],
                            "src": "45374:0:62"
                        },
                        "scope": 20920,
                        "src": "45311:155:62",
                        "stateMutability": "view",
                        "virtual": false,
                        "visibility": "internal"
                    },
                    {
                        "body": {
                            "id": 18756,
                            "nodeType": "Block",
                            "src": "45541:94:62",
                            "statements": [
                                {
                                    "expression": {
                                        "arguments": [
                                            {
                                                "arguments": [
                                                    {
                                                        "hexValue": "6c6f6728626f6f6c2c626f6f6c2c75696e742c737472696e6729",
                                                        "id": 18748,
                                                        "isConstant": false,
                                                        "isLValue": false,
                                                        "isPure": true,
                                                        "kind": "string",
                                                        "lValueRequested": false,
                                                        "nodeType": "Literal",
                                                        "src": "45585:28:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_stringliteral_50618937639b3b1cb3bbe247efb1fae4eb9a85d1e66ac66dfc77c62561966adc",
                                                            "typeString": "literal_string \"log(bool,bool,uint,string)\""
                                                        },
                                                        "value": "log(bool,bool,uint,string)"
                                                    },
                                                    {
                                                        "id": 18749,
                                                        "name": "p0",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 18736,
                                                        "src": "45615:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_bool",
                                                            "typeString": "bool"
                                                        }
                                                    },
                                                    {
                                                        "id": 18750,
                                                        "name": "p1",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 18738,
                                                        "src": "45619:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_bool",
                                                            "typeString": "bool"
                                                        }
                                                    },
                                                    {
                                                        "id": 18751,
                                                        "name": "p2",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 18740,
                                                        "src": "45623:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_uint256",
                                                            "typeString": "uint256"
                                                        }
                                                    },
                                                    {
                                                        "id": 18752,
                                                        "name": "p3",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 18742,
                                                        "src": "45627:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_string_memory_ptr",
                                                            "typeString": "string memory"
                                                        }
                                                    }
                                                ],
                                                "expression": {
                                                    "argumentTypes": [
                                                        {
                                                            "typeIdentifier": "t_stringliteral_50618937639b3b1cb3bbe247efb1fae4eb9a85d1e66ac66dfc77c62561966adc",
                                                            "typeString": "literal_string \"log(bool,bool,uint,string)\""
                                                        },
                                                        {
                                                            "typeIdentifier": "t_bool",
                                                            "typeString": "bool"
                                                        },
                                                        {
                                                            "typeIdentifier": "t_bool",
                                                            "typeString": "bool"
                                                        },
                                                        {
                                                            "typeIdentifier": "t_uint256",
                                                            "typeString": "uint256"
                                                        },
                                                        {
                                                            "typeIdentifier": "t_string_memory_ptr",
                                                            "typeString": "string memory"
                                                        }
                                                    ],
                                                    "expression": {
                                                        "id": 18746,
                                                        "name": "abi",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 4294967295,
                                                        "src": "45561:3:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_magic_abi",
                                                            "typeString": "abi"
                                                        }
                                                    },
                                                    "id": 18747,
                                                    "isConstant": false,
                                                    "isLValue": false,
                                                    "isPure": true,
                                                    "lValueRequested": false,
                                                    "memberName": "encodeWithSignature",
                                                    "nodeType": "MemberAccess",
                                                    "src": "45561:23:62",
                                                    "typeDescriptions": {
                                                        "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$",
                                                        "typeString": "function (string memory) pure returns (bytes memory)"
                                                    }
                                                },
                                                "id": 18753,
                                                "isConstant": false,
                                                "isLValue": false,
                                                "isPure": false,
                                                "kind": "functionCall",
                                                "lValueRequested": false,
                                                "names": [],
                                                "nodeType": "FunctionCall",
                                                "src": "45561:69:62",
                                                "tryCall": false,
                                                "typeDescriptions": {
                                                    "typeIdentifier": "t_bytes_memory_ptr",
                                                    "typeString": "bytes memory"
                                                }
                                            }
                                        ],
                                        "expression": {
                                            "argumentTypes": [
                                                {
                                                    "typeIdentifier": "t_bytes_memory_ptr",
                                                    "typeString": "bytes memory"
                                                }
                                            ],
                                            "id": 18745,
                                            "name": "_sendLogPayload",
                                            "nodeType": "Identifier",
                                            "overloadedDeclarations": [],
                                            "referencedDeclaration": 12880,
                                            "src": "45545:15:62",
                                            "typeDescriptions": {
                                                "typeIdentifier": "t_function_internal_view$_t_bytes_memory_ptr_$returns$__$",
                                                "typeString": "function (bytes memory) view"
                                            }
                                        },
                                        "id": 18754,
                                        "isConstant": false,
                                        "isLValue": false,
                                        "isPure": false,
                                        "kind": "functionCall",
                                        "lValueRequested": false,
                                        "names": [],
                                        "nodeType": "FunctionCall",
                                        "src": "45545:86:62",
                                        "tryCall": false,
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_tuple$__$",
                                            "typeString": "tuple()"
                                        }
                                    },
                                    "id": 18755,
                                    "nodeType": "ExpressionStatement",
                                    "src": "45545:86:62"
                                }
                            ]
                        },
                        "id": 18757,
                        "implemented": true,
                        "kind": "function",
                        "modifiers": [],
                        "name": "log",
                        "nameLocation": "45478:3:62",
                        "nodeType": "FunctionDefinition",
                        "parameters": {
                            "id": 18743,
                            "nodeType": "ParameterList",
                            "parameters": [
                                {
                                    "constant": false,
                                    "id": 18736,
                                    "mutability": "mutable",
                                    "name": "p0",
                                    "nameLocation": "45487:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 18757,
                                    "src": "45482:7:62",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_bool",
                                        "typeString": "bool"
                                    },
                                    "typeName": {
                                        "id": 18735,
                                        "name": "bool",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "45482:4:62",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_bool",
                                            "typeString": "bool"
                                        }
                                    },
                                    "visibility": "internal"
                                },
                                {
                                    "constant": false,
                                    "id": 18738,
                                    "mutability": "mutable",
                                    "name": "p1",
                                    "nameLocation": "45496:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 18757,
                                    "src": "45491:7:62",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_bool",
                                        "typeString": "bool"
                                    },
                                    "typeName": {
                                        "id": 18737,
                                        "name": "bool",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "45491:4:62",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_bool",
                                            "typeString": "bool"
                                        }
                                    },
                                    "visibility": "internal"
                                },
                                {
                                    "constant": false,
                                    "id": 18740,
                                    "mutability": "mutable",
                                    "name": "p2",
                                    "nameLocation": "45505:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 18757,
                                    "src": "45500:7:62",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_uint256",
                                        "typeString": "uint256"
                                    },
                                    "typeName": {
                                        "id": 18739,
                                        "name": "uint",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "45500:4:62",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_uint256",
                                            "typeString": "uint256"
                                        }
                                    },
                                    "visibility": "internal"
                                },
                                {
                                    "constant": false,
                                    "id": 18742,
                                    "mutability": "mutable",
                                    "name": "p3",
                                    "nameLocation": "45523:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 18757,
                                    "src": "45509:16:62",
                                    "stateVariable": false,
                                    "storageLocation": "memory",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_string_memory_ptr",
                                        "typeString": "string"
                                    },
                                    "typeName": {
                                        "id": 18741,
                                        "name": "string",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "45509:6:62",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_string_storage_ptr",
                                            "typeString": "string"
                                        }
                                    },
                                    "visibility": "internal"
                                }
                            ],
                            "src": "45481:45:62"
                        },
                        "returnParameters": {
                            "id": 18744,
                            "nodeType": "ParameterList",
                            "parameters": [],
                            "src": "45541:0:62"
                        },
                        "scope": 20920,
                        "src": "45469:166:62",
                        "stateMutability": "view",
                        "virtual": false,
                        "visibility": "internal"
                    },
                    {
                        "body": {
                            "id": 18779,
                            "nodeType": "Block",
                            "src": "45701:92:62",
                            "statements": [
                                {
                                    "expression": {
                                        "arguments": [
                                            {
                                                "arguments": [
                                                    {
                                                        "hexValue": "6c6f6728626f6f6c2c626f6f6c2c75696e742c626f6f6c29",
                                                        "id": 18771,
                                                        "isConstant": false,
                                                        "isLValue": false,
                                                        "isPure": true,
                                                        "kind": "string",
                                                        "lValueRequested": false,
                                                        "nodeType": "Literal",
                                                        "src": "45745:26:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_stringliteral_ab5cc1c47d926d79461c86216768f32b6ec0ac12d51c1eb543ea3bd1cfec0110",
                                                            "typeString": "literal_string \"log(bool,bool,uint,bool)\""
                                                        },
                                                        "value": "log(bool,bool,uint,bool)"
                                                    },
                                                    {
                                                        "id": 18772,
                                                        "name": "p0",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 18759,
                                                        "src": "45773:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_bool",
                                                            "typeString": "bool"
                                                        }
                                                    },
                                                    {
                                                        "id": 18773,
                                                        "name": "p1",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 18761,
                                                        "src": "45777:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_bool",
                                                            "typeString": "bool"
                                                        }
                                                    },
                                                    {
                                                        "id": 18774,
                                                        "name": "p2",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 18763,
                                                        "src": "45781:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_uint256",
                                                            "typeString": "uint256"
                                                        }
                                                    },
                                                    {
                                                        "id": 18775,
                                                        "name": "p3",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 18765,
                                                        "src": "45785:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_bool",
                                                            "typeString": "bool"
                                                        }
                                                    }
                                                ],
                                                "expression": {
                                                    "argumentTypes": [
                                                        {
                                                            "typeIdentifier": "t_stringliteral_ab5cc1c47d926d79461c86216768f32b6ec0ac12d51c1eb543ea3bd1cfec0110",
                                                            "typeString": "literal_string \"log(bool,bool,uint,bool)\""
                                                        },
                                                        {
                                                            "typeIdentifier": "t_bool",
                                                            "typeString": "bool"
                                                        },
                                                        {
                                                            "typeIdentifier": "t_bool",
                                                            "typeString": "bool"
                                                        },
                                                        {
                                                            "typeIdentifier": "t_uint256",
                                                            "typeString": "uint256"
                                                        },
                                                        {
                                                            "typeIdentifier": "t_bool",
                                                            "typeString": "bool"
                                                        }
                                                    ],
                                                    "expression": {
                                                        "id": 18769,
                                                        "name": "abi",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 4294967295,
                                                        "src": "45721:3:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_magic_abi",
                                                            "typeString": "abi"
                                                        }
                                                    },
                                                    "id": 18770,
                                                    "isConstant": false,
                                                    "isLValue": false,
                                                    "isPure": true,
                                                    "lValueRequested": false,
                                                    "memberName": "encodeWithSignature",
                                                    "nodeType": "MemberAccess",
                                                    "src": "45721:23:62",
                                                    "typeDescriptions": {
                                                        "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$",
                                                        "typeString": "function (string memory) pure returns (bytes memory)"
                                                    }
                                                },
                                                "id": 18776,
                                                "isConstant": false,
                                                "isLValue": false,
                                                "isPure": false,
                                                "kind": "functionCall",
                                                "lValueRequested": false,
                                                "names": [],
                                                "nodeType": "FunctionCall",
                                                "src": "45721:67:62",
                                                "tryCall": false,
                                                "typeDescriptions": {
                                                    "typeIdentifier": "t_bytes_memory_ptr",
                                                    "typeString": "bytes memory"
                                                }
                                            }
                                        ],
                                        "expression": {
                                            "argumentTypes": [
                                                {
                                                    "typeIdentifier": "t_bytes_memory_ptr",
                                                    "typeString": "bytes memory"
                                                }
                                            ],
                                            "id": 18768,
                                            "name": "_sendLogPayload",
                                            "nodeType": "Identifier",
                                            "overloadedDeclarations": [],
                                            "referencedDeclaration": 12880,
                                            "src": "45705:15:62",
                                            "typeDescriptions": {
                                                "typeIdentifier": "t_function_internal_view$_t_bytes_memory_ptr_$returns$__$",
                                                "typeString": "function (bytes memory) view"
                                            }
                                        },
                                        "id": 18777,
                                        "isConstant": false,
                                        "isLValue": false,
                                        "isPure": false,
                                        "kind": "functionCall",
                                        "lValueRequested": false,
                                        "names": [],
                                        "nodeType": "FunctionCall",
                                        "src": "45705:84:62",
                                        "tryCall": false,
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_tuple$__$",
                                            "typeString": "tuple()"
                                        }
                                    },
                                    "id": 18778,
                                    "nodeType": "ExpressionStatement",
                                    "src": "45705:84:62"
                                }
                            ]
                        },
                        "id": 18780,
                        "implemented": true,
                        "kind": "function",
                        "modifiers": [],
                        "name": "log",
                        "nameLocation": "45647:3:62",
                        "nodeType": "FunctionDefinition",
                        "parameters": {
                            "id": 18766,
                            "nodeType": "ParameterList",
                            "parameters": [
                                {
                                    "constant": false,
                                    "id": 18759,
                                    "mutability": "mutable",
                                    "name": "p0",
                                    "nameLocation": "45656:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 18780,
                                    "src": "45651:7:62",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_bool",
                                        "typeString": "bool"
                                    },
                                    "typeName": {
                                        "id": 18758,
                                        "name": "bool",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "45651:4:62",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_bool",
                                            "typeString": "bool"
                                        }
                                    },
                                    "visibility": "internal"
                                },
                                {
                                    "constant": false,
                                    "id": 18761,
                                    "mutability": "mutable",
                                    "name": "p1",
                                    "nameLocation": "45665:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 18780,
                                    "src": "45660:7:62",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_bool",
                                        "typeString": "bool"
                                    },
                                    "typeName": {
                                        "id": 18760,
                                        "name": "bool",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "45660:4:62",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_bool",
                                            "typeString": "bool"
                                        }
                                    },
                                    "visibility": "internal"
                                },
                                {
                                    "constant": false,
                                    "id": 18763,
                                    "mutability": "mutable",
                                    "name": "p2",
                                    "nameLocation": "45674:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 18780,
                                    "src": "45669:7:62",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_uint256",
                                        "typeString": "uint256"
                                    },
                                    "typeName": {
                                        "id": 18762,
                                        "name": "uint",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "45669:4:62",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_uint256",
                                            "typeString": "uint256"
                                        }
                                    },
                                    "visibility": "internal"
                                },
                                {
                                    "constant": false,
                                    "id": 18765,
                                    "mutability": "mutable",
                                    "name": "p3",
                                    "nameLocation": "45683:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 18780,
                                    "src": "45678:7:62",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_bool",
                                        "typeString": "bool"
                                    },
                                    "typeName": {
                                        "id": 18764,
                                        "name": "bool",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "45678:4:62",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_bool",
                                            "typeString": "bool"
                                        }
                                    },
                                    "visibility": "internal"
                                }
                            ],
                            "src": "45650:36:62"
                        },
                        "returnParameters": {
                            "id": 18767,
                            "nodeType": "ParameterList",
                            "parameters": [],
                            "src": "45701:0:62"
                        },
                        "scope": 20920,
                        "src": "45638:155:62",
                        "stateMutability": "view",
                        "virtual": false,
                        "visibility": "internal"
                    },
                    {
                        "body": {
                            "id": 18802,
                            "nodeType": "Block",
                            "src": "45862:95:62",
                            "statements": [
                                {
                                    "expression": {
                                        "arguments": [
                                            {
                                                "arguments": [
                                                    {
                                                        "hexValue": "6c6f6728626f6f6c2c626f6f6c2c75696e742c6164647265737329",
                                                        "id": 18794,
                                                        "isConstant": false,
                                                        "isLValue": false,
                                                        "isPure": true,
                                                        "kind": "string",
                                                        "lValueRequested": false,
                                                        "nodeType": "Literal",
                                                        "src": "45906:29:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_stringliteral_0bff950dc175e3e278946e4adb75fffc4ee67cda33555121dd293b95b27a39a7",
                                                            "typeString": "literal_string \"log(bool,bool,uint,address)\""
                                                        },
                                                        "value": "log(bool,bool,uint,address)"
                                                    },
                                                    {
                                                        "id": 18795,
                                                        "name": "p0",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 18782,
                                                        "src": "45937:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_bool",
                                                            "typeString": "bool"
                                                        }
                                                    },
                                                    {
                                                        "id": 18796,
                                                        "name": "p1",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 18784,
                                                        "src": "45941:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_bool",
                                                            "typeString": "bool"
                                                        }
                                                    },
                                                    {
                                                        "id": 18797,
                                                        "name": "p2",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 18786,
                                                        "src": "45945:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_uint256",
                                                            "typeString": "uint256"
                                                        }
                                                    },
                                                    {
                                                        "id": 18798,
                                                        "name": "p3",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 18788,
                                                        "src": "45949:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_address",
                                                            "typeString": "address"
                                                        }
                                                    }
                                                ],
                                                "expression": {
                                                    "argumentTypes": [
                                                        {
                                                            "typeIdentifier": "t_stringliteral_0bff950dc175e3e278946e4adb75fffc4ee67cda33555121dd293b95b27a39a7",
                                                            "typeString": "literal_string \"log(bool,bool,uint,address)\""
                                                        },
                                                        {
                                                            "typeIdentifier": "t_bool",
                                                            "typeString": "bool"
                                                        },
                                                        {
                                                            "typeIdentifier": "t_bool",
                                                            "typeString": "bool"
                                                        },
                                                        {
                                                            "typeIdentifier": "t_uint256",
                                                            "typeString": "uint256"
                                                        },
                                                        {
                                                            "typeIdentifier": "t_address",
                                                            "typeString": "address"
                                                        }
                                                    ],
                                                    "expression": {
                                                        "id": 18792,
                                                        "name": "abi",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 4294967295,
                                                        "src": "45882:3:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_magic_abi",
                                                            "typeString": "abi"
                                                        }
                                                    },
                                                    "id": 18793,
                                                    "isConstant": false,
                                                    "isLValue": false,
                                                    "isPure": true,
                                                    "lValueRequested": false,
                                                    "memberName": "encodeWithSignature",
                                                    "nodeType": "MemberAccess",
                                                    "src": "45882:23:62",
                                                    "typeDescriptions": {
                                                        "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$",
                                                        "typeString": "function (string memory) pure returns (bytes memory)"
                                                    }
                                                },
                                                "id": 18799,
                                                "isConstant": false,
                                                "isLValue": false,
                                                "isPure": false,
                                                "kind": "functionCall",
                                                "lValueRequested": false,
                                                "names": [],
                                                "nodeType": "FunctionCall",
                                                "src": "45882:70:62",
                                                "tryCall": false,
                                                "typeDescriptions": {
                                                    "typeIdentifier": "t_bytes_memory_ptr",
                                                    "typeString": "bytes memory"
                                                }
                                            }
                                        ],
                                        "expression": {
                                            "argumentTypes": [
                                                {
                                                    "typeIdentifier": "t_bytes_memory_ptr",
                                                    "typeString": "bytes memory"
                                                }
                                            ],
                                            "id": 18791,
                                            "name": "_sendLogPayload",
                                            "nodeType": "Identifier",
                                            "overloadedDeclarations": [],
                                            "referencedDeclaration": 12880,
                                            "src": "45866:15:62",
                                            "typeDescriptions": {
                                                "typeIdentifier": "t_function_internal_view$_t_bytes_memory_ptr_$returns$__$",
                                                "typeString": "function (bytes memory) view"
                                            }
                                        },
                                        "id": 18800,
                                        "isConstant": false,
                                        "isLValue": false,
                                        "isPure": false,
                                        "kind": "functionCall",
                                        "lValueRequested": false,
                                        "names": [],
                                        "nodeType": "FunctionCall",
                                        "src": "45866:87:62",
                                        "tryCall": false,
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_tuple$__$",
                                            "typeString": "tuple()"
                                        }
                                    },
                                    "id": 18801,
                                    "nodeType": "ExpressionStatement",
                                    "src": "45866:87:62"
                                }
                            ]
                        },
                        "id": 18803,
                        "implemented": true,
                        "kind": "function",
                        "modifiers": [],
                        "name": "log",
                        "nameLocation": "45805:3:62",
                        "nodeType": "FunctionDefinition",
                        "parameters": {
                            "id": 18789,
                            "nodeType": "ParameterList",
                            "parameters": [
                                {
                                    "constant": false,
                                    "id": 18782,
                                    "mutability": "mutable",
                                    "name": "p0",
                                    "nameLocation": "45814:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 18803,
                                    "src": "45809:7:62",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_bool",
                                        "typeString": "bool"
                                    },
                                    "typeName": {
                                        "id": 18781,
                                        "name": "bool",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "45809:4:62",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_bool",
                                            "typeString": "bool"
                                        }
                                    },
                                    "visibility": "internal"
                                },
                                {
                                    "constant": false,
                                    "id": 18784,
                                    "mutability": "mutable",
                                    "name": "p1",
                                    "nameLocation": "45823:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 18803,
                                    "src": "45818:7:62",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_bool",
                                        "typeString": "bool"
                                    },
                                    "typeName": {
                                        "id": 18783,
                                        "name": "bool",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "45818:4:62",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_bool",
                                            "typeString": "bool"
                                        }
                                    },
                                    "visibility": "internal"
                                },
                                {
                                    "constant": false,
                                    "id": 18786,
                                    "mutability": "mutable",
                                    "name": "p2",
                                    "nameLocation": "45832:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 18803,
                                    "src": "45827:7:62",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_uint256",
                                        "typeString": "uint256"
                                    },
                                    "typeName": {
                                        "id": 18785,
                                        "name": "uint",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "45827:4:62",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_uint256",
                                            "typeString": "uint256"
                                        }
                                    },
                                    "visibility": "internal"
                                },
                                {
                                    "constant": false,
                                    "id": 18788,
                                    "mutability": "mutable",
                                    "name": "p3",
                                    "nameLocation": "45844:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 18803,
                                    "src": "45836:10:62",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_address",
                                        "typeString": "address"
                                    },
                                    "typeName": {
                                        "id": 18787,
                                        "name": "address",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "45836:7:62",
                                        "stateMutability": "nonpayable",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_address",
                                            "typeString": "address"
                                        }
                                    },
                                    "visibility": "internal"
                                }
                            ],
                            "src": "45808:39:62"
                        },
                        "returnParameters": {
                            "id": 18790,
                            "nodeType": "ParameterList",
                            "parameters": [],
                            "src": "45862:0:62"
                        },
                        "scope": 20920,
                        "src": "45796:161:62",
                        "stateMutability": "view",
                        "virtual": false,
                        "visibility": "internal"
                    },
                    {
                        "body": {
                            "id": 18825,
                            "nodeType": "Block",
                            "src": "46032:94:62",
                            "statements": [
                                {
                                    "expression": {
                                        "arguments": [
                                            {
                                                "arguments": [
                                                    {
                                                        "hexValue": "6c6f6728626f6f6c2c626f6f6c2c737472696e672c75696e7429",
                                                        "id": 18817,
                                                        "isConstant": false,
                                                        "isLValue": false,
                                                        "isPure": true,
                                                        "kind": "string",
                                                        "lValueRequested": false,
                                                        "nodeType": "Literal",
                                                        "src": "46076:28:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_stringliteral_178b4685db1dff62c4ee472c2e6bf50abba0dc230768235e43c6259152d1244e",
                                                            "typeString": "literal_string \"log(bool,bool,string,uint)\""
                                                        },
                                                        "value": "log(bool,bool,string,uint)"
                                                    },
                                                    {
                                                        "id": 18818,
                                                        "name": "p0",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 18805,
                                                        "src": "46106:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_bool",
                                                            "typeString": "bool"
                                                        }
                                                    },
                                                    {
                                                        "id": 18819,
                                                        "name": "p1",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 18807,
                                                        "src": "46110:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_bool",
                                                            "typeString": "bool"
                                                        }
                                                    },
                                                    {
                                                        "id": 18820,
                                                        "name": "p2",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 18809,
                                                        "src": "46114:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_string_memory_ptr",
                                                            "typeString": "string memory"
                                                        }
                                                    },
                                                    {
                                                        "id": 18821,
                                                        "name": "p3",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 18811,
                                                        "src": "46118:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_uint256",
                                                            "typeString": "uint256"
                                                        }
                                                    }
                                                ],
                                                "expression": {
                                                    "argumentTypes": [
                                                        {
                                                            "typeIdentifier": "t_stringliteral_178b4685db1dff62c4ee472c2e6bf50abba0dc230768235e43c6259152d1244e",
                                                            "typeString": "literal_string \"log(bool,bool,string,uint)\""
                                                        },
                                                        {
                                                            "typeIdentifier": "t_bool",
                                                            "typeString": "bool"
                                                        },
                                                        {
                                                            "typeIdentifier": "t_bool",
                                                            "typeString": "bool"
                                                        },
                                                        {
                                                            "typeIdentifier": "t_string_memory_ptr",
                                                            "typeString": "string memory"
                                                        },
                                                        {
                                                            "typeIdentifier": "t_uint256",
                                                            "typeString": "uint256"
                                                        }
                                                    ],
                                                    "expression": {
                                                        "id": 18815,
                                                        "name": "abi",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 4294967295,
                                                        "src": "46052:3:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_magic_abi",
                                                            "typeString": "abi"
                                                        }
                                                    },
                                                    "id": 18816,
                                                    "isConstant": false,
                                                    "isLValue": false,
                                                    "isPure": true,
                                                    "lValueRequested": false,
                                                    "memberName": "encodeWithSignature",
                                                    "nodeType": "MemberAccess",
                                                    "src": "46052:23:62",
                                                    "typeDescriptions": {
                                                        "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$",
                                                        "typeString": "function (string memory) pure returns (bytes memory)"
                                                    }
                                                },
                                                "id": 18822,
                                                "isConstant": false,
                                                "isLValue": false,
                                                "isPure": false,
                                                "kind": "functionCall",
                                                "lValueRequested": false,
                                                "names": [],
                                                "nodeType": "FunctionCall",
                                                "src": "46052:69:62",
                                                "tryCall": false,
                                                "typeDescriptions": {
                                                    "typeIdentifier": "t_bytes_memory_ptr",
                                                    "typeString": "bytes memory"
                                                }
                                            }
                                        ],
                                        "expression": {
                                            "argumentTypes": [
                                                {
                                                    "typeIdentifier": "t_bytes_memory_ptr",
                                                    "typeString": "bytes memory"
                                                }
                                            ],
                                            "id": 18814,
                                            "name": "_sendLogPayload",
                                            "nodeType": "Identifier",
                                            "overloadedDeclarations": [],
                                            "referencedDeclaration": 12880,
                                            "src": "46036:15:62",
                                            "typeDescriptions": {
                                                "typeIdentifier": "t_function_internal_view$_t_bytes_memory_ptr_$returns$__$",
                                                "typeString": "function (bytes memory) view"
                                            }
                                        },
                                        "id": 18823,
                                        "isConstant": false,
                                        "isLValue": false,
                                        "isPure": false,
                                        "kind": "functionCall",
                                        "lValueRequested": false,
                                        "names": [],
                                        "nodeType": "FunctionCall",
                                        "src": "46036:86:62",
                                        "tryCall": false,
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_tuple$__$",
                                            "typeString": "tuple()"
                                        }
                                    },
                                    "id": 18824,
                                    "nodeType": "ExpressionStatement",
                                    "src": "46036:86:62"
                                }
                            ]
                        },
                        "id": 18826,
                        "implemented": true,
                        "kind": "function",
                        "modifiers": [],
                        "name": "log",
                        "nameLocation": "45969:3:62",
                        "nodeType": "FunctionDefinition",
                        "parameters": {
                            "id": 18812,
                            "nodeType": "ParameterList",
                            "parameters": [
                                {
                                    "constant": false,
                                    "id": 18805,
                                    "mutability": "mutable",
                                    "name": "p0",
                                    "nameLocation": "45978:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 18826,
                                    "src": "45973:7:62",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_bool",
                                        "typeString": "bool"
                                    },
                                    "typeName": {
                                        "id": 18804,
                                        "name": "bool",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "45973:4:62",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_bool",
                                            "typeString": "bool"
                                        }
                                    },
                                    "visibility": "internal"
                                },
                                {
                                    "constant": false,
                                    "id": 18807,
                                    "mutability": "mutable",
                                    "name": "p1",
                                    "nameLocation": "45987:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 18826,
                                    "src": "45982:7:62",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_bool",
                                        "typeString": "bool"
                                    },
                                    "typeName": {
                                        "id": 18806,
                                        "name": "bool",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "45982:4:62",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_bool",
                                            "typeString": "bool"
                                        }
                                    },
                                    "visibility": "internal"
                                },
                                {
                                    "constant": false,
                                    "id": 18809,
                                    "mutability": "mutable",
                                    "name": "p2",
                                    "nameLocation": "46005:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 18826,
                                    "src": "45991:16:62",
                                    "stateVariable": false,
                                    "storageLocation": "memory",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_string_memory_ptr",
                                        "typeString": "string"
                                    },
                                    "typeName": {
                                        "id": 18808,
                                        "name": "string",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "45991:6:62",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_string_storage_ptr",
                                            "typeString": "string"
                                        }
                                    },
                                    "visibility": "internal"
                                },
                                {
                                    "constant": false,
                                    "id": 18811,
                                    "mutability": "mutable",
                                    "name": "p3",
                                    "nameLocation": "46014:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 18826,
                                    "src": "46009:7:62",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_uint256",
                                        "typeString": "uint256"
                                    },
                                    "typeName": {
                                        "id": 18810,
                                        "name": "uint",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "46009:4:62",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_uint256",
                                            "typeString": "uint256"
                                        }
                                    },
                                    "visibility": "internal"
                                }
                            ],
                            "src": "45972:45:62"
                        },
                        "returnParameters": {
                            "id": 18813,
                            "nodeType": "ParameterList",
                            "parameters": [],
                            "src": "46032:0:62"
                        },
                        "scope": 20920,
                        "src": "45960:166:62",
                        "stateMutability": "view",
                        "virtual": false,
                        "visibility": "internal"
                    },
                    {
                        "body": {
                            "id": 18848,
                            "nodeType": "Block",
                            "src": "46210:96:62",
                            "statements": [
                                {
                                    "expression": {
                                        "arguments": [
                                            {
                                                "arguments": [
                                                    {
                                                        "hexValue": "6c6f6728626f6f6c2c626f6f6c2c737472696e672c737472696e6729",
                                                        "id": 18840,
                                                        "isConstant": false,
                                                        "isLValue": false,
                                                        "isPure": true,
                                                        "kind": "string",
                                                        "lValueRequested": false,
                                                        "nodeType": "Literal",
                                                        "src": "46254:30:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_stringliteral_6d1e87518c98344bc3efd52648f61de340bda51607aec409d641f3467caafaaf",
                                                            "typeString": "literal_string \"log(bool,bool,string,string)\""
                                                        },
                                                        "value": "log(bool,bool,string,string)"
                                                    },
                                                    {
                                                        "id": 18841,
                                                        "name": "p0",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 18828,
                                                        "src": "46286:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_bool",
                                                            "typeString": "bool"
                                                        }
                                                    },
                                                    {
                                                        "id": 18842,
                                                        "name": "p1",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 18830,
                                                        "src": "46290:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_bool",
                                                            "typeString": "bool"
                                                        }
                                                    },
                                                    {
                                                        "id": 18843,
                                                        "name": "p2",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 18832,
                                                        "src": "46294:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_string_memory_ptr",
                                                            "typeString": "string memory"
                                                        }
                                                    },
                                                    {
                                                        "id": 18844,
                                                        "name": "p3",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 18834,
                                                        "src": "46298:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_string_memory_ptr",
                                                            "typeString": "string memory"
                                                        }
                                                    }
                                                ],
                                                "expression": {
                                                    "argumentTypes": [
                                                        {
                                                            "typeIdentifier": "t_stringliteral_6d1e87518c98344bc3efd52648f61de340bda51607aec409d641f3467caafaaf",
                                                            "typeString": "literal_string \"log(bool,bool,string,string)\""
                                                        },
                                                        {
                                                            "typeIdentifier": "t_bool",
                                                            "typeString": "bool"
                                                        },
                                                        {
                                                            "typeIdentifier": "t_bool",
                                                            "typeString": "bool"
                                                        },
                                                        {
                                                            "typeIdentifier": "t_string_memory_ptr",
                                                            "typeString": "string memory"
                                                        },
                                                        {
                                                            "typeIdentifier": "t_string_memory_ptr",
                                                            "typeString": "string memory"
                                                        }
                                                    ],
                                                    "expression": {
                                                        "id": 18838,
                                                        "name": "abi",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 4294967295,
                                                        "src": "46230:3:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_magic_abi",
                                                            "typeString": "abi"
                                                        }
                                                    },
                                                    "id": 18839,
                                                    "isConstant": false,
                                                    "isLValue": false,
                                                    "isPure": true,
                                                    "lValueRequested": false,
                                                    "memberName": "encodeWithSignature",
                                                    "nodeType": "MemberAccess",
                                                    "src": "46230:23:62",
                                                    "typeDescriptions": {
                                                        "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$",
                                                        "typeString": "function (string memory) pure returns (bytes memory)"
                                                    }
                                                },
                                                "id": 18845,
                                                "isConstant": false,
                                                "isLValue": false,
                                                "isPure": false,
                                                "kind": "functionCall",
                                                "lValueRequested": false,
                                                "names": [],
                                                "nodeType": "FunctionCall",
                                                "src": "46230:71:62",
                                                "tryCall": false,
                                                "typeDescriptions": {
                                                    "typeIdentifier": "t_bytes_memory_ptr",
                                                    "typeString": "bytes memory"
                                                }
                                            }
                                        ],
                                        "expression": {
                                            "argumentTypes": [
                                                {
                                                    "typeIdentifier": "t_bytes_memory_ptr",
                                                    "typeString": "bytes memory"
                                                }
                                            ],
                                            "id": 18837,
                                            "name": "_sendLogPayload",
                                            "nodeType": "Identifier",
                                            "overloadedDeclarations": [],
                                            "referencedDeclaration": 12880,
                                            "src": "46214:15:62",
                                            "typeDescriptions": {
                                                "typeIdentifier": "t_function_internal_view$_t_bytes_memory_ptr_$returns$__$",
                                                "typeString": "function (bytes memory) view"
                                            }
                                        },
                                        "id": 18846,
                                        "isConstant": false,
                                        "isLValue": false,
                                        "isPure": false,
                                        "kind": "functionCall",
                                        "lValueRequested": false,
                                        "names": [],
                                        "nodeType": "FunctionCall",
                                        "src": "46214:88:62",
                                        "tryCall": false,
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_tuple$__$",
                                            "typeString": "tuple()"
                                        }
                                    },
                                    "id": 18847,
                                    "nodeType": "ExpressionStatement",
                                    "src": "46214:88:62"
                                }
                            ]
                        },
                        "id": 18849,
                        "implemented": true,
                        "kind": "function",
                        "modifiers": [],
                        "name": "log",
                        "nameLocation": "46138:3:62",
                        "nodeType": "FunctionDefinition",
                        "parameters": {
                            "id": 18835,
                            "nodeType": "ParameterList",
                            "parameters": [
                                {
                                    "constant": false,
                                    "id": 18828,
                                    "mutability": "mutable",
                                    "name": "p0",
                                    "nameLocation": "46147:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 18849,
                                    "src": "46142:7:62",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_bool",
                                        "typeString": "bool"
                                    },
                                    "typeName": {
                                        "id": 18827,
                                        "name": "bool",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "46142:4:62",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_bool",
                                            "typeString": "bool"
                                        }
                                    },
                                    "visibility": "internal"
                                },
                                {
                                    "constant": false,
                                    "id": 18830,
                                    "mutability": "mutable",
                                    "name": "p1",
                                    "nameLocation": "46156:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 18849,
                                    "src": "46151:7:62",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_bool",
                                        "typeString": "bool"
                                    },
                                    "typeName": {
                                        "id": 18829,
                                        "name": "bool",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "46151:4:62",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_bool",
                                            "typeString": "bool"
                                        }
                                    },
                                    "visibility": "internal"
                                },
                                {
                                    "constant": false,
                                    "id": 18832,
                                    "mutability": "mutable",
                                    "name": "p2",
                                    "nameLocation": "46174:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 18849,
                                    "src": "46160:16:62",
                                    "stateVariable": false,
                                    "storageLocation": "memory",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_string_memory_ptr",
                                        "typeString": "string"
                                    },
                                    "typeName": {
                                        "id": 18831,
                                        "name": "string",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "46160:6:62",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_string_storage_ptr",
                                            "typeString": "string"
                                        }
                                    },
                                    "visibility": "internal"
                                },
                                {
                                    "constant": false,
                                    "id": 18834,
                                    "mutability": "mutable",
                                    "name": "p3",
                                    "nameLocation": "46192:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 18849,
                                    "src": "46178:16:62",
                                    "stateVariable": false,
                                    "storageLocation": "memory",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_string_memory_ptr",
                                        "typeString": "string"
                                    },
                                    "typeName": {
                                        "id": 18833,
                                        "name": "string",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "46178:6:62",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_string_storage_ptr",
                                            "typeString": "string"
                                        }
                                    },
                                    "visibility": "internal"
                                }
                            ],
                            "src": "46141:54:62"
                        },
                        "returnParameters": {
                            "id": 18836,
                            "nodeType": "ParameterList",
                            "parameters": [],
                            "src": "46210:0:62"
                        },
                        "scope": 20920,
                        "src": "46129:177:62",
                        "stateMutability": "view",
                        "virtual": false,
                        "visibility": "internal"
                    },
                    {
                        "body": {
                            "id": 18871,
                            "nodeType": "Block",
                            "src": "46381:94:62",
                            "statements": [
                                {
                                    "expression": {
                                        "arguments": [
                                            {
                                                "arguments": [
                                                    {
                                                        "hexValue": "6c6f6728626f6f6c2c626f6f6c2c737472696e672c626f6f6c29",
                                                        "id": 18863,
                                                        "isConstant": false,
                                                        "isLValue": false,
                                                        "isPure": true,
                                                        "kind": "string",
                                                        "lValueRequested": false,
                                                        "nodeType": "Literal",
                                                        "src": "46425:28:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_stringliteral_b857163a2b7b8273ed53cefa410aa148f1833bdfc22da11e1e2fb89c6e625d02",
                                                            "typeString": "literal_string \"log(bool,bool,string,bool)\""
                                                        },
                                                        "value": "log(bool,bool,string,bool)"
                                                    },
                                                    {
                                                        "id": 18864,
                                                        "name": "p0",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 18851,
                                                        "src": "46455:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_bool",
                                                            "typeString": "bool"
                                                        }
                                                    },
                                                    {
                                                        "id": 18865,
                                                        "name": "p1",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 18853,
                                                        "src": "46459:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_bool",
                                                            "typeString": "bool"
                                                        }
                                                    },
                                                    {
                                                        "id": 18866,
                                                        "name": "p2",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 18855,
                                                        "src": "46463:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_string_memory_ptr",
                                                            "typeString": "string memory"
                                                        }
                                                    },
                                                    {
                                                        "id": 18867,
                                                        "name": "p3",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 18857,
                                                        "src": "46467:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_bool",
                                                            "typeString": "bool"
                                                        }
                                                    }
                                                ],
                                                "expression": {
                                                    "argumentTypes": [
                                                        {
                                                            "typeIdentifier": "t_stringliteral_b857163a2b7b8273ed53cefa410aa148f1833bdfc22da11e1e2fb89c6e625d02",
                                                            "typeString": "literal_string \"log(bool,bool,string,bool)\""
                                                        },
                                                        {
                                                            "typeIdentifier": "t_bool",
                                                            "typeString": "bool"
                                                        },
                                                        {
                                                            "typeIdentifier": "t_bool",
                                                            "typeString": "bool"
                                                        },
                                                        {
                                                            "typeIdentifier": "t_string_memory_ptr",
                                                            "typeString": "string memory"
                                                        },
                                                        {
                                                            "typeIdentifier": "t_bool",
                                                            "typeString": "bool"
                                                        }
                                                    ],
                                                    "expression": {
                                                        "id": 18861,
                                                        "name": "abi",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 4294967295,
                                                        "src": "46401:3:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_magic_abi",
                                                            "typeString": "abi"
                                                        }
                                                    },
                                                    "id": 18862,
                                                    "isConstant": false,
                                                    "isLValue": false,
                                                    "isPure": true,
                                                    "lValueRequested": false,
                                                    "memberName": "encodeWithSignature",
                                                    "nodeType": "MemberAccess",
                                                    "src": "46401:23:62",
                                                    "typeDescriptions": {
                                                        "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$",
                                                        "typeString": "function (string memory) pure returns (bytes memory)"
                                                    }
                                                },
                                                "id": 18868,
                                                "isConstant": false,
                                                "isLValue": false,
                                                "isPure": false,
                                                "kind": "functionCall",
                                                "lValueRequested": false,
                                                "names": [],
                                                "nodeType": "FunctionCall",
                                                "src": "46401:69:62",
                                                "tryCall": false,
                                                "typeDescriptions": {
                                                    "typeIdentifier": "t_bytes_memory_ptr",
                                                    "typeString": "bytes memory"
                                                }
                                            }
                                        ],
                                        "expression": {
                                            "argumentTypes": [
                                                {
                                                    "typeIdentifier": "t_bytes_memory_ptr",
                                                    "typeString": "bytes memory"
                                                }
                                            ],
                                            "id": 18860,
                                            "name": "_sendLogPayload",
                                            "nodeType": "Identifier",
                                            "overloadedDeclarations": [],
                                            "referencedDeclaration": 12880,
                                            "src": "46385:15:62",
                                            "typeDescriptions": {
                                                "typeIdentifier": "t_function_internal_view$_t_bytes_memory_ptr_$returns$__$",
                                                "typeString": "function (bytes memory) view"
                                            }
                                        },
                                        "id": 18869,
                                        "isConstant": false,
                                        "isLValue": false,
                                        "isPure": false,
                                        "kind": "functionCall",
                                        "lValueRequested": false,
                                        "names": [],
                                        "nodeType": "FunctionCall",
                                        "src": "46385:86:62",
                                        "tryCall": false,
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_tuple$__$",
                                            "typeString": "tuple()"
                                        }
                                    },
                                    "id": 18870,
                                    "nodeType": "ExpressionStatement",
                                    "src": "46385:86:62"
                                }
                            ]
                        },
                        "id": 18872,
                        "implemented": true,
                        "kind": "function",
                        "modifiers": [],
                        "name": "log",
                        "nameLocation": "46318:3:62",
                        "nodeType": "FunctionDefinition",
                        "parameters": {
                            "id": 18858,
                            "nodeType": "ParameterList",
                            "parameters": [
                                {
                                    "constant": false,
                                    "id": 18851,
                                    "mutability": "mutable",
                                    "name": "p0",
                                    "nameLocation": "46327:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 18872,
                                    "src": "46322:7:62",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_bool",
                                        "typeString": "bool"
                                    },
                                    "typeName": {
                                        "id": 18850,
                                        "name": "bool",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "46322:4:62",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_bool",
                                            "typeString": "bool"
                                        }
                                    },
                                    "visibility": "internal"
                                },
                                {
                                    "constant": false,
                                    "id": 18853,
                                    "mutability": "mutable",
                                    "name": "p1",
                                    "nameLocation": "46336:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 18872,
                                    "src": "46331:7:62",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_bool",
                                        "typeString": "bool"
                                    },
                                    "typeName": {
                                        "id": 18852,
                                        "name": "bool",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "46331:4:62",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_bool",
                                            "typeString": "bool"
                                        }
                                    },
                                    "visibility": "internal"
                                },
                                {
                                    "constant": false,
                                    "id": 18855,
                                    "mutability": "mutable",
                                    "name": "p2",
                                    "nameLocation": "46354:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 18872,
                                    "src": "46340:16:62",
                                    "stateVariable": false,
                                    "storageLocation": "memory",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_string_memory_ptr",
                                        "typeString": "string"
                                    },
                                    "typeName": {
                                        "id": 18854,
                                        "name": "string",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "46340:6:62",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_string_storage_ptr",
                                            "typeString": "string"
                                        }
                                    },
                                    "visibility": "internal"
                                },
                                {
                                    "constant": false,
                                    "id": 18857,
                                    "mutability": "mutable",
                                    "name": "p3",
                                    "nameLocation": "46363:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 18872,
                                    "src": "46358:7:62",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_bool",
                                        "typeString": "bool"
                                    },
                                    "typeName": {
                                        "id": 18856,
                                        "name": "bool",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "46358:4:62",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_bool",
                                            "typeString": "bool"
                                        }
                                    },
                                    "visibility": "internal"
                                }
                            ],
                            "src": "46321:45:62"
                        },
                        "returnParameters": {
                            "id": 18859,
                            "nodeType": "ParameterList",
                            "parameters": [],
                            "src": "46381:0:62"
                        },
                        "scope": 20920,
                        "src": "46309:166:62",
                        "stateMutability": "view",
                        "virtual": false,
                        "visibility": "internal"
                    },
                    {
                        "body": {
                            "id": 18894,
                            "nodeType": "Block",
                            "src": "46553:97:62",
                            "statements": [
                                {
                                    "expression": {
                                        "arguments": [
                                            {
                                                "arguments": [
                                                    {
                                                        "hexValue": "6c6f6728626f6f6c2c626f6f6c2c737472696e672c6164647265737329",
                                                        "id": 18886,
                                                        "isConstant": false,
                                                        "isLValue": false,
                                                        "isPure": true,
                                                        "kind": "string",
                                                        "lValueRequested": false,
                                                        "nodeType": "Literal",
                                                        "src": "46597:31:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_stringliteral_f9ad2b893873fa31c02b102aa30743b2e44c102daa588ea9d1eb1f2baf23d202",
                                                            "typeString": "literal_string \"log(bool,bool,string,address)\""
                                                        },
                                                        "value": "log(bool,bool,string,address)"
                                                    },
                                                    {
                                                        "id": 18887,
                                                        "name": "p0",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 18874,
                                                        "src": "46630:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_bool",
                                                            "typeString": "bool"
                                                        }
                                                    },
                                                    {
                                                        "id": 18888,
                                                        "name": "p1",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 18876,
                                                        "src": "46634:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_bool",
                                                            "typeString": "bool"
                                                        }
                                                    },
                                                    {
                                                        "id": 18889,
                                                        "name": "p2",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 18878,
                                                        "src": "46638:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_string_memory_ptr",
                                                            "typeString": "string memory"
                                                        }
                                                    },
                                                    {
                                                        "id": 18890,
                                                        "name": "p3",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 18880,
                                                        "src": "46642:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_address",
                                                            "typeString": "address"
                                                        }
                                                    }
                                                ],
                                                "expression": {
                                                    "argumentTypes": [
                                                        {
                                                            "typeIdentifier": "t_stringliteral_f9ad2b893873fa31c02b102aa30743b2e44c102daa588ea9d1eb1f2baf23d202",
                                                            "typeString": "literal_string \"log(bool,bool,string,address)\""
                                                        },
                                                        {
                                                            "typeIdentifier": "t_bool",
                                                            "typeString": "bool"
                                                        },
                                                        {
                                                            "typeIdentifier": "t_bool",
                                                            "typeString": "bool"
                                                        },
                                                        {
                                                            "typeIdentifier": "t_string_memory_ptr",
                                                            "typeString": "string memory"
                                                        },
                                                        {
                                                            "typeIdentifier": "t_address",
                                                            "typeString": "address"
                                                        }
                                                    ],
                                                    "expression": {
                                                        "id": 18884,
                                                        "name": "abi",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 4294967295,
                                                        "src": "46573:3:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_magic_abi",
                                                            "typeString": "abi"
                                                        }
                                                    },
                                                    "id": 18885,
                                                    "isConstant": false,
                                                    "isLValue": false,
                                                    "isPure": true,
                                                    "lValueRequested": false,
                                                    "memberName": "encodeWithSignature",
                                                    "nodeType": "MemberAccess",
                                                    "src": "46573:23:62",
                                                    "typeDescriptions": {
                                                        "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$",
                                                        "typeString": "function (string memory) pure returns (bytes memory)"
                                                    }
                                                },
                                                "id": 18891,
                                                "isConstant": false,
                                                "isLValue": false,
                                                "isPure": false,
                                                "kind": "functionCall",
                                                "lValueRequested": false,
                                                "names": [],
                                                "nodeType": "FunctionCall",
                                                "src": "46573:72:62",
                                                "tryCall": false,
                                                "typeDescriptions": {
                                                    "typeIdentifier": "t_bytes_memory_ptr",
                                                    "typeString": "bytes memory"
                                                }
                                            }
                                        ],
                                        "expression": {
                                            "argumentTypes": [
                                                {
                                                    "typeIdentifier": "t_bytes_memory_ptr",
                                                    "typeString": "bytes memory"
                                                }
                                            ],
                                            "id": 18883,
                                            "name": "_sendLogPayload",
                                            "nodeType": "Identifier",
                                            "overloadedDeclarations": [],
                                            "referencedDeclaration": 12880,
                                            "src": "46557:15:62",
                                            "typeDescriptions": {
                                                "typeIdentifier": "t_function_internal_view$_t_bytes_memory_ptr_$returns$__$",
                                                "typeString": "function (bytes memory) view"
                                            }
                                        },
                                        "id": 18892,
                                        "isConstant": false,
                                        "isLValue": false,
                                        "isPure": false,
                                        "kind": "functionCall",
                                        "lValueRequested": false,
                                        "names": [],
                                        "nodeType": "FunctionCall",
                                        "src": "46557:89:62",
                                        "tryCall": false,
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_tuple$__$",
                                            "typeString": "tuple()"
                                        }
                                    },
                                    "id": 18893,
                                    "nodeType": "ExpressionStatement",
                                    "src": "46557:89:62"
                                }
                            ]
                        },
                        "id": 18895,
                        "implemented": true,
                        "kind": "function",
                        "modifiers": [],
                        "name": "log",
                        "nameLocation": "46487:3:62",
                        "nodeType": "FunctionDefinition",
                        "parameters": {
                            "id": 18881,
                            "nodeType": "ParameterList",
                            "parameters": [
                                {
                                    "constant": false,
                                    "id": 18874,
                                    "mutability": "mutable",
                                    "name": "p0",
                                    "nameLocation": "46496:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 18895,
                                    "src": "46491:7:62",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_bool",
                                        "typeString": "bool"
                                    },
                                    "typeName": {
                                        "id": 18873,
                                        "name": "bool",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "46491:4:62",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_bool",
                                            "typeString": "bool"
                                        }
                                    },
                                    "visibility": "internal"
                                },
                                {
                                    "constant": false,
                                    "id": 18876,
                                    "mutability": "mutable",
                                    "name": "p1",
                                    "nameLocation": "46505:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 18895,
                                    "src": "46500:7:62",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_bool",
                                        "typeString": "bool"
                                    },
                                    "typeName": {
                                        "id": 18875,
                                        "name": "bool",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "46500:4:62",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_bool",
                                            "typeString": "bool"
                                        }
                                    },
                                    "visibility": "internal"
                                },
                                {
                                    "constant": false,
                                    "id": 18878,
                                    "mutability": "mutable",
                                    "name": "p2",
                                    "nameLocation": "46523:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 18895,
                                    "src": "46509:16:62",
                                    "stateVariable": false,
                                    "storageLocation": "memory",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_string_memory_ptr",
                                        "typeString": "string"
                                    },
                                    "typeName": {
                                        "id": 18877,
                                        "name": "string",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "46509:6:62",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_string_storage_ptr",
                                            "typeString": "string"
                                        }
                                    },
                                    "visibility": "internal"
                                },
                                {
                                    "constant": false,
                                    "id": 18880,
                                    "mutability": "mutable",
                                    "name": "p3",
                                    "nameLocation": "46535:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 18895,
                                    "src": "46527:10:62",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_address",
                                        "typeString": "address"
                                    },
                                    "typeName": {
                                        "id": 18879,
                                        "name": "address",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "46527:7:62",
                                        "stateMutability": "nonpayable",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_address",
                                            "typeString": "address"
                                        }
                                    },
                                    "visibility": "internal"
                                }
                            ],
                            "src": "46490:48:62"
                        },
                        "returnParameters": {
                            "id": 18882,
                            "nodeType": "ParameterList",
                            "parameters": [],
                            "src": "46553:0:62"
                        },
                        "scope": 20920,
                        "src": "46478:172:62",
                        "stateMutability": "view",
                        "virtual": false,
                        "visibility": "internal"
                    },
                    {
                        "body": {
                            "id": 18917,
                            "nodeType": "Block",
                            "src": "46716:92:62",
                            "statements": [
                                {
                                    "expression": {
                                        "arguments": [
                                            {
                                                "arguments": [
                                                    {
                                                        "hexValue": "6c6f6728626f6f6c2c626f6f6c2c626f6f6c2c75696e7429",
                                                        "id": 18909,
                                                        "isConstant": false,
                                                        "isLValue": false,
                                                        "isPure": true,
                                                        "kind": "string",
                                                        "lValueRequested": false,
                                                        "nodeType": "Literal",
                                                        "src": "46760:26:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_stringliteral_c248834dff84ca4bcbda9cf249a0d5da3bd0a58b4562085082654d4d9851b501",
                                                            "typeString": "literal_string \"log(bool,bool,bool,uint)\""
                                                        },
                                                        "value": "log(bool,bool,bool,uint)"
                                                    },
                                                    {
                                                        "id": 18910,
                                                        "name": "p0",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 18897,
                                                        "src": "46788:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_bool",
                                                            "typeString": "bool"
                                                        }
                                                    },
                                                    {
                                                        "id": 18911,
                                                        "name": "p1",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 18899,
                                                        "src": "46792:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_bool",
                                                            "typeString": "bool"
                                                        }
                                                    },
                                                    {
                                                        "id": 18912,
                                                        "name": "p2",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 18901,
                                                        "src": "46796:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_bool",
                                                            "typeString": "bool"
                                                        }
                                                    },
                                                    {
                                                        "id": 18913,
                                                        "name": "p3",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 18903,
                                                        "src": "46800:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_uint256",
                                                            "typeString": "uint256"
                                                        }
                                                    }
                                                ],
                                                "expression": {
                                                    "argumentTypes": [
                                                        {
                                                            "typeIdentifier": "t_stringliteral_c248834dff84ca4bcbda9cf249a0d5da3bd0a58b4562085082654d4d9851b501",
                                                            "typeString": "literal_string \"log(bool,bool,bool,uint)\""
                                                        },
                                                        {
                                                            "typeIdentifier": "t_bool",
                                                            "typeString": "bool"
                                                        },
                                                        {
                                                            "typeIdentifier": "t_bool",
                                                            "typeString": "bool"
                                                        },
                                                        {
                                                            "typeIdentifier": "t_bool",
                                                            "typeString": "bool"
                                                        },
                                                        {
                                                            "typeIdentifier": "t_uint256",
                                                            "typeString": "uint256"
                                                        }
                                                    ],
                                                    "expression": {
                                                        "id": 18907,
                                                        "name": "abi",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 4294967295,
                                                        "src": "46736:3:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_magic_abi",
                                                            "typeString": "abi"
                                                        }
                                                    },
                                                    "id": 18908,
                                                    "isConstant": false,
                                                    "isLValue": false,
                                                    "isPure": true,
                                                    "lValueRequested": false,
                                                    "memberName": "encodeWithSignature",
                                                    "nodeType": "MemberAccess",
                                                    "src": "46736:23:62",
                                                    "typeDescriptions": {
                                                        "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$",
                                                        "typeString": "function (string memory) pure returns (bytes memory)"
                                                    }
                                                },
                                                "id": 18914,
                                                "isConstant": false,
                                                "isLValue": false,
                                                "isPure": false,
                                                "kind": "functionCall",
                                                "lValueRequested": false,
                                                "names": [],
                                                "nodeType": "FunctionCall",
                                                "src": "46736:67:62",
                                                "tryCall": false,
                                                "typeDescriptions": {
                                                    "typeIdentifier": "t_bytes_memory_ptr",
                                                    "typeString": "bytes memory"
                                                }
                                            }
                                        ],
                                        "expression": {
                                            "argumentTypes": [
                                                {
                                                    "typeIdentifier": "t_bytes_memory_ptr",
                                                    "typeString": "bytes memory"
                                                }
                                            ],
                                            "id": 18906,
                                            "name": "_sendLogPayload",
                                            "nodeType": "Identifier",
                                            "overloadedDeclarations": [],
                                            "referencedDeclaration": 12880,
                                            "src": "46720:15:62",
                                            "typeDescriptions": {
                                                "typeIdentifier": "t_function_internal_view$_t_bytes_memory_ptr_$returns$__$",
                                                "typeString": "function (bytes memory) view"
                                            }
                                        },
                                        "id": 18915,
                                        "isConstant": false,
                                        "isLValue": false,
                                        "isPure": false,
                                        "kind": "functionCall",
                                        "lValueRequested": false,
                                        "names": [],
                                        "nodeType": "FunctionCall",
                                        "src": "46720:84:62",
                                        "tryCall": false,
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_tuple$__$",
                                            "typeString": "tuple()"
                                        }
                                    },
                                    "id": 18916,
                                    "nodeType": "ExpressionStatement",
                                    "src": "46720:84:62"
                                }
                            ]
                        },
                        "id": 18918,
                        "implemented": true,
                        "kind": "function",
                        "modifiers": [],
                        "name": "log",
                        "nameLocation": "46662:3:62",
                        "nodeType": "FunctionDefinition",
                        "parameters": {
                            "id": 18904,
                            "nodeType": "ParameterList",
                            "parameters": [
                                {
                                    "constant": false,
                                    "id": 18897,
                                    "mutability": "mutable",
                                    "name": "p0",
                                    "nameLocation": "46671:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 18918,
                                    "src": "46666:7:62",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_bool",
                                        "typeString": "bool"
                                    },
                                    "typeName": {
                                        "id": 18896,
                                        "name": "bool",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "46666:4:62",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_bool",
                                            "typeString": "bool"
                                        }
                                    },
                                    "visibility": "internal"
                                },
                                {
                                    "constant": false,
                                    "id": 18899,
                                    "mutability": "mutable",
                                    "name": "p1",
                                    "nameLocation": "46680:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 18918,
                                    "src": "46675:7:62",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_bool",
                                        "typeString": "bool"
                                    },
                                    "typeName": {
                                        "id": 18898,
                                        "name": "bool",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "46675:4:62",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_bool",
                                            "typeString": "bool"
                                        }
                                    },
                                    "visibility": "internal"
                                },
                                {
                                    "constant": false,
                                    "id": 18901,
                                    "mutability": "mutable",
                                    "name": "p2",
                                    "nameLocation": "46689:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 18918,
                                    "src": "46684:7:62",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_bool",
                                        "typeString": "bool"
                                    },
                                    "typeName": {
                                        "id": 18900,
                                        "name": "bool",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "46684:4:62",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_bool",
                                            "typeString": "bool"
                                        }
                                    },
                                    "visibility": "internal"
                                },
                                {
                                    "constant": false,
                                    "id": 18903,
                                    "mutability": "mutable",
                                    "name": "p3",
                                    "nameLocation": "46698:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 18918,
                                    "src": "46693:7:62",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_uint256",
                                        "typeString": "uint256"
                                    },
                                    "typeName": {
                                        "id": 18902,
                                        "name": "uint",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "46693:4:62",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_uint256",
                                            "typeString": "uint256"
                                        }
                                    },
                                    "visibility": "internal"
                                }
                            ],
                            "src": "46665:36:62"
                        },
                        "returnParameters": {
                            "id": 18905,
                            "nodeType": "ParameterList",
                            "parameters": [],
                            "src": "46716:0:62"
                        },
                        "scope": 20920,
                        "src": "46653:155:62",
                        "stateMutability": "view",
                        "virtual": false,
                        "visibility": "internal"
                    },
                    {
                        "body": {
                            "id": 18940,
                            "nodeType": "Block",
                            "src": "46883:94:62",
                            "statements": [
                                {
                                    "expression": {
                                        "arguments": [
                                            {
                                                "arguments": [
                                                    {
                                                        "hexValue": "6c6f6728626f6f6c2c626f6f6c2c626f6f6c2c737472696e6729",
                                                        "id": 18932,
                                                        "isConstant": false,
                                                        "isLValue": false,
                                                        "isPure": true,
                                                        "kind": "string",
                                                        "lValueRequested": false,
                                                        "nodeType": "Literal",
                                                        "src": "46927:28:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_stringliteral_2ae408d4d030305a0361ad07c397f2b9653613b220d82459c7aeb9a6bab96c15",
                                                            "typeString": "literal_string \"log(bool,bool,bool,string)\""
                                                        },
                                                        "value": "log(bool,bool,bool,string)"
                                                    },
                                                    {
                                                        "id": 18933,
                                                        "name": "p0",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 18920,
                                                        "src": "46957:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_bool",
                                                            "typeString": "bool"
                                                        }
                                                    },
                                                    {
                                                        "id": 18934,
                                                        "name": "p1",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 18922,
                                                        "src": "46961:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_bool",
                                                            "typeString": "bool"
                                                        }
                                                    },
                                                    {
                                                        "id": 18935,
                                                        "name": "p2",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 18924,
                                                        "src": "46965:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_bool",
                                                            "typeString": "bool"
                                                        }
                                                    },
                                                    {
                                                        "id": 18936,
                                                        "name": "p3",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 18926,
                                                        "src": "46969:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_string_memory_ptr",
                                                            "typeString": "string memory"
                                                        }
                                                    }
                                                ],
                                                "expression": {
                                                    "argumentTypes": [
                                                        {
                                                            "typeIdentifier": "t_stringliteral_2ae408d4d030305a0361ad07c397f2b9653613b220d82459c7aeb9a6bab96c15",
                                                            "typeString": "literal_string \"log(bool,bool,bool,string)\""
                                                        },
                                                        {
                                                            "typeIdentifier": "t_bool",
                                                            "typeString": "bool"
                                                        },
                                                        {
                                                            "typeIdentifier": "t_bool",
                                                            "typeString": "bool"
                                                        },
                                                        {
                                                            "typeIdentifier": "t_bool",
                                                            "typeString": "bool"
                                                        },
                                                        {
                                                            "typeIdentifier": "t_string_memory_ptr",
                                                            "typeString": "string memory"
                                                        }
                                                    ],
                                                    "expression": {
                                                        "id": 18930,
                                                        "name": "abi",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 4294967295,
                                                        "src": "46903:3:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_magic_abi",
                                                            "typeString": "abi"
                                                        }
                                                    },
                                                    "id": 18931,
                                                    "isConstant": false,
                                                    "isLValue": false,
                                                    "isPure": true,
                                                    "lValueRequested": false,
                                                    "memberName": "encodeWithSignature",
                                                    "nodeType": "MemberAccess",
                                                    "src": "46903:23:62",
                                                    "typeDescriptions": {
                                                        "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$",
                                                        "typeString": "function (string memory) pure returns (bytes memory)"
                                                    }
                                                },
                                                "id": 18937,
                                                "isConstant": false,
                                                "isLValue": false,
                                                "isPure": false,
                                                "kind": "functionCall",
                                                "lValueRequested": false,
                                                "names": [],
                                                "nodeType": "FunctionCall",
                                                "src": "46903:69:62",
                                                "tryCall": false,
                                                "typeDescriptions": {
                                                    "typeIdentifier": "t_bytes_memory_ptr",
                                                    "typeString": "bytes memory"
                                                }
                                            }
                                        ],
                                        "expression": {
                                            "argumentTypes": [
                                                {
                                                    "typeIdentifier": "t_bytes_memory_ptr",
                                                    "typeString": "bytes memory"
                                                }
                                            ],
                                            "id": 18929,
                                            "name": "_sendLogPayload",
                                            "nodeType": "Identifier",
                                            "overloadedDeclarations": [],
                                            "referencedDeclaration": 12880,
                                            "src": "46887:15:62",
                                            "typeDescriptions": {
                                                "typeIdentifier": "t_function_internal_view$_t_bytes_memory_ptr_$returns$__$",
                                                "typeString": "function (bytes memory) view"
                                            }
                                        },
                                        "id": 18938,
                                        "isConstant": false,
                                        "isLValue": false,
                                        "isPure": false,
                                        "kind": "functionCall",
                                        "lValueRequested": false,
                                        "names": [],
                                        "nodeType": "FunctionCall",
                                        "src": "46887:86:62",
                                        "tryCall": false,
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_tuple$__$",
                                            "typeString": "tuple()"
                                        }
                                    },
                                    "id": 18939,
                                    "nodeType": "ExpressionStatement",
                                    "src": "46887:86:62"
                                }
                            ]
                        },
                        "id": 18941,
                        "implemented": true,
                        "kind": "function",
                        "modifiers": [],
                        "name": "log",
                        "nameLocation": "46820:3:62",
                        "nodeType": "FunctionDefinition",
                        "parameters": {
                            "id": 18927,
                            "nodeType": "ParameterList",
                            "parameters": [
                                {
                                    "constant": false,
                                    "id": 18920,
                                    "mutability": "mutable",
                                    "name": "p0",
                                    "nameLocation": "46829:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 18941,
                                    "src": "46824:7:62",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_bool",
                                        "typeString": "bool"
                                    },
                                    "typeName": {
                                        "id": 18919,
                                        "name": "bool",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "46824:4:62",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_bool",
                                            "typeString": "bool"
                                        }
                                    },
                                    "visibility": "internal"
                                },
                                {
                                    "constant": false,
                                    "id": 18922,
                                    "mutability": "mutable",
                                    "name": "p1",
                                    "nameLocation": "46838:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 18941,
                                    "src": "46833:7:62",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_bool",
                                        "typeString": "bool"
                                    },
                                    "typeName": {
                                        "id": 18921,
                                        "name": "bool",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "46833:4:62",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_bool",
                                            "typeString": "bool"
                                        }
                                    },
                                    "visibility": "internal"
                                },
                                {
                                    "constant": false,
                                    "id": 18924,
                                    "mutability": "mutable",
                                    "name": "p2",
                                    "nameLocation": "46847:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 18941,
                                    "src": "46842:7:62",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_bool",
                                        "typeString": "bool"
                                    },
                                    "typeName": {
                                        "id": 18923,
                                        "name": "bool",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "46842:4:62",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_bool",
                                            "typeString": "bool"
                                        }
                                    },
                                    "visibility": "internal"
                                },
                                {
                                    "constant": false,
                                    "id": 18926,
                                    "mutability": "mutable",
                                    "name": "p3",
                                    "nameLocation": "46865:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 18941,
                                    "src": "46851:16:62",
                                    "stateVariable": false,
                                    "storageLocation": "memory",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_string_memory_ptr",
                                        "typeString": "string"
                                    },
                                    "typeName": {
                                        "id": 18925,
                                        "name": "string",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "46851:6:62",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_string_storage_ptr",
                                            "typeString": "string"
                                        }
                                    },
                                    "visibility": "internal"
                                }
                            ],
                            "src": "46823:45:62"
                        },
                        "returnParameters": {
                            "id": 18928,
                            "nodeType": "ParameterList",
                            "parameters": [],
                            "src": "46883:0:62"
                        },
                        "scope": 20920,
                        "src": "46811:166:62",
                        "stateMutability": "view",
                        "virtual": false,
                        "visibility": "internal"
                    },
                    {
                        "body": {
                            "id": 18963,
                            "nodeType": "Block",
                            "src": "47043:92:62",
                            "statements": [
                                {
                                    "expression": {
                                        "arguments": [
                                            {
                                                "arguments": [
                                                    {
                                                        "hexValue": "6c6f6728626f6f6c2c626f6f6c2c626f6f6c2c626f6f6c29",
                                                        "id": 18955,
                                                        "isConstant": false,
                                                        "isLValue": false,
                                                        "isPure": true,
                                                        "kind": "string",
                                                        "lValueRequested": false,
                                                        "nodeType": "Literal",
                                                        "src": "47087:26:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_stringliteral_3b2a5ce0ddf7b166153a4354c81efba12a817983a38c6bc3b58fd91ce816d99f",
                                                            "typeString": "literal_string \"log(bool,bool,bool,bool)\""
                                                        },
                                                        "value": "log(bool,bool,bool,bool)"
                                                    },
                                                    {
                                                        "id": 18956,
                                                        "name": "p0",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 18943,
                                                        "src": "47115:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_bool",
                                                            "typeString": "bool"
                                                        }
                                                    },
                                                    {
                                                        "id": 18957,
                                                        "name": "p1",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 18945,
                                                        "src": "47119:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_bool",
                                                            "typeString": "bool"
                                                        }
                                                    },
                                                    {
                                                        "id": 18958,
                                                        "name": "p2",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 18947,
                                                        "src": "47123:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_bool",
                                                            "typeString": "bool"
                                                        }
                                                    },
                                                    {
                                                        "id": 18959,
                                                        "name": "p3",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 18949,
                                                        "src": "47127:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_bool",
                                                            "typeString": "bool"
                                                        }
                                                    }
                                                ],
                                                "expression": {
                                                    "argumentTypes": [
                                                        {
                                                            "typeIdentifier": "t_stringliteral_3b2a5ce0ddf7b166153a4354c81efba12a817983a38c6bc3b58fd91ce816d99f",
                                                            "typeString": "literal_string \"log(bool,bool,bool,bool)\""
                                                        },
                                                        {
                                                            "typeIdentifier": "t_bool",
                                                            "typeString": "bool"
                                                        },
                                                        {
                                                            "typeIdentifier": "t_bool",
                                                            "typeString": "bool"
                                                        },
                                                        {
                                                            "typeIdentifier": "t_bool",
                                                            "typeString": "bool"
                                                        },
                                                        {
                                                            "typeIdentifier": "t_bool",
                                                            "typeString": "bool"
                                                        }
                                                    ],
                                                    "expression": {
                                                        "id": 18953,
                                                        "name": "abi",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 4294967295,
                                                        "src": "47063:3:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_magic_abi",
                                                            "typeString": "abi"
                                                        }
                                                    },
                                                    "id": 18954,
                                                    "isConstant": false,
                                                    "isLValue": false,
                                                    "isPure": true,
                                                    "lValueRequested": false,
                                                    "memberName": "encodeWithSignature",
                                                    "nodeType": "MemberAccess",
                                                    "src": "47063:23:62",
                                                    "typeDescriptions": {
                                                        "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$",
                                                        "typeString": "function (string memory) pure returns (bytes memory)"
                                                    }
                                                },
                                                "id": 18960,
                                                "isConstant": false,
                                                "isLValue": false,
                                                "isPure": false,
                                                "kind": "functionCall",
                                                "lValueRequested": false,
                                                "names": [],
                                                "nodeType": "FunctionCall",
                                                "src": "47063:67:62",
                                                "tryCall": false,
                                                "typeDescriptions": {
                                                    "typeIdentifier": "t_bytes_memory_ptr",
                                                    "typeString": "bytes memory"
                                                }
                                            }
                                        ],
                                        "expression": {
                                            "argumentTypes": [
                                                {
                                                    "typeIdentifier": "t_bytes_memory_ptr",
                                                    "typeString": "bytes memory"
                                                }
                                            ],
                                            "id": 18952,
                                            "name": "_sendLogPayload",
                                            "nodeType": "Identifier",
                                            "overloadedDeclarations": [],
                                            "referencedDeclaration": 12880,
                                            "src": "47047:15:62",
                                            "typeDescriptions": {
                                                "typeIdentifier": "t_function_internal_view$_t_bytes_memory_ptr_$returns$__$",
                                                "typeString": "function (bytes memory) view"
                                            }
                                        },
                                        "id": 18961,
                                        "isConstant": false,
                                        "isLValue": false,
                                        "isPure": false,
                                        "kind": "functionCall",
                                        "lValueRequested": false,
                                        "names": [],
                                        "nodeType": "FunctionCall",
                                        "src": "47047:84:62",
                                        "tryCall": false,
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_tuple$__$",
                                            "typeString": "tuple()"
                                        }
                                    },
                                    "id": 18962,
                                    "nodeType": "ExpressionStatement",
                                    "src": "47047:84:62"
                                }
                            ]
                        },
                        "id": 18964,
                        "implemented": true,
                        "kind": "function",
                        "modifiers": [],
                        "name": "log",
                        "nameLocation": "46989:3:62",
                        "nodeType": "FunctionDefinition",
                        "parameters": {
                            "id": 18950,
                            "nodeType": "ParameterList",
                            "parameters": [
                                {
                                    "constant": false,
                                    "id": 18943,
                                    "mutability": "mutable",
                                    "name": "p0",
                                    "nameLocation": "46998:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 18964,
                                    "src": "46993:7:62",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_bool",
                                        "typeString": "bool"
                                    },
                                    "typeName": {
                                        "id": 18942,
                                        "name": "bool",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "46993:4:62",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_bool",
                                            "typeString": "bool"
                                        }
                                    },
                                    "visibility": "internal"
                                },
                                {
                                    "constant": false,
                                    "id": 18945,
                                    "mutability": "mutable",
                                    "name": "p1",
                                    "nameLocation": "47007:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 18964,
                                    "src": "47002:7:62",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_bool",
                                        "typeString": "bool"
                                    },
                                    "typeName": {
                                        "id": 18944,
                                        "name": "bool",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "47002:4:62",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_bool",
                                            "typeString": "bool"
                                        }
                                    },
                                    "visibility": "internal"
                                },
                                {
                                    "constant": false,
                                    "id": 18947,
                                    "mutability": "mutable",
                                    "name": "p2",
                                    "nameLocation": "47016:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 18964,
                                    "src": "47011:7:62",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_bool",
                                        "typeString": "bool"
                                    },
                                    "typeName": {
                                        "id": 18946,
                                        "name": "bool",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "47011:4:62",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_bool",
                                            "typeString": "bool"
                                        }
                                    },
                                    "visibility": "internal"
                                },
                                {
                                    "constant": false,
                                    "id": 18949,
                                    "mutability": "mutable",
                                    "name": "p3",
                                    "nameLocation": "47025:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 18964,
                                    "src": "47020:7:62",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_bool",
                                        "typeString": "bool"
                                    },
                                    "typeName": {
                                        "id": 18948,
                                        "name": "bool",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "47020:4:62",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_bool",
                                            "typeString": "bool"
                                        }
                                    },
                                    "visibility": "internal"
                                }
                            ],
                            "src": "46992:36:62"
                        },
                        "returnParameters": {
                            "id": 18951,
                            "nodeType": "ParameterList",
                            "parameters": [],
                            "src": "47043:0:62"
                        },
                        "scope": 20920,
                        "src": "46980:155:62",
                        "stateMutability": "view",
                        "virtual": false,
                        "visibility": "internal"
                    },
                    {
                        "body": {
                            "id": 18986,
                            "nodeType": "Block",
                            "src": "47204:95:62",
                            "statements": [
                                {
                                    "expression": {
                                        "arguments": [
                                            {
                                                "arguments": [
                                                    {
                                                        "hexValue": "6c6f6728626f6f6c2c626f6f6c2c626f6f6c2c6164647265737329",
                                                        "id": 18978,
                                                        "isConstant": false,
                                                        "isLValue": false,
                                                        "isPure": true,
                                                        "kind": "string",
                                                        "lValueRequested": false,
                                                        "nodeType": "Literal",
                                                        "src": "47248:29:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_stringliteral_8c329b1a1752dedfc6b781d23096b49b7f905d62405e6e3f0ab0344786ff69f4",
                                                            "typeString": "literal_string \"log(bool,bool,bool,address)\""
                                                        },
                                                        "value": "log(bool,bool,bool,address)"
                                                    },
                                                    {
                                                        "id": 18979,
                                                        "name": "p0",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 18966,
                                                        "src": "47279:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_bool",
                                                            "typeString": "bool"
                                                        }
                                                    },
                                                    {
                                                        "id": 18980,
                                                        "name": "p1",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 18968,
                                                        "src": "47283:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_bool",
                                                            "typeString": "bool"
                                                        }
                                                    },
                                                    {
                                                        "id": 18981,
                                                        "name": "p2",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 18970,
                                                        "src": "47287:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_bool",
                                                            "typeString": "bool"
                                                        }
                                                    },
                                                    {
                                                        "id": 18982,
                                                        "name": "p3",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 18972,
                                                        "src": "47291:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_address",
                                                            "typeString": "address"
                                                        }
                                                    }
                                                ],
                                                "expression": {
                                                    "argumentTypes": [
                                                        {
                                                            "typeIdentifier": "t_stringliteral_8c329b1a1752dedfc6b781d23096b49b7f905d62405e6e3f0ab0344786ff69f4",
                                                            "typeString": "literal_string \"log(bool,bool,bool,address)\""
                                                        },
                                                        {
                                                            "typeIdentifier": "t_bool",
                                                            "typeString": "bool"
                                                        },
                                                        {
                                                            "typeIdentifier": "t_bool",
                                                            "typeString": "bool"
                                                        },
                                                        {
                                                            "typeIdentifier": "t_bool",
                                                            "typeString": "bool"
                                                        },
                                                        {
                                                            "typeIdentifier": "t_address",
                                                            "typeString": "address"
                                                        }
                                                    ],
                                                    "expression": {
                                                        "id": 18976,
                                                        "name": "abi",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 4294967295,
                                                        "src": "47224:3:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_magic_abi",
                                                            "typeString": "abi"
                                                        }
                                                    },
                                                    "id": 18977,
                                                    "isConstant": false,
                                                    "isLValue": false,
                                                    "isPure": true,
                                                    "lValueRequested": false,
                                                    "memberName": "encodeWithSignature",
                                                    "nodeType": "MemberAccess",
                                                    "src": "47224:23:62",
                                                    "typeDescriptions": {
                                                        "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$",
                                                        "typeString": "function (string memory) pure returns (bytes memory)"
                                                    }
                                                },
                                                "id": 18983,
                                                "isConstant": false,
                                                "isLValue": false,
                                                "isPure": false,
                                                "kind": "functionCall",
                                                "lValueRequested": false,
                                                "names": [],
                                                "nodeType": "FunctionCall",
                                                "src": "47224:70:62",
                                                "tryCall": false,
                                                "typeDescriptions": {
                                                    "typeIdentifier": "t_bytes_memory_ptr",
                                                    "typeString": "bytes memory"
                                                }
                                            }
                                        ],
                                        "expression": {
                                            "argumentTypes": [
                                                {
                                                    "typeIdentifier": "t_bytes_memory_ptr",
                                                    "typeString": "bytes memory"
                                                }
                                            ],
                                            "id": 18975,
                                            "name": "_sendLogPayload",
                                            "nodeType": "Identifier",
                                            "overloadedDeclarations": [],
                                            "referencedDeclaration": 12880,
                                            "src": "47208:15:62",
                                            "typeDescriptions": {
                                                "typeIdentifier": "t_function_internal_view$_t_bytes_memory_ptr_$returns$__$",
                                                "typeString": "function (bytes memory) view"
                                            }
                                        },
                                        "id": 18984,
                                        "isConstant": false,
                                        "isLValue": false,
                                        "isPure": false,
                                        "kind": "functionCall",
                                        "lValueRequested": false,
                                        "names": [],
                                        "nodeType": "FunctionCall",
                                        "src": "47208:87:62",
                                        "tryCall": false,
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_tuple$__$",
                                            "typeString": "tuple()"
                                        }
                                    },
                                    "id": 18985,
                                    "nodeType": "ExpressionStatement",
                                    "src": "47208:87:62"
                                }
                            ]
                        },
                        "id": 18987,
                        "implemented": true,
                        "kind": "function",
                        "modifiers": [],
                        "name": "log",
                        "nameLocation": "47147:3:62",
                        "nodeType": "FunctionDefinition",
                        "parameters": {
                            "id": 18973,
                            "nodeType": "ParameterList",
                            "parameters": [
                                {
                                    "constant": false,
                                    "id": 18966,
                                    "mutability": "mutable",
                                    "name": "p0",
                                    "nameLocation": "47156:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 18987,
                                    "src": "47151:7:62",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_bool",
                                        "typeString": "bool"
                                    },
                                    "typeName": {
                                        "id": 18965,
                                        "name": "bool",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "47151:4:62",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_bool",
                                            "typeString": "bool"
                                        }
                                    },
                                    "visibility": "internal"
                                },
                                {
                                    "constant": false,
                                    "id": 18968,
                                    "mutability": "mutable",
                                    "name": "p1",
                                    "nameLocation": "47165:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 18987,
                                    "src": "47160:7:62",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_bool",
                                        "typeString": "bool"
                                    },
                                    "typeName": {
                                        "id": 18967,
                                        "name": "bool",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "47160:4:62",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_bool",
                                            "typeString": "bool"
                                        }
                                    },
                                    "visibility": "internal"
                                },
                                {
                                    "constant": false,
                                    "id": 18970,
                                    "mutability": "mutable",
                                    "name": "p2",
                                    "nameLocation": "47174:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 18987,
                                    "src": "47169:7:62",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_bool",
                                        "typeString": "bool"
                                    },
                                    "typeName": {
                                        "id": 18969,
                                        "name": "bool",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "47169:4:62",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_bool",
                                            "typeString": "bool"
                                        }
                                    },
                                    "visibility": "internal"
                                },
                                {
                                    "constant": false,
                                    "id": 18972,
                                    "mutability": "mutable",
                                    "name": "p3",
                                    "nameLocation": "47186:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 18987,
                                    "src": "47178:10:62",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_address",
                                        "typeString": "address"
                                    },
                                    "typeName": {
                                        "id": 18971,
                                        "name": "address",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "47178:7:62",
                                        "stateMutability": "nonpayable",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_address",
                                            "typeString": "address"
                                        }
                                    },
                                    "visibility": "internal"
                                }
                            ],
                            "src": "47150:39:62"
                        },
                        "returnParameters": {
                            "id": 18974,
                            "nodeType": "ParameterList",
                            "parameters": [],
                            "src": "47204:0:62"
                        },
                        "scope": 20920,
                        "src": "47138:161:62",
                        "stateMutability": "view",
                        "virtual": false,
                        "visibility": "internal"
                    },
                    {
                        "body": {
                            "id": 19009,
                            "nodeType": "Block",
                            "src": "47368:95:62",
                            "statements": [
                                {
                                    "expression": {
                                        "arguments": [
                                            {
                                                "arguments": [
                                                    {
                                                        "hexValue": "6c6f6728626f6f6c2c626f6f6c2c616464726573732c75696e7429",
                                                        "id": 19001,
                                                        "isConstant": false,
                                                        "isLValue": false,
                                                        "isPure": true,
                                                        "kind": "string",
                                                        "lValueRequested": false,
                                                        "nodeType": "Literal",
                                                        "src": "47412:29:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_stringliteral_609386e78fd5b0eaf4b919077203f18b1606ddf72247d9e5eef9238918f7cf5e",
                                                            "typeString": "literal_string \"log(bool,bool,address,uint)\""
                                                        },
                                                        "value": "log(bool,bool,address,uint)"
                                                    },
                                                    {
                                                        "id": 19002,
                                                        "name": "p0",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 18989,
                                                        "src": "47443:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_bool",
                                                            "typeString": "bool"
                                                        }
                                                    },
                                                    {
                                                        "id": 19003,
                                                        "name": "p1",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 18991,
                                                        "src": "47447:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_bool",
                                                            "typeString": "bool"
                                                        }
                                                    },
                                                    {
                                                        "id": 19004,
                                                        "name": "p2",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 18993,
                                                        "src": "47451:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_address",
                                                            "typeString": "address"
                                                        }
                                                    },
                                                    {
                                                        "id": 19005,
                                                        "name": "p3",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 18995,
                                                        "src": "47455:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_uint256",
                                                            "typeString": "uint256"
                                                        }
                                                    }
                                                ],
                                                "expression": {
                                                    "argumentTypes": [
                                                        {
                                                            "typeIdentifier": "t_stringliteral_609386e78fd5b0eaf4b919077203f18b1606ddf72247d9e5eef9238918f7cf5e",
                                                            "typeString": "literal_string \"log(bool,bool,address,uint)\""
                                                        },
                                                        {
                                                            "typeIdentifier": "t_bool",
                                                            "typeString": "bool"
                                                        },
                                                        {
                                                            "typeIdentifier": "t_bool",
                                                            "typeString": "bool"
                                                        },
                                                        {
                                                            "typeIdentifier": "t_address",
                                                            "typeString": "address"
                                                        },
                                                        {
                                                            "typeIdentifier": "t_uint256",
                                                            "typeString": "uint256"
                                                        }
                                                    ],
                                                    "expression": {
                                                        "id": 18999,
                                                        "name": "abi",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 4294967295,
                                                        "src": "47388:3:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_magic_abi",
                                                            "typeString": "abi"
                                                        }
                                                    },
                                                    "id": 19000,
                                                    "isConstant": false,
                                                    "isLValue": false,
                                                    "isPure": true,
                                                    "lValueRequested": false,
                                                    "memberName": "encodeWithSignature",
                                                    "nodeType": "MemberAccess",
                                                    "src": "47388:23:62",
                                                    "typeDescriptions": {
                                                        "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$",
                                                        "typeString": "function (string memory) pure returns (bytes memory)"
                                                    }
                                                },
                                                "id": 19006,
                                                "isConstant": false,
                                                "isLValue": false,
                                                "isPure": false,
                                                "kind": "functionCall",
                                                "lValueRequested": false,
                                                "names": [],
                                                "nodeType": "FunctionCall",
                                                "src": "47388:70:62",
                                                "tryCall": false,
                                                "typeDescriptions": {
                                                    "typeIdentifier": "t_bytes_memory_ptr",
                                                    "typeString": "bytes memory"
                                                }
                                            }
                                        ],
                                        "expression": {
                                            "argumentTypes": [
                                                {
                                                    "typeIdentifier": "t_bytes_memory_ptr",
                                                    "typeString": "bytes memory"
                                                }
                                            ],
                                            "id": 18998,
                                            "name": "_sendLogPayload",
                                            "nodeType": "Identifier",
                                            "overloadedDeclarations": [],
                                            "referencedDeclaration": 12880,
                                            "src": "47372:15:62",
                                            "typeDescriptions": {
                                                "typeIdentifier": "t_function_internal_view$_t_bytes_memory_ptr_$returns$__$",
                                                "typeString": "function (bytes memory) view"
                                            }
                                        },
                                        "id": 19007,
                                        "isConstant": false,
                                        "isLValue": false,
                                        "isPure": false,
                                        "kind": "functionCall",
                                        "lValueRequested": false,
                                        "names": [],
                                        "nodeType": "FunctionCall",
                                        "src": "47372:87:62",
                                        "tryCall": false,
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_tuple$__$",
                                            "typeString": "tuple()"
                                        }
                                    },
                                    "id": 19008,
                                    "nodeType": "ExpressionStatement",
                                    "src": "47372:87:62"
                                }
                            ]
                        },
                        "id": 19010,
                        "implemented": true,
                        "kind": "function",
                        "modifiers": [],
                        "name": "log",
                        "nameLocation": "47311:3:62",
                        "nodeType": "FunctionDefinition",
                        "parameters": {
                            "id": 18996,
                            "nodeType": "ParameterList",
                            "parameters": [
                                {
                                    "constant": false,
                                    "id": 18989,
                                    "mutability": "mutable",
                                    "name": "p0",
                                    "nameLocation": "47320:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 19010,
                                    "src": "47315:7:62",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_bool",
                                        "typeString": "bool"
                                    },
                                    "typeName": {
                                        "id": 18988,
                                        "name": "bool",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "47315:4:62",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_bool",
                                            "typeString": "bool"
                                        }
                                    },
                                    "visibility": "internal"
                                },
                                {
                                    "constant": false,
                                    "id": 18991,
                                    "mutability": "mutable",
                                    "name": "p1",
                                    "nameLocation": "47329:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 19010,
                                    "src": "47324:7:62",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_bool",
                                        "typeString": "bool"
                                    },
                                    "typeName": {
                                        "id": 18990,
                                        "name": "bool",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "47324:4:62",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_bool",
                                            "typeString": "bool"
                                        }
                                    },
                                    "visibility": "internal"
                                },
                                {
                                    "constant": false,
                                    "id": 18993,
                                    "mutability": "mutable",
                                    "name": "p2",
                                    "nameLocation": "47341:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 19010,
                                    "src": "47333:10:62",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_address",
                                        "typeString": "address"
                                    },
                                    "typeName": {
                                        "id": 18992,
                                        "name": "address",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "47333:7:62",
                                        "stateMutability": "nonpayable",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_address",
                                            "typeString": "address"
                                        }
                                    },
                                    "visibility": "internal"
                                },
                                {
                                    "constant": false,
                                    "id": 18995,
                                    "mutability": "mutable",
                                    "name": "p3",
                                    "nameLocation": "47350:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 19010,
                                    "src": "47345:7:62",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_uint256",
                                        "typeString": "uint256"
                                    },
                                    "typeName": {
                                        "id": 18994,
                                        "name": "uint",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "47345:4:62",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_uint256",
                                            "typeString": "uint256"
                                        }
                                    },
                                    "visibility": "internal"
                                }
                            ],
                            "src": "47314:39:62"
                        },
                        "returnParameters": {
                            "id": 18997,
                            "nodeType": "ParameterList",
                            "parameters": [],
                            "src": "47368:0:62"
                        },
                        "scope": 20920,
                        "src": "47302:161:62",
                        "stateMutability": "view",
                        "virtual": false,
                        "visibility": "internal"
                    },
                    {
                        "body": {
                            "id": 19032,
                            "nodeType": "Block",
                            "src": "47541:97:62",
                            "statements": [
                                {
                                    "expression": {
                                        "arguments": [
                                            {
                                                "arguments": [
                                                    {
                                                        "hexValue": "6c6f6728626f6f6c2c626f6f6c2c616464726573732c737472696e6729",
                                                        "id": 19024,
                                                        "isConstant": false,
                                                        "isLValue": false,
                                                        "isPure": true,
                                                        "kind": "string",
                                                        "lValueRequested": false,
                                                        "nodeType": "Literal",
                                                        "src": "47585:31:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_stringliteral_a0a479635c05dee438b610769de0f667f2e93ee267e4cd4badf3dd44eb6271d2",
                                                            "typeString": "literal_string \"log(bool,bool,address,string)\""
                                                        },
                                                        "value": "log(bool,bool,address,string)"
                                                    },
                                                    {
                                                        "id": 19025,
                                                        "name": "p0",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 19012,
                                                        "src": "47618:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_bool",
                                                            "typeString": "bool"
                                                        }
                                                    },
                                                    {
                                                        "id": 19026,
                                                        "name": "p1",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 19014,
                                                        "src": "47622:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_bool",
                                                            "typeString": "bool"
                                                        }
                                                    },
                                                    {
                                                        "id": 19027,
                                                        "name": "p2",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 19016,
                                                        "src": "47626:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_address",
                                                            "typeString": "address"
                                                        }
                                                    },
                                                    {
                                                        "id": 19028,
                                                        "name": "p3",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 19018,
                                                        "src": "47630:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_string_memory_ptr",
                                                            "typeString": "string memory"
                                                        }
                                                    }
                                                ],
                                                "expression": {
                                                    "argumentTypes": [
                                                        {
                                                            "typeIdentifier": "t_stringliteral_a0a479635c05dee438b610769de0f667f2e93ee267e4cd4badf3dd44eb6271d2",
                                                            "typeString": "literal_string \"log(bool,bool,address,string)\""
                                                        },
                                                        {
                                                            "typeIdentifier": "t_bool",
                                                            "typeString": "bool"
                                                        },
                                                        {
                                                            "typeIdentifier": "t_bool",
                                                            "typeString": "bool"
                                                        },
                                                        {
                                                            "typeIdentifier": "t_address",
                                                            "typeString": "address"
                                                        },
                                                        {
                                                            "typeIdentifier": "t_string_memory_ptr",
                                                            "typeString": "string memory"
                                                        }
                                                    ],
                                                    "expression": {
                                                        "id": 19022,
                                                        "name": "abi",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 4294967295,
                                                        "src": "47561:3:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_magic_abi",
                                                            "typeString": "abi"
                                                        }
                                                    },
                                                    "id": 19023,
                                                    "isConstant": false,
                                                    "isLValue": false,
                                                    "isPure": true,
                                                    "lValueRequested": false,
                                                    "memberName": "encodeWithSignature",
                                                    "nodeType": "MemberAccess",
                                                    "src": "47561:23:62",
                                                    "typeDescriptions": {
                                                        "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$",
                                                        "typeString": "function (string memory) pure returns (bytes memory)"
                                                    }
                                                },
                                                "id": 19029,
                                                "isConstant": false,
                                                "isLValue": false,
                                                "isPure": false,
                                                "kind": "functionCall",
                                                "lValueRequested": false,
                                                "names": [],
                                                "nodeType": "FunctionCall",
                                                "src": "47561:72:62",
                                                "tryCall": false,
                                                "typeDescriptions": {
                                                    "typeIdentifier": "t_bytes_memory_ptr",
                                                    "typeString": "bytes memory"
                                                }
                                            }
                                        ],
                                        "expression": {
                                            "argumentTypes": [
                                                {
                                                    "typeIdentifier": "t_bytes_memory_ptr",
                                                    "typeString": "bytes memory"
                                                }
                                            ],
                                            "id": 19021,
                                            "name": "_sendLogPayload",
                                            "nodeType": "Identifier",
                                            "overloadedDeclarations": [],
                                            "referencedDeclaration": 12880,
                                            "src": "47545:15:62",
                                            "typeDescriptions": {
                                                "typeIdentifier": "t_function_internal_view$_t_bytes_memory_ptr_$returns$__$",
                                                "typeString": "function (bytes memory) view"
                                            }
                                        },
                                        "id": 19030,
                                        "isConstant": false,
                                        "isLValue": false,
                                        "isPure": false,
                                        "kind": "functionCall",
                                        "lValueRequested": false,
                                        "names": [],
                                        "nodeType": "FunctionCall",
                                        "src": "47545:89:62",
                                        "tryCall": false,
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_tuple$__$",
                                            "typeString": "tuple()"
                                        }
                                    },
                                    "id": 19031,
                                    "nodeType": "ExpressionStatement",
                                    "src": "47545:89:62"
                                }
                            ]
                        },
                        "id": 19033,
                        "implemented": true,
                        "kind": "function",
                        "modifiers": [],
                        "name": "log",
                        "nameLocation": "47475:3:62",
                        "nodeType": "FunctionDefinition",
                        "parameters": {
                            "id": 19019,
                            "nodeType": "ParameterList",
                            "parameters": [
                                {
                                    "constant": false,
                                    "id": 19012,
                                    "mutability": "mutable",
                                    "name": "p0",
                                    "nameLocation": "47484:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 19033,
                                    "src": "47479:7:62",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_bool",
                                        "typeString": "bool"
                                    },
                                    "typeName": {
                                        "id": 19011,
                                        "name": "bool",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "47479:4:62",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_bool",
                                            "typeString": "bool"
                                        }
                                    },
                                    "visibility": "internal"
                                },
                                {
                                    "constant": false,
                                    "id": 19014,
                                    "mutability": "mutable",
                                    "name": "p1",
                                    "nameLocation": "47493:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 19033,
                                    "src": "47488:7:62",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_bool",
                                        "typeString": "bool"
                                    },
                                    "typeName": {
                                        "id": 19013,
                                        "name": "bool",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "47488:4:62",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_bool",
                                            "typeString": "bool"
                                        }
                                    },
                                    "visibility": "internal"
                                },
                                {
                                    "constant": false,
                                    "id": 19016,
                                    "mutability": "mutable",
                                    "name": "p2",
                                    "nameLocation": "47505:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 19033,
                                    "src": "47497:10:62",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_address",
                                        "typeString": "address"
                                    },
                                    "typeName": {
                                        "id": 19015,
                                        "name": "address",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "47497:7:62",
                                        "stateMutability": "nonpayable",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_address",
                                            "typeString": "address"
                                        }
                                    },
                                    "visibility": "internal"
                                },
                                {
                                    "constant": false,
                                    "id": 19018,
                                    "mutability": "mutable",
                                    "name": "p3",
                                    "nameLocation": "47523:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 19033,
                                    "src": "47509:16:62",
                                    "stateVariable": false,
                                    "storageLocation": "memory",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_string_memory_ptr",
                                        "typeString": "string"
                                    },
                                    "typeName": {
                                        "id": 19017,
                                        "name": "string",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "47509:6:62",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_string_storage_ptr",
                                            "typeString": "string"
                                        }
                                    },
                                    "visibility": "internal"
                                }
                            ],
                            "src": "47478:48:62"
                        },
                        "returnParameters": {
                            "id": 19020,
                            "nodeType": "ParameterList",
                            "parameters": [],
                            "src": "47541:0:62"
                        },
                        "scope": 20920,
                        "src": "47466:172:62",
                        "stateMutability": "view",
                        "virtual": false,
                        "visibility": "internal"
                    },
                    {
                        "body": {
                            "id": 19055,
                            "nodeType": "Block",
                            "src": "47707:95:62",
                            "statements": [
                                {
                                    "expression": {
                                        "arguments": [
                                            {
                                                "arguments": [
                                                    {
                                                        "hexValue": "6c6f6728626f6f6c2c626f6f6c2c616464726573732c626f6f6c29",
                                                        "id": 19047,
                                                        "isConstant": false,
                                                        "isLValue": false,
                                                        "isPure": true,
                                                        "kind": "string",
                                                        "lValueRequested": false,
                                                        "nodeType": "Literal",
                                                        "src": "47751:29:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_stringliteral_c0a302d8f11e8919127c20f396068f7014b94967efb042778db9b27b68ee1eaf",
                                                            "typeString": "literal_string \"log(bool,bool,address,bool)\""
                                                        },
                                                        "value": "log(bool,bool,address,bool)"
                                                    },
                                                    {
                                                        "id": 19048,
                                                        "name": "p0",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 19035,
                                                        "src": "47782:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_bool",
                                                            "typeString": "bool"
                                                        }
                                                    },
                                                    {
                                                        "id": 19049,
                                                        "name": "p1",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 19037,
                                                        "src": "47786:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_bool",
                                                            "typeString": "bool"
                                                        }
                                                    },
                                                    {
                                                        "id": 19050,
                                                        "name": "p2",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 19039,
                                                        "src": "47790:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_address",
                                                            "typeString": "address"
                                                        }
                                                    },
                                                    {
                                                        "id": 19051,
                                                        "name": "p3",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 19041,
                                                        "src": "47794:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_bool",
                                                            "typeString": "bool"
                                                        }
                                                    }
                                                ],
                                                "expression": {
                                                    "argumentTypes": [
                                                        {
                                                            "typeIdentifier": "t_stringliteral_c0a302d8f11e8919127c20f396068f7014b94967efb042778db9b27b68ee1eaf",
                                                            "typeString": "literal_string \"log(bool,bool,address,bool)\""
                                                        },
                                                        {
                                                            "typeIdentifier": "t_bool",
                                                            "typeString": "bool"
                                                        },
                                                        {
                                                            "typeIdentifier": "t_bool",
                                                            "typeString": "bool"
                                                        },
                                                        {
                                                            "typeIdentifier": "t_address",
                                                            "typeString": "address"
                                                        },
                                                        {
                                                            "typeIdentifier": "t_bool",
                                                            "typeString": "bool"
                                                        }
                                                    ],
                                                    "expression": {
                                                        "id": 19045,
                                                        "name": "abi",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 4294967295,
                                                        "src": "47727:3:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_magic_abi",
                                                            "typeString": "abi"
                                                        }
                                                    },
                                                    "id": 19046,
                                                    "isConstant": false,
                                                    "isLValue": false,
                                                    "isPure": true,
                                                    "lValueRequested": false,
                                                    "memberName": "encodeWithSignature",
                                                    "nodeType": "MemberAccess",
                                                    "src": "47727:23:62",
                                                    "typeDescriptions": {
                                                        "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$",
                                                        "typeString": "function (string memory) pure returns (bytes memory)"
                                                    }
                                                },
                                                "id": 19052,
                                                "isConstant": false,
                                                "isLValue": false,
                                                "isPure": false,
                                                "kind": "functionCall",
                                                "lValueRequested": false,
                                                "names": [],
                                                "nodeType": "FunctionCall",
                                                "src": "47727:70:62",
                                                "tryCall": false,
                                                "typeDescriptions": {
                                                    "typeIdentifier": "t_bytes_memory_ptr",
                                                    "typeString": "bytes memory"
                                                }
                                            }
                                        ],
                                        "expression": {
                                            "argumentTypes": [
                                                {
                                                    "typeIdentifier": "t_bytes_memory_ptr",
                                                    "typeString": "bytes memory"
                                                }
                                            ],
                                            "id": 19044,
                                            "name": "_sendLogPayload",
                                            "nodeType": "Identifier",
                                            "overloadedDeclarations": [],
                                            "referencedDeclaration": 12880,
                                            "src": "47711:15:62",
                                            "typeDescriptions": {
                                                "typeIdentifier": "t_function_internal_view$_t_bytes_memory_ptr_$returns$__$",
                                                "typeString": "function (bytes memory) view"
                                            }
                                        },
                                        "id": 19053,
                                        "isConstant": false,
                                        "isLValue": false,
                                        "isPure": false,
                                        "kind": "functionCall",
                                        "lValueRequested": false,
                                        "names": [],
                                        "nodeType": "FunctionCall",
                                        "src": "47711:87:62",
                                        "tryCall": false,
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_tuple$__$",
                                            "typeString": "tuple()"
                                        }
                                    },
                                    "id": 19054,
                                    "nodeType": "ExpressionStatement",
                                    "src": "47711:87:62"
                                }
                            ]
                        },
                        "id": 19056,
                        "implemented": true,
                        "kind": "function",
                        "modifiers": [],
                        "name": "log",
                        "nameLocation": "47650:3:62",
                        "nodeType": "FunctionDefinition",
                        "parameters": {
                            "id": 19042,
                            "nodeType": "ParameterList",
                            "parameters": [
                                {
                                    "constant": false,
                                    "id": 19035,
                                    "mutability": "mutable",
                                    "name": "p0",
                                    "nameLocation": "47659:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 19056,
                                    "src": "47654:7:62",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_bool",
                                        "typeString": "bool"
                                    },
                                    "typeName": {
                                        "id": 19034,
                                        "name": "bool",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "47654:4:62",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_bool",
                                            "typeString": "bool"
                                        }
                                    },
                                    "visibility": "internal"
                                },
                                {
                                    "constant": false,
                                    "id": 19037,
                                    "mutability": "mutable",
                                    "name": "p1",
                                    "nameLocation": "47668:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 19056,
                                    "src": "47663:7:62",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_bool",
                                        "typeString": "bool"
                                    },
                                    "typeName": {
                                        "id": 19036,
                                        "name": "bool",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "47663:4:62",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_bool",
                                            "typeString": "bool"
                                        }
                                    },
                                    "visibility": "internal"
                                },
                                {
                                    "constant": false,
                                    "id": 19039,
                                    "mutability": "mutable",
                                    "name": "p2",
                                    "nameLocation": "47680:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 19056,
                                    "src": "47672:10:62",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_address",
                                        "typeString": "address"
                                    },
                                    "typeName": {
                                        "id": 19038,
                                        "name": "address",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "47672:7:62",
                                        "stateMutability": "nonpayable",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_address",
                                            "typeString": "address"
                                        }
                                    },
                                    "visibility": "internal"
                                },
                                {
                                    "constant": false,
                                    "id": 19041,
                                    "mutability": "mutable",
                                    "name": "p3",
                                    "nameLocation": "47689:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 19056,
                                    "src": "47684:7:62",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_bool",
                                        "typeString": "bool"
                                    },
                                    "typeName": {
                                        "id": 19040,
                                        "name": "bool",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "47684:4:62",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_bool",
                                            "typeString": "bool"
                                        }
                                    },
                                    "visibility": "internal"
                                }
                            ],
                            "src": "47653:39:62"
                        },
                        "returnParameters": {
                            "id": 19043,
                            "nodeType": "ParameterList",
                            "parameters": [],
                            "src": "47707:0:62"
                        },
                        "scope": 20920,
                        "src": "47641:161:62",
                        "stateMutability": "view",
                        "virtual": false,
                        "visibility": "internal"
                    },
                    {
                        "body": {
                            "id": 19078,
                            "nodeType": "Block",
                            "src": "47874:98:62",
                            "statements": [
                                {
                                    "expression": {
                                        "arguments": [
                                            {
                                                "arguments": [
                                                    {
                                                        "hexValue": "6c6f6728626f6f6c2c626f6f6c2c616464726573732c6164647265737329",
                                                        "id": 19070,
                                                        "isConstant": false,
                                                        "isLValue": false,
                                                        "isPure": true,
                                                        "kind": "string",
                                                        "lValueRequested": false,
                                                        "nodeType": "Literal",
                                                        "src": "47918:32:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_stringliteral_f4880ea4063b4f7e3c68468bb4a7a3f1502aa7497bce4fb0ba02ec0450f047f4",
                                                            "typeString": "literal_string \"log(bool,bool,address,address)\""
                                                        },
                                                        "value": "log(bool,bool,address,address)"
                                                    },
                                                    {
                                                        "id": 19071,
                                                        "name": "p0",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 19058,
                                                        "src": "47952:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_bool",
                                                            "typeString": "bool"
                                                        }
                                                    },
                                                    {
                                                        "id": 19072,
                                                        "name": "p1",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 19060,
                                                        "src": "47956:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_bool",
                                                            "typeString": "bool"
                                                        }
                                                    },
                                                    {
                                                        "id": 19073,
                                                        "name": "p2",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 19062,
                                                        "src": "47960:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_address",
                                                            "typeString": "address"
                                                        }
                                                    },
                                                    {
                                                        "id": 19074,
                                                        "name": "p3",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 19064,
                                                        "src": "47964:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_address",
                                                            "typeString": "address"
                                                        }
                                                    }
                                                ],
                                                "expression": {
                                                    "argumentTypes": [
                                                        {
                                                            "typeIdentifier": "t_stringliteral_f4880ea4063b4f7e3c68468bb4a7a3f1502aa7497bce4fb0ba02ec0450f047f4",
                                                            "typeString": "literal_string \"log(bool,bool,address,address)\""
                                                        },
                                                        {
                                                            "typeIdentifier": "t_bool",
                                                            "typeString": "bool"
                                                        },
                                                        {
                                                            "typeIdentifier": "t_bool",
                                                            "typeString": "bool"
                                                        },
                                                        {
                                                            "typeIdentifier": "t_address",
                                                            "typeString": "address"
                                                        },
                                                        {
                                                            "typeIdentifier": "t_address",
                                                            "typeString": "address"
                                                        }
                                                    ],
                                                    "expression": {
                                                        "id": 19068,
                                                        "name": "abi",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 4294967295,
                                                        "src": "47894:3:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_magic_abi",
                                                            "typeString": "abi"
                                                        }
                                                    },
                                                    "id": 19069,
                                                    "isConstant": false,
                                                    "isLValue": false,
                                                    "isPure": true,
                                                    "lValueRequested": false,
                                                    "memberName": "encodeWithSignature",
                                                    "nodeType": "MemberAccess",
                                                    "src": "47894:23:62",
                                                    "typeDescriptions": {
                                                        "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$",
                                                        "typeString": "function (string memory) pure returns (bytes memory)"
                                                    }
                                                },
                                                "id": 19075,
                                                "isConstant": false,
                                                "isLValue": false,
                                                "isPure": false,
                                                "kind": "functionCall",
                                                "lValueRequested": false,
                                                "names": [],
                                                "nodeType": "FunctionCall",
                                                "src": "47894:73:62",
                                                "tryCall": false,
                                                "typeDescriptions": {
                                                    "typeIdentifier": "t_bytes_memory_ptr",
                                                    "typeString": "bytes memory"
                                                }
                                            }
                                        ],
                                        "expression": {
                                            "argumentTypes": [
                                                {
                                                    "typeIdentifier": "t_bytes_memory_ptr",
                                                    "typeString": "bytes memory"
                                                }
                                            ],
                                            "id": 19067,
                                            "name": "_sendLogPayload",
                                            "nodeType": "Identifier",
                                            "overloadedDeclarations": [],
                                            "referencedDeclaration": 12880,
                                            "src": "47878:15:62",
                                            "typeDescriptions": {
                                                "typeIdentifier": "t_function_internal_view$_t_bytes_memory_ptr_$returns$__$",
                                                "typeString": "function (bytes memory) view"
                                            }
                                        },
                                        "id": 19076,
                                        "isConstant": false,
                                        "isLValue": false,
                                        "isPure": false,
                                        "kind": "functionCall",
                                        "lValueRequested": false,
                                        "names": [],
                                        "nodeType": "FunctionCall",
                                        "src": "47878:90:62",
                                        "tryCall": false,
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_tuple$__$",
                                            "typeString": "tuple()"
                                        }
                                    },
                                    "id": 19077,
                                    "nodeType": "ExpressionStatement",
                                    "src": "47878:90:62"
                                }
                            ]
                        },
                        "id": 19079,
                        "implemented": true,
                        "kind": "function",
                        "modifiers": [],
                        "name": "log",
                        "nameLocation": "47814:3:62",
                        "nodeType": "FunctionDefinition",
                        "parameters": {
                            "id": 19065,
                            "nodeType": "ParameterList",
                            "parameters": [
                                {
                                    "constant": false,
                                    "id": 19058,
                                    "mutability": "mutable",
                                    "name": "p0",
                                    "nameLocation": "47823:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 19079,
                                    "src": "47818:7:62",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_bool",
                                        "typeString": "bool"
                                    },
                                    "typeName": {
                                        "id": 19057,
                                        "name": "bool",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "47818:4:62",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_bool",
                                            "typeString": "bool"
                                        }
                                    },
                                    "visibility": "internal"
                                },
                                {
                                    "constant": false,
                                    "id": 19060,
                                    "mutability": "mutable",
                                    "name": "p1",
                                    "nameLocation": "47832:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 19079,
                                    "src": "47827:7:62",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_bool",
                                        "typeString": "bool"
                                    },
                                    "typeName": {
                                        "id": 19059,
                                        "name": "bool",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "47827:4:62",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_bool",
                                            "typeString": "bool"
                                        }
                                    },
                                    "visibility": "internal"
                                },
                                {
                                    "constant": false,
                                    "id": 19062,
                                    "mutability": "mutable",
                                    "name": "p2",
                                    "nameLocation": "47844:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 19079,
                                    "src": "47836:10:62",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_address",
                                        "typeString": "address"
                                    },
                                    "typeName": {
                                        "id": 19061,
                                        "name": "address",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "47836:7:62",
                                        "stateMutability": "nonpayable",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_address",
                                            "typeString": "address"
                                        }
                                    },
                                    "visibility": "internal"
                                },
                                {
                                    "constant": false,
                                    "id": 19064,
                                    "mutability": "mutable",
                                    "name": "p3",
                                    "nameLocation": "47856:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 19079,
                                    "src": "47848:10:62",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_address",
                                        "typeString": "address"
                                    },
                                    "typeName": {
                                        "id": 19063,
                                        "name": "address",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "47848:7:62",
                                        "stateMutability": "nonpayable",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_address",
                                            "typeString": "address"
                                        }
                                    },
                                    "visibility": "internal"
                                }
                            ],
                            "src": "47817:42:62"
                        },
                        "returnParameters": {
                            "id": 19066,
                            "nodeType": "ParameterList",
                            "parameters": [],
                            "src": "47874:0:62"
                        },
                        "scope": 20920,
                        "src": "47805:167:62",
                        "stateMutability": "view",
                        "virtual": false,
                        "visibility": "internal"
                    },
                    {
                        "body": {
                            "id": 19101,
                            "nodeType": "Block",
                            "src": "48041:95:62",
                            "statements": [
                                {
                                    "expression": {
                                        "arguments": [
                                            {
                                                "arguments": [
                                                    {
                                                        "hexValue": "6c6f6728626f6f6c2c616464726573732c75696e742c75696e7429",
                                                        "id": 19093,
                                                        "isConstant": false,
                                                        "isLValue": false,
                                                        "isPure": true,
                                                        "kind": "string",
                                                        "lValueRequested": false,
                                                        "nodeType": "Literal",
                                                        "src": "48085:29:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_stringliteral_9bfe72bcae17311bf78638487cb2635e8b5b6f81761042494681e890b65ae4df",
                                                            "typeString": "literal_string \"log(bool,address,uint,uint)\""
                                                        },
                                                        "value": "log(bool,address,uint,uint)"
                                                    },
                                                    {
                                                        "id": 19094,
                                                        "name": "p0",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 19081,
                                                        "src": "48116:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_bool",
                                                            "typeString": "bool"
                                                        }
                                                    },
                                                    {
                                                        "id": 19095,
                                                        "name": "p1",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 19083,
                                                        "src": "48120:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_address",
                                                            "typeString": "address"
                                                        }
                                                    },
                                                    {
                                                        "id": 19096,
                                                        "name": "p2",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 19085,
                                                        "src": "48124:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_uint256",
                                                            "typeString": "uint256"
                                                        }
                                                    },
                                                    {
                                                        "id": 19097,
                                                        "name": "p3",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 19087,
                                                        "src": "48128:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_uint256",
                                                            "typeString": "uint256"
                                                        }
                                                    }
                                                ],
                                                "expression": {
                                                    "argumentTypes": [
                                                        {
                                                            "typeIdentifier": "t_stringliteral_9bfe72bcae17311bf78638487cb2635e8b5b6f81761042494681e890b65ae4df",
                                                            "typeString": "literal_string \"log(bool,address,uint,uint)\""
                                                        },
                                                        {
                                                            "typeIdentifier": "t_bool",
                                                            "typeString": "bool"
                                                        },
                                                        {
                                                            "typeIdentifier": "t_address",
                                                            "typeString": "address"
                                                        },
                                                        {
                                                            "typeIdentifier": "t_uint256",
                                                            "typeString": "uint256"
                                                        },
                                                        {
                                                            "typeIdentifier": "t_uint256",
                                                            "typeString": "uint256"
                                                        }
                                                    ],
                                                    "expression": {
                                                        "id": 19091,
                                                        "name": "abi",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 4294967295,
                                                        "src": "48061:3:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_magic_abi",
                                                            "typeString": "abi"
                                                        }
                                                    },
                                                    "id": 19092,
                                                    "isConstant": false,
                                                    "isLValue": false,
                                                    "isPure": true,
                                                    "lValueRequested": false,
                                                    "memberName": "encodeWithSignature",
                                                    "nodeType": "MemberAccess",
                                                    "src": "48061:23:62",
                                                    "typeDescriptions": {
                                                        "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$",
                                                        "typeString": "function (string memory) pure returns (bytes memory)"
                                                    }
                                                },
                                                "id": 19098,
                                                "isConstant": false,
                                                "isLValue": false,
                                                "isPure": false,
                                                "kind": "functionCall",
                                                "lValueRequested": false,
                                                "names": [],
                                                "nodeType": "FunctionCall",
                                                "src": "48061:70:62",
                                                "tryCall": false,
                                                "typeDescriptions": {
                                                    "typeIdentifier": "t_bytes_memory_ptr",
                                                    "typeString": "bytes memory"
                                                }
                                            }
                                        ],
                                        "expression": {
                                            "argumentTypes": [
                                                {
                                                    "typeIdentifier": "t_bytes_memory_ptr",
                                                    "typeString": "bytes memory"
                                                }
                                            ],
                                            "id": 19090,
                                            "name": "_sendLogPayload",
                                            "nodeType": "Identifier",
                                            "overloadedDeclarations": [],
                                            "referencedDeclaration": 12880,
                                            "src": "48045:15:62",
                                            "typeDescriptions": {
                                                "typeIdentifier": "t_function_internal_view$_t_bytes_memory_ptr_$returns$__$",
                                                "typeString": "function (bytes memory) view"
                                            }
                                        },
                                        "id": 19099,
                                        "isConstant": false,
                                        "isLValue": false,
                                        "isPure": false,
                                        "kind": "functionCall",
                                        "lValueRequested": false,
                                        "names": [],
                                        "nodeType": "FunctionCall",
                                        "src": "48045:87:62",
                                        "tryCall": false,
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_tuple$__$",
                                            "typeString": "tuple()"
                                        }
                                    },
                                    "id": 19100,
                                    "nodeType": "ExpressionStatement",
                                    "src": "48045:87:62"
                                }
                            ]
                        },
                        "id": 19102,
                        "implemented": true,
                        "kind": "function",
                        "modifiers": [],
                        "name": "log",
                        "nameLocation": "47984:3:62",
                        "nodeType": "FunctionDefinition",
                        "parameters": {
                            "id": 19088,
                            "nodeType": "ParameterList",
                            "parameters": [
                                {
                                    "constant": false,
                                    "id": 19081,
                                    "mutability": "mutable",
                                    "name": "p0",
                                    "nameLocation": "47993:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 19102,
                                    "src": "47988:7:62",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_bool",
                                        "typeString": "bool"
                                    },
                                    "typeName": {
                                        "id": 19080,
                                        "name": "bool",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "47988:4:62",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_bool",
                                            "typeString": "bool"
                                        }
                                    },
                                    "visibility": "internal"
                                },
                                {
                                    "constant": false,
                                    "id": 19083,
                                    "mutability": "mutable",
                                    "name": "p1",
                                    "nameLocation": "48005:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 19102,
                                    "src": "47997:10:62",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_address",
                                        "typeString": "address"
                                    },
                                    "typeName": {
                                        "id": 19082,
                                        "name": "address",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "47997:7:62",
                                        "stateMutability": "nonpayable",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_address",
                                            "typeString": "address"
                                        }
                                    },
                                    "visibility": "internal"
                                },
                                {
                                    "constant": false,
                                    "id": 19085,
                                    "mutability": "mutable",
                                    "name": "p2",
                                    "nameLocation": "48014:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 19102,
                                    "src": "48009:7:62",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_uint256",
                                        "typeString": "uint256"
                                    },
                                    "typeName": {
                                        "id": 19084,
                                        "name": "uint",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "48009:4:62",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_uint256",
                                            "typeString": "uint256"
                                        }
                                    },
                                    "visibility": "internal"
                                },
                                {
                                    "constant": false,
                                    "id": 19087,
                                    "mutability": "mutable",
                                    "name": "p3",
                                    "nameLocation": "48023:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 19102,
                                    "src": "48018:7:62",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_uint256",
                                        "typeString": "uint256"
                                    },
                                    "typeName": {
                                        "id": 19086,
                                        "name": "uint",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "48018:4:62",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_uint256",
                                            "typeString": "uint256"
                                        }
                                    },
                                    "visibility": "internal"
                                }
                            ],
                            "src": "47987:39:62"
                        },
                        "returnParameters": {
                            "id": 19089,
                            "nodeType": "ParameterList",
                            "parameters": [],
                            "src": "48041:0:62"
                        },
                        "scope": 20920,
                        "src": "47975:161:62",
                        "stateMutability": "view",
                        "virtual": false,
                        "visibility": "internal"
                    },
                    {
                        "body": {
                            "id": 19124,
                            "nodeType": "Block",
                            "src": "48214:97:62",
                            "statements": [
                                {
                                    "expression": {
                                        "arguments": [
                                            {
                                                "arguments": [
                                                    {
                                                        "hexValue": "6c6f6728626f6f6c2c616464726573732c75696e742c737472696e6729",
                                                        "id": 19116,
                                                        "isConstant": false,
                                                        "isLValue": false,
                                                        "isPure": true,
                                                        "kind": "string",
                                                        "lValueRequested": false,
                                                        "nodeType": "Literal",
                                                        "src": "48258:31:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_stringliteral_a0685833a55270d98fa68e8c0a0f64fe3e03f6cdaeaebd8f87342de905392f45",
                                                            "typeString": "literal_string \"log(bool,address,uint,string)\""
                                                        },
                                                        "value": "log(bool,address,uint,string)"
                                                    },
                                                    {
                                                        "id": 19117,
                                                        "name": "p0",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 19104,
                                                        "src": "48291:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_bool",
                                                            "typeString": "bool"
                                                        }
                                                    },
                                                    {
                                                        "id": 19118,
                                                        "name": "p1",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 19106,
                                                        "src": "48295:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_address",
                                                            "typeString": "address"
                                                        }
                                                    },
                                                    {
                                                        "id": 19119,
                                                        "name": "p2",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 19108,
                                                        "src": "48299:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_uint256",
                                                            "typeString": "uint256"
                                                        }
                                                    },
                                                    {
                                                        "id": 19120,
                                                        "name": "p3",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 19110,
                                                        "src": "48303:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_string_memory_ptr",
                                                            "typeString": "string memory"
                                                        }
                                                    }
                                                ],
                                                "expression": {
                                                    "argumentTypes": [
                                                        {
                                                            "typeIdentifier": "t_stringliteral_a0685833a55270d98fa68e8c0a0f64fe3e03f6cdaeaebd8f87342de905392f45",
                                                            "typeString": "literal_string \"log(bool,address,uint,string)\""
                                                        },
                                                        {
                                                            "typeIdentifier": "t_bool",
                                                            "typeString": "bool"
                                                        },
                                                        {
                                                            "typeIdentifier": "t_address",
                                                            "typeString": "address"
                                                        },
                                                        {
                                                            "typeIdentifier": "t_uint256",
                                                            "typeString": "uint256"
                                                        },
                                                        {
                                                            "typeIdentifier": "t_string_memory_ptr",
                                                            "typeString": "string memory"
                                                        }
                                                    ],
                                                    "expression": {
                                                        "id": 19114,
                                                        "name": "abi",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 4294967295,
                                                        "src": "48234:3:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_magic_abi",
                                                            "typeString": "abi"
                                                        }
                                                    },
                                                    "id": 19115,
                                                    "isConstant": false,
                                                    "isLValue": false,
                                                    "isPure": true,
                                                    "lValueRequested": false,
                                                    "memberName": "encodeWithSignature",
                                                    "nodeType": "MemberAccess",
                                                    "src": "48234:23:62",
                                                    "typeDescriptions": {
                                                        "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$",
                                                        "typeString": "function (string memory) pure returns (bytes memory)"
                                                    }
                                                },
                                                "id": 19121,
                                                "isConstant": false,
                                                "isLValue": false,
                                                "isPure": false,
                                                "kind": "functionCall",
                                                "lValueRequested": false,
                                                "names": [],
                                                "nodeType": "FunctionCall",
                                                "src": "48234:72:62",
                                                "tryCall": false,
                                                "typeDescriptions": {
                                                    "typeIdentifier": "t_bytes_memory_ptr",
                                                    "typeString": "bytes memory"
                                                }
                                            }
                                        ],
                                        "expression": {
                                            "argumentTypes": [
                                                {
                                                    "typeIdentifier": "t_bytes_memory_ptr",
                                                    "typeString": "bytes memory"
                                                }
                                            ],
                                            "id": 19113,
                                            "name": "_sendLogPayload",
                                            "nodeType": "Identifier",
                                            "overloadedDeclarations": [],
                                            "referencedDeclaration": 12880,
                                            "src": "48218:15:62",
                                            "typeDescriptions": {
                                                "typeIdentifier": "t_function_internal_view$_t_bytes_memory_ptr_$returns$__$",
                                                "typeString": "function (bytes memory) view"
                                            }
                                        },
                                        "id": 19122,
                                        "isConstant": false,
                                        "isLValue": false,
                                        "isPure": false,
                                        "kind": "functionCall",
                                        "lValueRequested": false,
                                        "names": [],
                                        "nodeType": "FunctionCall",
                                        "src": "48218:89:62",
                                        "tryCall": false,
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_tuple$__$",
                                            "typeString": "tuple()"
                                        }
                                    },
                                    "id": 19123,
                                    "nodeType": "ExpressionStatement",
                                    "src": "48218:89:62"
                                }
                            ]
                        },
                        "id": 19125,
                        "implemented": true,
                        "kind": "function",
                        "modifiers": [],
                        "name": "log",
                        "nameLocation": "48148:3:62",
                        "nodeType": "FunctionDefinition",
                        "parameters": {
                            "id": 19111,
                            "nodeType": "ParameterList",
                            "parameters": [
                                {
                                    "constant": false,
                                    "id": 19104,
                                    "mutability": "mutable",
                                    "name": "p0",
                                    "nameLocation": "48157:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 19125,
                                    "src": "48152:7:62",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_bool",
                                        "typeString": "bool"
                                    },
                                    "typeName": {
                                        "id": 19103,
                                        "name": "bool",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "48152:4:62",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_bool",
                                            "typeString": "bool"
                                        }
                                    },
                                    "visibility": "internal"
                                },
                                {
                                    "constant": false,
                                    "id": 19106,
                                    "mutability": "mutable",
                                    "name": "p1",
                                    "nameLocation": "48169:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 19125,
                                    "src": "48161:10:62",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_address",
                                        "typeString": "address"
                                    },
                                    "typeName": {
                                        "id": 19105,
                                        "name": "address",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "48161:7:62",
                                        "stateMutability": "nonpayable",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_address",
                                            "typeString": "address"
                                        }
                                    },
                                    "visibility": "internal"
                                },
                                {
                                    "constant": false,
                                    "id": 19108,
                                    "mutability": "mutable",
                                    "name": "p2",
                                    "nameLocation": "48178:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 19125,
                                    "src": "48173:7:62",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_uint256",
                                        "typeString": "uint256"
                                    },
                                    "typeName": {
                                        "id": 19107,
                                        "name": "uint",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "48173:4:62",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_uint256",
                                            "typeString": "uint256"
                                        }
                                    },
                                    "visibility": "internal"
                                },
                                {
                                    "constant": false,
                                    "id": 19110,
                                    "mutability": "mutable",
                                    "name": "p3",
                                    "nameLocation": "48196:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 19125,
                                    "src": "48182:16:62",
                                    "stateVariable": false,
                                    "storageLocation": "memory",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_string_memory_ptr",
                                        "typeString": "string"
                                    },
                                    "typeName": {
                                        "id": 19109,
                                        "name": "string",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "48182:6:62",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_string_storage_ptr",
                                            "typeString": "string"
                                        }
                                    },
                                    "visibility": "internal"
                                }
                            ],
                            "src": "48151:48:62"
                        },
                        "returnParameters": {
                            "id": 19112,
                            "nodeType": "ParameterList",
                            "parameters": [],
                            "src": "48214:0:62"
                        },
                        "scope": 20920,
                        "src": "48139:172:62",
                        "stateMutability": "view",
                        "virtual": false,
                        "visibility": "internal"
                    },
                    {
                        "body": {
                            "id": 19147,
                            "nodeType": "Block",
                            "src": "48380:95:62",
                            "statements": [
                                {
                                    "expression": {
                                        "arguments": [
                                            {
                                                "arguments": [
                                                    {
                                                        "hexValue": "6c6f6728626f6f6c2c616464726573732c75696e742c626f6f6c29",
                                                        "id": 19139,
                                                        "isConstant": false,
                                                        "isLValue": false,
                                                        "isPure": true,
                                                        "kind": "string",
                                                        "lValueRequested": false,
                                                        "nodeType": "Literal",
                                                        "src": "48424:29:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_stringliteral_ee8d8672273fdba9089296874ea62335af7f94273edab558dd69c0c81ad5275f",
                                                            "typeString": "literal_string \"log(bool,address,uint,bool)\""
                                                        },
                                                        "value": "log(bool,address,uint,bool)"
                                                    },
                                                    {
                                                        "id": 19140,
                                                        "name": "p0",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 19127,
                                                        "src": "48455:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_bool",
                                                            "typeString": "bool"
                                                        }
                                                    },
                                                    {
                                                        "id": 19141,
                                                        "name": "p1",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 19129,
                                                        "src": "48459:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_address",
                                                            "typeString": "address"
                                                        }
                                                    },
                                                    {
                                                        "id": 19142,
                                                        "name": "p2",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 19131,
                                                        "src": "48463:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_uint256",
                                                            "typeString": "uint256"
                                                        }
                                                    },
                                                    {
                                                        "id": 19143,
                                                        "name": "p3",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 19133,
                                                        "src": "48467:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_bool",
                                                            "typeString": "bool"
                                                        }
                                                    }
                                                ],
                                                "expression": {
                                                    "argumentTypes": [
                                                        {
                                                            "typeIdentifier": "t_stringliteral_ee8d8672273fdba9089296874ea62335af7f94273edab558dd69c0c81ad5275f",
                                                            "typeString": "literal_string \"log(bool,address,uint,bool)\""
                                                        },
                                                        {
                                                            "typeIdentifier": "t_bool",
                                                            "typeString": "bool"
                                                        },
                                                        {
                                                            "typeIdentifier": "t_address",
                                                            "typeString": "address"
                                                        },
                                                        {
                                                            "typeIdentifier": "t_uint256",
                                                            "typeString": "uint256"
                                                        },
                                                        {
                                                            "typeIdentifier": "t_bool",
                                                            "typeString": "bool"
                                                        }
                                                    ],
                                                    "expression": {
                                                        "id": 19137,
                                                        "name": "abi",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 4294967295,
                                                        "src": "48400:3:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_magic_abi",
                                                            "typeString": "abi"
                                                        }
                                                    },
                                                    "id": 19138,
                                                    "isConstant": false,
                                                    "isLValue": false,
                                                    "isPure": true,
                                                    "lValueRequested": false,
                                                    "memberName": "encodeWithSignature",
                                                    "nodeType": "MemberAccess",
                                                    "src": "48400:23:62",
                                                    "typeDescriptions": {
                                                        "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$",
                                                        "typeString": "function (string memory) pure returns (bytes memory)"
                                                    }
                                                },
                                                "id": 19144,
                                                "isConstant": false,
                                                "isLValue": false,
                                                "isPure": false,
                                                "kind": "functionCall",
                                                "lValueRequested": false,
                                                "names": [],
                                                "nodeType": "FunctionCall",
                                                "src": "48400:70:62",
                                                "tryCall": false,
                                                "typeDescriptions": {
                                                    "typeIdentifier": "t_bytes_memory_ptr",
                                                    "typeString": "bytes memory"
                                                }
                                            }
                                        ],
                                        "expression": {
                                            "argumentTypes": [
                                                {
                                                    "typeIdentifier": "t_bytes_memory_ptr",
                                                    "typeString": "bytes memory"
                                                }
                                            ],
                                            "id": 19136,
                                            "name": "_sendLogPayload",
                                            "nodeType": "Identifier",
                                            "overloadedDeclarations": [],
                                            "referencedDeclaration": 12880,
                                            "src": "48384:15:62",
                                            "typeDescriptions": {
                                                "typeIdentifier": "t_function_internal_view$_t_bytes_memory_ptr_$returns$__$",
                                                "typeString": "function (bytes memory) view"
                                            }
                                        },
                                        "id": 19145,
                                        "isConstant": false,
                                        "isLValue": false,
                                        "isPure": false,
                                        "kind": "functionCall",
                                        "lValueRequested": false,
                                        "names": [],
                                        "nodeType": "FunctionCall",
                                        "src": "48384:87:62",
                                        "tryCall": false,
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_tuple$__$",
                                            "typeString": "tuple()"
                                        }
                                    },
                                    "id": 19146,
                                    "nodeType": "ExpressionStatement",
                                    "src": "48384:87:62"
                                }
                            ]
                        },
                        "id": 19148,
                        "implemented": true,
                        "kind": "function",
                        "modifiers": [],
                        "name": "log",
                        "nameLocation": "48323:3:62",
                        "nodeType": "FunctionDefinition",
                        "parameters": {
                            "id": 19134,
                            "nodeType": "ParameterList",
                            "parameters": [
                                {
                                    "constant": false,
                                    "id": 19127,
                                    "mutability": "mutable",
                                    "name": "p0",
                                    "nameLocation": "48332:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 19148,
                                    "src": "48327:7:62",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_bool",
                                        "typeString": "bool"
                                    },
                                    "typeName": {
                                        "id": 19126,
                                        "name": "bool",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "48327:4:62",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_bool",
                                            "typeString": "bool"
                                        }
                                    },
                                    "visibility": "internal"
                                },
                                {
                                    "constant": false,
                                    "id": 19129,
                                    "mutability": "mutable",
                                    "name": "p1",
                                    "nameLocation": "48344:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 19148,
                                    "src": "48336:10:62",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_address",
                                        "typeString": "address"
                                    },
                                    "typeName": {
                                        "id": 19128,
                                        "name": "address",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "48336:7:62",
                                        "stateMutability": "nonpayable",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_address",
                                            "typeString": "address"
                                        }
                                    },
                                    "visibility": "internal"
                                },
                                {
                                    "constant": false,
                                    "id": 19131,
                                    "mutability": "mutable",
                                    "name": "p2",
                                    "nameLocation": "48353:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 19148,
                                    "src": "48348:7:62",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_uint256",
                                        "typeString": "uint256"
                                    },
                                    "typeName": {
                                        "id": 19130,
                                        "name": "uint",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "48348:4:62",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_uint256",
                                            "typeString": "uint256"
                                        }
                                    },
                                    "visibility": "internal"
                                },
                                {
                                    "constant": false,
                                    "id": 19133,
                                    "mutability": "mutable",
                                    "name": "p3",
                                    "nameLocation": "48362:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 19148,
                                    "src": "48357:7:62",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_bool",
                                        "typeString": "bool"
                                    },
                                    "typeName": {
                                        "id": 19132,
                                        "name": "bool",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "48357:4:62",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_bool",
                                            "typeString": "bool"
                                        }
                                    },
                                    "visibility": "internal"
                                }
                            ],
                            "src": "48326:39:62"
                        },
                        "returnParameters": {
                            "id": 19135,
                            "nodeType": "ParameterList",
                            "parameters": [],
                            "src": "48380:0:62"
                        },
                        "scope": 20920,
                        "src": "48314:161:62",
                        "stateMutability": "view",
                        "virtual": false,
                        "visibility": "internal"
                    },
                    {
                        "body": {
                            "id": 19170,
                            "nodeType": "Block",
                            "src": "48547:98:62",
                            "statements": [
                                {
                                    "expression": {
                                        "arguments": [
                                            {
                                                "arguments": [
                                                    {
                                                        "hexValue": "6c6f6728626f6f6c2c616464726573732c75696e742c6164647265737329",
                                                        "id": 19162,
                                                        "isConstant": false,
                                                        "isLValue": false,
                                                        "isPure": true,
                                                        "kind": "string",
                                                        "lValueRequested": false,
                                                        "nodeType": "Literal",
                                                        "src": "48591:32:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_stringliteral_68f158b5f9bd826807d19c20c2d71bd298a10503195154a299bf8d64baa18687",
                                                            "typeString": "literal_string \"log(bool,address,uint,address)\""
                                                        },
                                                        "value": "log(bool,address,uint,address)"
                                                    },
                                                    {
                                                        "id": 19163,
                                                        "name": "p0",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 19150,
                                                        "src": "48625:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_bool",
                                                            "typeString": "bool"
                                                        }
                                                    },
                                                    {
                                                        "id": 19164,
                                                        "name": "p1",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 19152,
                                                        "src": "48629:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_address",
                                                            "typeString": "address"
                                                        }
                                                    },
                                                    {
                                                        "id": 19165,
                                                        "name": "p2",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 19154,
                                                        "src": "48633:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_uint256",
                                                            "typeString": "uint256"
                                                        }
                                                    },
                                                    {
                                                        "id": 19166,
                                                        "name": "p3",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 19156,
                                                        "src": "48637:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_address",
                                                            "typeString": "address"
                                                        }
                                                    }
                                                ],
                                                "expression": {
                                                    "argumentTypes": [
                                                        {
                                                            "typeIdentifier": "t_stringliteral_68f158b5f9bd826807d19c20c2d71bd298a10503195154a299bf8d64baa18687",
                                                            "typeString": "literal_string \"log(bool,address,uint,address)\""
                                                        },
                                                        {
                                                            "typeIdentifier": "t_bool",
                                                            "typeString": "bool"
                                                        },
                                                        {
                                                            "typeIdentifier": "t_address",
                                                            "typeString": "address"
                                                        },
                                                        {
                                                            "typeIdentifier": "t_uint256",
                                                            "typeString": "uint256"
                                                        },
                                                        {
                                                            "typeIdentifier": "t_address",
                                                            "typeString": "address"
                                                        }
                                                    ],
                                                    "expression": {
                                                        "id": 19160,
                                                        "name": "abi",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 4294967295,
                                                        "src": "48567:3:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_magic_abi",
                                                            "typeString": "abi"
                                                        }
                                                    },
                                                    "id": 19161,
                                                    "isConstant": false,
                                                    "isLValue": false,
                                                    "isPure": true,
                                                    "lValueRequested": false,
                                                    "memberName": "encodeWithSignature",
                                                    "nodeType": "MemberAccess",
                                                    "src": "48567:23:62",
                                                    "typeDescriptions": {
                                                        "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$",
                                                        "typeString": "function (string memory) pure returns (bytes memory)"
                                                    }
                                                },
                                                "id": 19167,
                                                "isConstant": false,
                                                "isLValue": false,
                                                "isPure": false,
                                                "kind": "functionCall",
                                                "lValueRequested": false,
                                                "names": [],
                                                "nodeType": "FunctionCall",
                                                "src": "48567:73:62",
                                                "tryCall": false,
                                                "typeDescriptions": {
                                                    "typeIdentifier": "t_bytes_memory_ptr",
                                                    "typeString": "bytes memory"
                                                }
                                            }
                                        ],
                                        "expression": {
                                            "argumentTypes": [
                                                {
                                                    "typeIdentifier": "t_bytes_memory_ptr",
                                                    "typeString": "bytes memory"
                                                }
                                            ],
                                            "id": 19159,
                                            "name": "_sendLogPayload",
                                            "nodeType": "Identifier",
                                            "overloadedDeclarations": [],
                                            "referencedDeclaration": 12880,
                                            "src": "48551:15:62",
                                            "typeDescriptions": {
                                                "typeIdentifier": "t_function_internal_view$_t_bytes_memory_ptr_$returns$__$",
                                                "typeString": "function (bytes memory) view"
                                            }
                                        },
                                        "id": 19168,
                                        "isConstant": false,
                                        "isLValue": false,
                                        "isPure": false,
                                        "kind": "functionCall",
                                        "lValueRequested": false,
                                        "names": [],
                                        "nodeType": "FunctionCall",
                                        "src": "48551:90:62",
                                        "tryCall": false,
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_tuple$__$",
                                            "typeString": "tuple()"
                                        }
                                    },
                                    "id": 19169,
                                    "nodeType": "ExpressionStatement",
                                    "src": "48551:90:62"
                                }
                            ]
                        },
                        "id": 19171,
                        "implemented": true,
                        "kind": "function",
                        "modifiers": [],
                        "name": "log",
                        "nameLocation": "48487:3:62",
                        "nodeType": "FunctionDefinition",
                        "parameters": {
                            "id": 19157,
                            "nodeType": "ParameterList",
                            "parameters": [
                                {
                                    "constant": false,
                                    "id": 19150,
                                    "mutability": "mutable",
                                    "name": "p0",
                                    "nameLocation": "48496:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 19171,
                                    "src": "48491:7:62",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_bool",
                                        "typeString": "bool"
                                    },
                                    "typeName": {
                                        "id": 19149,
                                        "name": "bool",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "48491:4:62",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_bool",
                                            "typeString": "bool"
                                        }
                                    },
                                    "visibility": "internal"
                                },
                                {
                                    "constant": false,
                                    "id": 19152,
                                    "mutability": "mutable",
                                    "name": "p1",
                                    "nameLocation": "48508:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 19171,
                                    "src": "48500:10:62",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_address",
                                        "typeString": "address"
                                    },
                                    "typeName": {
                                        "id": 19151,
                                        "name": "address",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "48500:7:62",
                                        "stateMutability": "nonpayable",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_address",
                                            "typeString": "address"
                                        }
                                    },
                                    "visibility": "internal"
                                },
                                {
                                    "constant": false,
                                    "id": 19154,
                                    "mutability": "mutable",
                                    "name": "p2",
                                    "nameLocation": "48517:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 19171,
                                    "src": "48512:7:62",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_uint256",
                                        "typeString": "uint256"
                                    },
                                    "typeName": {
                                        "id": 19153,
                                        "name": "uint",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "48512:4:62",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_uint256",
                                            "typeString": "uint256"
                                        }
                                    },
                                    "visibility": "internal"
                                },
                                {
                                    "constant": false,
                                    "id": 19156,
                                    "mutability": "mutable",
                                    "name": "p3",
                                    "nameLocation": "48529:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 19171,
                                    "src": "48521:10:62",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_address",
                                        "typeString": "address"
                                    },
                                    "typeName": {
                                        "id": 19155,
                                        "name": "address",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "48521:7:62",
                                        "stateMutability": "nonpayable",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_address",
                                            "typeString": "address"
                                        }
                                    },
                                    "visibility": "internal"
                                }
                            ],
                            "src": "48490:42:62"
                        },
                        "returnParameters": {
                            "id": 19158,
                            "nodeType": "ParameterList",
                            "parameters": [],
                            "src": "48547:0:62"
                        },
                        "scope": 20920,
                        "src": "48478:167:62",
                        "stateMutability": "view",
                        "virtual": false,
                        "visibility": "internal"
                    },
                    {
                        "body": {
                            "id": 19193,
                            "nodeType": "Block",
                            "src": "48723:97:62",
                            "statements": [
                                {
                                    "expression": {
                                        "arguments": [
                                            {
                                                "arguments": [
                                                    {
                                                        "hexValue": "6c6f6728626f6f6c2c616464726573732c737472696e672c75696e7429",
                                                        "id": 19185,
                                                        "isConstant": false,
                                                        "isLValue": false,
                                                        "isPure": true,
                                                        "kind": "string",
                                                        "lValueRequested": false,
                                                        "nodeType": "Literal",
                                                        "src": "48767:31:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_stringliteral_0b99fc2207222410afd35c7faf7feba54ff2367ba89f893584c27ce75693de6e",
                                                            "typeString": "literal_string \"log(bool,address,string,uint)\""
                                                        },
                                                        "value": "log(bool,address,string,uint)"
                                                    },
                                                    {
                                                        "id": 19186,
                                                        "name": "p0",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 19173,
                                                        "src": "48800:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_bool",
                                                            "typeString": "bool"
                                                        }
                                                    },
                                                    {
                                                        "id": 19187,
                                                        "name": "p1",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 19175,
                                                        "src": "48804:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_address",
                                                            "typeString": "address"
                                                        }
                                                    },
                                                    {
                                                        "id": 19188,
                                                        "name": "p2",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 19177,
                                                        "src": "48808:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_string_memory_ptr",
                                                            "typeString": "string memory"
                                                        }
                                                    },
                                                    {
                                                        "id": 19189,
                                                        "name": "p3",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 19179,
                                                        "src": "48812:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_uint256",
                                                            "typeString": "uint256"
                                                        }
                                                    }
                                                ],
                                                "expression": {
                                                    "argumentTypes": [
                                                        {
                                                            "typeIdentifier": "t_stringliteral_0b99fc2207222410afd35c7faf7feba54ff2367ba89f893584c27ce75693de6e",
                                                            "typeString": "literal_string \"log(bool,address,string,uint)\""
                                                        },
                                                        {
                                                            "typeIdentifier": "t_bool",
                                                            "typeString": "bool"
                                                        },
                                                        {
                                                            "typeIdentifier": "t_address",
                                                            "typeString": "address"
                                                        },
                                                        {
                                                            "typeIdentifier": "t_string_memory_ptr",
                                                            "typeString": "string memory"
                                                        },
                                                        {
                                                            "typeIdentifier": "t_uint256",
                                                            "typeString": "uint256"
                                                        }
                                                    ],
                                                    "expression": {
                                                        "id": 19183,
                                                        "name": "abi",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 4294967295,
                                                        "src": "48743:3:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_magic_abi",
                                                            "typeString": "abi"
                                                        }
                                                    },
                                                    "id": 19184,
                                                    "isConstant": false,
                                                    "isLValue": false,
                                                    "isPure": true,
                                                    "lValueRequested": false,
                                                    "memberName": "encodeWithSignature",
                                                    "nodeType": "MemberAccess",
                                                    "src": "48743:23:62",
                                                    "typeDescriptions": {
                                                        "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$",
                                                        "typeString": "function (string memory) pure returns (bytes memory)"
                                                    }
                                                },
                                                "id": 19190,
                                                "isConstant": false,
                                                "isLValue": false,
                                                "isPure": false,
                                                "kind": "functionCall",
                                                "lValueRequested": false,
                                                "names": [],
                                                "nodeType": "FunctionCall",
                                                "src": "48743:72:62",
                                                "tryCall": false,
                                                "typeDescriptions": {
                                                    "typeIdentifier": "t_bytes_memory_ptr",
                                                    "typeString": "bytes memory"
                                                }
                                            }
                                        ],
                                        "expression": {
                                            "argumentTypes": [
                                                {
                                                    "typeIdentifier": "t_bytes_memory_ptr",
                                                    "typeString": "bytes memory"
                                                }
                                            ],
                                            "id": 19182,
                                            "name": "_sendLogPayload",
                                            "nodeType": "Identifier",
                                            "overloadedDeclarations": [],
                                            "referencedDeclaration": 12880,
                                            "src": "48727:15:62",
                                            "typeDescriptions": {
                                                "typeIdentifier": "t_function_internal_view$_t_bytes_memory_ptr_$returns$__$",
                                                "typeString": "function (bytes memory) view"
                                            }
                                        },
                                        "id": 19191,
                                        "isConstant": false,
                                        "isLValue": false,
                                        "isPure": false,
                                        "kind": "functionCall",
                                        "lValueRequested": false,
                                        "names": [],
                                        "nodeType": "FunctionCall",
                                        "src": "48727:89:62",
                                        "tryCall": false,
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_tuple$__$",
                                            "typeString": "tuple()"
                                        }
                                    },
                                    "id": 19192,
                                    "nodeType": "ExpressionStatement",
                                    "src": "48727:89:62"
                                }
                            ]
                        },
                        "id": 19194,
                        "implemented": true,
                        "kind": "function",
                        "modifiers": [],
                        "name": "log",
                        "nameLocation": "48657:3:62",
                        "nodeType": "FunctionDefinition",
                        "parameters": {
                            "id": 19180,
                            "nodeType": "ParameterList",
                            "parameters": [
                                {
                                    "constant": false,
                                    "id": 19173,
                                    "mutability": "mutable",
                                    "name": "p0",
                                    "nameLocation": "48666:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 19194,
                                    "src": "48661:7:62",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_bool",
                                        "typeString": "bool"
                                    },
                                    "typeName": {
                                        "id": 19172,
                                        "name": "bool",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "48661:4:62",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_bool",
                                            "typeString": "bool"
                                        }
                                    },
                                    "visibility": "internal"
                                },
                                {
                                    "constant": false,
                                    "id": 19175,
                                    "mutability": "mutable",
                                    "name": "p1",
                                    "nameLocation": "48678:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 19194,
                                    "src": "48670:10:62",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_address",
                                        "typeString": "address"
                                    },
                                    "typeName": {
                                        "id": 19174,
                                        "name": "address",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "48670:7:62",
                                        "stateMutability": "nonpayable",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_address",
                                            "typeString": "address"
                                        }
                                    },
                                    "visibility": "internal"
                                },
                                {
                                    "constant": false,
                                    "id": 19177,
                                    "mutability": "mutable",
                                    "name": "p2",
                                    "nameLocation": "48696:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 19194,
                                    "src": "48682:16:62",
                                    "stateVariable": false,
                                    "storageLocation": "memory",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_string_memory_ptr",
                                        "typeString": "string"
                                    },
                                    "typeName": {
                                        "id": 19176,
                                        "name": "string",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "48682:6:62",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_string_storage_ptr",
                                            "typeString": "string"
                                        }
                                    },
                                    "visibility": "internal"
                                },
                                {
                                    "constant": false,
                                    "id": 19179,
                                    "mutability": "mutable",
                                    "name": "p3",
                                    "nameLocation": "48705:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 19194,
                                    "src": "48700:7:62",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_uint256",
                                        "typeString": "uint256"
                                    },
                                    "typeName": {
                                        "id": 19178,
                                        "name": "uint",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "48700:4:62",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_uint256",
                                            "typeString": "uint256"
                                        }
                                    },
                                    "visibility": "internal"
                                }
                            ],
                            "src": "48660:48:62"
                        },
                        "returnParameters": {
                            "id": 19181,
                            "nodeType": "ParameterList",
                            "parameters": [],
                            "src": "48723:0:62"
                        },
                        "scope": 20920,
                        "src": "48648:172:62",
                        "stateMutability": "view",
                        "virtual": false,
                        "visibility": "internal"
                    },
                    {
                        "body": {
                            "id": 19216,
                            "nodeType": "Block",
                            "src": "48907:99:62",
                            "statements": [
                                {
                                    "expression": {
                                        "arguments": [
                                            {
                                                "arguments": [
                                                    {
                                                        "hexValue": "6c6f6728626f6f6c2c616464726573732c737472696e672c737472696e6729",
                                                        "id": 19208,
                                                        "isConstant": false,
                                                        "isLValue": false,
                                                        "isPure": true,
                                                        "kind": "string",
                                                        "lValueRequested": false,
                                                        "nodeType": "Literal",
                                                        "src": "48951:33:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_stringliteral_a73c1db639dbf1382c9113eacdf5b14a7ccd81fc001ac60393623936011bf49d",
                                                            "typeString": "literal_string \"log(bool,address,string,string)\""
                                                        },
                                                        "value": "log(bool,address,string,string)"
                                                    },
                                                    {
                                                        "id": 19209,
                                                        "name": "p0",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 19196,
                                                        "src": "48986:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_bool",
                                                            "typeString": "bool"
                                                        }
                                                    },
                                                    {
                                                        "id": 19210,
                                                        "name": "p1",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 19198,
                                                        "src": "48990:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_address",
                                                            "typeString": "address"
                                                        }
                                                    },
                                                    {
                                                        "id": 19211,
                                                        "name": "p2",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 19200,
                                                        "src": "48994:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_string_memory_ptr",
                                                            "typeString": "string memory"
                                                        }
                                                    },
                                                    {
                                                        "id": 19212,
                                                        "name": "p3",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 19202,
                                                        "src": "48998:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_string_memory_ptr",
                                                            "typeString": "string memory"
                                                        }
                                                    }
                                                ],
                                                "expression": {
                                                    "argumentTypes": [
                                                        {
                                                            "typeIdentifier": "t_stringliteral_a73c1db639dbf1382c9113eacdf5b14a7ccd81fc001ac60393623936011bf49d",
                                                            "typeString": "literal_string \"log(bool,address,string,string)\""
                                                        },
                                                        {
                                                            "typeIdentifier": "t_bool",
                                                            "typeString": "bool"
                                                        },
                                                        {
                                                            "typeIdentifier": "t_address",
                                                            "typeString": "address"
                                                        },
                                                        {
                                                            "typeIdentifier": "t_string_memory_ptr",
                                                            "typeString": "string memory"
                                                        },
                                                        {
                                                            "typeIdentifier": "t_string_memory_ptr",
                                                            "typeString": "string memory"
                                                        }
                                                    ],
                                                    "expression": {
                                                        "id": 19206,
                                                        "name": "abi",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 4294967295,
                                                        "src": "48927:3:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_magic_abi",
                                                            "typeString": "abi"
                                                        }
                                                    },
                                                    "id": 19207,
                                                    "isConstant": false,
                                                    "isLValue": false,
                                                    "isPure": true,
                                                    "lValueRequested": false,
                                                    "memberName": "encodeWithSignature",
                                                    "nodeType": "MemberAccess",
                                                    "src": "48927:23:62",
                                                    "typeDescriptions": {
                                                        "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$",
                                                        "typeString": "function (string memory) pure returns (bytes memory)"
                                                    }
                                                },
                                                "id": 19213,
                                                "isConstant": false,
                                                "isLValue": false,
                                                "isPure": false,
                                                "kind": "functionCall",
                                                "lValueRequested": false,
                                                "names": [],
                                                "nodeType": "FunctionCall",
                                                "src": "48927:74:62",
                                                "tryCall": false,
                                                "typeDescriptions": {
                                                    "typeIdentifier": "t_bytes_memory_ptr",
                                                    "typeString": "bytes memory"
                                                }
                                            }
                                        ],
                                        "expression": {
                                            "argumentTypes": [
                                                {
                                                    "typeIdentifier": "t_bytes_memory_ptr",
                                                    "typeString": "bytes memory"
                                                }
                                            ],
                                            "id": 19205,
                                            "name": "_sendLogPayload",
                                            "nodeType": "Identifier",
                                            "overloadedDeclarations": [],
                                            "referencedDeclaration": 12880,
                                            "src": "48911:15:62",
                                            "typeDescriptions": {
                                                "typeIdentifier": "t_function_internal_view$_t_bytes_memory_ptr_$returns$__$",
                                                "typeString": "function (bytes memory) view"
                                            }
                                        },
                                        "id": 19214,
                                        "isConstant": false,
                                        "isLValue": false,
                                        "isPure": false,
                                        "kind": "functionCall",
                                        "lValueRequested": false,
                                        "names": [],
                                        "nodeType": "FunctionCall",
                                        "src": "48911:91:62",
                                        "tryCall": false,
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_tuple$__$",
                                            "typeString": "tuple()"
                                        }
                                    },
                                    "id": 19215,
                                    "nodeType": "ExpressionStatement",
                                    "src": "48911:91:62"
                                }
                            ]
                        },
                        "id": 19217,
                        "implemented": true,
                        "kind": "function",
                        "modifiers": [],
                        "name": "log",
                        "nameLocation": "48832:3:62",
                        "nodeType": "FunctionDefinition",
                        "parameters": {
                            "id": 19203,
                            "nodeType": "ParameterList",
                            "parameters": [
                                {
                                    "constant": false,
                                    "id": 19196,
                                    "mutability": "mutable",
                                    "name": "p0",
                                    "nameLocation": "48841:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 19217,
                                    "src": "48836:7:62",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_bool",
                                        "typeString": "bool"
                                    },
                                    "typeName": {
                                        "id": 19195,
                                        "name": "bool",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "48836:4:62",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_bool",
                                            "typeString": "bool"
                                        }
                                    },
                                    "visibility": "internal"
                                },
                                {
                                    "constant": false,
                                    "id": 19198,
                                    "mutability": "mutable",
                                    "name": "p1",
                                    "nameLocation": "48853:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 19217,
                                    "src": "48845:10:62",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_address",
                                        "typeString": "address"
                                    },
                                    "typeName": {
                                        "id": 19197,
                                        "name": "address",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "48845:7:62",
                                        "stateMutability": "nonpayable",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_address",
                                            "typeString": "address"
                                        }
                                    },
                                    "visibility": "internal"
                                },
                                {
                                    "constant": false,
                                    "id": 19200,
                                    "mutability": "mutable",
                                    "name": "p2",
                                    "nameLocation": "48871:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 19217,
                                    "src": "48857:16:62",
                                    "stateVariable": false,
                                    "storageLocation": "memory",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_string_memory_ptr",
                                        "typeString": "string"
                                    },
                                    "typeName": {
                                        "id": 19199,
                                        "name": "string",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "48857:6:62",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_string_storage_ptr",
                                            "typeString": "string"
                                        }
                                    },
                                    "visibility": "internal"
                                },
                                {
                                    "constant": false,
                                    "id": 19202,
                                    "mutability": "mutable",
                                    "name": "p3",
                                    "nameLocation": "48889:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 19217,
                                    "src": "48875:16:62",
                                    "stateVariable": false,
                                    "storageLocation": "memory",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_string_memory_ptr",
                                        "typeString": "string"
                                    },
                                    "typeName": {
                                        "id": 19201,
                                        "name": "string",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "48875:6:62",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_string_storage_ptr",
                                            "typeString": "string"
                                        }
                                    },
                                    "visibility": "internal"
                                }
                            ],
                            "src": "48835:57:62"
                        },
                        "returnParameters": {
                            "id": 19204,
                            "nodeType": "ParameterList",
                            "parameters": [],
                            "src": "48907:0:62"
                        },
                        "scope": 20920,
                        "src": "48823:183:62",
                        "stateMutability": "view",
                        "virtual": false,
                        "visibility": "internal"
                    },
                    {
                        "body": {
                            "id": 19239,
                            "nodeType": "Block",
                            "src": "49084:97:62",
                            "statements": [
                                {
                                    "expression": {
                                        "arguments": [
                                            {
                                                "arguments": [
                                                    {
                                                        "hexValue": "6c6f6728626f6f6c2c616464726573732c737472696e672c626f6f6c29",
                                                        "id": 19231,
                                                        "isConstant": false,
                                                        "isLValue": false,
                                                        "isPure": true,
                                                        "kind": "string",
                                                        "lValueRequested": false,
                                                        "nodeType": "Literal",
                                                        "src": "49128:31:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_stringliteral_e2bfd60b4f6acdab0603dda631b69bf37ab7cbf71bc5953f9ed72c1f2a76f7dc",
                                                            "typeString": "literal_string \"log(bool,address,string,bool)\""
                                                        },
                                                        "value": "log(bool,address,string,bool)"
                                                    },
                                                    {
                                                        "id": 19232,
                                                        "name": "p0",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 19219,
                                                        "src": "49161:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_bool",
                                                            "typeString": "bool"
                                                        }
                                                    },
                                                    {
                                                        "id": 19233,
                                                        "name": "p1",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 19221,
                                                        "src": "49165:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_address",
                                                            "typeString": "address"
                                                        }
                                                    },
                                                    {
                                                        "id": 19234,
                                                        "name": "p2",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 19223,
                                                        "src": "49169:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_string_memory_ptr",
                                                            "typeString": "string memory"
                                                        }
                                                    },
                                                    {
                                                        "id": 19235,
                                                        "name": "p3",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 19225,
                                                        "src": "49173:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_bool",
                                                            "typeString": "bool"
                                                        }
                                                    }
                                                ],
                                                "expression": {
                                                    "argumentTypes": [
                                                        {
                                                            "typeIdentifier": "t_stringliteral_e2bfd60b4f6acdab0603dda631b69bf37ab7cbf71bc5953f9ed72c1f2a76f7dc",
                                                            "typeString": "literal_string \"log(bool,address,string,bool)\""
                                                        },
                                                        {
                                                            "typeIdentifier": "t_bool",
                                                            "typeString": "bool"
                                                        },
                                                        {
                                                            "typeIdentifier": "t_address",
                                                            "typeString": "address"
                                                        },
                                                        {
                                                            "typeIdentifier": "t_string_memory_ptr",
                                                            "typeString": "string memory"
                                                        },
                                                        {
                                                            "typeIdentifier": "t_bool",
                                                            "typeString": "bool"
                                                        }
                                                    ],
                                                    "expression": {
                                                        "id": 19229,
                                                        "name": "abi",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 4294967295,
                                                        "src": "49104:3:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_magic_abi",
                                                            "typeString": "abi"
                                                        }
                                                    },
                                                    "id": 19230,
                                                    "isConstant": false,
                                                    "isLValue": false,
                                                    "isPure": true,
                                                    "lValueRequested": false,
                                                    "memberName": "encodeWithSignature",
                                                    "nodeType": "MemberAccess",
                                                    "src": "49104:23:62",
                                                    "typeDescriptions": {
                                                        "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$",
                                                        "typeString": "function (string memory) pure returns (bytes memory)"
                                                    }
                                                },
                                                "id": 19236,
                                                "isConstant": false,
                                                "isLValue": false,
                                                "isPure": false,
                                                "kind": "functionCall",
                                                "lValueRequested": false,
                                                "names": [],
                                                "nodeType": "FunctionCall",
                                                "src": "49104:72:62",
                                                "tryCall": false,
                                                "typeDescriptions": {
                                                    "typeIdentifier": "t_bytes_memory_ptr",
                                                    "typeString": "bytes memory"
                                                }
                                            }
                                        ],
                                        "expression": {
                                            "argumentTypes": [
                                                {
                                                    "typeIdentifier": "t_bytes_memory_ptr",
                                                    "typeString": "bytes memory"
                                                }
                                            ],
                                            "id": 19228,
                                            "name": "_sendLogPayload",
                                            "nodeType": "Identifier",
                                            "overloadedDeclarations": [],
                                            "referencedDeclaration": 12880,
                                            "src": "49088:15:62",
                                            "typeDescriptions": {
                                                "typeIdentifier": "t_function_internal_view$_t_bytes_memory_ptr_$returns$__$",
                                                "typeString": "function (bytes memory) view"
                                            }
                                        },
                                        "id": 19237,
                                        "isConstant": false,
                                        "isLValue": false,
                                        "isPure": false,
                                        "kind": "functionCall",
                                        "lValueRequested": false,
                                        "names": [],
                                        "nodeType": "FunctionCall",
                                        "src": "49088:89:62",
                                        "tryCall": false,
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_tuple$__$",
                                            "typeString": "tuple()"
                                        }
                                    },
                                    "id": 19238,
                                    "nodeType": "ExpressionStatement",
                                    "src": "49088:89:62"
                                }
                            ]
                        },
                        "id": 19240,
                        "implemented": true,
                        "kind": "function",
                        "modifiers": [],
                        "name": "log",
                        "nameLocation": "49018:3:62",
                        "nodeType": "FunctionDefinition",
                        "parameters": {
                            "id": 19226,
                            "nodeType": "ParameterList",
                            "parameters": [
                                {
                                    "constant": false,
                                    "id": 19219,
                                    "mutability": "mutable",
                                    "name": "p0",
                                    "nameLocation": "49027:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 19240,
                                    "src": "49022:7:62",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_bool",
                                        "typeString": "bool"
                                    },
                                    "typeName": {
                                        "id": 19218,
                                        "name": "bool",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "49022:4:62",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_bool",
                                            "typeString": "bool"
                                        }
                                    },
                                    "visibility": "internal"
                                },
                                {
                                    "constant": false,
                                    "id": 19221,
                                    "mutability": "mutable",
                                    "name": "p1",
                                    "nameLocation": "49039:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 19240,
                                    "src": "49031:10:62",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_address",
                                        "typeString": "address"
                                    },
                                    "typeName": {
                                        "id": 19220,
                                        "name": "address",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "49031:7:62",
                                        "stateMutability": "nonpayable",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_address",
                                            "typeString": "address"
                                        }
                                    },
                                    "visibility": "internal"
                                },
                                {
                                    "constant": false,
                                    "id": 19223,
                                    "mutability": "mutable",
                                    "name": "p2",
                                    "nameLocation": "49057:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 19240,
                                    "src": "49043:16:62",
                                    "stateVariable": false,
                                    "storageLocation": "memory",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_string_memory_ptr",
                                        "typeString": "string"
                                    },
                                    "typeName": {
                                        "id": 19222,
                                        "name": "string",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "49043:6:62",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_string_storage_ptr",
                                            "typeString": "string"
                                        }
                                    },
                                    "visibility": "internal"
                                },
                                {
                                    "constant": false,
                                    "id": 19225,
                                    "mutability": "mutable",
                                    "name": "p3",
                                    "nameLocation": "49066:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 19240,
                                    "src": "49061:7:62",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_bool",
                                        "typeString": "bool"
                                    },
                                    "typeName": {
                                        "id": 19224,
                                        "name": "bool",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "49061:4:62",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_bool",
                                            "typeString": "bool"
                                        }
                                    },
                                    "visibility": "internal"
                                }
                            ],
                            "src": "49021:48:62"
                        },
                        "returnParameters": {
                            "id": 19227,
                            "nodeType": "ParameterList",
                            "parameters": [],
                            "src": "49084:0:62"
                        },
                        "scope": 20920,
                        "src": "49009:172:62",
                        "stateMutability": "view",
                        "virtual": false,
                        "visibility": "internal"
                    },
                    {
                        "body": {
                            "id": 19262,
                            "nodeType": "Block",
                            "src": "49262:100:62",
                            "statements": [
                                {
                                    "expression": {
                                        "arguments": [
                                            {
                                                "arguments": [
                                                    {
                                                        "hexValue": "6c6f6728626f6f6c2c616464726573732c737472696e672c6164647265737329",
                                                        "id": 19254,
                                                        "isConstant": false,
                                                        "isLValue": false,
                                                        "isPure": true,
                                                        "kind": "string",
                                                        "lValueRequested": false,
                                                        "nodeType": "Literal",
                                                        "src": "49306:34:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_stringliteral_6f7c603e9035cbc7959bb3d44ec862ddc6711eecebd67d54ceb0010f42f85654",
                                                            "typeString": "literal_string \"log(bool,address,string,address)\""
                                                        },
                                                        "value": "log(bool,address,string,address)"
                                                    },
                                                    {
                                                        "id": 19255,
                                                        "name": "p0",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 19242,
                                                        "src": "49342:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_bool",
                                                            "typeString": "bool"
                                                        }
                                                    },
                                                    {
                                                        "id": 19256,
                                                        "name": "p1",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 19244,
                                                        "src": "49346:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_address",
                                                            "typeString": "address"
                                                        }
                                                    },
                                                    {
                                                        "id": 19257,
                                                        "name": "p2",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 19246,
                                                        "src": "49350:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_string_memory_ptr",
                                                            "typeString": "string memory"
                                                        }
                                                    },
                                                    {
                                                        "id": 19258,
                                                        "name": "p3",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 19248,
                                                        "src": "49354:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_address",
                                                            "typeString": "address"
                                                        }
                                                    }
                                                ],
                                                "expression": {
                                                    "argumentTypes": [
                                                        {
                                                            "typeIdentifier": "t_stringliteral_6f7c603e9035cbc7959bb3d44ec862ddc6711eecebd67d54ceb0010f42f85654",
                                                            "typeString": "literal_string \"log(bool,address,string,address)\""
                                                        },
                                                        {
                                                            "typeIdentifier": "t_bool",
                                                            "typeString": "bool"
                                                        },
                                                        {
                                                            "typeIdentifier": "t_address",
                                                            "typeString": "address"
                                                        },
                                                        {
                                                            "typeIdentifier": "t_string_memory_ptr",
                                                            "typeString": "string memory"
                                                        },
                                                        {
                                                            "typeIdentifier": "t_address",
                                                            "typeString": "address"
                                                        }
                                                    ],
                                                    "expression": {
                                                        "id": 19252,
                                                        "name": "abi",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 4294967295,
                                                        "src": "49282:3:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_magic_abi",
                                                            "typeString": "abi"
                                                        }
                                                    },
                                                    "id": 19253,
                                                    "isConstant": false,
                                                    "isLValue": false,
                                                    "isPure": true,
                                                    "lValueRequested": false,
                                                    "memberName": "encodeWithSignature",
                                                    "nodeType": "MemberAccess",
                                                    "src": "49282:23:62",
                                                    "typeDescriptions": {
                                                        "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$",
                                                        "typeString": "function (string memory) pure returns (bytes memory)"
                                                    }
                                                },
                                                "id": 19259,
                                                "isConstant": false,
                                                "isLValue": false,
                                                "isPure": false,
                                                "kind": "functionCall",
                                                "lValueRequested": false,
                                                "names": [],
                                                "nodeType": "FunctionCall",
                                                "src": "49282:75:62",
                                                "tryCall": false,
                                                "typeDescriptions": {
                                                    "typeIdentifier": "t_bytes_memory_ptr",
                                                    "typeString": "bytes memory"
                                                }
                                            }
                                        ],
                                        "expression": {
                                            "argumentTypes": [
                                                {
                                                    "typeIdentifier": "t_bytes_memory_ptr",
                                                    "typeString": "bytes memory"
                                                }
                                            ],
                                            "id": 19251,
                                            "name": "_sendLogPayload",
                                            "nodeType": "Identifier",
                                            "overloadedDeclarations": [],
                                            "referencedDeclaration": 12880,
                                            "src": "49266:15:62",
                                            "typeDescriptions": {
                                                "typeIdentifier": "t_function_internal_view$_t_bytes_memory_ptr_$returns$__$",
                                                "typeString": "function (bytes memory) view"
                                            }
                                        },
                                        "id": 19260,
                                        "isConstant": false,
                                        "isLValue": false,
                                        "isPure": false,
                                        "kind": "functionCall",
                                        "lValueRequested": false,
                                        "names": [],
                                        "nodeType": "FunctionCall",
                                        "src": "49266:92:62",
                                        "tryCall": false,
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_tuple$__$",
                                            "typeString": "tuple()"
                                        }
                                    },
                                    "id": 19261,
                                    "nodeType": "ExpressionStatement",
                                    "src": "49266:92:62"
                                }
                            ]
                        },
                        "id": 19263,
                        "implemented": true,
                        "kind": "function",
                        "modifiers": [],
                        "name": "log",
                        "nameLocation": "49193:3:62",
                        "nodeType": "FunctionDefinition",
                        "parameters": {
                            "id": 19249,
                            "nodeType": "ParameterList",
                            "parameters": [
                                {
                                    "constant": false,
                                    "id": 19242,
                                    "mutability": "mutable",
                                    "name": "p0",
                                    "nameLocation": "49202:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 19263,
                                    "src": "49197:7:62",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_bool",
                                        "typeString": "bool"
                                    },
                                    "typeName": {
                                        "id": 19241,
                                        "name": "bool",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "49197:4:62",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_bool",
                                            "typeString": "bool"
                                        }
                                    },
                                    "visibility": "internal"
                                },
                                {
                                    "constant": false,
                                    "id": 19244,
                                    "mutability": "mutable",
                                    "name": "p1",
                                    "nameLocation": "49214:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 19263,
                                    "src": "49206:10:62",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_address",
                                        "typeString": "address"
                                    },
                                    "typeName": {
                                        "id": 19243,
                                        "name": "address",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "49206:7:62",
                                        "stateMutability": "nonpayable",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_address",
                                            "typeString": "address"
                                        }
                                    },
                                    "visibility": "internal"
                                },
                                {
                                    "constant": false,
                                    "id": 19246,
                                    "mutability": "mutable",
                                    "name": "p2",
                                    "nameLocation": "49232:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 19263,
                                    "src": "49218:16:62",
                                    "stateVariable": false,
                                    "storageLocation": "memory",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_string_memory_ptr",
                                        "typeString": "string"
                                    },
                                    "typeName": {
                                        "id": 19245,
                                        "name": "string",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "49218:6:62",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_string_storage_ptr",
                                            "typeString": "string"
                                        }
                                    },
                                    "visibility": "internal"
                                },
                                {
                                    "constant": false,
                                    "id": 19248,
                                    "mutability": "mutable",
                                    "name": "p3",
                                    "nameLocation": "49244:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 19263,
                                    "src": "49236:10:62",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_address",
                                        "typeString": "address"
                                    },
                                    "typeName": {
                                        "id": 19247,
                                        "name": "address",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "49236:7:62",
                                        "stateMutability": "nonpayable",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_address",
                                            "typeString": "address"
                                        }
                                    },
                                    "visibility": "internal"
                                }
                            ],
                            "src": "49196:51:62"
                        },
                        "returnParameters": {
                            "id": 19250,
                            "nodeType": "ParameterList",
                            "parameters": [],
                            "src": "49262:0:62"
                        },
                        "scope": 20920,
                        "src": "49184:178:62",
                        "stateMutability": "view",
                        "virtual": false,
                        "visibility": "internal"
                    },
                    {
                        "body": {
                            "id": 19285,
                            "nodeType": "Block",
                            "src": "49431:95:62",
                            "statements": [
                                {
                                    "expression": {
                                        "arguments": [
                                            {
                                                "arguments": [
                                                    {
                                                        "hexValue": "6c6f6728626f6f6c2c616464726573732c626f6f6c2c75696e7429",
                                                        "id": 19277,
                                                        "isConstant": false,
                                                        "isLValue": false,
                                                        "isPure": true,
                                                        "kind": "string",
                                                        "lValueRequested": false,
                                                        "nodeType": "Literal",
                                                        "src": "49475:29:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_stringliteral_4cb60fd1171fb665e1565124463601e5c451a362c8efbc6e1fcfbffbbb9850d9",
                                                            "typeString": "literal_string \"log(bool,address,bool,uint)\""
                                                        },
                                                        "value": "log(bool,address,bool,uint)"
                                                    },
                                                    {
                                                        "id": 19278,
                                                        "name": "p0",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 19265,
                                                        "src": "49506:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_bool",
                                                            "typeString": "bool"
                                                        }
                                                    },
                                                    {
                                                        "id": 19279,
                                                        "name": "p1",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 19267,
                                                        "src": "49510:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_address",
                                                            "typeString": "address"
                                                        }
                                                    },
                                                    {
                                                        "id": 19280,
                                                        "name": "p2",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 19269,
                                                        "src": "49514:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_bool",
                                                            "typeString": "bool"
                                                        }
                                                    },
                                                    {
                                                        "id": 19281,
                                                        "name": "p3",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 19271,
                                                        "src": "49518:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_uint256",
                                                            "typeString": "uint256"
                                                        }
                                                    }
                                                ],
                                                "expression": {
                                                    "argumentTypes": [
                                                        {
                                                            "typeIdentifier": "t_stringliteral_4cb60fd1171fb665e1565124463601e5c451a362c8efbc6e1fcfbffbbb9850d9",
                                                            "typeString": "literal_string \"log(bool,address,bool,uint)\""
                                                        },
                                                        {
                                                            "typeIdentifier": "t_bool",
                                                            "typeString": "bool"
                                                        },
                                                        {
                                                            "typeIdentifier": "t_address",
                                                            "typeString": "address"
                                                        },
                                                        {
                                                            "typeIdentifier": "t_bool",
                                                            "typeString": "bool"
                                                        },
                                                        {
                                                            "typeIdentifier": "t_uint256",
                                                            "typeString": "uint256"
                                                        }
                                                    ],
                                                    "expression": {
                                                        "id": 19275,
                                                        "name": "abi",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 4294967295,
                                                        "src": "49451:3:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_magic_abi",
                                                            "typeString": "abi"
                                                        }
                                                    },
                                                    "id": 19276,
                                                    "isConstant": false,
                                                    "isLValue": false,
                                                    "isPure": true,
                                                    "lValueRequested": false,
                                                    "memberName": "encodeWithSignature",
                                                    "nodeType": "MemberAccess",
                                                    "src": "49451:23:62",
                                                    "typeDescriptions": {
                                                        "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$",
                                                        "typeString": "function (string memory) pure returns (bytes memory)"
                                                    }
                                                },
                                                "id": 19282,
                                                "isConstant": false,
                                                "isLValue": false,
                                                "isPure": false,
                                                "kind": "functionCall",
                                                "lValueRequested": false,
                                                "names": [],
                                                "nodeType": "FunctionCall",
                                                "src": "49451:70:62",
                                                "tryCall": false,
                                                "typeDescriptions": {
                                                    "typeIdentifier": "t_bytes_memory_ptr",
                                                    "typeString": "bytes memory"
                                                }
                                            }
                                        ],
                                        "expression": {
                                            "argumentTypes": [
                                                {
                                                    "typeIdentifier": "t_bytes_memory_ptr",
                                                    "typeString": "bytes memory"
                                                }
                                            ],
                                            "id": 19274,
                                            "name": "_sendLogPayload",
                                            "nodeType": "Identifier",
                                            "overloadedDeclarations": [],
                                            "referencedDeclaration": 12880,
                                            "src": "49435:15:62",
                                            "typeDescriptions": {
                                                "typeIdentifier": "t_function_internal_view$_t_bytes_memory_ptr_$returns$__$",
                                                "typeString": "function (bytes memory) view"
                                            }
                                        },
                                        "id": 19283,
                                        "isConstant": false,
                                        "isLValue": false,
                                        "isPure": false,
                                        "kind": "functionCall",
                                        "lValueRequested": false,
                                        "names": [],
                                        "nodeType": "FunctionCall",
                                        "src": "49435:87:62",
                                        "tryCall": false,
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_tuple$__$",
                                            "typeString": "tuple()"
                                        }
                                    },
                                    "id": 19284,
                                    "nodeType": "ExpressionStatement",
                                    "src": "49435:87:62"
                                }
                            ]
                        },
                        "id": 19286,
                        "implemented": true,
                        "kind": "function",
                        "modifiers": [],
                        "name": "log",
                        "nameLocation": "49374:3:62",
                        "nodeType": "FunctionDefinition",
                        "parameters": {
                            "id": 19272,
                            "nodeType": "ParameterList",
                            "parameters": [
                                {
                                    "constant": false,
                                    "id": 19265,
                                    "mutability": "mutable",
                                    "name": "p0",
                                    "nameLocation": "49383:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 19286,
                                    "src": "49378:7:62",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_bool",
                                        "typeString": "bool"
                                    },
                                    "typeName": {
                                        "id": 19264,
                                        "name": "bool",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "49378:4:62",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_bool",
                                            "typeString": "bool"
                                        }
                                    },
                                    "visibility": "internal"
                                },
                                {
                                    "constant": false,
                                    "id": 19267,
                                    "mutability": "mutable",
                                    "name": "p1",
                                    "nameLocation": "49395:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 19286,
                                    "src": "49387:10:62",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_address",
                                        "typeString": "address"
                                    },
                                    "typeName": {
                                        "id": 19266,
                                        "name": "address",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "49387:7:62",
                                        "stateMutability": "nonpayable",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_address",
                                            "typeString": "address"
                                        }
                                    },
                                    "visibility": "internal"
                                },
                                {
                                    "constant": false,
                                    "id": 19269,
                                    "mutability": "mutable",
                                    "name": "p2",
                                    "nameLocation": "49404:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 19286,
                                    "src": "49399:7:62",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_bool",
                                        "typeString": "bool"
                                    },
                                    "typeName": {
                                        "id": 19268,
                                        "name": "bool",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "49399:4:62",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_bool",
                                            "typeString": "bool"
                                        }
                                    },
                                    "visibility": "internal"
                                },
                                {
                                    "constant": false,
                                    "id": 19271,
                                    "mutability": "mutable",
                                    "name": "p3",
                                    "nameLocation": "49413:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 19286,
                                    "src": "49408:7:62",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_uint256",
                                        "typeString": "uint256"
                                    },
                                    "typeName": {
                                        "id": 19270,
                                        "name": "uint",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "49408:4:62",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_uint256",
                                            "typeString": "uint256"
                                        }
                                    },
                                    "visibility": "internal"
                                }
                            ],
                            "src": "49377:39:62"
                        },
                        "returnParameters": {
                            "id": 19273,
                            "nodeType": "ParameterList",
                            "parameters": [],
                            "src": "49431:0:62"
                        },
                        "scope": 20920,
                        "src": "49365:161:62",
                        "stateMutability": "view",
                        "virtual": false,
                        "visibility": "internal"
                    },
                    {
                        "body": {
                            "id": 19308,
                            "nodeType": "Block",
                            "src": "49604:97:62",
                            "statements": [
                                {
                                    "expression": {
                                        "arguments": [
                                            {
                                                "arguments": [
                                                    {
                                                        "hexValue": "6c6f6728626f6f6c2c616464726573732c626f6f6c2c737472696e6729",
                                                        "id": 19300,
                                                        "isConstant": false,
                                                        "isLValue": false,
                                                        "isPure": true,
                                                        "kind": "string",
                                                        "lValueRequested": false,
                                                        "nodeType": "Literal",
                                                        "src": "49648:31:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_stringliteral_4a66cb34796065525d301a5b87b440b55f1936e34dd66e2f2039307bc4e3ea59",
                                                            "typeString": "literal_string \"log(bool,address,bool,string)\""
                                                        },
                                                        "value": "log(bool,address,bool,string)"
                                                    },
                                                    {
                                                        "id": 19301,
                                                        "name": "p0",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 19288,
                                                        "src": "49681:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_bool",
                                                            "typeString": "bool"
                                                        }
                                                    },
                                                    {
                                                        "id": 19302,
                                                        "name": "p1",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 19290,
                                                        "src": "49685:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_address",
                                                            "typeString": "address"
                                                        }
                                                    },
                                                    {
                                                        "id": 19303,
                                                        "name": "p2",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 19292,
                                                        "src": "49689:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_bool",
                                                            "typeString": "bool"
                                                        }
                                                    },
                                                    {
                                                        "id": 19304,
                                                        "name": "p3",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 19294,
                                                        "src": "49693:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_string_memory_ptr",
                                                            "typeString": "string memory"
                                                        }
                                                    }
                                                ],
                                                "expression": {
                                                    "argumentTypes": [
                                                        {
                                                            "typeIdentifier": "t_stringliteral_4a66cb34796065525d301a5b87b440b55f1936e34dd66e2f2039307bc4e3ea59",
                                                            "typeString": "literal_string \"log(bool,address,bool,string)\""
                                                        },
                                                        {
                                                            "typeIdentifier": "t_bool",
                                                            "typeString": "bool"
                                                        },
                                                        {
                                                            "typeIdentifier": "t_address",
                                                            "typeString": "address"
                                                        },
                                                        {
                                                            "typeIdentifier": "t_bool",
                                                            "typeString": "bool"
                                                        },
                                                        {
                                                            "typeIdentifier": "t_string_memory_ptr",
                                                            "typeString": "string memory"
                                                        }
                                                    ],
                                                    "expression": {
                                                        "id": 19298,
                                                        "name": "abi",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 4294967295,
                                                        "src": "49624:3:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_magic_abi",
                                                            "typeString": "abi"
                                                        }
                                                    },
                                                    "id": 19299,
                                                    "isConstant": false,
                                                    "isLValue": false,
                                                    "isPure": true,
                                                    "lValueRequested": false,
                                                    "memberName": "encodeWithSignature",
                                                    "nodeType": "MemberAccess",
                                                    "src": "49624:23:62",
                                                    "typeDescriptions": {
                                                        "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$",
                                                        "typeString": "function (string memory) pure returns (bytes memory)"
                                                    }
                                                },
                                                "id": 19305,
                                                "isConstant": false,
                                                "isLValue": false,
                                                "isPure": false,
                                                "kind": "functionCall",
                                                "lValueRequested": false,
                                                "names": [],
                                                "nodeType": "FunctionCall",
                                                "src": "49624:72:62",
                                                "tryCall": false,
                                                "typeDescriptions": {
                                                    "typeIdentifier": "t_bytes_memory_ptr",
                                                    "typeString": "bytes memory"
                                                }
                                            }
                                        ],
                                        "expression": {
                                            "argumentTypes": [
                                                {
                                                    "typeIdentifier": "t_bytes_memory_ptr",
                                                    "typeString": "bytes memory"
                                                }
                                            ],
                                            "id": 19297,
                                            "name": "_sendLogPayload",
                                            "nodeType": "Identifier",
                                            "overloadedDeclarations": [],
                                            "referencedDeclaration": 12880,
                                            "src": "49608:15:62",
                                            "typeDescriptions": {
                                                "typeIdentifier": "t_function_internal_view$_t_bytes_memory_ptr_$returns$__$",
                                                "typeString": "function (bytes memory) view"
                                            }
                                        },
                                        "id": 19306,
                                        "isConstant": false,
                                        "isLValue": false,
                                        "isPure": false,
                                        "kind": "functionCall",
                                        "lValueRequested": false,
                                        "names": [],
                                        "nodeType": "FunctionCall",
                                        "src": "49608:89:62",
                                        "tryCall": false,
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_tuple$__$",
                                            "typeString": "tuple()"
                                        }
                                    },
                                    "id": 19307,
                                    "nodeType": "ExpressionStatement",
                                    "src": "49608:89:62"
                                }
                            ]
                        },
                        "id": 19309,
                        "implemented": true,
                        "kind": "function",
                        "modifiers": [],
                        "name": "log",
                        "nameLocation": "49538:3:62",
                        "nodeType": "FunctionDefinition",
                        "parameters": {
                            "id": 19295,
                            "nodeType": "ParameterList",
                            "parameters": [
                                {
                                    "constant": false,
                                    "id": 19288,
                                    "mutability": "mutable",
                                    "name": "p0",
                                    "nameLocation": "49547:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 19309,
                                    "src": "49542:7:62",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_bool",
                                        "typeString": "bool"
                                    },
                                    "typeName": {
                                        "id": 19287,
                                        "name": "bool",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "49542:4:62",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_bool",
                                            "typeString": "bool"
                                        }
                                    },
                                    "visibility": "internal"
                                },
                                {
                                    "constant": false,
                                    "id": 19290,
                                    "mutability": "mutable",
                                    "name": "p1",
                                    "nameLocation": "49559:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 19309,
                                    "src": "49551:10:62",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_address",
                                        "typeString": "address"
                                    },
                                    "typeName": {
                                        "id": 19289,
                                        "name": "address",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "49551:7:62",
                                        "stateMutability": "nonpayable",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_address",
                                            "typeString": "address"
                                        }
                                    },
                                    "visibility": "internal"
                                },
                                {
                                    "constant": false,
                                    "id": 19292,
                                    "mutability": "mutable",
                                    "name": "p2",
                                    "nameLocation": "49568:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 19309,
                                    "src": "49563:7:62",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_bool",
                                        "typeString": "bool"
                                    },
                                    "typeName": {
                                        "id": 19291,
                                        "name": "bool",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "49563:4:62",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_bool",
                                            "typeString": "bool"
                                        }
                                    },
                                    "visibility": "internal"
                                },
                                {
                                    "constant": false,
                                    "id": 19294,
                                    "mutability": "mutable",
                                    "name": "p3",
                                    "nameLocation": "49586:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 19309,
                                    "src": "49572:16:62",
                                    "stateVariable": false,
                                    "storageLocation": "memory",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_string_memory_ptr",
                                        "typeString": "string"
                                    },
                                    "typeName": {
                                        "id": 19293,
                                        "name": "string",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "49572:6:62",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_string_storage_ptr",
                                            "typeString": "string"
                                        }
                                    },
                                    "visibility": "internal"
                                }
                            ],
                            "src": "49541:48:62"
                        },
                        "returnParameters": {
                            "id": 19296,
                            "nodeType": "ParameterList",
                            "parameters": [],
                            "src": "49604:0:62"
                        },
                        "scope": 20920,
                        "src": "49529:172:62",
                        "stateMutability": "view",
                        "virtual": false,
                        "visibility": "internal"
                    },
                    {
                        "body": {
                            "id": 19331,
                            "nodeType": "Block",
                            "src": "49770:95:62",
                            "statements": [
                                {
                                    "expression": {
                                        "arguments": [
                                            {
                                                "arguments": [
                                                    {
                                                        "hexValue": "6c6f6728626f6f6c2c616464726573732c626f6f6c2c626f6f6c29",
                                                        "id": 19323,
                                                        "isConstant": false,
                                                        "isLValue": false,
                                                        "isPure": true,
                                                        "kind": "string",
                                                        "lValueRequested": false,
                                                        "nodeType": "Literal",
                                                        "src": "49814:29:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_stringliteral_6a9c478bc98300d44308882e2e0b5864f2536a2939cb77105f503738b5832577",
                                                            "typeString": "literal_string \"log(bool,address,bool,bool)\""
                                                        },
                                                        "value": "log(bool,address,bool,bool)"
                                                    },
                                                    {
                                                        "id": 19324,
                                                        "name": "p0",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 19311,
                                                        "src": "49845:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_bool",
                                                            "typeString": "bool"
                                                        }
                                                    },
                                                    {
                                                        "id": 19325,
                                                        "name": "p1",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 19313,
                                                        "src": "49849:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_address",
                                                            "typeString": "address"
                                                        }
                                                    },
                                                    {
                                                        "id": 19326,
                                                        "name": "p2",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 19315,
                                                        "src": "49853:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_bool",
                                                            "typeString": "bool"
                                                        }
                                                    },
                                                    {
                                                        "id": 19327,
                                                        "name": "p3",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 19317,
                                                        "src": "49857:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_bool",
                                                            "typeString": "bool"
                                                        }
                                                    }
                                                ],
                                                "expression": {
                                                    "argumentTypes": [
                                                        {
                                                            "typeIdentifier": "t_stringliteral_6a9c478bc98300d44308882e2e0b5864f2536a2939cb77105f503738b5832577",
                                                            "typeString": "literal_string \"log(bool,address,bool,bool)\""
                                                        },
                                                        {
                                                            "typeIdentifier": "t_bool",
                                                            "typeString": "bool"
                                                        },
                                                        {
                                                            "typeIdentifier": "t_address",
                                                            "typeString": "address"
                                                        },
                                                        {
                                                            "typeIdentifier": "t_bool",
                                                            "typeString": "bool"
                                                        },
                                                        {
                                                            "typeIdentifier": "t_bool",
                                                            "typeString": "bool"
                                                        }
                                                    ],
                                                    "expression": {
                                                        "id": 19321,
                                                        "name": "abi",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 4294967295,
                                                        "src": "49790:3:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_magic_abi",
                                                            "typeString": "abi"
                                                        }
                                                    },
                                                    "id": 19322,
                                                    "isConstant": false,
                                                    "isLValue": false,
                                                    "isPure": true,
                                                    "lValueRequested": false,
                                                    "memberName": "encodeWithSignature",
                                                    "nodeType": "MemberAccess",
                                                    "src": "49790:23:62",
                                                    "typeDescriptions": {
                                                        "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$",
                                                        "typeString": "function (string memory) pure returns (bytes memory)"
                                                    }
                                                },
                                                "id": 19328,
                                                "isConstant": false,
                                                "isLValue": false,
                                                "isPure": false,
                                                "kind": "functionCall",
                                                "lValueRequested": false,
                                                "names": [],
                                                "nodeType": "FunctionCall",
                                                "src": "49790:70:62",
                                                "tryCall": false,
                                                "typeDescriptions": {
                                                    "typeIdentifier": "t_bytes_memory_ptr",
                                                    "typeString": "bytes memory"
                                                }
                                            }
                                        ],
                                        "expression": {
                                            "argumentTypes": [
                                                {
                                                    "typeIdentifier": "t_bytes_memory_ptr",
                                                    "typeString": "bytes memory"
                                                }
                                            ],
                                            "id": 19320,
                                            "name": "_sendLogPayload",
                                            "nodeType": "Identifier",
                                            "overloadedDeclarations": [],
                                            "referencedDeclaration": 12880,
                                            "src": "49774:15:62",
                                            "typeDescriptions": {
                                                "typeIdentifier": "t_function_internal_view$_t_bytes_memory_ptr_$returns$__$",
                                                "typeString": "function (bytes memory) view"
                                            }
                                        },
                                        "id": 19329,
                                        "isConstant": false,
                                        "isLValue": false,
                                        "isPure": false,
                                        "kind": "functionCall",
                                        "lValueRequested": false,
                                        "names": [],
                                        "nodeType": "FunctionCall",
                                        "src": "49774:87:62",
                                        "tryCall": false,
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_tuple$__$",
                                            "typeString": "tuple()"
                                        }
                                    },
                                    "id": 19330,
                                    "nodeType": "ExpressionStatement",
                                    "src": "49774:87:62"
                                }
                            ]
                        },
                        "id": 19332,
                        "implemented": true,
                        "kind": "function",
                        "modifiers": [],
                        "name": "log",
                        "nameLocation": "49713:3:62",
                        "nodeType": "FunctionDefinition",
                        "parameters": {
                            "id": 19318,
                            "nodeType": "ParameterList",
                            "parameters": [
                                {
                                    "constant": false,
                                    "id": 19311,
                                    "mutability": "mutable",
                                    "name": "p0",
                                    "nameLocation": "49722:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 19332,
                                    "src": "49717:7:62",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_bool",
                                        "typeString": "bool"
                                    },
                                    "typeName": {
                                        "id": 19310,
                                        "name": "bool",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "49717:4:62",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_bool",
                                            "typeString": "bool"
                                        }
                                    },
                                    "visibility": "internal"
                                },
                                {
                                    "constant": false,
                                    "id": 19313,
                                    "mutability": "mutable",
                                    "name": "p1",
                                    "nameLocation": "49734:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 19332,
                                    "src": "49726:10:62",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_address",
                                        "typeString": "address"
                                    },
                                    "typeName": {
                                        "id": 19312,
                                        "name": "address",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "49726:7:62",
                                        "stateMutability": "nonpayable",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_address",
                                            "typeString": "address"
                                        }
                                    },
                                    "visibility": "internal"
                                },
                                {
                                    "constant": false,
                                    "id": 19315,
                                    "mutability": "mutable",
                                    "name": "p2",
                                    "nameLocation": "49743:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 19332,
                                    "src": "49738:7:62",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_bool",
                                        "typeString": "bool"
                                    },
                                    "typeName": {
                                        "id": 19314,
                                        "name": "bool",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "49738:4:62",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_bool",
                                            "typeString": "bool"
                                        }
                                    },
                                    "visibility": "internal"
                                },
                                {
                                    "constant": false,
                                    "id": 19317,
                                    "mutability": "mutable",
                                    "name": "p3",
                                    "nameLocation": "49752:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 19332,
                                    "src": "49747:7:62",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_bool",
                                        "typeString": "bool"
                                    },
                                    "typeName": {
                                        "id": 19316,
                                        "name": "bool",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "49747:4:62",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_bool",
                                            "typeString": "bool"
                                        }
                                    },
                                    "visibility": "internal"
                                }
                            ],
                            "src": "49716:39:62"
                        },
                        "returnParameters": {
                            "id": 19319,
                            "nodeType": "ParameterList",
                            "parameters": [],
                            "src": "49770:0:62"
                        },
                        "scope": 20920,
                        "src": "49704:161:62",
                        "stateMutability": "view",
                        "virtual": false,
                        "visibility": "internal"
                    },
                    {
                        "body": {
                            "id": 19354,
                            "nodeType": "Block",
                            "src": "49937:98:62",
                            "statements": [
                                {
                                    "expression": {
                                        "arguments": [
                                            {
                                                "arguments": [
                                                    {
                                                        "hexValue": "6c6f6728626f6f6c2c616464726573732c626f6f6c2c6164647265737329",
                                                        "id": 19346,
                                                        "isConstant": false,
                                                        "isLValue": false,
                                                        "isPure": true,
                                                        "kind": "string",
                                                        "lValueRequested": false,
                                                        "nodeType": "Literal",
                                                        "src": "49981:32:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_stringliteral_1c41a336759f1c2fe1d8b137296b2dfbdcfe7114fc53f203852c2835c09f8870",
                                                            "typeString": "literal_string \"log(bool,address,bool,address)\""
                                                        },
                                                        "value": "log(bool,address,bool,address)"
                                                    },
                                                    {
                                                        "id": 19347,
                                                        "name": "p0",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 19334,
                                                        "src": "50015:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_bool",
                                                            "typeString": "bool"
                                                        }
                                                    },
                                                    {
                                                        "id": 19348,
                                                        "name": "p1",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 19336,
                                                        "src": "50019:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_address",
                                                            "typeString": "address"
                                                        }
                                                    },
                                                    {
                                                        "id": 19349,
                                                        "name": "p2",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 19338,
                                                        "src": "50023:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_bool",
                                                            "typeString": "bool"
                                                        }
                                                    },
                                                    {
                                                        "id": 19350,
                                                        "name": "p3",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 19340,
                                                        "src": "50027:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_address",
                                                            "typeString": "address"
                                                        }
                                                    }
                                                ],
                                                "expression": {
                                                    "argumentTypes": [
                                                        {
                                                            "typeIdentifier": "t_stringliteral_1c41a336759f1c2fe1d8b137296b2dfbdcfe7114fc53f203852c2835c09f8870",
                                                            "typeString": "literal_string \"log(bool,address,bool,address)\""
                                                        },
                                                        {
                                                            "typeIdentifier": "t_bool",
                                                            "typeString": "bool"
                                                        },
                                                        {
                                                            "typeIdentifier": "t_address",
                                                            "typeString": "address"
                                                        },
                                                        {
                                                            "typeIdentifier": "t_bool",
                                                            "typeString": "bool"
                                                        },
                                                        {
                                                            "typeIdentifier": "t_address",
                                                            "typeString": "address"
                                                        }
                                                    ],
                                                    "expression": {
                                                        "id": 19344,
                                                        "name": "abi",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 4294967295,
                                                        "src": "49957:3:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_magic_abi",
                                                            "typeString": "abi"
                                                        }
                                                    },
                                                    "id": 19345,
                                                    "isConstant": false,
                                                    "isLValue": false,
                                                    "isPure": true,
                                                    "lValueRequested": false,
                                                    "memberName": "encodeWithSignature",
                                                    "nodeType": "MemberAccess",
                                                    "src": "49957:23:62",
                                                    "typeDescriptions": {
                                                        "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$",
                                                        "typeString": "function (string memory) pure returns (bytes memory)"
                                                    }
                                                },
                                                "id": 19351,
                                                "isConstant": false,
                                                "isLValue": false,
                                                "isPure": false,
                                                "kind": "functionCall",
                                                "lValueRequested": false,
                                                "names": [],
                                                "nodeType": "FunctionCall",
                                                "src": "49957:73:62",
                                                "tryCall": false,
                                                "typeDescriptions": {
                                                    "typeIdentifier": "t_bytes_memory_ptr",
                                                    "typeString": "bytes memory"
                                                }
                                            }
                                        ],
                                        "expression": {
                                            "argumentTypes": [
                                                {
                                                    "typeIdentifier": "t_bytes_memory_ptr",
                                                    "typeString": "bytes memory"
                                                }
                                            ],
                                            "id": 19343,
                                            "name": "_sendLogPayload",
                                            "nodeType": "Identifier",
                                            "overloadedDeclarations": [],
                                            "referencedDeclaration": 12880,
                                            "src": "49941:15:62",
                                            "typeDescriptions": {
                                                "typeIdentifier": "t_function_internal_view$_t_bytes_memory_ptr_$returns$__$",
                                                "typeString": "function (bytes memory) view"
                                            }
                                        },
                                        "id": 19352,
                                        "isConstant": false,
                                        "isLValue": false,
                                        "isPure": false,
                                        "kind": "functionCall",
                                        "lValueRequested": false,
                                        "names": [],
                                        "nodeType": "FunctionCall",
                                        "src": "49941:90:62",
                                        "tryCall": false,
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_tuple$__$",
                                            "typeString": "tuple()"
                                        }
                                    },
                                    "id": 19353,
                                    "nodeType": "ExpressionStatement",
                                    "src": "49941:90:62"
                                }
                            ]
                        },
                        "id": 19355,
                        "implemented": true,
                        "kind": "function",
                        "modifiers": [],
                        "name": "log",
                        "nameLocation": "49877:3:62",
                        "nodeType": "FunctionDefinition",
                        "parameters": {
                            "id": 19341,
                            "nodeType": "ParameterList",
                            "parameters": [
                                {
                                    "constant": false,
                                    "id": 19334,
                                    "mutability": "mutable",
                                    "name": "p0",
                                    "nameLocation": "49886:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 19355,
                                    "src": "49881:7:62",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_bool",
                                        "typeString": "bool"
                                    },
                                    "typeName": {
                                        "id": 19333,
                                        "name": "bool",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "49881:4:62",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_bool",
                                            "typeString": "bool"
                                        }
                                    },
                                    "visibility": "internal"
                                },
                                {
                                    "constant": false,
                                    "id": 19336,
                                    "mutability": "mutable",
                                    "name": "p1",
                                    "nameLocation": "49898:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 19355,
                                    "src": "49890:10:62",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_address",
                                        "typeString": "address"
                                    },
                                    "typeName": {
                                        "id": 19335,
                                        "name": "address",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "49890:7:62",
                                        "stateMutability": "nonpayable",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_address",
                                            "typeString": "address"
                                        }
                                    },
                                    "visibility": "internal"
                                },
                                {
                                    "constant": false,
                                    "id": 19338,
                                    "mutability": "mutable",
                                    "name": "p2",
                                    "nameLocation": "49907:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 19355,
                                    "src": "49902:7:62",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_bool",
                                        "typeString": "bool"
                                    },
                                    "typeName": {
                                        "id": 19337,
                                        "name": "bool",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "49902:4:62",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_bool",
                                            "typeString": "bool"
                                        }
                                    },
                                    "visibility": "internal"
                                },
                                {
                                    "constant": false,
                                    "id": 19340,
                                    "mutability": "mutable",
                                    "name": "p3",
                                    "nameLocation": "49919:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 19355,
                                    "src": "49911:10:62",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_address",
                                        "typeString": "address"
                                    },
                                    "typeName": {
                                        "id": 19339,
                                        "name": "address",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "49911:7:62",
                                        "stateMutability": "nonpayable",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_address",
                                            "typeString": "address"
                                        }
                                    },
                                    "visibility": "internal"
                                }
                            ],
                            "src": "49880:42:62"
                        },
                        "returnParameters": {
                            "id": 19342,
                            "nodeType": "ParameterList",
                            "parameters": [],
                            "src": "49937:0:62"
                        },
                        "scope": 20920,
                        "src": "49868:167:62",
                        "stateMutability": "view",
                        "virtual": false,
                        "visibility": "internal"
                    },
                    {
                        "body": {
                            "id": 19377,
                            "nodeType": "Block",
                            "src": "50107:98:62",
                            "statements": [
                                {
                                    "expression": {
                                        "arguments": [
                                            {
                                                "arguments": [
                                                    {
                                                        "hexValue": "6c6f6728626f6f6c2c616464726573732c616464726573732c75696e7429",
                                                        "id": 19369,
                                                        "isConstant": false,
                                                        "isLValue": false,
                                                        "isPure": true,
                                                        "kind": "string",
                                                        "lValueRequested": false,
                                                        "nodeType": "Literal",
                                                        "src": "50151:32:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_stringliteral_5284bd6c2d02d32d79d43dcd0793be5ced63bf4e51bea38208974f6d8ca5def7",
                                                            "typeString": "literal_string \"log(bool,address,address,uint)\""
                                                        },
                                                        "value": "log(bool,address,address,uint)"
                                                    },
                                                    {
                                                        "id": 19370,
                                                        "name": "p0",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 19357,
                                                        "src": "50185:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_bool",
                                                            "typeString": "bool"
                                                        }
                                                    },
                                                    {
                                                        "id": 19371,
                                                        "name": "p1",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 19359,
                                                        "src": "50189:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_address",
                                                            "typeString": "address"
                                                        }
                                                    },
                                                    {
                                                        "id": 19372,
                                                        "name": "p2",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 19361,
                                                        "src": "50193:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_address",
                                                            "typeString": "address"
                                                        }
                                                    },
                                                    {
                                                        "id": 19373,
                                                        "name": "p3",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 19363,
                                                        "src": "50197:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_uint256",
                                                            "typeString": "uint256"
                                                        }
                                                    }
                                                ],
                                                "expression": {
                                                    "argumentTypes": [
                                                        {
                                                            "typeIdentifier": "t_stringliteral_5284bd6c2d02d32d79d43dcd0793be5ced63bf4e51bea38208974f6d8ca5def7",
                                                            "typeString": "literal_string \"log(bool,address,address,uint)\""
                                                        },
                                                        {
                                                            "typeIdentifier": "t_bool",
                                                            "typeString": "bool"
                                                        },
                                                        {
                                                            "typeIdentifier": "t_address",
                                                            "typeString": "address"
                                                        },
                                                        {
                                                            "typeIdentifier": "t_address",
                                                            "typeString": "address"
                                                        },
                                                        {
                                                            "typeIdentifier": "t_uint256",
                                                            "typeString": "uint256"
                                                        }
                                                    ],
                                                    "expression": {
                                                        "id": 19367,
                                                        "name": "abi",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 4294967295,
                                                        "src": "50127:3:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_magic_abi",
                                                            "typeString": "abi"
                                                        }
                                                    },
                                                    "id": 19368,
                                                    "isConstant": false,
                                                    "isLValue": false,
                                                    "isPure": true,
                                                    "lValueRequested": false,
                                                    "memberName": "encodeWithSignature",
                                                    "nodeType": "MemberAccess",
                                                    "src": "50127:23:62",
                                                    "typeDescriptions": {
                                                        "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$",
                                                        "typeString": "function (string memory) pure returns (bytes memory)"
                                                    }
                                                },
                                                "id": 19374,
                                                "isConstant": false,
                                                "isLValue": false,
                                                "isPure": false,
                                                "kind": "functionCall",
                                                "lValueRequested": false,
                                                "names": [],
                                                "nodeType": "FunctionCall",
                                                "src": "50127:73:62",
                                                "tryCall": false,
                                                "typeDescriptions": {
                                                    "typeIdentifier": "t_bytes_memory_ptr",
                                                    "typeString": "bytes memory"
                                                }
                                            }
                                        ],
                                        "expression": {
                                            "argumentTypes": [
                                                {
                                                    "typeIdentifier": "t_bytes_memory_ptr",
                                                    "typeString": "bytes memory"
                                                }
                                            ],
                                            "id": 19366,
                                            "name": "_sendLogPayload",
                                            "nodeType": "Identifier",
                                            "overloadedDeclarations": [],
                                            "referencedDeclaration": 12880,
                                            "src": "50111:15:62",
                                            "typeDescriptions": {
                                                "typeIdentifier": "t_function_internal_view$_t_bytes_memory_ptr_$returns$__$",
                                                "typeString": "function (bytes memory) view"
                                            }
                                        },
                                        "id": 19375,
                                        "isConstant": false,
                                        "isLValue": false,
                                        "isPure": false,
                                        "kind": "functionCall",
                                        "lValueRequested": false,
                                        "names": [],
                                        "nodeType": "FunctionCall",
                                        "src": "50111:90:62",
                                        "tryCall": false,
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_tuple$__$",
                                            "typeString": "tuple()"
                                        }
                                    },
                                    "id": 19376,
                                    "nodeType": "ExpressionStatement",
                                    "src": "50111:90:62"
                                }
                            ]
                        },
                        "id": 19378,
                        "implemented": true,
                        "kind": "function",
                        "modifiers": [],
                        "name": "log",
                        "nameLocation": "50047:3:62",
                        "nodeType": "FunctionDefinition",
                        "parameters": {
                            "id": 19364,
                            "nodeType": "ParameterList",
                            "parameters": [
                                {
                                    "constant": false,
                                    "id": 19357,
                                    "mutability": "mutable",
                                    "name": "p0",
                                    "nameLocation": "50056:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 19378,
                                    "src": "50051:7:62",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_bool",
                                        "typeString": "bool"
                                    },
                                    "typeName": {
                                        "id": 19356,
                                        "name": "bool",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "50051:4:62",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_bool",
                                            "typeString": "bool"
                                        }
                                    },
                                    "visibility": "internal"
                                },
                                {
                                    "constant": false,
                                    "id": 19359,
                                    "mutability": "mutable",
                                    "name": "p1",
                                    "nameLocation": "50068:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 19378,
                                    "src": "50060:10:62",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_address",
                                        "typeString": "address"
                                    },
                                    "typeName": {
                                        "id": 19358,
                                        "name": "address",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "50060:7:62",
                                        "stateMutability": "nonpayable",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_address",
                                            "typeString": "address"
                                        }
                                    },
                                    "visibility": "internal"
                                },
                                {
                                    "constant": false,
                                    "id": 19361,
                                    "mutability": "mutable",
                                    "name": "p2",
                                    "nameLocation": "50080:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 19378,
                                    "src": "50072:10:62",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_address",
                                        "typeString": "address"
                                    },
                                    "typeName": {
                                        "id": 19360,
                                        "name": "address",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "50072:7:62",
                                        "stateMutability": "nonpayable",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_address",
                                            "typeString": "address"
                                        }
                                    },
                                    "visibility": "internal"
                                },
                                {
                                    "constant": false,
                                    "id": 19363,
                                    "mutability": "mutable",
                                    "name": "p3",
                                    "nameLocation": "50089:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 19378,
                                    "src": "50084:7:62",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_uint256",
                                        "typeString": "uint256"
                                    },
                                    "typeName": {
                                        "id": 19362,
                                        "name": "uint",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "50084:4:62",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_uint256",
                                            "typeString": "uint256"
                                        }
                                    },
                                    "visibility": "internal"
                                }
                            ],
                            "src": "50050:42:62"
                        },
                        "returnParameters": {
                            "id": 19365,
                            "nodeType": "ParameterList",
                            "parameters": [],
                            "src": "50107:0:62"
                        },
                        "scope": 20920,
                        "src": "50038:167:62",
                        "stateMutability": "view",
                        "virtual": false,
                        "visibility": "internal"
                    },
                    {
                        "body": {
                            "id": 19400,
                            "nodeType": "Block",
                            "src": "50286:100:62",
                            "statements": [
                                {
                                    "expression": {
                                        "arguments": [
                                            {
                                                "arguments": [
                                                    {
                                                        "hexValue": "6c6f6728626f6f6c2c616464726573732c616464726573732c737472696e6729",
                                                        "id": 19392,
                                                        "isConstant": false,
                                                        "isLValue": false,
                                                        "isPure": true,
                                                        "kind": "string",
                                                        "lValueRequested": false,
                                                        "nodeType": "Literal",
                                                        "src": "50330:34:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_stringliteral_d812a167fb7ec8cf55a11f06ff411238f0a431de331592d8a735c8c8481f7432",
                                                            "typeString": "literal_string \"log(bool,address,address,string)\""
                                                        },
                                                        "value": "log(bool,address,address,string)"
                                                    },
                                                    {
                                                        "id": 19393,
                                                        "name": "p0",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 19380,
                                                        "src": "50366:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_bool",
                                                            "typeString": "bool"
                                                        }
                                                    },
                                                    {
                                                        "id": 19394,
                                                        "name": "p1",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 19382,
                                                        "src": "50370:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_address",
                                                            "typeString": "address"
                                                        }
                                                    },
                                                    {
                                                        "id": 19395,
                                                        "name": "p2",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 19384,
                                                        "src": "50374:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_address",
                                                            "typeString": "address"
                                                        }
                                                    },
                                                    {
                                                        "id": 19396,
                                                        "name": "p3",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 19386,
                                                        "src": "50378:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_string_memory_ptr",
                                                            "typeString": "string memory"
                                                        }
                                                    }
                                                ],
                                                "expression": {
                                                    "argumentTypes": [
                                                        {
                                                            "typeIdentifier": "t_stringliteral_d812a167fb7ec8cf55a11f06ff411238f0a431de331592d8a735c8c8481f7432",
                                                            "typeString": "literal_string \"log(bool,address,address,string)\""
                                                        },
                                                        {
                                                            "typeIdentifier": "t_bool",
                                                            "typeString": "bool"
                                                        },
                                                        {
                                                            "typeIdentifier": "t_address",
                                                            "typeString": "address"
                                                        },
                                                        {
                                                            "typeIdentifier": "t_address",
                                                            "typeString": "address"
                                                        },
                                                        {
                                                            "typeIdentifier": "t_string_memory_ptr",
                                                            "typeString": "string memory"
                                                        }
                                                    ],
                                                    "expression": {
                                                        "id": 19390,
                                                        "name": "abi",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 4294967295,
                                                        "src": "50306:3:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_magic_abi",
                                                            "typeString": "abi"
                                                        }
                                                    },
                                                    "id": 19391,
                                                    "isConstant": false,
                                                    "isLValue": false,
                                                    "isPure": true,
                                                    "lValueRequested": false,
                                                    "memberName": "encodeWithSignature",
                                                    "nodeType": "MemberAccess",
                                                    "src": "50306:23:62",
                                                    "typeDescriptions": {
                                                        "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$",
                                                        "typeString": "function (string memory) pure returns (bytes memory)"
                                                    }
                                                },
                                                "id": 19397,
                                                "isConstant": false,
                                                "isLValue": false,
                                                "isPure": false,
                                                "kind": "functionCall",
                                                "lValueRequested": false,
                                                "names": [],
                                                "nodeType": "FunctionCall",
                                                "src": "50306:75:62",
                                                "tryCall": false,
                                                "typeDescriptions": {
                                                    "typeIdentifier": "t_bytes_memory_ptr",
                                                    "typeString": "bytes memory"
                                                }
                                            }
                                        ],
                                        "expression": {
                                            "argumentTypes": [
                                                {
                                                    "typeIdentifier": "t_bytes_memory_ptr",
                                                    "typeString": "bytes memory"
                                                }
                                            ],
                                            "id": 19389,
                                            "name": "_sendLogPayload",
                                            "nodeType": "Identifier",
                                            "overloadedDeclarations": [],
                                            "referencedDeclaration": 12880,
                                            "src": "50290:15:62",
                                            "typeDescriptions": {
                                                "typeIdentifier": "t_function_internal_view$_t_bytes_memory_ptr_$returns$__$",
                                                "typeString": "function (bytes memory) view"
                                            }
                                        },
                                        "id": 19398,
                                        "isConstant": false,
                                        "isLValue": false,
                                        "isPure": false,
                                        "kind": "functionCall",
                                        "lValueRequested": false,
                                        "names": [],
                                        "nodeType": "FunctionCall",
                                        "src": "50290:92:62",
                                        "tryCall": false,
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_tuple$__$",
                                            "typeString": "tuple()"
                                        }
                                    },
                                    "id": 19399,
                                    "nodeType": "ExpressionStatement",
                                    "src": "50290:92:62"
                                }
                            ]
                        },
                        "id": 19401,
                        "implemented": true,
                        "kind": "function",
                        "modifiers": [],
                        "name": "log",
                        "nameLocation": "50217:3:62",
                        "nodeType": "FunctionDefinition",
                        "parameters": {
                            "id": 19387,
                            "nodeType": "ParameterList",
                            "parameters": [
                                {
                                    "constant": false,
                                    "id": 19380,
                                    "mutability": "mutable",
                                    "name": "p0",
                                    "nameLocation": "50226:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 19401,
                                    "src": "50221:7:62",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_bool",
                                        "typeString": "bool"
                                    },
                                    "typeName": {
                                        "id": 19379,
                                        "name": "bool",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "50221:4:62",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_bool",
                                            "typeString": "bool"
                                        }
                                    },
                                    "visibility": "internal"
                                },
                                {
                                    "constant": false,
                                    "id": 19382,
                                    "mutability": "mutable",
                                    "name": "p1",
                                    "nameLocation": "50238:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 19401,
                                    "src": "50230:10:62",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_address",
                                        "typeString": "address"
                                    },
                                    "typeName": {
                                        "id": 19381,
                                        "name": "address",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "50230:7:62",
                                        "stateMutability": "nonpayable",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_address",
                                            "typeString": "address"
                                        }
                                    },
                                    "visibility": "internal"
                                },
                                {
                                    "constant": false,
                                    "id": 19384,
                                    "mutability": "mutable",
                                    "name": "p2",
                                    "nameLocation": "50250:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 19401,
                                    "src": "50242:10:62",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_address",
                                        "typeString": "address"
                                    },
                                    "typeName": {
                                        "id": 19383,
                                        "name": "address",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "50242:7:62",
                                        "stateMutability": "nonpayable",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_address",
                                            "typeString": "address"
                                        }
                                    },
                                    "visibility": "internal"
                                },
                                {
                                    "constant": false,
                                    "id": 19386,
                                    "mutability": "mutable",
                                    "name": "p3",
                                    "nameLocation": "50268:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 19401,
                                    "src": "50254:16:62",
                                    "stateVariable": false,
                                    "storageLocation": "memory",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_string_memory_ptr",
                                        "typeString": "string"
                                    },
                                    "typeName": {
                                        "id": 19385,
                                        "name": "string",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "50254:6:62",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_string_storage_ptr",
                                            "typeString": "string"
                                        }
                                    },
                                    "visibility": "internal"
                                }
                            ],
                            "src": "50220:51:62"
                        },
                        "returnParameters": {
                            "id": 19388,
                            "nodeType": "ParameterList",
                            "parameters": [],
                            "src": "50286:0:62"
                        },
                        "scope": 20920,
                        "src": "50208:178:62",
                        "stateMutability": "view",
                        "virtual": false,
                        "visibility": "internal"
                    },
                    {
                        "body": {
                            "id": 19423,
                            "nodeType": "Block",
                            "src": "50458:98:62",
                            "statements": [
                                {
                                    "expression": {
                                        "arguments": [
                                            {
                                                "arguments": [
                                                    {
                                                        "hexValue": "6c6f6728626f6f6c2c616464726573732c616464726573732c626f6f6c29",
                                                        "id": 19415,
                                                        "isConstant": false,
                                                        "isLValue": false,
                                                        "isPure": true,
                                                        "kind": "string",
                                                        "lValueRequested": false,
                                                        "nodeType": "Literal",
                                                        "src": "50502:32:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_stringliteral_46600be071bbf2a7e3a3cb4fd0e6efe39e86453e4c4a27c400470867be7afd9e",
                                                            "typeString": "literal_string \"log(bool,address,address,bool)\""
                                                        },
                                                        "value": "log(bool,address,address,bool)"
                                                    },
                                                    {
                                                        "id": 19416,
                                                        "name": "p0",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 19403,
                                                        "src": "50536:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_bool",
                                                            "typeString": "bool"
                                                        }
                                                    },
                                                    {
                                                        "id": 19417,
                                                        "name": "p1",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 19405,
                                                        "src": "50540:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_address",
                                                            "typeString": "address"
                                                        }
                                                    },
                                                    {
                                                        "id": 19418,
                                                        "name": "p2",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 19407,
                                                        "src": "50544:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_address",
                                                            "typeString": "address"
                                                        }
                                                    },
                                                    {
                                                        "id": 19419,
                                                        "name": "p3",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 19409,
                                                        "src": "50548:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_bool",
                                                            "typeString": "bool"
                                                        }
                                                    }
                                                ],
                                                "expression": {
                                                    "argumentTypes": [
                                                        {
                                                            "typeIdentifier": "t_stringliteral_46600be071bbf2a7e3a3cb4fd0e6efe39e86453e4c4a27c400470867be7afd9e",
                                                            "typeString": "literal_string \"log(bool,address,address,bool)\""
                                                        },
                                                        {
                                                            "typeIdentifier": "t_bool",
                                                            "typeString": "bool"
                                                        },
                                                        {
                                                            "typeIdentifier": "t_address",
                                                            "typeString": "address"
                                                        },
                                                        {
                                                            "typeIdentifier": "t_address",
                                                            "typeString": "address"
                                                        },
                                                        {
                                                            "typeIdentifier": "t_bool",
                                                            "typeString": "bool"
                                                        }
                                                    ],
                                                    "expression": {
                                                        "id": 19413,
                                                        "name": "abi",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 4294967295,
                                                        "src": "50478:3:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_magic_abi",
                                                            "typeString": "abi"
                                                        }
                                                    },
                                                    "id": 19414,
                                                    "isConstant": false,
                                                    "isLValue": false,
                                                    "isPure": true,
                                                    "lValueRequested": false,
                                                    "memberName": "encodeWithSignature",
                                                    "nodeType": "MemberAccess",
                                                    "src": "50478:23:62",
                                                    "typeDescriptions": {
                                                        "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$",
                                                        "typeString": "function (string memory) pure returns (bytes memory)"
                                                    }
                                                },
                                                "id": 19420,
                                                "isConstant": false,
                                                "isLValue": false,
                                                "isPure": false,
                                                "kind": "functionCall",
                                                "lValueRequested": false,
                                                "names": [],
                                                "nodeType": "FunctionCall",
                                                "src": "50478:73:62",
                                                "tryCall": false,
                                                "typeDescriptions": {
                                                    "typeIdentifier": "t_bytes_memory_ptr",
                                                    "typeString": "bytes memory"
                                                }
                                            }
                                        ],
                                        "expression": {
                                            "argumentTypes": [
                                                {
                                                    "typeIdentifier": "t_bytes_memory_ptr",
                                                    "typeString": "bytes memory"
                                                }
                                            ],
                                            "id": 19412,
                                            "name": "_sendLogPayload",
                                            "nodeType": "Identifier",
                                            "overloadedDeclarations": [],
                                            "referencedDeclaration": 12880,
                                            "src": "50462:15:62",
                                            "typeDescriptions": {
                                                "typeIdentifier": "t_function_internal_view$_t_bytes_memory_ptr_$returns$__$",
                                                "typeString": "function (bytes memory) view"
                                            }
                                        },
                                        "id": 19421,
                                        "isConstant": false,
                                        "isLValue": false,
                                        "isPure": false,
                                        "kind": "functionCall",
                                        "lValueRequested": false,
                                        "names": [],
                                        "nodeType": "FunctionCall",
                                        "src": "50462:90:62",
                                        "tryCall": false,
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_tuple$__$",
                                            "typeString": "tuple()"
                                        }
                                    },
                                    "id": 19422,
                                    "nodeType": "ExpressionStatement",
                                    "src": "50462:90:62"
                                }
                            ]
                        },
                        "id": 19424,
                        "implemented": true,
                        "kind": "function",
                        "modifiers": [],
                        "name": "log",
                        "nameLocation": "50398:3:62",
                        "nodeType": "FunctionDefinition",
                        "parameters": {
                            "id": 19410,
                            "nodeType": "ParameterList",
                            "parameters": [
                                {
                                    "constant": false,
                                    "id": 19403,
                                    "mutability": "mutable",
                                    "name": "p0",
                                    "nameLocation": "50407:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 19424,
                                    "src": "50402:7:62",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_bool",
                                        "typeString": "bool"
                                    },
                                    "typeName": {
                                        "id": 19402,
                                        "name": "bool",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "50402:4:62",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_bool",
                                            "typeString": "bool"
                                        }
                                    },
                                    "visibility": "internal"
                                },
                                {
                                    "constant": false,
                                    "id": 19405,
                                    "mutability": "mutable",
                                    "name": "p1",
                                    "nameLocation": "50419:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 19424,
                                    "src": "50411:10:62",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_address",
                                        "typeString": "address"
                                    },
                                    "typeName": {
                                        "id": 19404,
                                        "name": "address",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "50411:7:62",
                                        "stateMutability": "nonpayable",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_address",
                                            "typeString": "address"
                                        }
                                    },
                                    "visibility": "internal"
                                },
                                {
                                    "constant": false,
                                    "id": 19407,
                                    "mutability": "mutable",
                                    "name": "p2",
                                    "nameLocation": "50431:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 19424,
                                    "src": "50423:10:62",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_address",
                                        "typeString": "address"
                                    },
                                    "typeName": {
                                        "id": 19406,
                                        "name": "address",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "50423:7:62",
                                        "stateMutability": "nonpayable",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_address",
                                            "typeString": "address"
                                        }
                                    },
                                    "visibility": "internal"
                                },
                                {
                                    "constant": false,
                                    "id": 19409,
                                    "mutability": "mutable",
                                    "name": "p3",
                                    "nameLocation": "50440:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 19424,
                                    "src": "50435:7:62",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_bool",
                                        "typeString": "bool"
                                    },
                                    "typeName": {
                                        "id": 19408,
                                        "name": "bool",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "50435:4:62",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_bool",
                                            "typeString": "bool"
                                        }
                                    },
                                    "visibility": "internal"
                                }
                            ],
                            "src": "50401:42:62"
                        },
                        "returnParameters": {
                            "id": 19411,
                            "nodeType": "ParameterList",
                            "parameters": [],
                            "src": "50458:0:62"
                        },
                        "scope": 20920,
                        "src": "50389:167:62",
                        "stateMutability": "view",
                        "virtual": false,
                        "visibility": "internal"
                    },
                    {
                        "body": {
                            "id": 19446,
                            "nodeType": "Block",
                            "src": "50631:101:62",
                            "statements": [
                                {
                                    "expression": {
                                        "arguments": [
                                            {
                                                "arguments": [
                                                    {
                                                        "hexValue": "6c6f6728626f6f6c2c616464726573732c616464726573732c6164647265737329",
                                                        "id": 19438,
                                                        "isConstant": false,
                                                        "isLValue": false,
                                                        "isPure": true,
                                                        "kind": "string",
                                                        "lValueRequested": false,
                                                        "nodeType": "Literal",
                                                        "src": "50675:35:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_stringliteral_1d14d00189540d88098b9fe614aa8c0efbe231c1a0fee05e7d705c0342377123",
                                                            "typeString": "literal_string \"log(bool,address,address,address)\""
                                                        },
                                                        "value": "log(bool,address,address,address)"
                                                    },
                                                    {
                                                        "id": 19439,
                                                        "name": "p0",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 19426,
                                                        "src": "50712:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_bool",
                                                            "typeString": "bool"
                                                        }
                                                    },
                                                    {
                                                        "id": 19440,
                                                        "name": "p1",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 19428,
                                                        "src": "50716:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_address",
                                                            "typeString": "address"
                                                        }
                                                    },
                                                    {
                                                        "id": 19441,
                                                        "name": "p2",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 19430,
                                                        "src": "50720:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_address",
                                                            "typeString": "address"
                                                        }
                                                    },
                                                    {
                                                        "id": 19442,
                                                        "name": "p3",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 19432,
                                                        "src": "50724:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_address",
                                                            "typeString": "address"
                                                        }
                                                    }
                                                ],
                                                "expression": {
                                                    "argumentTypes": [
                                                        {
                                                            "typeIdentifier": "t_stringliteral_1d14d00189540d88098b9fe614aa8c0efbe231c1a0fee05e7d705c0342377123",
                                                            "typeString": "literal_string \"log(bool,address,address,address)\""
                                                        },
                                                        {
                                                            "typeIdentifier": "t_bool",
                                                            "typeString": "bool"
                                                        },
                                                        {
                                                            "typeIdentifier": "t_address",
                                                            "typeString": "address"
                                                        },
                                                        {
                                                            "typeIdentifier": "t_address",
                                                            "typeString": "address"
                                                        },
                                                        {
                                                            "typeIdentifier": "t_address",
                                                            "typeString": "address"
                                                        }
                                                    ],
                                                    "expression": {
                                                        "id": 19436,
                                                        "name": "abi",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 4294967295,
                                                        "src": "50651:3:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_magic_abi",
                                                            "typeString": "abi"
                                                        }
                                                    },
                                                    "id": 19437,
                                                    "isConstant": false,
                                                    "isLValue": false,
                                                    "isPure": true,
                                                    "lValueRequested": false,
                                                    "memberName": "encodeWithSignature",
                                                    "nodeType": "MemberAccess",
                                                    "src": "50651:23:62",
                                                    "typeDescriptions": {
                                                        "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$",
                                                        "typeString": "function (string memory) pure returns (bytes memory)"
                                                    }
                                                },
                                                "id": 19443,
                                                "isConstant": false,
                                                "isLValue": false,
                                                "isPure": false,
                                                "kind": "functionCall",
                                                "lValueRequested": false,
                                                "names": [],
                                                "nodeType": "FunctionCall",
                                                "src": "50651:76:62",
                                                "tryCall": false,
                                                "typeDescriptions": {
                                                    "typeIdentifier": "t_bytes_memory_ptr",
                                                    "typeString": "bytes memory"
                                                }
                                            }
                                        ],
                                        "expression": {
                                            "argumentTypes": [
                                                {
                                                    "typeIdentifier": "t_bytes_memory_ptr",
                                                    "typeString": "bytes memory"
                                                }
                                            ],
                                            "id": 19435,
                                            "name": "_sendLogPayload",
                                            "nodeType": "Identifier",
                                            "overloadedDeclarations": [],
                                            "referencedDeclaration": 12880,
                                            "src": "50635:15:62",
                                            "typeDescriptions": {
                                                "typeIdentifier": "t_function_internal_view$_t_bytes_memory_ptr_$returns$__$",
                                                "typeString": "function (bytes memory) view"
                                            }
                                        },
                                        "id": 19444,
                                        "isConstant": false,
                                        "isLValue": false,
                                        "isPure": false,
                                        "kind": "functionCall",
                                        "lValueRequested": false,
                                        "names": [],
                                        "nodeType": "FunctionCall",
                                        "src": "50635:93:62",
                                        "tryCall": false,
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_tuple$__$",
                                            "typeString": "tuple()"
                                        }
                                    },
                                    "id": 19445,
                                    "nodeType": "ExpressionStatement",
                                    "src": "50635:93:62"
                                }
                            ]
                        },
                        "id": 19447,
                        "implemented": true,
                        "kind": "function",
                        "modifiers": [],
                        "name": "log",
                        "nameLocation": "50568:3:62",
                        "nodeType": "FunctionDefinition",
                        "parameters": {
                            "id": 19433,
                            "nodeType": "ParameterList",
                            "parameters": [
                                {
                                    "constant": false,
                                    "id": 19426,
                                    "mutability": "mutable",
                                    "name": "p0",
                                    "nameLocation": "50577:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 19447,
                                    "src": "50572:7:62",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_bool",
                                        "typeString": "bool"
                                    },
                                    "typeName": {
                                        "id": 19425,
                                        "name": "bool",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "50572:4:62",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_bool",
                                            "typeString": "bool"
                                        }
                                    },
                                    "visibility": "internal"
                                },
                                {
                                    "constant": false,
                                    "id": 19428,
                                    "mutability": "mutable",
                                    "name": "p1",
                                    "nameLocation": "50589:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 19447,
                                    "src": "50581:10:62",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_address",
                                        "typeString": "address"
                                    },
                                    "typeName": {
                                        "id": 19427,
                                        "name": "address",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "50581:7:62",
                                        "stateMutability": "nonpayable",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_address",
                                            "typeString": "address"
                                        }
                                    },
                                    "visibility": "internal"
                                },
                                {
                                    "constant": false,
                                    "id": 19430,
                                    "mutability": "mutable",
                                    "name": "p2",
                                    "nameLocation": "50601:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 19447,
                                    "src": "50593:10:62",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_address",
                                        "typeString": "address"
                                    },
                                    "typeName": {
                                        "id": 19429,
                                        "name": "address",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "50593:7:62",
                                        "stateMutability": "nonpayable",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_address",
                                            "typeString": "address"
                                        }
                                    },
                                    "visibility": "internal"
                                },
                                {
                                    "constant": false,
                                    "id": 19432,
                                    "mutability": "mutable",
                                    "name": "p3",
                                    "nameLocation": "50613:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 19447,
                                    "src": "50605:10:62",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_address",
                                        "typeString": "address"
                                    },
                                    "typeName": {
                                        "id": 19431,
                                        "name": "address",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "50605:7:62",
                                        "stateMutability": "nonpayable",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_address",
                                            "typeString": "address"
                                        }
                                    },
                                    "visibility": "internal"
                                }
                            ],
                            "src": "50571:45:62"
                        },
                        "returnParameters": {
                            "id": 19434,
                            "nodeType": "ParameterList",
                            "parameters": [],
                            "src": "50631:0:62"
                        },
                        "scope": 20920,
                        "src": "50559:173:62",
                        "stateMutability": "view",
                        "virtual": false,
                        "visibility": "internal"
                    },
                    {
                        "body": {
                            "id": 19469,
                            "nodeType": "Block",
                            "src": "50801:95:62",
                            "statements": [
                                {
                                    "expression": {
                                        "arguments": [
                                            {
                                                "arguments": [
                                                    {
                                                        "hexValue": "6c6f6728616464726573732c75696e742c75696e742c75696e7429",
                                                        "id": 19461,
                                                        "isConstant": false,
                                                        "isLValue": false,
                                                        "isPure": true,
                                                        "kind": "string",
                                                        "lValueRequested": false,
                                                        "nodeType": "Literal",
                                                        "src": "50845:29:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_stringliteral_3d0e9de46a80fe11d0044e9599dfddd0e8b842cabe189638f7090f19867918c1",
                                                            "typeString": "literal_string \"log(address,uint,uint,uint)\""
                                                        },
                                                        "value": "log(address,uint,uint,uint)"
                                                    },
                                                    {
                                                        "id": 19462,
                                                        "name": "p0",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 19449,
                                                        "src": "50876:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_address",
                                                            "typeString": "address"
                                                        }
                                                    },
                                                    {
                                                        "id": 19463,
                                                        "name": "p1",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 19451,
                                                        "src": "50880:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_uint256",
                                                            "typeString": "uint256"
                                                        }
                                                    },
                                                    {
                                                        "id": 19464,
                                                        "name": "p2",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 19453,
                                                        "src": "50884:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_uint256",
                                                            "typeString": "uint256"
                                                        }
                                                    },
                                                    {
                                                        "id": 19465,
                                                        "name": "p3",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 19455,
                                                        "src": "50888:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_uint256",
                                                            "typeString": "uint256"
                                                        }
                                                    }
                                                ],
                                                "expression": {
                                                    "argumentTypes": [
                                                        {
                                                            "typeIdentifier": "t_stringliteral_3d0e9de46a80fe11d0044e9599dfddd0e8b842cabe189638f7090f19867918c1",
                                                            "typeString": "literal_string \"log(address,uint,uint,uint)\""
                                                        },
                                                        {
                                                            "typeIdentifier": "t_address",
                                                            "typeString": "address"
                                                        },
                                                        {
                                                            "typeIdentifier": "t_uint256",
                                                            "typeString": "uint256"
                                                        },
                                                        {
                                                            "typeIdentifier": "t_uint256",
                                                            "typeString": "uint256"
                                                        },
                                                        {
                                                            "typeIdentifier": "t_uint256",
                                                            "typeString": "uint256"
                                                        }
                                                    ],
                                                    "expression": {
                                                        "id": 19459,
                                                        "name": "abi",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 4294967295,
                                                        "src": "50821:3:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_magic_abi",
                                                            "typeString": "abi"
                                                        }
                                                    },
                                                    "id": 19460,
                                                    "isConstant": false,
                                                    "isLValue": false,
                                                    "isPure": true,
                                                    "lValueRequested": false,
                                                    "memberName": "encodeWithSignature",
                                                    "nodeType": "MemberAccess",
                                                    "src": "50821:23:62",
                                                    "typeDescriptions": {
                                                        "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$",
                                                        "typeString": "function (string memory) pure returns (bytes memory)"
                                                    }
                                                },
                                                "id": 19466,
                                                "isConstant": false,
                                                "isLValue": false,
                                                "isPure": false,
                                                "kind": "functionCall",
                                                "lValueRequested": false,
                                                "names": [],
                                                "nodeType": "FunctionCall",
                                                "src": "50821:70:62",
                                                "tryCall": false,
                                                "typeDescriptions": {
                                                    "typeIdentifier": "t_bytes_memory_ptr",
                                                    "typeString": "bytes memory"
                                                }
                                            }
                                        ],
                                        "expression": {
                                            "argumentTypes": [
                                                {
                                                    "typeIdentifier": "t_bytes_memory_ptr",
                                                    "typeString": "bytes memory"
                                                }
                                            ],
                                            "id": 19458,
                                            "name": "_sendLogPayload",
                                            "nodeType": "Identifier",
                                            "overloadedDeclarations": [],
                                            "referencedDeclaration": 12880,
                                            "src": "50805:15:62",
                                            "typeDescriptions": {
                                                "typeIdentifier": "t_function_internal_view$_t_bytes_memory_ptr_$returns$__$",
                                                "typeString": "function (bytes memory) view"
                                            }
                                        },
                                        "id": 19467,
                                        "isConstant": false,
                                        "isLValue": false,
                                        "isPure": false,
                                        "kind": "functionCall",
                                        "lValueRequested": false,
                                        "names": [],
                                        "nodeType": "FunctionCall",
                                        "src": "50805:87:62",
                                        "tryCall": false,
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_tuple$__$",
                                            "typeString": "tuple()"
                                        }
                                    },
                                    "id": 19468,
                                    "nodeType": "ExpressionStatement",
                                    "src": "50805:87:62"
                                }
                            ]
                        },
                        "id": 19470,
                        "implemented": true,
                        "kind": "function",
                        "modifiers": [],
                        "name": "log",
                        "nameLocation": "50744:3:62",
                        "nodeType": "FunctionDefinition",
                        "parameters": {
                            "id": 19456,
                            "nodeType": "ParameterList",
                            "parameters": [
                                {
                                    "constant": false,
                                    "id": 19449,
                                    "mutability": "mutable",
                                    "name": "p0",
                                    "nameLocation": "50756:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 19470,
                                    "src": "50748:10:62",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_address",
                                        "typeString": "address"
                                    },
                                    "typeName": {
                                        "id": 19448,
                                        "name": "address",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "50748:7:62",
                                        "stateMutability": "nonpayable",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_address",
                                            "typeString": "address"
                                        }
                                    },
                                    "visibility": "internal"
                                },
                                {
                                    "constant": false,
                                    "id": 19451,
                                    "mutability": "mutable",
                                    "name": "p1",
                                    "nameLocation": "50765:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 19470,
                                    "src": "50760:7:62",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_uint256",
                                        "typeString": "uint256"
                                    },
                                    "typeName": {
                                        "id": 19450,
                                        "name": "uint",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "50760:4:62",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_uint256",
                                            "typeString": "uint256"
                                        }
                                    },
                                    "visibility": "internal"
                                },
                                {
                                    "constant": false,
                                    "id": 19453,
                                    "mutability": "mutable",
                                    "name": "p2",
                                    "nameLocation": "50774:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 19470,
                                    "src": "50769:7:62",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_uint256",
                                        "typeString": "uint256"
                                    },
                                    "typeName": {
                                        "id": 19452,
                                        "name": "uint",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "50769:4:62",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_uint256",
                                            "typeString": "uint256"
                                        }
                                    },
                                    "visibility": "internal"
                                },
                                {
                                    "constant": false,
                                    "id": 19455,
                                    "mutability": "mutable",
                                    "name": "p3",
                                    "nameLocation": "50783:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 19470,
                                    "src": "50778:7:62",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_uint256",
                                        "typeString": "uint256"
                                    },
                                    "typeName": {
                                        "id": 19454,
                                        "name": "uint",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "50778:4:62",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_uint256",
                                            "typeString": "uint256"
                                        }
                                    },
                                    "visibility": "internal"
                                }
                            ],
                            "src": "50747:39:62"
                        },
                        "returnParameters": {
                            "id": 19457,
                            "nodeType": "ParameterList",
                            "parameters": [],
                            "src": "50801:0:62"
                        },
                        "scope": 20920,
                        "src": "50735:161:62",
                        "stateMutability": "view",
                        "virtual": false,
                        "visibility": "internal"
                    },
                    {
                        "body": {
                            "id": 19492,
                            "nodeType": "Block",
                            "src": "50974:97:62",
                            "statements": [
                                {
                                    "expression": {
                                        "arguments": [
                                            {
                                                "arguments": [
                                                    {
                                                        "hexValue": "6c6f6728616464726573732c75696e742c75696e742c737472696e6729",
                                                        "id": 19484,
                                                        "isConstant": false,
                                                        "isLValue": false,
                                                        "isPure": true,
                                                        "kind": "string",
                                                        "lValueRequested": false,
                                                        "nodeType": "Literal",
                                                        "src": "51018:31:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_stringliteral_89340dab4d23e956541beb32775ccfee8376ba263886dd811a646420a3a403a3",
                                                            "typeString": "literal_string \"log(address,uint,uint,string)\""
                                                        },
                                                        "value": "log(address,uint,uint,string)"
                                                    },
                                                    {
                                                        "id": 19485,
                                                        "name": "p0",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 19472,
                                                        "src": "51051:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_address",
                                                            "typeString": "address"
                                                        }
                                                    },
                                                    {
                                                        "id": 19486,
                                                        "name": "p1",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 19474,
                                                        "src": "51055:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_uint256",
                                                            "typeString": "uint256"
                                                        }
                                                    },
                                                    {
                                                        "id": 19487,
                                                        "name": "p2",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 19476,
                                                        "src": "51059:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_uint256",
                                                            "typeString": "uint256"
                                                        }
                                                    },
                                                    {
                                                        "id": 19488,
                                                        "name": "p3",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 19478,
                                                        "src": "51063:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_string_memory_ptr",
                                                            "typeString": "string memory"
                                                        }
                                                    }
                                                ],
                                                "expression": {
                                                    "argumentTypes": [
                                                        {
                                                            "typeIdentifier": "t_stringliteral_89340dab4d23e956541beb32775ccfee8376ba263886dd811a646420a3a403a3",
                                                            "typeString": "literal_string \"log(address,uint,uint,string)\""
                                                        },
                                                        {
                                                            "typeIdentifier": "t_address",
                                                            "typeString": "address"
                                                        },
                                                        {
                                                            "typeIdentifier": "t_uint256",
                                                            "typeString": "uint256"
                                                        },
                                                        {
                                                            "typeIdentifier": "t_uint256",
                                                            "typeString": "uint256"
                                                        },
                                                        {
                                                            "typeIdentifier": "t_string_memory_ptr",
                                                            "typeString": "string memory"
                                                        }
                                                    ],
                                                    "expression": {
                                                        "id": 19482,
                                                        "name": "abi",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 4294967295,
                                                        "src": "50994:3:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_magic_abi",
                                                            "typeString": "abi"
                                                        }
                                                    },
                                                    "id": 19483,
                                                    "isConstant": false,
                                                    "isLValue": false,
                                                    "isPure": true,
                                                    "lValueRequested": false,
                                                    "memberName": "encodeWithSignature",
                                                    "nodeType": "MemberAccess",
                                                    "src": "50994:23:62",
                                                    "typeDescriptions": {
                                                        "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$",
                                                        "typeString": "function (string memory) pure returns (bytes memory)"
                                                    }
                                                },
                                                "id": 19489,
                                                "isConstant": false,
                                                "isLValue": false,
                                                "isPure": false,
                                                "kind": "functionCall",
                                                "lValueRequested": false,
                                                "names": [],
                                                "nodeType": "FunctionCall",
                                                "src": "50994:72:62",
                                                "tryCall": false,
                                                "typeDescriptions": {
                                                    "typeIdentifier": "t_bytes_memory_ptr",
                                                    "typeString": "bytes memory"
                                                }
                                            }
                                        ],
                                        "expression": {
                                            "argumentTypes": [
                                                {
                                                    "typeIdentifier": "t_bytes_memory_ptr",
                                                    "typeString": "bytes memory"
                                                }
                                            ],
                                            "id": 19481,
                                            "name": "_sendLogPayload",
                                            "nodeType": "Identifier",
                                            "overloadedDeclarations": [],
                                            "referencedDeclaration": 12880,
                                            "src": "50978:15:62",
                                            "typeDescriptions": {
                                                "typeIdentifier": "t_function_internal_view$_t_bytes_memory_ptr_$returns$__$",
                                                "typeString": "function (bytes memory) view"
                                            }
                                        },
                                        "id": 19490,
                                        "isConstant": false,
                                        "isLValue": false,
                                        "isPure": false,
                                        "kind": "functionCall",
                                        "lValueRequested": false,
                                        "names": [],
                                        "nodeType": "FunctionCall",
                                        "src": "50978:89:62",
                                        "tryCall": false,
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_tuple$__$",
                                            "typeString": "tuple()"
                                        }
                                    },
                                    "id": 19491,
                                    "nodeType": "ExpressionStatement",
                                    "src": "50978:89:62"
                                }
                            ]
                        },
                        "id": 19493,
                        "implemented": true,
                        "kind": "function",
                        "modifiers": [],
                        "name": "log",
                        "nameLocation": "50908:3:62",
                        "nodeType": "FunctionDefinition",
                        "parameters": {
                            "id": 19479,
                            "nodeType": "ParameterList",
                            "parameters": [
                                {
                                    "constant": false,
                                    "id": 19472,
                                    "mutability": "mutable",
                                    "name": "p0",
                                    "nameLocation": "50920:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 19493,
                                    "src": "50912:10:62",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_address",
                                        "typeString": "address"
                                    },
                                    "typeName": {
                                        "id": 19471,
                                        "name": "address",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "50912:7:62",
                                        "stateMutability": "nonpayable",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_address",
                                            "typeString": "address"
                                        }
                                    },
                                    "visibility": "internal"
                                },
                                {
                                    "constant": false,
                                    "id": 19474,
                                    "mutability": "mutable",
                                    "name": "p1",
                                    "nameLocation": "50929:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 19493,
                                    "src": "50924:7:62",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_uint256",
                                        "typeString": "uint256"
                                    },
                                    "typeName": {
                                        "id": 19473,
                                        "name": "uint",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "50924:4:62",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_uint256",
                                            "typeString": "uint256"
                                        }
                                    },
                                    "visibility": "internal"
                                },
                                {
                                    "constant": false,
                                    "id": 19476,
                                    "mutability": "mutable",
                                    "name": "p2",
                                    "nameLocation": "50938:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 19493,
                                    "src": "50933:7:62",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_uint256",
                                        "typeString": "uint256"
                                    },
                                    "typeName": {
                                        "id": 19475,
                                        "name": "uint",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "50933:4:62",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_uint256",
                                            "typeString": "uint256"
                                        }
                                    },
                                    "visibility": "internal"
                                },
                                {
                                    "constant": false,
                                    "id": 19478,
                                    "mutability": "mutable",
                                    "name": "p3",
                                    "nameLocation": "50956:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 19493,
                                    "src": "50942:16:62",
                                    "stateVariable": false,
                                    "storageLocation": "memory",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_string_memory_ptr",
                                        "typeString": "string"
                                    },
                                    "typeName": {
                                        "id": 19477,
                                        "name": "string",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "50942:6:62",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_string_storage_ptr",
                                            "typeString": "string"
                                        }
                                    },
                                    "visibility": "internal"
                                }
                            ],
                            "src": "50911:48:62"
                        },
                        "returnParameters": {
                            "id": 19480,
                            "nodeType": "ParameterList",
                            "parameters": [],
                            "src": "50974:0:62"
                        },
                        "scope": 20920,
                        "src": "50899:172:62",
                        "stateMutability": "view",
                        "virtual": false,
                        "visibility": "internal"
                    },
                    {
                        "body": {
                            "id": 19515,
                            "nodeType": "Block",
                            "src": "51140:95:62",
                            "statements": [
                                {
                                    "expression": {
                                        "arguments": [
                                            {
                                                "arguments": [
                                                    {
                                                        "hexValue": "6c6f6728616464726573732c75696e742c75696e742c626f6f6c29",
                                                        "id": 19507,
                                                        "isConstant": false,
                                                        "isLValue": false,
                                                        "isPure": true,
                                                        "kind": "string",
                                                        "lValueRequested": false,
                                                        "nodeType": "Literal",
                                                        "src": "51184:29:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_stringliteral_ec4ba8a24543362f628480c68bc2d6749e97ab33d46530db336a528c77e48393",
                                                            "typeString": "literal_string \"log(address,uint,uint,bool)\""
                                                        },
                                                        "value": "log(address,uint,uint,bool)"
                                                    },
                                                    {
                                                        "id": 19508,
                                                        "name": "p0",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 19495,
                                                        "src": "51215:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_address",
                                                            "typeString": "address"
                                                        }
                                                    },
                                                    {
                                                        "id": 19509,
                                                        "name": "p1",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 19497,
                                                        "src": "51219:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_uint256",
                                                            "typeString": "uint256"
                                                        }
                                                    },
                                                    {
                                                        "id": 19510,
                                                        "name": "p2",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 19499,
                                                        "src": "51223:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_uint256",
                                                            "typeString": "uint256"
                                                        }
                                                    },
                                                    {
                                                        "id": 19511,
                                                        "name": "p3",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 19501,
                                                        "src": "51227:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_bool",
                                                            "typeString": "bool"
                                                        }
                                                    }
                                                ],
                                                "expression": {
                                                    "argumentTypes": [
                                                        {
                                                            "typeIdentifier": "t_stringliteral_ec4ba8a24543362f628480c68bc2d6749e97ab33d46530db336a528c77e48393",
                                                            "typeString": "literal_string \"log(address,uint,uint,bool)\""
                                                        },
                                                        {
                                                            "typeIdentifier": "t_address",
                                                            "typeString": "address"
                                                        },
                                                        {
                                                            "typeIdentifier": "t_uint256",
                                                            "typeString": "uint256"
                                                        },
                                                        {
                                                            "typeIdentifier": "t_uint256",
                                                            "typeString": "uint256"
                                                        },
                                                        {
                                                            "typeIdentifier": "t_bool",
                                                            "typeString": "bool"
                                                        }
                                                    ],
                                                    "expression": {
                                                        "id": 19505,
                                                        "name": "abi",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 4294967295,
                                                        "src": "51160:3:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_magic_abi",
                                                            "typeString": "abi"
                                                        }
                                                    },
                                                    "id": 19506,
                                                    "isConstant": false,
                                                    "isLValue": false,
                                                    "isPure": true,
                                                    "lValueRequested": false,
                                                    "memberName": "encodeWithSignature",
                                                    "nodeType": "MemberAccess",
                                                    "src": "51160:23:62",
                                                    "typeDescriptions": {
                                                        "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$",
                                                        "typeString": "function (string memory) pure returns (bytes memory)"
                                                    }
                                                },
                                                "id": 19512,
                                                "isConstant": false,
                                                "isLValue": false,
                                                "isPure": false,
                                                "kind": "functionCall",
                                                "lValueRequested": false,
                                                "names": [],
                                                "nodeType": "FunctionCall",
                                                "src": "51160:70:62",
                                                "tryCall": false,
                                                "typeDescriptions": {
                                                    "typeIdentifier": "t_bytes_memory_ptr",
                                                    "typeString": "bytes memory"
                                                }
                                            }
                                        ],
                                        "expression": {
                                            "argumentTypes": [
                                                {
                                                    "typeIdentifier": "t_bytes_memory_ptr",
                                                    "typeString": "bytes memory"
                                                }
                                            ],
                                            "id": 19504,
                                            "name": "_sendLogPayload",
                                            "nodeType": "Identifier",
                                            "overloadedDeclarations": [],
                                            "referencedDeclaration": 12880,
                                            "src": "51144:15:62",
                                            "typeDescriptions": {
                                                "typeIdentifier": "t_function_internal_view$_t_bytes_memory_ptr_$returns$__$",
                                                "typeString": "function (bytes memory) view"
                                            }
                                        },
                                        "id": 19513,
                                        "isConstant": false,
                                        "isLValue": false,
                                        "isPure": false,
                                        "kind": "functionCall",
                                        "lValueRequested": false,
                                        "names": [],
                                        "nodeType": "FunctionCall",
                                        "src": "51144:87:62",
                                        "tryCall": false,
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_tuple$__$",
                                            "typeString": "tuple()"
                                        }
                                    },
                                    "id": 19514,
                                    "nodeType": "ExpressionStatement",
                                    "src": "51144:87:62"
                                }
                            ]
                        },
                        "id": 19516,
                        "implemented": true,
                        "kind": "function",
                        "modifiers": [],
                        "name": "log",
                        "nameLocation": "51083:3:62",
                        "nodeType": "FunctionDefinition",
                        "parameters": {
                            "id": 19502,
                            "nodeType": "ParameterList",
                            "parameters": [
                                {
                                    "constant": false,
                                    "id": 19495,
                                    "mutability": "mutable",
                                    "name": "p0",
                                    "nameLocation": "51095:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 19516,
                                    "src": "51087:10:62",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_address",
                                        "typeString": "address"
                                    },
                                    "typeName": {
                                        "id": 19494,
                                        "name": "address",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "51087:7:62",
                                        "stateMutability": "nonpayable",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_address",
                                            "typeString": "address"
                                        }
                                    },
                                    "visibility": "internal"
                                },
                                {
                                    "constant": false,
                                    "id": 19497,
                                    "mutability": "mutable",
                                    "name": "p1",
                                    "nameLocation": "51104:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 19516,
                                    "src": "51099:7:62",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_uint256",
                                        "typeString": "uint256"
                                    },
                                    "typeName": {
                                        "id": 19496,
                                        "name": "uint",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "51099:4:62",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_uint256",
                                            "typeString": "uint256"
                                        }
                                    },
                                    "visibility": "internal"
                                },
                                {
                                    "constant": false,
                                    "id": 19499,
                                    "mutability": "mutable",
                                    "name": "p2",
                                    "nameLocation": "51113:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 19516,
                                    "src": "51108:7:62",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_uint256",
                                        "typeString": "uint256"
                                    },
                                    "typeName": {
                                        "id": 19498,
                                        "name": "uint",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "51108:4:62",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_uint256",
                                            "typeString": "uint256"
                                        }
                                    },
                                    "visibility": "internal"
                                },
                                {
                                    "constant": false,
                                    "id": 19501,
                                    "mutability": "mutable",
                                    "name": "p3",
                                    "nameLocation": "51122:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 19516,
                                    "src": "51117:7:62",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_bool",
                                        "typeString": "bool"
                                    },
                                    "typeName": {
                                        "id": 19500,
                                        "name": "bool",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "51117:4:62",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_bool",
                                            "typeString": "bool"
                                        }
                                    },
                                    "visibility": "internal"
                                }
                            ],
                            "src": "51086:39:62"
                        },
                        "returnParameters": {
                            "id": 19503,
                            "nodeType": "ParameterList",
                            "parameters": [],
                            "src": "51140:0:62"
                        },
                        "scope": 20920,
                        "src": "51074:161:62",
                        "stateMutability": "view",
                        "virtual": false,
                        "visibility": "internal"
                    },
                    {
                        "body": {
                            "id": 19538,
                            "nodeType": "Block",
                            "src": "51307:98:62",
                            "statements": [
                                {
                                    "expression": {
                                        "arguments": [
                                            {
                                                "arguments": [
                                                    {
                                                        "hexValue": "6c6f6728616464726573732c75696e742c75696e742c6164647265737329",
                                                        "id": 19530,
                                                        "isConstant": false,
                                                        "isLValue": false,
                                                        "isPure": true,
                                                        "kind": "string",
                                                        "lValueRequested": false,
                                                        "nodeType": "Literal",
                                                        "src": "51351:32:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_stringliteral_1ef634347c2e4a2aa1a4e4e13d33bf0169f02bc4d10ff6168ca604cf3134d957",
                                                            "typeString": "literal_string \"log(address,uint,uint,address)\""
                                                        },
                                                        "value": "log(address,uint,uint,address)"
                                                    },
                                                    {
                                                        "id": 19531,
                                                        "name": "p0",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 19518,
                                                        "src": "51385:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_address",
                                                            "typeString": "address"
                                                        }
                                                    },
                                                    {
                                                        "id": 19532,
                                                        "name": "p1",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 19520,
                                                        "src": "51389:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_uint256",
                                                            "typeString": "uint256"
                                                        }
                                                    },
                                                    {
                                                        "id": 19533,
                                                        "name": "p2",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 19522,
                                                        "src": "51393:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_uint256",
                                                            "typeString": "uint256"
                                                        }
                                                    },
                                                    {
                                                        "id": 19534,
                                                        "name": "p3",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 19524,
                                                        "src": "51397:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_address",
                                                            "typeString": "address"
                                                        }
                                                    }
                                                ],
                                                "expression": {
                                                    "argumentTypes": [
                                                        {
                                                            "typeIdentifier": "t_stringliteral_1ef634347c2e4a2aa1a4e4e13d33bf0169f02bc4d10ff6168ca604cf3134d957",
                                                            "typeString": "literal_string \"log(address,uint,uint,address)\""
                                                        },
                                                        {
                                                            "typeIdentifier": "t_address",
                                                            "typeString": "address"
                                                        },
                                                        {
                                                            "typeIdentifier": "t_uint256",
                                                            "typeString": "uint256"
                                                        },
                                                        {
                                                            "typeIdentifier": "t_uint256",
                                                            "typeString": "uint256"
                                                        },
                                                        {
                                                            "typeIdentifier": "t_address",
                                                            "typeString": "address"
                                                        }
                                                    ],
                                                    "expression": {
                                                        "id": 19528,
                                                        "name": "abi",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 4294967295,
                                                        "src": "51327:3:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_magic_abi",
                                                            "typeString": "abi"
                                                        }
                                                    },
                                                    "id": 19529,
                                                    "isConstant": false,
                                                    "isLValue": false,
                                                    "isPure": true,
                                                    "lValueRequested": false,
                                                    "memberName": "encodeWithSignature",
                                                    "nodeType": "MemberAccess",
                                                    "src": "51327:23:62",
                                                    "typeDescriptions": {
                                                        "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$",
                                                        "typeString": "function (string memory) pure returns (bytes memory)"
                                                    }
                                                },
                                                "id": 19535,
                                                "isConstant": false,
                                                "isLValue": false,
                                                "isPure": false,
                                                "kind": "functionCall",
                                                "lValueRequested": false,
                                                "names": [],
                                                "nodeType": "FunctionCall",
                                                "src": "51327:73:62",
                                                "tryCall": false,
                                                "typeDescriptions": {
                                                    "typeIdentifier": "t_bytes_memory_ptr",
                                                    "typeString": "bytes memory"
                                                }
                                            }
                                        ],
                                        "expression": {
                                            "argumentTypes": [
                                                {
                                                    "typeIdentifier": "t_bytes_memory_ptr",
                                                    "typeString": "bytes memory"
                                                }
                                            ],
                                            "id": 19527,
                                            "name": "_sendLogPayload",
                                            "nodeType": "Identifier",
                                            "overloadedDeclarations": [],
                                            "referencedDeclaration": 12880,
                                            "src": "51311:15:62",
                                            "typeDescriptions": {
                                                "typeIdentifier": "t_function_internal_view$_t_bytes_memory_ptr_$returns$__$",
                                                "typeString": "function (bytes memory) view"
                                            }
                                        },
                                        "id": 19536,
                                        "isConstant": false,
                                        "isLValue": false,
                                        "isPure": false,
                                        "kind": "functionCall",
                                        "lValueRequested": false,
                                        "names": [],
                                        "nodeType": "FunctionCall",
                                        "src": "51311:90:62",
                                        "tryCall": false,
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_tuple$__$",
                                            "typeString": "tuple()"
                                        }
                                    },
                                    "id": 19537,
                                    "nodeType": "ExpressionStatement",
                                    "src": "51311:90:62"
                                }
                            ]
                        },
                        "id": 19539,
                        "implemented": true,
                        "kind": "function",
                        "modifiers": [],
                        "name": "log",
                        "nameLocation": "51247:3:62",
                        "nodeType": "FunctionDefinition",
                        "parameters": {
                            "id": 19525,
                            "nodeType": "ParameterList",
                            "parameters": [
                                {
                                    "constant": false,
                                    "id": 19518,
                                    "mutability": "mutable",
                                    "name": "p0",
                                    "nameLocation": "51259:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 19539,
                                    "src": "51251:10:62",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_address",
                                        "typeString": "address"
                                    },
                                    "typeName": {
                                        "id": 19517,
                                        "name": "address",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "51251:7:62",
                                        "stateMutability": "nonpayable",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_address",
                                            "typeString": "address"
                                        }
                                    },
                                    "visibility": "internal"
                                },
                                {
                                    "constant": false,
                                    "id": 19520,
                                    "mutability": "mutable",
                                    "name": "p1",
                                    "nameLocation": "51268:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 19539,
                                    "src": "51263:7:62",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_uint256",
                                        "typeString": "uint256"
                                    },
                                    "typeName": {
                                        "id": 19519,
                                        "name": "uint",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "51263:4:62",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_uint256",
                                            "typeString": "uint256"
                                        }
                                    },
                                    "visibility": "internal"
                                },
                                {
                                    "constant": false,
                                    "id": 19522,
                                    "mutability": "mutable",
                                    "name": "p2",
                                    "nameLocation": "51277:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 19539,
                                    "src": "51272:7:62",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_uint256",
                                        "typeString": "uint256"
                                    },
                                    "typeName": {
                                        "id": 19521,
                                        "name": "uint",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "51272:4:62",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_uint256",
                                            "typeString": "uint256"
                                        }
                                    },
                                    "visibility": "internal"
                                },
                                {
                                    "constant": false,
                                    "id": 19524,
                                    "mutability": "mutable",
                                    "name": "p3",
                                    "nameLocation": "51289:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 19539,
                                    "src": "51281:10:62",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_address",
                                        "typeString": "address"
                                    },
                                    "typeName": {
                                        "id": 19523,
                                        "name": "address",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "51281:7:62",
                                        "stateMutability": "nonpayable",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_address",
                                            "typeString": "address"
                                        }
                                    },
                                    "visibility": "internal"
                                }
                            ],
                            "src": "51250:42:62"
                        },
                        "returnParameters": {
                            "id": 19526,
                            "nodeType": "ParameterList",
                            "parameters": [],
                            "src": "51307:0:62"
                        },
                        "scope": 20920,
                        "src": "51238:167:62",
                        "stateMutability": "view",
                        "virtual": false,
                        "visibility": "internal"
                    },
                    {
                        "body": {
                            "id": 19561,
                            "nodeType": "Block",
                            "src": "51483:97:62",
                            "statements": [
                                {
                                    "expression": {
                                        "arguments": [
                                            {
                                                "arguments": [
                                                    {
                                                        "hexValue": "6c6f6728616464726573732c75696e742c737472696e672c75696e7429",
                                                        "id": 19553,
                                                        "isConstant": false,
                                                        "isLValue": false,
                                                        "isPure": true,
                                                        "kind": "string",
                                                        "lValueRequested": false,
                                                        "nodeType": "Literal",
                                                        "src": "51527:31:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_stringliteral_f512cf9b6f6b16313e82164dab4a017b25c36dde729112fd1b69de438557701b",
                                                            "typeString": "literal_string \"log(address,uint,string,uint)\""
                                                        },
                                                        "value": "log(address,uint,string,uint)"
                                                    },
                                                    {
                                                        "id": 19554,
                                                        "name": "p0",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 19541,
                                                        "src": "51560:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_address",
                                                            "typeString": "address"
                                                        }
                                                    },
                                                    {
                                                        "id": 19555,
                                                        "name": "p1",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 19543,
                                                        "src": "51564:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_uint256",
                                                            "typeString": "uint256"
                                                        }
                                                    },
                                                    {
                                                        "id": 19556,
                                                        "name": "p2",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 19545,
                                                        "src": "51568:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_string_memory_ptr",
                                                            "typeString": "string memory"
                                                        }
                                                    },
                                                    {
                                                        "id": 19557,
                                                        "name": "p3",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 19547,
                                                        "src": "51572:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_uint256",
                                                            "typeString": "uint256"
                                                        }
                                                    }
                                                ],
                                                "expression": {
                                                    "argumentTypes": [
                                                        {
                                                            "typeIdentifier": "t_stringliteral_f512cf9b6f6b16313e82164dab4a017b25c36dde729112fd1b69de438557701b",
                                                            "typeString": "literal_string \"log(address,uint,string,uint)\""
                                                        },
                                                        {
                                                            "typeIdentifier": "t_address",
                                                            "typeString": "address"
                                                        },
                                                        {
                                                            "typeIdentifier": "t_uint256",
                                                            "typeString": "uint256"
                                                        },
                                                        {
                                                            "typeIdentifier": "t_string_memory_ptr",
                                                            "typeString": "string memory"
                                                        },
                                                        {
                                                            "typeIdentifier": "t_uint256",
                                                            "typeString": "uint256"
                                                        }
                                                    ],
                                                    "expression": {
                                                        "id": 19551,
                                                        "name": "abi",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 4294967295,
                                                        "src": "51503:3:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_magic_abi",
                                                            "typeString": "abi"
                                                        }
                                                    },
                                                    "id": 19552,
                                                    "isConstant": false,
                                                    "isLValue": false,
                                                    "isPure": true,
                                                    "lValueRequested": false,
                                                    "memberName": "encodeWithSignature",
                                                    "nodeType": "MemberAccess",
                                                    "src": "51503:23:62",
                                                    "typeDescriptions": {
                                                        "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$",
                                                        "typeString": "function (string memory) pure returns (bytes memory)"
                                                    }
                                                },
                                                "id": 19558,
                                                "isConstant": false,
                                                "isLValue": false,
                                                "isPure": false,
                                                "kind": "functionCall",
                                                "lValueRequested": false,
                                                "names": [],
                                                "nodeType": "FunctionCall",
                                                "src": "51503:72:62",
                                                "tryCall": false,
                                                "typeDescriptions": {
                                                    "typeIdentifier": "t_bytes_memory_ptr",
                                                    "typeString": "bytes memory"
                                                }
                                            }
                                        ],
                                        "expression": {
                                            "argumentTypes": [
                                                {
                                                    "typeIdentifier": "t_bytes_memory_ptr",
                                                    "typeString": "bytes memory"
                                                }
                                            ],
                                            "id": 19550,
                                            "name": "_sendLogPayload",
                                            "nodeType": "Identifier",
                                            "overloadedDeclarations": [],
                                            "referencedDeclaration": 12880,
                                            "src": "51487:15:62",
                                            "typeDescriptions": {
                                                "typeIdentifier": "t_function_internal_view$_t_bytes_memory_ptr_$returns$__$",
                                                "typeString": "function (bytes memory) view"
                                            }
                                        },
                                        "id": 19559,
                                        "isConstant": false,
                                        "isLValue": false,
                                        "isPure": false,
                                        "kind": "functionCall",
                                        "lValueRequested": false,
                                        "names": [],
                                        "nodeType": "FunctionCall",
                                        "src": "51487:89:62",
                                        "tryCall": false,
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_tuple$__$",
                                            "typeString": "tuple()"
                                        }
                                    },
                                    "id": 19560,
                                    "nodeType": "ExpressionStatement",
                                    "src": "51487:89:62"
                                }
                            ]
                        },
                        "id": 19562,
                        "implemented": true,
                        "kind": "function",
                        "modifiers": [],
                        "name": "log",
                        "nameLocation": "51417:3:62",
                        "nodeType": "FunctionDefinition",
                        "parameters": {
                            "id": 19548,
                            "nodeType": "ParameterList",
                            "parameters": [
                                {
                                    "constant": false,
                                    "id": 19541,
                                    "mutability": "mutable",
                                    "name": "p0",
                                    "nameLocation": "51429:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 19562,
                                    "src": "51421:10:62",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_address",
                                        "typeString": "address"
                                    },
                                    "typeName": {
                                        "id": 19540,
                                        "name": "address",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "51421:7:62",
                                        "stateMutability": "nonpayable",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_address",
                                            "typeString": "address"
                                        }
                                    },
                                    "visibility": "internal"
                                },
                                {
                                    "constant": false,
                                    "id": 19543,
                                    "mutability": "mutable",
                                    "name": "p1",
                                    "nameLocation": "51438:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 19562,
                                    "src": "51433:7:62",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_uint256",
                                        "typeString": "uint256"
                                    },
                                    "typeName": {
                                        "id": 19542,
                                        "name": "uint",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "51433:4:62",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_uint256",
                                            "typeString": "uint256"
                                        }
                                    },
                                    "visibility": "internal"
                                },
                                {
                                    "constant": false,
                                    "id": 19545,
                                    "mutability": "mutable",
                                    "name": "p2",
                                    "nameLocation": "51456:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 19562,
                                    "src": "51442:16:62",
                                    "stateVariable": false,
                                    "storageLocation": "memory",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_string_memory_ptr",
                                        "typeString": "string"
                                    },
                                    "typeName": {
                                        "id": 19544,
                                        "name": "string",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "51442:6:62",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_string_storage_ptr",
                                            "typeString": "string"
                                        }
                                    },
                                    "visibility": "internal"
                                },
                                {
                                    "constant": false,
                                    "id": 19547,
                                    "mutability": "mutable",
                                    "name": "p3",
                                    "nameLocation": "51465:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 19562,
                                    "src": "51460:7:62",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_uint256",
                                        "typeString": "uint256"
                                    },
                                    "typeName": {
                                        "id": 19546,
                                        "name": "uint",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "51460:4:62",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_uint256",
                                            "typeString": "uint256"
                                        }
                                    },
                                    "visibility": "internal"
                                }
                            ],
                            "src": "51420:48:62"
                        },
                        "returnParameters": {
                            "id": 19549,
                            "nodeType": "ParameterList",
                            "parameters": [],
                            "src": "51483:0:62"
                        },
                        "scope": 20920,
                        "src": "51408:172:62",
                        "stateMutability": "view",
                        "virtual": false,
                        "visibility": "internal"
                    },
                    {
                        "body": {
                            "id": 19584,
                            "nodeType": "Block",
                            "src": "51667:99:62",
                            "statements": [
                                {
                                    "expression": {
                                        "arguments": [
                                            {
                                                "arguments": [
                                                    {
                                                        "hexValue": "6c6f6728616464726573732c75696e742c737472696e672c737472696e6729",
                                                        "id": 19576,
                                                        "isConstant": false,
                                                        "isLValue": false,
                                                        "isPure": true,
                                                        "kind": "string",
                                                        "lValueRequested": false,
                                                        "nodeType": "Literal",
                                                        "src": "51711:33:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_stringliteral_7e56c693294848e354fd0e0f30db9c459984681d518306ec606cfd6f328a5ba0",
                                                            "typeString": "literal_string \"log(address,uint,string,string)\""
                                                        },
                                                        "value": "log(address,uint,string,string)"
                                                    },
                                                    {
                                                        "id": 19577,
                                                        "name": "p0",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 19564,
                                                        "src": "51746:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_address",
                                                            "typeString": "address"
                                                        }
                                                    },
                                                    {
                                                        "id": 19578,
                                                        "name": "p1",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 19566,
                                                        "src": "51750:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_uint256",
                                                            "typeString": "uint256"
                                                        }
                                                    },
                                                    {
                                                        "id": 19579,
                                                        "name": "p2",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 19568,
                                                        "src": "51754:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_string_memory_ptr",
                                                            "typeString": "string memory"
                                                        }
                                                    },
                                                    {
                                                        "id": 19580,
                                                        "name": "p3",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 19570,
                                                        "src": "51758:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_string_memory_ptr",
                                                            "typeString": "string memory"
                                                        }
                                                    }
                                                ],
                                                "expression": {
                                                    "argumentTypes": [
                                                        {
                                                            "typeIdentifier": "t_stringliteral_7e56c693294848e354fd0e0f30db9c459984681d518306ec606cfd6f328a5ba0",
                                                            "typeString": "literal_string \"log(address,uint,string,string)\""
                                                        },
                                                        {
                                                            "typeIdentifier": "t_address",
                                                            "typeString": "address"
                                                        },
                                                        {
                                                            "typeIdentifier": "t_uint256",
                                                            "typeString": "uint256"
                                                        },
                                                        {
                                                            "typeIdentifier": "t_string_memory_ptr",
                                                            "typeString": "string memory"
                                                        },
                                                        {
                                                            "typeIdentifier": "t_string_memory_ptr",
                                                            "typeString": "string memory"
                                                        }
                                                    ],
                                                    "expression": {
                                                        "id": 19574,
                                                        "name": "abi",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 4294967295,
                                                        "src": "51687:3:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_magic_abi",
                                                            "typeString": "abi"
                                                        }
                                                    },
                                                    "id": 19575,
                                                    "isConstant": false,
                                                    "isLValue": false,
                                                    "isPure": true,
                                                    "lValueRequested": false,
                                                    "memberName": "encodeWithSignature",
                                                    "nodeType": "MemberAccess",
                                                    "src": "51687:23:62",
                                                    "typeDescriptions": {
                                                        "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$",
                                                        "typeString": "function (string memory) pure returns (bytes memory)"
                                                    }
                                                },
                                                "id": 19581,
                                                "isConstant": false,
                                                "isLValue": false,
                                                "isPure": false,
                                                "kind": "functionCall",
                                                "lValueRequested": false,
                                                "names": [],
                                                "nodeType": "FunctionCall",
                                                "src": "51687:74:62",
                                                "tryCall": false,
                                                "typeDescriptions": {
                                                    "typeIdentifier": "t_bytes_memory_ptr",
                                                    "typeString": "bytes memory"
                                                }
                                            }
                                        ],
                                        "expression": {
                                            "argumentTypes": [
                                                {
                                                    "typeIdentifier": "t_bytes_memory_ptr",
                                                    "typeString": "bytes memory"
                                                }
                                            ],
                                            "id": 19573,
                                            "name": "_sendLogPayload",
                                            "nodeType": "Identifier",
                                            "overloadedDeclarations": [],
                                            "referencedDeclaration": 12880,
                                            "src": "51671:15:62",
                                            "typeDescriptions": {
                                                "typeIdentifier": "t_function_internal_view$_t_bytes_memory_ptr_$returns$__$",
                                                "typeString": "function (bytes memory) view"
                                            }
                                        },
                                        "id": 19582,
                                        "isConstant": false,
                                        "isLValue": false,
                                        "isPure": false,
                                        "kind": "functionCall",
                                        "lValueRequested": false,
                                        "names": [],
                                        "nodeType": "FunctionCall",
                                        "src": "51671:91:62",
                                        "tryCall": false,
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_tuple$__$",
                                            "typeString": "tuple()"
                                        }
                                    },
                                    "id": 19583,
                                    "nodeType": "ExpressionStatement",
                                    "src": "51671:91:62"
                                }
                            ]
                        },
                        "id": 19585,
                        "implemented": true,
                        "kind": "function",
                        "modifiers": [],
                        "name": "log",
                        "nameLocation": "51592:3:62",
                        "nodeType": "FunctionDefinition",
                        "parameters": {
                            "id": 19571,
                            "nodeType": "ParameterList",
                            "parameters": [
                                {
                                    "constant": false,
                                    "id": 19564,
                                    "mutability": "mutable",
                                    "name": "p0",
                                    "nameLocation": "51604:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 19585,
                                    "src": "51596:10:62",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_address",
                                        "typeString": "address"
                                    },
                                    "typeName": {
                                        "id": 19563,
                                        "name": "address",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "51596:7:62",
                                        "stateMutability": "nonpayable",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_address",
                                            "typeString": "address"
                                        }
                                    },
                                    "visibility": "internal"
                                },
                                {
                                    "constant": false,
                                    "id": 19566,
                                    "mutability": "mutable",
                                    "name": "p1",
                                    "nameLocation": "51613:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 19585,
                                    "src": "51608:7:62",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_uint256",
                                        "typeString": "uint256"
                                    },
                                    "typeName": {
                                        "id": 19565,
                                        "name": "uint",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "51608:4:62",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_uint256",
                                            "typeString": "uint256"
                                        }
                                    },
                                    "visibility": "internal"
                                },
                                {
                                    "constant": false,
                                    "id": 19568,
                                    "mutability": "mutable",
                                    "name": "p2",
                                    "nameLocation": "51631:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 19585,
                                    "src": "51617:16:62",
                                    "stateVariable": false,
                                    "storageLocation": "memory",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_string_memory_ptr",
                                        "typeString": "string"
                                    },
                                    "typeName": {
                                        "id": 19567,
                                        "name": "string",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "51617:6:62",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_string_storage_ptr",
                                            "typeString": "string"
                                        }
                                    },
                                    "visibility": "internal"
                                },
                                {
                                    "constant": false,
                                    "id": 19570,
                                    "mutability": "mutable",
                                    "name": "p3",
                                    "nameLocation": "51649:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 19585,
                                    "src": "51635:16:62",
                                    "stateVariable": false,
                                    "storageLocation": "memory",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_string_memory_ptr",
                                        "typeString": "string"
                                    },
                                    "typeName": {
                                        "id": 19569,
                                        "name": "string",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "51635:6:62",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_string_storage_ptr",
                                            "typeString": "string"
                                        }
                                    },
                                    "visibility": "internal"
                                }
                            ],
                            "src": "51595:57:62"
                        },
                        "returnParameters": {
                            "id": 19572,
                            "nodeType": "ParameterList",
                            "parameters": [],
                            "src": "51667:0:62"
                        },
                        "scope": 20920,
                        "src": "51583:183:62",
                        "stateMutability": "view",
                        "virtual": false,
                        "visibility": "internal"
                    },
                    {
                        "body": {
                            "id": 19607,
                            "nodeType": "Block",
                            "src": "51844:97:62",
                            "statements": [
                                {
                                    "expression": {
                                        "arguments": [
                                            {
                                                "arguments": [
                                                    {
                                                        "hexValue": "6c6f6728616464726573732c75696e742c737472696e672c626f6f6c29",
                                                        "id": 19599,
                                                        "isConstant": false,
                                                        "isLValue": false,
                                                        "isPure": true,
                                                        "kind": "string",
                                                        "lValueRequested": false,
                                                        "nodeType": "Literal",
                                                        "src": "51888:31:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_stringliteral_a4024f1195637e9b9bd0fa746905cf1693b1e0cd3e1c717a1cbc5279763b256a",
                                                            "typeString": "literal_string \"log(address,uint,string,bool)\""
                                                        },
                                                        "value": "log(address,uint,string,bool)"
                                                    },
                                                    {
                                                        "id": 19600,
                                                        "name": "p0",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 19587,
                                                        "src": "51921:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_address",
                                                            "typeString": "address"
                                                        }
                                                    },
                                                    {
                                                        "id": 19601,
                                                        "name": "p1",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 19589,
                                                        "src": "51925:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_uint256",
                                                            "typeString": "uint256"
                                                        }
                                                    },
                                                    {
                                                        "id": 19602,
                                                        "name": "p2",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 19591,
                                                        "src": "51929:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_string_memory_ptr",
                                                            "typeString": "string memory"
                                                        }
                                                    },
                                                    {
                                                        "id": 19603,
                                                        "name": "p3",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 19593,
                                                        "src": "51933:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_bool",
                                                            "typeString": "bool"
                                                        }
                                                    }
                                                ],
                                                "expression": {
                                                    "argumentTypes": [
                                                        {
                                                            "typeIdentifier": "t_stringliteral_a4024f1195637e9b9bd0fa746905cf1693b1e0cd3e1c717a1cbc5279763b256a",
                                                            "typeString": "literal_string \"log(address,uint,string,bool)\""
                                                        },
                                                        {
                                                            "typeIdentifier": "t_address",
                                                            "typeString": "address"
                                                        },
                                                        {
                                                            "typeIdentifier": "t_uint256",
                                                            "typeString": "uint256"
                                                        },
                                                        {
                                                            "typeIdentifier": "t_string_memory_ptr",
                                                            "typeString": "string memory"
                                                        },
                                                        {
                                                            "typeIdentifier": "t_bool",
                                                            "typeString": "bool"
                                                        }
                                                    ],
                                                    "expression": {
                                                        "id": 19597,
                                                        "name": "abi",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 4294967295,
                                                        "src": "51864:3:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_magic_abi",
                                                            "typeString": "abi"
                                                        }
                                                    },
                                                    "id": 19598,
                                                    "isConstant": false,
                                                    "isLValue": false,
                                                    "isPure": true,
                                                    "lValueRequested": false,
                                                    "memberName": "encodeWithSignature",
                                                    "nodeType": "MemberAccess",
                                                    "src": "51864:23:62",
                                                    "typeDescriptions": {
                                                        "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$",
                                                        "typeString": "function (string memory) pure returns (bytes memory)"
                                                    }
                                                },
                                                "id": 19604,
                                                "isConstant": false,
                                                "isLValue": false,
                                                "isPure": false,
                                                "kind": "functionCall",
                                                "lValueRequested": false,
                                                "names": [],
                                                "nodeType": "FunctionCall",
                                                "src": "51864:72:62",
                                                "tryCall": false,
                                                "typeDescriptions": {
                                                    "typeIdentifier": "t_bytes_memory_ptr",
                                                    "typeString": "bytes memory"
                                                }
                                            }
                                        ],
                                        "expression": {
                                            "argumentTypes": [
                                                {
                                                    "typeIdentifier": "t_bytes_memory_ptr",
                                                    "typeString": "bytes memory"
                                                }
                                            ],
                                            "id": 19596,
                                            "name": "_sendLogPayload",
                                            "nodeType": "Identifier",
                                            "overloadedDeclarations": [],
                                            "referencedDeclaration": 12880,
                                            "src": "51848:15:62",
                                            "typeDescriptions": {
                                                "typeIdentifier": "t_function_internal_view$_t_bytes_memory_ptr_$returns$__$",
                                                "typeString": "function (bytes memory) view"
                                            }
                                        },
                                        "id": 19605,
                                        "isConstant": false,
                                        "isLValue": false,
                                        "isPure": false,
                                        "kind": "functionCall",
                                        "lValueRequested": false,
                                        "names": [],
                                        "nodeType": "FunctionCall",
                                        "src": "51848:89:62",
                                        "tryCall": false,
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_tuple$__$",
                                            "typeString": "tuple()"
                                        }
                                    },
                                    "id": 19606,
                                    "nodeType": "ExpressionStatement",
                                    "src": "51848:89:62"
                                }
                            ]
                        },
                        "id": 19608,
                        "implemented": true,
                        "kind": "function",
                        "modifiers": [],
                        "name": "log",
                        "nameLocation": "51778:3:62",
                        "nodeType": "FunctionDefinition",
                        "parameters": {
                            "id": 19594,
                            "nodeType": "ParameterList",
                            "parameters": [
                                {
                                    "constant": false,
                                    "id": 19587,
                                    "mutability": "mutable",
                                    "name": "p0",
                                    "nameLocation": "51790:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 19608,
                                    "src": "51782:10:62",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_address",
                                        "typeString": "address"
                                    },
                                    "typeName": {
                                        "id": 19586,
                                        "name": "address",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "51782:7:62",
                                        "stateMutability": "nonpayable",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_address",
                                            "typeString": "address"
                                        }
                                    },
                                    "visibility": "internal"
                                },
                                {
                                    "constant": false,
                                    "id": 19589,
                                    "mutability": "mutable",
                                    "name": "p1",
                                    "nameLocation": "51799:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 19608,
                                    "src": "51794:7:62",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_uint256",
                                        "typeString": "uint256"
                                    },
                                    "typeName": {
                                        "id": 19588,
                                        "name": "uint",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "51794:4:62",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_uint256",
                                            "typeString": "uint256"
                                        }
                                    },
                                    "visibility": "internal"
                                },
                                {
                                    "constant": false,
                                    "id": 19591,
                                    "mutability": "mutable",
                                    "name": "p2",
                                    "nameLocation": "51817:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 19608,
                                    "src": "51803:16:62",
                                    "stateVariable": false,
                                    "storageLocation": "memory",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_string_memory_ptr",
                                        "typeString": "string"
                                    },
                                    "typeName": {
                                        "id": 19590,
                                        "name": "string",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "51803:6:62",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_string_storage_ptr",
                                            "typeString": "string"
                                        }
                                    },
                                    "visibility": "internal"
                                },
                                {
                                    "constant": false,
                                    "id": 19593,
                                    "mutability": "mutable",
                                    "name": "p3",
                                    "nameLocation": "51826:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 19608,
                                    "src": "51821:7:62",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_bool",
                                        "typeString": "bool"
                                    },
                                    "typeName": {
                                        "id": 19592,
                                        "name": "bool",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "51821:4:62",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_bool",
                                            "typeString": "bool"
                                        }
                                    },
                                    "visibility": "internal"
                                }
                            ],
                            "src": "51781:48:62"
                        },
                        "returnParameters": {
                            "id": 19595,
                            "nodeType": "ParameterList",
                            "parameters": [],
                            "src": "51844:0:62"
                        },
                        "scope": 20920,
                        "src": "51769:172:62",
                        "stateMutability": "view",
                        "virtual": false,
                        "visibility": "internal"
                    },
                    {
                        "body": {
                            "id": 19630,
                            "nodeType": "Block",
                            "src": "52022:100:62",
                            "statements": [
                                {
                                    "expression": {
                                        "arguments": [
                                            {
                                                "arguments": [
                                                    {
                                                        "hexValue": "6c6f6728616464726573732c75696e742c737472696e672c6164647265737329",
                                                        "id": 19622,
                                                        "isConstant": false,
                                                        "isLValue": false,
                                                        "isPure": true,
                                                        "kind": "string",
                                                        "lValueRequested": false,
                                                        "nodeType": "Literal",
                                                        "src": "52066:34:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_stringliteral_dc792604099307de53721f0c554f3059214ac3d8d1f6cd01cd16cf188835e809",
                                                            "typeString": "literal_string \"log(address,uint,string,address)\""
                                                        },
                                                        "value": "log(address,uint,string,address)"
                                                    },
                                                    {
                                                        "id": 19623,
                                                        "name": "p0",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 19610,
                                                        "src": "52102:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_address",
                                                            "typeString": "address"
                                                        }
                                                    },
                                                    {
                                                        "id": 19624,
                                                        "name": "p1",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 19612,
                                                        "src": "52106:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_uint256",
                                                            "typeString": "uint256"
                                                        }
                                                    },
                                                    {
                                                        "id": 19625,
                                                        "name": "p2",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 19614,
                                                        "src": "52110:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_string_memory_ptr",
                                                            "typeString": "string memory"
                                                        }
                                                    },
                                                    {
                                                        "id": 19626,
                                                        "name": "p3",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 19616,
                                                        "src": "52114:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_address",
                                                            "typeString": "address"
                                                        }
                                                    }
                                                ],
                                                "expression": {
                                                    "argumentTypes": [
                                                        {
                                                            "typeIdentifier": "t_stringliteral_dc792604099307de53721f0c554f3059214ac3d8d1f6cd01cd16cf188835e809",
                                                            "typeString": "literal_string \"log(address,uint,string,address)\""
                                                        },
                                                        {
                                                            "typeIdentifier": "t_address",
                                                            "typeString": "address"
                                                        },
                                                        {
                                                            "typeIdentifier": "t_uint256",
                                                            "typeString": "uint256"
                                                        },
                                                        {
                                                            "typeIdentifier": "t_string_memory_ptr",
                                                            "typeString": "string memory"
                                                        },
                                                        {
                                                            "typeIdentifier": "t_address",
                                                            "typeString": "address"
                                                        }
                                                    ],
                                                    "expression": {
                                                        "id": 19620,
                                                        "name": "abi",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 4294967295,
                                                        "src": "52042:3:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_magic_abi",
                                                            "typeString": "abi"
                                                        }
                                                    },
                                                    "id": 19621,
                                                    "isConstant": false,
                                                    "isLValue": false,
                                                    "isPure": true,
                                                    "lValueRequested": false,
                                                    "memberName": "encodeWithSignature",
                                                    "nodeType": "MemberAccess",
                                                    "src": "52042:23:62",
                                                    "typeDescriptions": {
                                                        "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$",
                                                        "typeString": "function (string memory) pure returns (bytes memory)"
                                                    }
                                                },
                                                "id": 19627,
                                                "isConstant": false,
                                                "isLValue": false,
                                                "isPure": false,
                                                "kind": "functionCall",
                                                "lValueRequested": false,
                                                "names": [],
                                                "nodeType": "FunctionCall",
                                                "src": "52042:75:62",
                                                "tryCall": false,
                                                "typeDescriptions": {
                                                    "typeIdentifier": "t_bytes_memory_ptr",
                                                    "typeString": "bytes memory"
                                                }
                                            }
                                        ],
                                        "expression": {
                                            "argumentTypes": [
                                                {
                                                    "typeIdentifier": "t_bytes_memory_ptr",
                                                    "typeString": "bytes memory"
                                                }
                                            ],
                                            "id": 19619,
                                            "name": "_sendLogPayload",
                                            "nodeType": "Identifier",
                                            "overloadedDeclarations": [],
                                            "referencedDeclaration": 12880,
                                            "src": "52026:15:62",
                                            "typeDescriptions": {
                                                "typeIdentifier": "t_function_internal_view$_t_bytes_memory_ptr_$returns$__$",
                                                "typeString": "function (bytes memory) view"
                                            }
                                        },
                                        "id": 19628,
                                        "isConstant": false,
                                        "isLValue": false,
                                        "isPure": false,
                                        "kind": "functionCall",
                                        "lValueRequested": false,
                                        "names": [],
                                        "nodeType": "FunctionCall",
                                        "src": "52026:92:62",
                                        "tryCall": false,
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_tuple$__$",
                                            "typeString": "tuple()"
                                        }
                                    },
                                    "id": 19629,
                                    "nodeType": "ExpressionStatement",
                                    "src": "52026:92:62"
                                }
                            ]
                        },
                        "id": 19631,
                        "implemented": true,
                        "kind": "function",
                        "modifiers": [],
                        "name": "log",
                        "nameLocation": "51953:3:62",
                        "nodeType": "FunctionDefinition",
                        "parameters": {
                            "id": 19617,
                            "nodeType": "ParameterList",
                            "parameters": [
                                {
                                    "constant": false,
                                    "id": 19610,
                                    "mutability": "mutable",
                                    "name": "p0",
                                    "nameLocation": "51965:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 19631,
                                    "src": "51957:10:62",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_address",
                                        "typeString": "address"
                                    },
                                    "typeName": {
                                        "id": 19609,
                                        "name": "address",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "51957:7:62",
                                        "stateMutability": "nonpayable",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_address",
                                            "typeString": "address"
                                        }
                                    },
                                    "visibility": "internal"
                                },
                                {
                                    "constant": false,
                                    "id": 19612,
                                    "mutability": "mutable",
                                    "name": "p1",
                                    "nameLocation": "51974:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 19631,
                                    "src": "51969:7:62",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_uint256",
                                        "typeString": "uint256"
                                    },
                                    "typeName": {
                                        "id": 19611,
                                        "name": "uint",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "51969:4:62",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_uint256",
                                            "typeString": "uint256"
                                        }
                                    },
                                    "visibility": "internal"
                                },
                                {
                                    "constant": false,
                                    "id": 19614,
                                    "mutability": "mutable",
                                    "name": "p2",
                                    "nameLocation": "51992:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 19631,
                                    "src": "51978:16:62",
                                    "stateVariable": false,
                                    "storageLocation": "memory",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_string_memory_ptr",
                                        "typeString": "string"
                                    },
                                    "typeName": {
                                        "id": 19613,
                                        "name": "string",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "51978:6:62",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_string_storage_ptr",
                                            "typeString": "string"
                                        }
                                    },
                                    "visibility": "internal"
                                },
                                {
                                    "constant": false,
                                    "id": 19616,
                                    "mutability": "mutable",
                                    "name": "p3",
                                    "nameLocation": "52004:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 19631,
                                    "src": "51996:10:62",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_address",
                                        "typeString": "address"
                                    },
                                    "typeName": {
                                        "id": 19615,
                                        "name": "address",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "51996:7:62",
                                        "stateMutability": "nonpayable",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_address",
                                            "typeString": "address"
                                        }
                                    },
                                    "visibility": "internal"
                                }
                            ],
                            "src": "51956:51:62"
                        },
                        "returnParameters": {
                            "id": 19618,
                            "nodeType": "ParameterList",
                            "parameters": [],
                            "src": "52022:0:62"
                        },
                        "scope": 20920,
                        "src": "51944:178:62",
                        "stateMutability": "view",
                        "virtual": false,
                        "visibility": "internal"
                    },
                    {
                        "body": {
                            "id": 19653,
                            "nodeType": "Block",
                            "src": "52191:95:62",
                            "statements": [
                                {
                                    "expression": {
                                        "arguments": [
                                            {
                                                "arguments": [
                                                    {
                                                        "hexValue": "6c6f6728616464726573732c75696e742c626f6f6c2c75696e7429",
                                                        "id": 19645,
                                                        "isConstant": false,
                                                        "isLValue": false,
                                                        "isPure": true,
                                                        "kind": "string",
                                                        "lValueRequested": false,
                                                        "nodeType": "Literal",
                                                        "src": "52235:29:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_stringliteral_698f43923a9354f67c861ae1c111970990b11c7f948743e5f44d6ea901e7f1a2",
                                                            "typeString": "literal_string \"log(address,uint,bool,uint)\""
                                                        },
                                                        "value": "log(address,uint,bool,uint)"
                                                    },
                                                    {
                                                        "id": 19646,
                                                        "name": "p0",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 19633,
                                                        "src": "52266:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_address",
                                                            "typeString": "address"
                                                        }
                                                    },
                                                    {
                                                        "id": 19647,
                                                        "name": "p1",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 19635,
                                                        "src": "52270:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_uint256",
                                                            "typeString": "uint256"
                                                        }
                                                    },
                                                    {
                                                        "id": 19648,
                                                        "name": "p2",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 19637,
                                                        "src": "52274:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_bool",
                                                            "typeString": "bool"
                                                        }
                                                    },
                                                    {
                                                        "id": 19649,
                                                        "name": "p3",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 19639,
                                                        "src": "52278:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_uint256",
                                                            "typeString": "uint256"
                                                        }
                                                    }
                                                ],
                                                "expression": {
                                                    "argumentTypes": [
                                                        {
                                                            "typeIdentifier": "t_stringliteral_698f43923a9354f67c861ae1c111970990b11c7f948743e5f44d6ea901e7f1a2",
                                                            "typeString": "literal_string \"log(address,uint,bool,uint)\""
                                                        },
                                                        {
                                                            "typeIdentifier": "t_address",
                                                            "typeString": "address"
                                                        },
                                                        {
                                                            "typeIdentifier": "t_uint256",
                                                            "typeString": "uint256"
                                                        },
                                                        {
                                                            "typeIdentifier": "t_bool",
                                                            "typeString": "bool"
                                                        },
                                                        {
                                                            "typeIdentifier": "t_uint256",
                                                            "typeString": "uint256"
                                                        }
                                                    ],
                                                    "expression": {
                                                        "id": 19643,
                                                        "name": "abi",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 4294967295,
                                                        "src": "52211:3:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_magic_abi",
                                                            "typeString": "abi"
                                                        }
                                                    },
                                                    "id": 19644,
                                                    "isConstant": false,
                                                    "isLValue": false,
                                                    "isPure": true,
                                                    "lValueRequested": false,
                                                    "memberName": "encodeWithSignature",
                                                    "nodeType": "MemberAccess",
                                                    "src": "52211:23:62",
                                                    "typeDescriptions": {
                                                        "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$",
                                                        "typeString": "function (string memory) pure returns (bytes memory)"
                                                    }
                                                },
                                                "id": 19650,
                                                "isConstant": false,
                                                "isLValue": false,
                                                "isPure": false,
                                                "kind": "functionCall",
                                                "lValueRequested": false,
                                                "names": [],
                                                "nodeType": "FunctionCall",
                                                "src": "52211:70:62",
                                                "tryCall": false,
                                                "typeDescriptions": {
                                                    "typeIdentifier": "t_bytes_memory_ptr",
                                                    "typeString": "bytes memory"
                                                }
                                            }
                                        ],
                                        "expression": {
                                            "argumentTypes": [
                                                {
                                                    "typeIdentifier": "t_bytes_memory_ptr",
                                                    "typeString": "bytes memory"
                                                }
                                            ],
                                            "id": 19642,
                                            "name": "_sendLogPayload",
                                            "nodeType": "Identifier",
                                            "overloadedDeclarations": [],
                                            "referencedDeclaration": 12880,
                                            "src": "52195:15:62",
                                            "typeDescriptions": {
                                                "typeIdentifier": "t_function_internal_view$_t_bytes_memory_ptr_$returns$__$",
                                                "typeString": "function (bytes memory) view"
                                            }
                                        },
                                        "id": 19651,
                                        "isConstant": false,
                                        "isLValue": false,
                                        "isPure": false,
                                        "kind": "functionCall",
                                        "lValueRequested": false,
                                        "names": [],
                                        "nodeType": "FunctionCall",
                                        "src": "52195:87:62",
                                        "tryCall": false,
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_tuple$__$",
                                            "typeString": "tuple()"
                                        }
                                    },
                                    "id": 19652,
                                    "nodeType": "ExpressionStatement",
                                    "src": "52195:87:62"
                                }
                            ]
                        },
                        "id": 19654,
                        "implemented": true,
                        "kind": "function",
                        "modifiers": [],
                        "name": "log",
                        "nameLocation": "52134:3:62",
                        "nodeType": "FunctionDefinition",
                        "parameters": {
                            "id": 19640,
                            "nodeType": "ParameterList",
                            "parameters": [
                                {
                                    "constant": false,
                                    "id": 19633,
                                    "mutability": "mutable",
                                    "name": "p0",
                                    "nameLocation": "52146:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 19654,
                                    "src": "52138:10:62",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_address",
                                        "typeString": "address"
                                    },
                                    "typeName": {
                                        "id": 19632,
                                        "name": "address",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "52138:7:62",
                                        "stateMutability": "nonpayable",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_address",
                                            "typeString": "address"
                                        }
                                    },
                                    "visibility": "internal"
                                },
                                {
                                    "constant": false,
                                    "id": 19635,
                                    "mutability": "mutable",
                                    "name": "p1",
                                    "nameLocation": "52155:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 19654,
                                    "src": "52150:7:62",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_uint256",
                                        "typeString": "uint256"
                                    },
                                    "typeName": {
                                        "id": 19634,
                                        "name": "uint",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "52150:4:62",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_uint256",
                                            "typeString": "uint256"
                                        }
                                    },
                                    "visibility": "internal"
                                },
                                {
                                    "constant": false,
                                    "id": 19637,
                                    "mutability": "mutable",
                                    "name": "p2",
                                    "nameLocation": "52164:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 19654,
                                    "src": "52159:7:62",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_bool",
                                        "typeString": "bool"
                                    },
                                    "typeName": {
                                        "id": 19636,
                                        "name": "bool",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "52159:4:62",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_bool",
                                            "typeString": "bool"
                                        }
                                    },
                                    "visibility": "internal"
                                },
                                {
                                    "constant": false,
                                    "id": 19639,
                                    "mutability": "mutable",
                                    "name": "p3",
                                    "nameLocation": "52173:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 19654,
                                    "src": "52168:7:62",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_uint256",
                                        "typeString": "uint256"
                                    },
                                    "typeName": {
                                        "id": 19638,
                                        "name": "uint",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "52168:4:62",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_uint256",
                                            "typeString": "uint256"
                                        }
                                    },
                                    "visibility": "internal"
                                }
                            ],
                            "src": "52137:39:62"
                        },
                        "returnParameters": {
                            "id": 19641,
                            "nodeType": "ParameterList",
                            "parameters": [],
                            "src": "52191:0:62"
                        },
                        "scope": 20920,
                        "src": "52125:161:62",
                        "stateMutability": "view",
                        "virtual": false,
                        "visibility": "internal"
                    },
                    {
                        "body": {
                            "id": 19676,
                            "nodeType": "Block",
                            "src": "52364:97:62",
                            "statements": [
                                {
                                    "expression": {
                                        "arguments": [
                                            {
                                                "arguments": [
                                                    {
                                                        "hexValue": "6c6f6728616464726573732c75696e742c626f6f6c2c737472696e6729",
                                                        "id": 19668,
                                                        "isConstant": false,
                                                        "isLValue": false,
                                                        "isPure": true,
                                                        "kind": "string",
                                                        "lValueRequested": false,
                                                        "nodeType": "Literal",
                                                        "src": "52408:31:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_stringliteral_8e8e4e75a8ccb3f0e11ad74335eebf7a17a78463e99c3b077ff34193a8918f3f",
                                                            "typeString": "literal_string \"log(address,uint,bool,string)\""
                                                        },
                                                        "value": "log(address,uint,bool,string)"
                                                    },
                                                    {
                                                        "id": 19669,
                                                        "name": "p0",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 19656,
                                                        "src": "52441:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_address",
                                                            "typeString": "address"
                                                        }
                                                    },
                                                    {
                                                        "id": 19670,
                                                        "name": "p1",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 19658,
                                                        "src": "52445:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_uint256",
                                                            "typeString": "uint256"
                                                        }
                                                    },
                                                    {
                                                        "id": 19671,
                                                        "name": "p2",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 19660,
                                                        "src": "52449:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_bool",
                                                            "typeString": "bool"
                                                        }
                                                    },
                                                    {
                                                        "id": 19672,
                                                        "name": "p3",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 19662,
                                                        "src": "52453:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_string_memory_ptr",
                                                            "typeString": "string memory"
                                                        }
                                                    }
                                                ],
                                                "expression": {
                                                    "argumentTypes": [
                                                        {
                                                            "typeIdentifier": "t_stringliteral_8e8e4e75a8ccb3f0e11ad74335eebf7a17a78463e99c3b077ff34193a8918f3f",
                                                            "typeString": "literal_string \"log(address,uint,bool,string)\""
                                                        },
                                                        {
                                                            "typeIdentifier": "t_address",
                                                            "typeString": "address"
                                                        },
                                                        {
                                                            "typeIdentifier": "t_uint256",
                                                            "typeString": "uint256"
                                                        },
                                                        {
                                                            "typeIdentifier": "t_bool",
                                                            "typeString": "bool"
                                                        },
                                                        {
                                                            "typeIdentifier": "t_string_memory_ptr",
                                                            "typeString": "string memory"
                                                        }
                                                    ],
                                                    "expression": {
                                                        "id": 19666,
                                                        "name": "abi",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 4294967295,
                                                        "src": "52384:3:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_magic_abi",
                                                            "typeString": "abi"
                                                        }
                                                    },
                                                    "id": 19667,
                                                    "isConstant": false,
                                                    "isLValue": false,
                                                    "isPure": true,
                                                    "lValueRequested": false,
                                                    "memberName": "encodeWithSignature",
                                                    "nodeType": "MemberAccess",
                                                    "src": "52384:23:62",
                                                    "typeDescriptions": {
                                                        "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$",
                                                        "typeString": "function (string memory) pure returns (bytes memory)"
                                                    }
                                                },
                                                "id": 19673,
                                                "isConstant": false,
                                                "isLValue": false,
                                                "isPure": false,
                                                "kind": "functionCall",
                                                "lValueRequested": false,
                                                "names": [],
                                                "nodeType": "FunctionCall",
                                                "src": "52384:72:62",
                                                "tryCall": false,
                                                "typeDescriptions": {
                                                    "typeIdentifier": "t_bytes_memory_ptr",
                                                    "typeString": "bytes memory"
                                                }
                                            }
                                        ],
                                        "expression": {
                                            "argumentTypes": [
                                                {
                                                    "typeIdentifier": "t_bytes_memory_ptr",
                                                    "typeString": "bytes memory"
                                                }
                                            ],
                                            "id": 19665,
                                            "name": "_sendLogPayload",
                                            "nodeType": "Identifier",
                                            "overloadedDeclarations": [],
                                            "referencedDeclaration": 12880,
                                            "src": "52368:15:62",
                                            "typeDescriptions": {
                                                "typeIdentifier": "t_function_internal_view$_t_bytes_memory_ptr_$returns$__$",
                                                "typeString": "function (bytes memory) view"
                                            }
                                        },
                                        "id": 19674,
                                        "isConstant": false,
                                        "isLValue": false,
                                        "isPure": false,
                                        "kind": "functionCall",
                                        "lValueRequested": false,
                                        "names": [],
                                        "nodeType": "FunctionCall",
                                        "src": "52368:89:62",
                                        "tryCall": false,
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_tuple$__$",
                                            "typeString": "tuple()"
                                        }
                                    },
                                    "id": 19675,
                                    "nodeType": "ExpressionStatement",
                                    "src": "52368:89:62"
                                }
                            ]
                        },
                        "id": 19677,
                        "implemented": true,
                        "kind": "function",
                        "modifiers": [],
                        "name": "log",
                        "nameLocation": "52298:3:62",
                        "nodeType": "FunctionDefinition",
                        "parameters": {
                            "id": 19663,
                            "nodeType": "ParameterList",
                            "parameters": [
                                {
                                    "constant": false,
                                    "id": 19656,
                                    "mutability": "mutable",
                                    "name": "p0",
                                    "nameLocation": "52310:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 19677,
                                    "src": "52302:10:62",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_address",
                                        "typeString": "address"
                                    },
                                    "typeName": {
                                        "id": 19655,
                                        "name": "address",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "52302:7:62",
                                        "stateMutability": "nonpayable",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_address",
                                            "typeString": "address"
                                        }
                                    },
                                    "visibility": "internal"
                                },
                                {
                                    "constant": false,
                                    "id": 19658,
                                    "mutability": "mutable",
                                    "name": "p1",
                                    "nameLocation": "52319:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 19677,
                                    "src": "52314:7:62",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_uint256",
                                        "typeString": "uint256"
                                    },
                                    "typeName": {
                                        "id": 19657,
                                        "name": "uint",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "52314:4:62",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_uint256",
                                            "typeString": "uint256"
                                        }
                                    },
                                    "visibility": "internal"
                                },
                                {
                                    "constant": false,
                                    "id": 19660,
                                    "mutability": "mutable",
                                    "name": "p2",
                                    "nameLocation": "52328:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 19677,
                                    "src": "52323:7:62",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_bool",
                                        "typeString": "bool"
                                    },
                                    "typeName": {
                                        "id": 19659,
                                        "name": "bool",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "52323:4:62",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_bool",
                                            "typeString": "bool"
                                        }
                                    },
                                    "visibility": "internal"
                                },
                                {
                                    "constant": false,
                                    "id": 19662,
                                    "mutability": "mutable",
                                    "name": "p3",
                                    "nameLocation": "52346:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 19677,
                                    "src": "52332:16:62",
                                    "stateVariable": false,
                                    "storageLocation": "memory",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_string_memory_ptr",
                                        "typeString": "string"
                                    },
                                    "typeName": {
                                        "id": 19661,
                                        "name": "string",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "52332:6:62",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_string_storage_ptr",
                                            "typeString": "string"
                                        }
                                    },
                                    "visibility": "internal"
                                }
                            ],
                            "src": "52301:48:62"
                        },
                        "returnParameters": {
                            "id": 19664,
                            "nodeType": "ParameterList",
                            "parameters": [],
                            "src": "52364:0:62"
                        },
                        "scope": 20920,
                        "src": "52289:172:62",
                        "stateMutability": "view",
                        "virtual": false,
                        "visibility": "internal"
                    },
                    {
                        "body": {
                            "id": 19699,
                            "nodeType": "Block",
                            "src": "52530:95:62",
                            "statements": [
                                {
                                    "expression": {
                                        "arguments": [
                                            {
                                                "arguments": [
                                                    {
                                                        "hexValue": "6c6f6728616464726573732c75696e742c626f6f6c2c626f6f6c29",
                                                        "id": 19691,
                                                        "isConstant": false,
                                                        "isLValue": false,
                                                        "isPure": true,
                                                        "kind": "string",
                                                        "lValueRequested": false,
                                                        "nodeType": "Literal",
                                                        "src": "52574:29:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_stringliteral_fea1d55aec42c422504acea77de45574d2fa3abd9dc9c6288741e19c3bd9849b",
                                                            "typeString": "literal_string \"log(address,uint,bool,bool)\""
                                                        },
                                                        "value": "log(address,uint,bool,bool)"
                                                    },
                                                    {
                                                        "id": 19692,
                                                        "name": "p0",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 19679,
                                                        "src": "52605:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_address",
                                                            "typeString": "address"
                                                        }
                                                    },
                                                    {
                                                        "id": 19693,
                                                        "name": "p1",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 19681,
                                                        "src": "52609:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_uint256",
                                                            "typeString": "uint256"
                                                        }
                                                    },
                                                    {
                                                        "id": 19694,
                                                        "name": "p2",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 19683,
                                                        "src": "52613:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_bool",
                                                            "typeString": "bool"
                                                        }
                                                    },
                                                    {
                                                        "id": 19695,
                                                        "name": "p3",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 19685,
                                                        "src": "52617:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_bool",
                                                            "typeString": "bool"
                                                        }
                                                    }
                                                ],
                                                "expression": {
                                                    "argumentTypes": [
                                                        {
                                                            "typeIdentifier": "t_stringliteral_fea1d55aec42c422504acea77de45574d2fa3abd9dc9c6288741e19c3bd9849b",
                                                            "typeString": "literal_string \"log(address,uint,bool,bool)\""
                                                        },
                                                        {
                                                            "typeIdentifier": "t_address",
                                                            "typeString": "address"
                                                        },
                                                        {
                                                            "typeIdentifier": "t_uint256",
                                                            "typeString": "uint256"
                                                        },
                                                        {
                                                            "typeIdentifier": "t_bool",
                                                            "typeString": "bool"
                                                        },
                                                        {
                                                            "typeIdentifier": "t_bool",
                                                            "typeString": "bool"
                                                        }
                                                    ],
                                                    "expression": {
                                                        "id": 19689,
                                                        "name": "abi",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 4294967295,
                                                        "src": "52550:3:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_magic_abi",
                                                            "typeString": "abi"
                                                        }
                                                    },
                                                    "id": 19690,
                                                    "isConstant": false,
                                                    "isLValue": false,
                                                    "isPure": true,
                                                    "lValueRequested": false,
                                                    "memberName": "encodeWithSignature",
                                                    "nodeType": "MemberAccess",
                                                    "src": "52550:23:62",
                                                    "typeDescriptions": {
                                                        "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$",
                                                        "typeString": "function (string memory) pure returns (bytes memory)"
                                                    }
                                                },
                                                "id": 19696,
                                                "isConstant": false,
                                                "isLValue": false,
                                                "isPure": false,
                                                "kind": "functionCall",
                                                "lValueRequested": false,
                                                "names": [],
                                                "nodeType": "FunctionCall",
                                                "src": "52550:70:62",
                                                "tryCall": false,
                                                "typeDescriptions": {
                                                    "typeIdentifier": "t_bytes_memory_ptr",
                                                    "typeString": "bytes memory"
                                                }
                                            }
                                        ],
                                        "expression": {
                                            "argumentTypes": [
                                                {
                                                    "typeIdentifier": "t_bytes_memory_ptr",
                                                    "typeString": "bytes memory"
                                                }
                                            ],
                                            "id": 19688,
                                            "name": "_sendLogPayload",
                                            "nodeType": "Identifier",
                                            "overloadedDeclarations": [],
                                            "referencedDeclaration": 12880,
                                            "src": "52534:15:62",
                                            "typeDescriptions": {
                                                "typeIdentifier": "t_function_internal_view$_t_bytes_memory_ptr_$returns$__$",
                                                "typeString": "function (bytes memory) view"
                                            }
                                        },
                                        "id": 19697,
                                        "isConstant": false,
                                        "isLValue": false,
                                        "isPure": false,
                                        "kind": "functionCall",
                                        "lValueRequested": false,
                                        "names": [],
                                        "nodeType": "FunctionCall",
                                        "src": "52534:87:62",
                                        "tryCall": false,
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_tuple$__$",
                                            "typeString": "tuple()"
                                        }
                                    },
                                    "id": 19698,
                                    "nodeType": "ExpressionStatement",
                                    "src": "52534:87:62"
                                }
                            ]
                        },
                        "id": 19700,
                        "implemented": true,
                        "kind": "function",
                        "modifiers": [],
                        "name": "log",
                        "nameLocation": "52473:3:62",
                        "nodeType": "FunctionDefinition",
                        "parameters": {
                            "id": 19686,
                            "nodeType": "ParameterList",
                            "parameters": [
                                {
                                    "constant": false,
                                    "id": 19679,
                                    "mutability": "mutable",
                                    "name": "p0",
                                    "nameLocation": "52485:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 19700,
                                    "src": "52477:10:62",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_address",
                                        "typeString": "address"
                                    },
                                    "typeName": {
                                        "id": 19678,
                                        "name": "address",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "52477:7:62",
                                        "stateMutability": "nonpayable",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_address",
                                            "typeString": "address"
                                        }
                                    },
                                    "visibility": "internal"
                                },
                                {
                                    "constant": false,
                                    "id": 19681,
                                    "mutability": "mutable",
                                    "name": "p1",
                                    "nameLocation": "52494:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 19700,
                                    "src": "52489:7:62",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_uint256",
                                        "typeString": "uint256"
                                    },
                                    "typeName": {
                                        "id": 19680,
                                        "name": "uint",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "52489:4:62",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_uint256",
                                            "typeString": "uint256"
                                        }
                                    },
                                    "visibility": "internal"
                                },
                                {
                                    "constant": false,
                                    "id": 19683,
                                    "mutability": "mutable",
                                    "name": "p2",
                                    "nameLocation": "52503:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 19700,
                                    "src": "52498:7:62",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_bool",
                                        "typeString": "bool"
                                    },
                                    "typeName": {
                                        "id": 19682,
                                        "name": "bool",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "52498:4:62",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_bool",
                                            "typeString": "bool"
                                        }
                                    },
                                    "visibility": "internal"
                                },
                                {
                                    "constant": false,
                                    "id": 19685,
                                    "mutability": "mutable",
                                    "name": "p3",
                                    "nameLocation": "52512:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 19700,
                                    "src": "52507:7:62",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_bool",
                                        "typeString": "bool"
                                    },
                                    "typeName": {
                                        "id": 19684,
                                        "name": "bool",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "52507:4:62",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_bool",
                                            "typeString": "bool"
                                        }
                                    },
                                    "visibility": "internal"
                                }
                            ],
                            "src": "52476:39:62"
                        },
                        "returnParameters": {
                            "id": 19687,
                            "nodeType": "ParameterList",
                            "parameters": [],
                            "src": "52530:0:62"
                        },
                        "scope": 20920,
                        "src": "52464:161:62",
                        "stateMutability": "view",
                        "virtual": false,
                        "visibility": "internal"
                    },
                    {
                        "body": {
                            "id": 19722,
                            "nodeType": "Block",
                            "src": "52697:98:62",
                            "statements": [
                                {
                                    "expression": {
                                        "arguments": [
                                            {
                                                "arguments": [
                                                    {
                                                        "hexValue": "6c6f6728616464726573732c75696e742c626f6f6c2c6164647265737329",
                                                        "id": 19714,
                                                        "isConstant": false,
                                                        "isLValue": false,
                                                        "isPure": true,
                                                        "kind": "string",
                                                        "lValueRequested": false,
                                                        "nodeType": "Literal",
                                                        "src": "52741:32:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_stringliteral_23e5497254e625e6c33a3fa3eb47ff18f6bac3345da52f847bd5571820febf2d",
                                                            "typeString": "literal_string \"log(address,uint,bool,address)\""
                                                        },
                                                        "value": "log(address,uint,bool,address)"
                                                    },
                                                    {
                                                        "id": 19715,
                                                        "name": "p0",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 19702,
                                                        "src": "52775:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_address",
                                                            "typeString": "address"
                                                        }
                                                    },
                                                    {
                                                        "id": 19716,
                                                        "name": "p1",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 19704,
                                                        "src": "52779:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_uint256",
                                                            "typeString": "uint256"
                                                        }
                                                    },
                                                    {
                                                        "id": 19717,
                                                        "name": "p2",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 19706,
                                                        "src": "52783:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_bool",
                                                            "typeString": "bool"
                                                        }
                                                    },
                                                    {
                                                        "id": 19718,
                                                        "name": "p3",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 19708,
                                                        "src": "52787:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_address",
                                                            "typeString": "address"
                                                        }
                                                    }
                                                ],
                                                "expression": {
                                                    "argumentTypes": [
                                                        {
                                                            "typeIdentifier": "t_stringliteral_23e5497254e625e6c33a3fa3eb47ff18f6bac3345da52f847bd5571820febf2d",
                                                            "typeString": "literal_string \"log(address,uint,bool,address)\""
                                                        },
                                                        {
                                                            "typeIdentifier": "t_address",
                                                            "typeString": "address"
                                                        },
                                                        {
                                                            "typeIdentifier": "t_uint256",
                                                            "typeString": "uint256"
                                                        },
                                                        {
                                                            "typeIdentifier": "t_bool",
                                                            "typeString": "bool"
                                                        },
                                                        {
                                                            "typeIdentifier": "t_address",
                                                            "typeString": "address"
                                                        }
                                                    ],
                                                    "expression": {
                                                        "id": 19712,
                                                        "name": "abi",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 4294967295,
                                                        "src": "52717:3:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_magic_abi",
                                                            "typeString": "abi"
                                                        }
                                                    },
                                                    "id": 19713,
                                                    "isConstant": false,
                                                    "isLValue": false,
                                                    "isPure": true,
                                                    "lValueRequested": false,
                                                    "memberName": "encodeWithSignature",
                                                    "nodeType": "MemberAccess",
                                                    "src": "52717:23:62",
                                                    "typeDescriptions": {
                                                        "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$",
                                                        "typeString": "function (string memory) pure returns (bytes memory)"
                                                    }
                                                },
                                                "id": 19719,
                                                "isConstant": false,
                                                "isLValue": false,
                                                "isPure": false,
                                                "kind": "functionCall",
                                                "lValueRequested": false,
                                                "names": [],
                                                "nodeType": "FunctionCall",
                                                "src": "52717:73:62",
                                                "tryCall": false,
                                                "typeDescriptions": {
                                                    "typeIdentifier": "t_bytes_memory_ptr",
                                                    "typeString": "bytes memory"
                                                }
                                            }
                                        ],
                                        "expression": {
                                            "argumentTypes": [
                                                {
                                                    "typeIdentifier": "t_bytes_memory_ptr",
                                                    "typeString": "bytes memory"
                                                }
                                            ],
                                            "id": 19711,
                                            "name": "_sendLogPayload",
                                            "nodeType": "Identifier",
                                            "overloadedDeclarations": [],
                                            "referencedDeclaration": 12880,
                                            "src": "52701:15:62",
                                            "typeDescriptions": {
                                                "typeIdentifier": "t_function_internal_view$_t_bytes_memory_ptr_$returns$__$",
                                                "typeString": "function (bytes memory) view"
                                            }
                                        },
                                        "id": 19720,
                                        "isConstant": false,
                                        "isLValue": false,
                                        "isPure": false,
                                        "kind": "functionCall",
                                        "lValueRequested": false,
                                        "names": [],
                                        "nodeType": "FunctionCall",
                                        "src": "52701:90:62",
                                        "tryCall": false,
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_tuple$__$",
                                            "typeString": "tuple()"
                                        }
                                    },
                                    "id": 19721,
                                    "nodeType": "ExpressionStatement",
                                    "src": "52701:90:62"
                                }
                            ]
                        },
                        "id": 19723,
                        "implemented": true,
                        "kind": "function",
                        "modifiers": [],
                        "name": "log",
                        "nameLocation": "52637:3:62",
                        "nodeType": "FunctionDefinition",
                        "parameters": {
                            "id": 19709,
                            "nodeType": "ParameterList",
                            "parameters": [
                                {
                                    "constant": false,
                                    "id": 19702,
                                    "mutability": "mutable",
                                    "name": "p0",
                                    "nameLocation": "52649:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 19723,
                                    "src": "52641:10:62",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_address",
                                        "typeString": "address"
                                    },
                                    "typeName": {
                                        "id": 19701,
                                        "name": "address",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "52641:7:62",
                                        "stateMutability": "nonpayable",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_address",
                                            "typeString": "address"
                                        }
                                    },
                                    "visibility": "internal"
                                },
                                {
                                    "constant": false,
                                    "id": 19704,
                                    "mutability": "mutable",
                                    "name": "p1",
                                    "nameLocation": "52658:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 19723,
                                    "src": "52653:7:62",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_uint256",
                                        "typeString": "uint256"
                                    },
                                    "typeName": {
                                        "id": 19703,
                                        "name": "uint",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "52653:4:62",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_uint256",
                                            "typeString": "uint256"
                                        }
                                    },
                                    "visibility": "internal"
                                },
                                {
                                    "constant": false,
                                    "id": 19706,
                                    "mutability": "mutable",
                                    "name": "p2",
                                    "nameLocation": "52667:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 19723,
                                    "src": "52662:7:62",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_bool",
                                        "typeString": "bool"
                                    },
                                    "typeName": {
                                        "id": 19705,
                                        "name": "bool",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "52662:4:62",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_bool",
                                            "typeString": "bool"
                                        }
                                    },
                                    "visibility": "internal"
                                },
                                {
                                    "constant": false,
                                    "id": 19708,
                                    "mutability": "mutable",
                                    "name": "p3",
                                    "nameLocation": "52679:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 19723,
                                    "src": "52671:10:62",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_address",
                                        "typeString": "address"
                                    },
                                    "typeName": {
                                        "id": 19707,
                                        "name": "address",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "52671:7:62",
                                        "stateMutability": "nonpayable",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_address",
                                            "typeString": "address"
                                        }
                                    },
                                    "visibility": "internal"
                                }
                            ],
                            "src": "52640:42:62"
                        },
                        "returnParameters": {
                            "id": 19710,
                            "nodeType": "ParameterList",
                            "parameters": [],
                            "src": "52697:0:62"
                        },
                        "scope": 20920,
                        "src": "52628:167:62",
                        "stateMutability": "view",
                        "virtual": false,
                        "visibility": "internal"
                    },
                    {
                        "body": {
                            "id": 19745,
                            "nodeType": "Block",
                            "src": "52867:98:62",
                            "statements": [
                                {
                                    "expression": {
                                        "arguments": [
                                            {
                                                "arguments": [
                                                    {
                                                        "hexValue": "6c6f6728616464726573732c75696e742c616464726573732c75696e7429",
                                                        "id": 19737,
                                                        "isConstant": false,
                                                        "isLValue": false,
                                                        "isPure": true,
                                                        "kind": "string",
                                                        "lValueRequested": false,
                                                        "nodeType": "Literal",
                                                        "src": "52911:32:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_stringliteral_a5d98768f8145ad77f2cf1b1f44790c3edb28c68feadee43b01883b75311ac0e",
                                                            "typeString": "literal_string \"log(address,uint,address,uint)\""
                                                        },
                                                        "value": "log(address,uint,address,uint)"
                                                    },
                                                    {
                                                        "id": 19738,
                                                        "name": "p0",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 19725,
                                                        "src": "52945:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_address",
                                                            "typeString": "address"
                                                        }
                                                    },
                                                    {
                                                        "id": 19739,
                                                        "name": "p1",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 19727,
                                                        "src": "52949:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_uint256",
                                                            "typeString": "uint256"
                                                        }
                                                    },
                                                    {
                                                        "id": 19740,
                                                        "name": "p2",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 19729,
                                                        "src": "52953:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_address",
                                                            "typeString": "address"
                                                        }
                                                    },
                                                    {
                                                        "id": 19741,
                                                        "name": "p3",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 19731,
                                                        "src": "52957:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_uint256",
                                                            "typeString": "uint256"
                                                        }
                                                    }
                                                ],
                                                "expression": {
                                                    "argumentTypes": [
                                                        {
                                                            "typeIdentifier": "t_stringliteral_a5d98768f8145ad77f2cf1b1f44790c3edb28c68feadee43b01883b75311ac0e",
                                                            "typeString": "literal_string \"log(address,uint,address,uint)\""
                                                        },
                                                        {
                                                            "typeIdentifier": "t_address",
                                                            "typeString": "address"
                                                        },
                                                        {
                                                            "typeIdentifier": "t_uint256",
                                                            "typeString": "uint256"
                                                        },
                                                        {
                                                            "typeIdentifier": "t_address",
                                                            "typeString": "address"
                                                        },
                                                        {
                                                            "typeIdentifier": "t_uint256",
                                                            "typeString": "uint256"
                                                        }
                                                    ],
                                                    "expression": {
                                                        "id": 19735,
                                                        "name": "abi",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 4294967295,
                                                        "src": "52887:3:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_magic_abi",
                                                            "typeString": "abi"
                                                        }
                                                    },
                                                    "id": 19736,
                                                    "isConstant": false,
                                                    "isLValue": false,
                                                    "isPure": true,
                                                    "lValueRequested": false,
                                                    "memberName": "encodeWithSignature",
                                                    "nodeType": "MemberAccess",
                                                    "src": "52887:23:62",
                                                    "typeDescriptions": {
                                                        "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$",
                                                        "typeString": "function (string memory) pure returns (bytes memory)"
                                                    }
                                                },
                                                "id": 19742,
                                                "isConstant": false,
                                                "isLValue": false,
                                                "isPure": false,
                                                "kind": "functionCall",
                                                "lValueRequested": false,
                                                "names": [],
                                                "nodeType": "FunctionCall",
                                                "src": "52887:73:62",
                                                "tryCall": false,
                                                "typeDescriptions": {
                                                    "typeIdentifier": "t_bytes_memory_ptr",
                                                    "typeString": "bytes memory"
                                                }
                                            }
                                        ],
                                        "expression": {
                                            "argumentTypes": [
                                                {
                                                    "typeIdentifier": "t_bytes_memory_ptr",
                                                    "typeString": "bytes memory"
                                                }
                                            ],
                                            "id": 19734,
                                            "name": "_sendLogPayload",
                                            "nodeType": "Identifier",
                                            "overloadedDeclarations": [],
                                            "referencedDeclaration": 12880,
                                            "src": "52871:15:62",
                                            "typeDescriptions": {
                                                "typeIdentifier": "t_function_internal_view$_t_bytes_memory_ptr_$returns$__$",
                                                "typeString": "function (bytes memory) view"
                                            }
                                        },
                                        "id": 19743,
                                        "isConstant": false,
                                        "isLValue": false,
                                        "isPure": false,
                                        "kind": "functionCall",
                                        "lValueRequested": false,
                                        "names": [],
                                        "nodeType": "FunctionCall",
                                        "src": "52871:90:62",
                                        "tryCall": false,
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_tuple$__$",
                                            "typeString": "tuple()"
                                        }
                                    },
                                    "id": 19744,
                                    "nodeType": "ExpressionStatement",
                                    "src": "52871:90:62"
                                }
                            ]
                        },
                        "id": 19746,
                        "implemented": true,
                        "kind": "function",
                        "modifiers": [],
                        "name": "log",
                        "nameLocation": "52807:3:62",
                        "nodeType": "FunctionDefinition",
                        "parameters": {
                            "id": 19732,
                            "nodeType": "ParameterList",
                            "parameters": [
                                {
                                    "constant": false,
                                    "id": 19725,
                                    "mutability": "mutable",
                                    "name": "p0",
                                    "nameLocation": "52819:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 19746,
                                    "src": "52811:10:62",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_address",
                                        "typeString": "address"
                                    },
                                    "typeName": {
                                        "id": 19724,
                                        "name": "address",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "52811:7:62",
                                        "stateMutability": "nonpayable",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_address",
                                            "typeString": "address"
                                        }
                                    },
                                    "visibility": "internal"
                                },
                                {
                                    "constant": false,
                                    "id": 19727,
                                    "mutability": "mutable",
                                    "name": "p1",
                                    "nameLocation": "52828:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 19746,
                                    "src": "52823:7:62",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_uint256",
                                        "typeString": "uint256"
                                    },
                                    "typeName": {
                                        "id": 19726,
                                        "name": "uint",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "52823:4:62",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_uint256",
                                            "typeString": "uint256"
                                        }
                                    },
                                    "visibility": "internal"
                                },
                                {
                                    "constant": false,
                                    "id": 19729,
                                    "mutability": "mutable",
                                    "name": "p2",
                                    "nameLocation": "52840:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 19746,
                                    "src": "52832:10:62",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_address",
                                        "typeString": "address"
                                    },
                                    "typeName": {
                                        "id": 19728,
                                        "name": "address",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "52832:7:62",
                                        "stateMutability": "nonpayable",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_address",
                                            "typeString": "address"
                                        }
                                    },
                                    "visibility": "internal"
                                },
                                {
                                    "constant": false,
                                    "id": 19731,
                                    "mutability": "mutable",
                                    "name": "p3",
                                    "nameLocation": "52849:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 19746,
                                    "src": "52844:7:62",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_uint256",
                                        "typeString": "uint256"
                                    },
                                    "typeName": {
                                        "id": 19730,
                                        "name": "uint",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "52844:4:62",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_uint256",
                                            "typeString": "uint256"
                                        }
                                    },
                                    "visibility": "internal"
                                }
                            ],
                            "src": "52810:42:62"
                        },
                        "returnParameters": {
                            "id": 19733,
                            "nodeType": "ParameterList",
                            "parameters": [],
                            "src": "52867:0:62"
                        },
                        "scope": 20920,
                        "src": "52798:167:62",
                        "stateMutability": "view",
                        "virtual": false,
                        "visibility": "internal"
                    },
                    {
                        "body": {
                            "id": 19768,
                            "nodeType": "Block",
                            "src": "53046:100:62",
                            "statements": [
                                {
                                    "expression": {
                                        "arguments": [
                                            {
                                                "arguments": [
                                                    {
                                                        "hexValue": "6c6f6728616464726573732c75696e742c616464726573732c737472696e6729",
                                                        "id": 19760,
                                                        "isConstant": false,
                                                        "isLValue": false,
                                                        "isPure": true,
                                                        "kind": "string",
                                                        "lValueRequested": false,
                                                        "nodeType": "Literal",
                                                        "src": "53090:34:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_stringliteral_5d71f39ef468709ab1c82c125aa1311ff96f65f56794c27c7babe5651379e4b4",
                                                            "typeString": "literal_string \"log(address,uint,address,string)\""
                                                        },
                                                        "value": "log(address,uint,address,string)"
                                                    },
                                                    {
                                                        "id": 19761,
                                                        "name": "p0",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 19748,
                                                        "src": "53126:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_address",
                                                            "typeString": "address"
                                                        }
                                                    },
                                                    {
                                                        "id": 19762,
                                                        "name": "p1",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 19750,
                                                        "src": "53130:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_uint256",
                                                            "typeString": "uint256"
                                                        }
                                                    },
                                                    {
                                                        "id": 19763,
                                                        "name": "p2",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 19752,
                                                        "src": "53134:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_address",
                                                            "typeString": "address"
                                                        }
                                                    },
                                                    {
                                                        "id": 19764,
                                                        "name": "p3",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 19754,
                                                        "src": "53138:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_string_memory_ptr",
                                                            "typeString": "string memory"
                                                        }
                                                    }
                                                ],
                                                "expression": {
                                                    "argumentTypes": [
                                                        {
                                                            "typeIdentifier": "t_stringliteral_5d71f39ef468709ab1c82c125aa1311ff96f65f56794c27c7babe5651379e4b4",
                                                            "typeString": "literal_string \"log(address,uint,address,string)\""
                                                        },
                                                        {
                                                            "typeIdentifier": "t_address",
                                                            "typeString": "address"
                                                        },
                                                        {
                                                            "typeIdentifier": "t_uint256",
                                                            "typeString": "uint256"
                                                        },
                                                        {
                                                            "typeIdentifier": "t_address",
                                                            "typeString": "address"
                                                        },
                                                        {
                                                            "typeIdentifier": "t_string_memory_ptr",
                                                            "typeString": "string memory"
                                                        }
                                                    ],
                                                    "expression": {
                                                        "id": 19758,
                                                        "name": "abi",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 4294967295,
                                                        "src": "53066:3:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_magic_abi",
                                                            "typeString": "abi"
                                                        }
                                                    },
                                                    "id": 19759,
                                                    "isConstant": false,
                                                    "isLValue": false,
                                                    "isPure": true,
                                                    "lValueRequested": false,
                                                    "memberName": "encodeWithSignature",
                                                    "nodeType": "MemberAccess",
                                                    "src": "53066:23:62",
                                                    "typeDescriptions": {
                                                        "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$",
                                                        "typeString": "function (string memory) pure returns (bytes memory)"
                                                    }
                                                },
                                                "id": 19765,
                                                "isConstant": false,
                                                "isLValue": false,
                                                "isPure": false,
                                                "kind": "functionCall",
                                                "lValueRequested": false,
                                                "names": [],
                                                "nodeType": "FunctionCall",
                                                "src": "53066:75:62",
                                                "tryCall": false,
                                                "typeDescriptions": {
                                                    "typeIdentifier": "t_bytes_memory_ptr",
                                                    "typeString": "bytes memory"
                                                }
                                            }
                                        ],
                                        "expression": {
                                            "argumentTypes": [
                                                {
                                                    "typeIdentifier": "t_bytes_memory_ptr",
                                                    "typeString": "bytes memory"
                                                }
                                            ],
                                            "id": 19757,
                                            "name": "_sendLogPayload",
                                            "nodeType": "Identifier",
                                            "overloadedDeclarations": [],
                                            "referencedDeclaration": 12880,
                                            "src": "53050:15:62",
                                            "typeDescriptions": {
                                                "typeIdentifier": "t_function_internal_view$_t_bytes_memory_ptr_$returns$__$",
                                                "typeString": "function (bytes memory) view"
                                            }
                                        },
                                        "id": 19766,
                                        "isConstant": false,
                                        "isLValue": false,
                                        "isPure": false,
                                        "kind": "functionCall",
                                        "lValueRequested": false,
                                        "names": [],
                                        "nodeType": "FunctionCall",
                                        "src": "53050:92:62",
                                        "tryCall": false,
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_tuple$__$",
                                            "typeString": "tuple()"
                                        }
                                    },
                                    "id": 19767,
                                    "nodeType": "ExpressionStatement",
                                    "src": "53050:92:62"
                                }
                            ]
                        },
                        "id": 19769,
                        "implemented": true,
                        "kind": "function",
                        "modifiers": [],
                        "name": "log",
                        "nameLocation": "52977:3:62",
                        "nodeType": "FunctionDefinition",
                        "parameters": {
                            "id": 19755,
                            "nodeType": "ParameterList",
                            "parameters": [
                                {
                                    "constant": false,
                                    "id": 19748,
                                    "mutability": "mutable",
                                    "name": "p0",
                                    "nameLocation": "52989:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 19769,
                                    "src": "52981:10:62",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_address",
                                        "typeString": "address"
                                    },
                                    "typeName": {
                                        "id": 19747,
                                        "name": "address",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "52981:7:62",
                                        "stateMutability": "nonpayable",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_address",
                                            "typeString": "address"
                                        }
                                    },
                                    "visibility": "internal"
                                },
                                {
                                    "constant": false,
                                    "id": 19750,
                                    "mutability": "mutable",
                                    "name": "p1",
                                    "nameLocation": "52998:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 19769,
                                    "src": "52993:7:62",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_uint256",
                                        "typeString": "uint256"
                                    },
                                    "typeName": {
                                        "id": 19749,
                                        "name": "uint",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "52993:4:62",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_uint256",
                                            "typeString": "uint256"
                                        }
                                    },
                                    "visibility": "internal"
                                },
                                {
                                    "constant": false,
                                    "id": 19752,
                                    "mutability": "mutable",
                                    "name": "p2",
                                    "nameLocation": "53010:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 19769,
                                    "src": "53002:10:62",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_address",
                                        "typeString": "address"
                                    },
                                    "typeName": {
                                        "id": 19751,
                                        "name": "address",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "53002:7:62",
                                        "stateMutability": "nonpayable",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_address",
                                            "typeString": "address"
                                        }
                                    },
                                    "visibility": "internal"
                                },
                                {
                                    "constant": false,
                                    "id": 19754,
                                    "mutability": "mutable",
                                    "name": "p3",
                                    "nameLocation": "53028:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 19769,
                                    "src": "53014:16:62",
                                    "stateVariable": false,
                                    "storageLocation": "memory",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_string_memory_ptr",
                                        "typeString": "string"
                                    },
                                    "typeName": {
                                        "id": 19753,
                                        "name": "string",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "53014:6:62",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_string_storage_ptr",
                                            "typeString": "string"
                                        }
                                    },
                                    "visibility": "internal"
                                }
                            ],
                            "src": "52980:51:62"
                        },
                        "returnParameters": {
                            "id": 19756,
                            "nodeType": "ParameterList",
                            "parameters": [],
                            "src": "53046:0:62"
                        },
                        "scope": 20920,
                        "src": "52968:178:62",
                        "stateMutability": "view",
                        "virtual": false,
                        "visibility": "internal"
                    },
                    {
                        "body": {
                            "id": 19791,
                            "nodeType": "Block",
                            "src": "53218:98:62",
                            "statements": [
                                {
                                    "expression": {
                                        "arguments": [
                                            {
                                                "arguments": [
                                                    {
                                                        "hexValue": "6c6f6728616464726573732c75696e742c616464726573732c626f6f6c29",
                                                        "id": 19783,
                                                        "isConstant": false,
                                                        "isLValue": false,
                                                        "isPure": true,
                                                        "kind": "string",
                                                        "lValueRequested": false,
                                                        "nodeType": "Literal",
                                                        "src": "53262:32:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_stringliteral_f181a1e98aefbb6e5d63ca72f24da9aa3686f47d72314c12e70fa7843b309ee6",
                                                            "typeString": "literal_string \"log(address,uint,address,bool)\""
                                                        },
                                                        "value": "log(address,uint,address,bool)"
                                                    },
                                                    {
                                                        "id": 19784,
                                                        "name": "p0",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 19771,
                                                        "src": "53296:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_address",
                                                            "typeString": "address"
                                                        }
                                                    },
                                                    {
                                                        "id": 19785,
                                                        "name": "p1",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 19773,
                                                        "src": "53300:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_uint256",
                                                            "typeString": "uint256"
                                                        }
                                                    },
                                                    {
                                                        "id": 19786,
                                                        "name": "p2",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 19775,
                                                        "src": "53304:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_address",
                                                            "typeString": "address"
                                                        }
                                                    },
                                                    {
                                                        "id": 19787,
                                                        "name": "p3",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 19777,
                                                        "src": "53308:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_bool",
                                                            "typeString": "bool"
                                                        }
                                                    }
                                                ],
                                                "expression": {
                                                    "argumentTypes": [
                                                        {
                                                            "typeIdentifier": "t_stringliteral_f181a1e98aefbb6e5d63ca72f24da9aa3686f47d72314c12e70fa7843b309ee6",
                                                            "typeString": "literal_string \"log(address,uint,address,bool)\""
                                                        },
                                                        {
                                                            "typeIdentifier": "t_address",
                                                            "typeString": "address"
                                                        },
                                                        {
                                                            "typeIdentifier": "t_uint256",
                                                            "typeString": "uint256"
                                                        },
                                                        {
                                                            "typeIdentifier": "t_address",
                                                            "typeString": "address"
                                                        },
                                                        {
                                                            "typeIdentifier": "t_bool",
                                                            "typeString": "bool"
                                                        }
                                                    ],
                                                    "expression": {
                                                        "id": 19781,
                                                        "name": "abi",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 4294967295,
                                                        "src": "53238:3:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_magic_abi",
                                                            "typeString": "abi"
                                                        }
                                                    },
                                                    "id": 19782,
                                                    "isConstant": false,
                                                    "isLValue": false,
                                                    "isPure": true,
                                                    "lValueRequested": false,
                                                    "memberName": "encodeWithSignature",
                                                    "nodeType": "MemberAccess",
                                                    "src": "53238:23:62",
                                                    "typeDescriptions": {
                                                        "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$",
                                                        "typeString": "function (string memory) pure returns (bytes memory)"
                                                    }
                                                },
                                                "id": 19788,
                                                "isConstant": false,
                                                "isLValue": false,
                                                "isPure": false,
                                                "kind": "functionCall",
                                                "lValueRequested": false,
                                                "names": [],
                                                "nodeType": "FunctionCall",
                                                "src": "53238:73:62",
                                                "tryCall": false,
                                                "typeDescriptions": {
                                                    "typeIdentifier": "t_bytes_memory_ptr",
                                                    "typeString": "bytes memory"
                                                }
                                            }
                                        ],
                                        "expression": {
                                            "argumentTypes": [
                                                {
                                                    "typeIdentifier": "t_bytes_memory_ptr",
                                                    "typeString": "bytes memory"
                                                }
                                            ],
                                            "id": 19780,
                                            "name": "_sendLogPayload",
                                            "nodeType": "Identifier",
                                            "overloadedDeclarations": [],
                                            "referencedDeclaration": 12880,
                                            "src": "53222:15:62",
                                            "typeDescriptions": {
                                                "typeIdentifier": "t_function_internal_view$_t_bytes_memory_ptr_$returns$__$",
                                                "typeString": "function (bytes memory) view"
                                            }
                                        },
                                        "id": 19789,
                                        "isConstant": false,
                                        "isLValue": false,
                                        "isPure": false,
                                        "kind": "functionCall",
                                        "lValueRequested": false,
                                        "names": [],
                                        "nodeType": "FunctionCall",
                                        "src": "53222:90:62",
                                        "tryCall": false,
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_tuple$__$",
                                            "typeString": "tuple()"
                                        }
                                    },
                                    "id": 19790,
                                    "nodeType": "ExpressionStatement",
                                    "src": "53222:90:62"
                                }
                            ]
                        },
                        "id": 19792,
                        "implemented": true,
                        "kind": "function",
                        "modifiers": [],
                        "name": "log",
                        "nameLocation": "53158:3:62",
                        "nodeType": "FunctionDefinition",
                        "parameters": {
                            "id": 19778,
                            "nodeType": "ParameterList",
                            "parameters": [
                                {
                                    "constant": false,
                                    "id": 19771,
                                    "mutability": "mutable",
                                    "name": "p0",
                                    "nameLocation": "53170:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 19792,
                                    "src": "53162:10:62",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_address",
                                        "typeString": "address"
                                    },
                                    "typeName": {
                                        "id": 19770,
                                        "name": "address",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "53162:7:62",
                                        "stateMutability": "nonpayable",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_address",
                                            "typeString": "address"
                                        }
                                    },
                                    "visibility": "internal"
                                },
                                {
                                    "constant": false,
                                    "id": 19773,
                                    "mutability": "mutable",
                                    "name": "p1",
                                    "nameLocation": "53179:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 19792,
                                    "src": "53174:7:62",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_uint256",
                                        "typeString": "uint256"
                                    },
                                    "typeName": {
                                        "id": 19772,
                                        "name": "uint",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "53174:4:62",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_uint256",
                                            "typeString": "uint256"
                                        }
                                    },
                                    "visibility": "internal"
                                },
                                {
                                    "constant": false,
                                    "id": 19775,
                                    "mutability": "mutable",
                                    "name": "p2",
                                    "nameLocation": "53191:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 19792,
                                    "src": "53183:10:62",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_address",
                                        "typeString": "address"
                                    },
                                    "typeName": {
                                        "id": 19774,
                                        "name": "address",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "53183:7:62",
                                        "stateMutability": "nonpayable",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_address",
                                            "typeString": "address"
                                        }
                                    },
                                    "visibility": "internal"
                                },
                                {
                                    "constant": false,
                                    "id": 19777,
                                    "mutability": "mutable",
                                    "name": "p3",
                                    "nameLocation": "53200:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 19792,
                                    "src": "53195:7:62",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_bool",
                                        "typeString": "bool"
                                    },
                                    "typeName": {
                                        "id": 19776,
                                        "name": "bool",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "53195:4:62",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_bool",
                                            "typeString": "bool"
                                        }
                                    },
                                    "visibility": "internal"
                                }
                            ],
                            "src": "53161:42:62"
                        },
                        "returnParameters": {
                            "id": 19779,
                            "nodeType": "ParameterList",
                            "parameters": [],
                            "src": "53218:0:62"
                        },
                        "scope": 20920,
                        "src": "53149:167:62",
                        "stateMutability": "view",
                        "virtual": false,
                        "visibility": "internal"
                    },
                    {
                        "body": {
                            "id": 19814,
                            "nodeType": "Block",
                            "src": "53391:101:62",
                            "statements": [
                                {
                                    "expression": {
                                        "arguments": [
                                            {
                                                "arguments": [
                                                    {
                                                        "hexValue": "6c6f6728616464726573732c75696e742c616464726573732c6164647265737329",
                                                        "id": 19806,
                                                        "isConstant": false,
                                                        "isLValue": false,
                                                        "isPure": true,
                                                        "kind": "string",
                                                        "lValueRequested": false,
                                                        "nodeType": "Literal",
                                                        "src": "53435:35:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_stringliteral_ec24846f1ed52bfa5dc64139c1bf8b03f991fdd5156eccb50dfe44ca5a2ca40e",
                                                            "typeString": "literal_string \"log(address,uint,address,address)\""
                                                        },
                                                        "value": "log(address,uint,address,address)"
                                                    },
                                                    {
                                                        "id": 19807,
                                                        "name": "p0",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 19794,
                                                        "src": "53472:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_address",
                                                            "typeString": "address"
                                                        }
                                                    },
                                                    {
                                                        "id": 19808,
                                                        "name": "p1",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 19796,
                                                        "src": "53476:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_uint256",
                                                            "typeString": "uint256"
                                                        }
                                                    },
                                                    {
                                                        "id": 19809,
                                                        "name": "p2",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 19798,
                                                        "src": "53480:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_address",
                                                            "typeString": "address"
                                                        }
                                                    },
                                                    {
                                                        "id": 19810,
                                                        "name": "p3",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 19800,
                                                        "src": "53484:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_address",
                                                            "typeString": "address"
                                                        }
                                                    }
                                                ],
                                                "expression": {
                                                    "argumentTypes": [
                                                        {
                                                            "typeIdentifier": "t_stringliteral_ec24846f1ed52bfa5dc64139c1bf8b03f991fdd5156eccb50dfe44ca5a2ca40e",
                                                            "typeString": "literal_string \"log(address,uint,address,address)\""
                                                        },
                                                        {
                                                            "typeIdentifier": "t_address",
                                                            "typeString": "address"
                                                        },
                                                        {
                                                            "typeIdentifier": "t_uint256",
                                                            "typeString": "uint256"
                                                        },
                                                        {
                                                            "typeIdentifier": "t_address",
                                                            "typeString": "address"
                                                        },
                                                        {
                                                            "typeIdentifier": "t_address",
                                                            "typeString": "address"
                                                        }
                                                    ],
                                                    "expression": {
                                                        "id": 19804,
                                                        "name": "abi",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 4294967295,
                                                        "src": "53411:3:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_magic_abi",
                                                            "typeString": "abi"
                                                        }
                                                    },
                                                    "id": 19805,
                                                    "isConstant": false,
                                                    "isLValue": false,
                                                    "isPure": true,
                                                    "lValueRequested": false,
                                                    "memberName": "encodeWithSignature",
                                                    "nodeType": "MemberAccess",
                                                    "src": "53411:23:62",
                                                    "typeDescriptions": {
                                                        "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$",
                                                        "typeString": "function (string memory) pure returns (bytes memory)"
                                                    }
                                                },
                                                "id": 19811,
                                                "isConstant": false,
                                                "isLValue": false,
                                                "isPure": false,
                                                "kind": "functionCall",
                                                "lValueRequested": false,
                                                "names": [],
                                                "nodeType": "FunctionCall",
                                                "src": "53411:76:62",
                                                "tryCall": false,
                                                "typeDescriptions": {
                                                    "typeIdentifier": "t_bytes_memory_ptr",
                                                    "typeString": "bytes memory"
                                                }
                                            }
                                        ],
                                        "expression": {
                                            "argumentTypes": [
                                                {
                                                    "typeIdentifier": "t_bytes_memory_ptr",
                                                    "typeString": "bytes memory"
                                                }
                                            ],
                                            "id": 19803,
                                            "name": "_sendLogPayload",
                                            "nodeType": "Identifier",
                                            "overloadedDeclarations": [],
                                            "referencedDeclaration": 12880,
                                            "src": "53395:15:62",
                                            "typeDescriptions": {
                                                "typeIdentifier": "t_function_internal_view$_t_bytes_memory_ptr_$returns$__$",
                                                "typeString": "function (bytes memory) view"
                                            }
                                        },
                                        "id": 19812,
                                        "isConstant": false,
                                        "isLValue": false,
                                        "isPure": false,
                                        "kind": "functionCall",
                                        "lValueRequested": false,
                                        "names": [],
                                        "nodeType": "FunctionCall",
                                        "src": "53395:93:62",
                                        "tryCall": false,
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_tuple$__$",
                                            "typeString": "tuple()"
                                        }
                                    },
                                    "id": 19813,
                                    "nodeType": "ExpressionStatement",
                                    "src": "53395:93:62"
                                }
                            ]
                        },
                        "id": 19815,
                        "implemented": true,
                        "kind": "function",
                        "modifiers": [],
                        "name": "log",
                        "nameLocation": "53328:3:62",
                        "nodeType": "FunctionDefinition",
                        "parameters": {
                            "id": 19801,
                            "nodeType": "ParameterList",
                            "parameters": [
                                {
                                    "constant": false,
                                    "id": 19794,
                                    "mutability": "mutable",
                                    "name": "p0",
                                    "nameLocation": "53340:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 19815,
                                    "src": "53332:10:62",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_address",
                                        "typeString": "address"
                                    },
                                    "typeName": {
                                        "id": 19793,
                                        "name": "address",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "53332:7:62",
                                        "stateMutability": "nonpayable",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_address",
                                            "typeString": "address"
                                        }
                                    },
                                    "visibility": "internal"
                                },
                                {
                                    "constant": false,
                                    "id": 19796,
                                    "mutability": "mutable",
                                    "name": "p1",
                                    "nameLocation": "53349:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 19815,
                                    "src": "53344:7:62",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_uint256",
                                        "typeString": "uint256"
                                    },
                                    "typeName": {
                                        "id": 19795,
                                        "name": "uint",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "53344:4:62",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_uint256",
                                            "typeString": "uint256"
                                        }
                                    },
                                    "visibility": "internal"
                                },
                                {
                                    "constant": false,
                                    "id": 19798,
                                    "mutability": "mutable",
                                    "name": "p2",
                                    "nameLocation": "53361:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 19815,
                                    "src": "53353:10:62",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_address",
                                        "typeString": "address"
                                    },
                                    "typeName": {
                                        "id": 19797,
                                        "name": "address",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "53353:7:62",
                                        "stateMutability": "nonpayable",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_address",
                                            "typeString": "address"
                                        }
                                    },
                                    "visibility": "internal"
                                },
                                {
                                    "constant": false,
                                    "id": 19800,
                                    "mutability": "mutable",
                                    "name": "p3",
                                    "nameLocation": "53373:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 19815,
                                    "src": "53365:10:62",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_address",
                                        "typeString": "address"
                                    },
                                    "typeName": {
                                        "id": 19799,
                                        "name": "address",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "53365:7:62",
                                        "stateMutability": "nonpayable",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_address",
                                            "typeString": "address"
                                        }
                                    },
                                    "visibility": "internal"
                                }
                            ],
                            "src": "53331:45:62"
                        },
                        "returnParameters": {
                            "id": 19802,
                            "nodeType": "ParameterList",
                            "parameters": [],
                            "src": "53391:0:62"
                        },
                        "scope": 20920,
                        "src": "53319:173:62",
                        "stateMutability": "view",
                        "virtual": false,
                        "visibility": "internal"
                    },
                    {
                        "body": {
                            "id": 19837,
                            "nodeType": "Block",
                            "src": "53570:97:62",
                            "statements": [
                                {
                                    "expression": {
                                        "arguments": [
                                            {
                                                "arguments": [
                                                    {
                                                        "hexValue": "6c6f6728616464726573732c737472696e672c75696e742c75696e7429",
                                                        "id": 19829,
                                                        "isConstant": false,
                                                        "isLValue": false,
                                                        "isPure": true,
                                                        "kind": "string",
                                                        "lValueRequested": false,
                                                        "nodeType": "Literal",
                                                        "src": "53614:31:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_stringliteral_a4c92a60ad8c7136a44d442238a838fba251b421248205a77f1a522d55c988af",
                                                            "typeString": "literal_string \"log(address,string,uint,uint)\""
                                                        },
                                                        "value": "log(address,string,uint,uint)"
                                                    },
                                                    {
                                                        "id": 19830,
                                                        "name": "p0",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 19817,
                                                        "src": "53647:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_address",
                                                            "typeString": "address"
                                                        }
                                                    },
                                                    {
                                                        "id": 19831,
                                                        "name": "p1",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 19819,
                                                        "src": "53651:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_string_memory_ptr",
                                                            "typeString": "string memory"
                                                        }
                                                    },
                                                    {
                                                        "id": 19832,
                                                        "name": "p2",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 19821,
                                                        "src": "53655:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_uint256",
                                                            "typeString": "uint256"
                                                        }
                                                    },
                                                    {
                                                        "id": 19833,
                                                        "name": "p3",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 19823,
                                                        "src": "53659:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_uint256",
                                                            "typeString": "uint256"
                                                        }
                                                    }
                                                ],
                                                "expression": {
                                                    "argumentTypes": [
                                                        {
                                                            "typeIdentifier": "t_stringliteral_a4c92a60ad8c7136a44d442238a838fba251b421248205a77f1a522d55c988af",
                                                            "typeString": "literal_string \"log(address,string,uint,uint)\""
                                                        },
                                                        {
                                                            "typeIdentifier": "t_address",
                                                            "typeString": "address"
                                                        },
                                                        {
                                                            "typeIdentifier": "t_string_memory_ptr",
                                                            "typeString": "string memory"
                                                        },
                                                        {
                                                            "typeIdentifier": "t_uint256",
                                                            "typeString": "uint256"
                                                        },
                                                        {
                                                            "typeIdentifier": "t_uint256",
                                                            "typeString": "uint256"
                                                        }
                                                    ],
                                                    "expression": {
                                                        "id": 19827,
                                                        "name": "abi",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 4294967295,
                                                        "src": "53590:3:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_magic_abi",
                                                            "typeString": "abi"
                                                        }
                                                    },
                                                    "id": 19828,
                                                    "isConstant": false,
                                                    "isLValue": false,
                                                    "isPure": true,
                                                    "lValueRequested": false,
                                                    "memberName": "encodeWithSignature",
                                                    "nodeType": "MemberAccess",
                                                    "src": "53590:23:62",
                                                    "typeDescriptions": {
                                                        "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$",
                                                        "typeString": "function (string memory) pure returns (bytes memory)"
                                                    }
                                                },
                                                "id": 19834,
                                                "isConstant": false,
                                                "isLValue": false,
                                                "isPure": false,
                                                "kind": "functionCall",
                                                "lValueRequested": false,
                                                "names": [],
                                                "nodeType": "FunctionCall",
                                                "src": "53590:72:62",
                                                "tryCall": false,
                                                "typeDescriptions": {
                                                    "typeIdentifier": "t_bytes_memory_ptr",
                                                    "typeString": "bytes memory"
                                                }
                                            }
                                        ],
                                        "expression": {
                                            "argumentTypes": [
                                                {
                                                    "typeIdentifier": "t_bytes_memory_ptr",
                                                    "typeString": "bytes memory"
                                                }
                                            ],
                                            "id": 19826,
                                            "name": "_sendLogPayload",
                                            "nodeType": "Identifier",
                                            "overloadedDeclarations": [],
                                            "referencedDeclaration": 12880,
                                            "src": "53574:15:62",
                                            "typeDescriptions": {
                                                "typeIdentifier": "t_function_internal_view$_t_bytes_memory_ptr_$returns$__$",
                                                "typeString": "function (bytes memory) view"
                                            }
                                        },
                                        "id": 19835,
                                        "isConstant": false,
                                        "isLValue": false,
                                        "isPure": false,
                                        "kind": "functionCall",
                                        "lValueRequested": false,
                                        "names": [],
                                        "nodeType": "FunctionCall",
                                        "src": "53574:89:62",
                                        "tryCall": false,
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_tuple$__$",
                                            "typeString": "tuple()"
                                        }
                                    },
                                    "id": 19836,
                                    "nodeType": "ExpressionStatement",
                                    "src": "53574:89:62"
                                }
                            ]
                        },
                        "id": 19838,
                        "implemented": true,
                        "kind": "function",
                        "modifiers": [],
                        "name": "log",
                        "nameLocation": "53504:3:62",
                        "nodeType": "FunctionDefinition",
                        "parameters": {
                            "id": 19824,
                            "nodeType": "ParameterList",
                            "parameters": [
                                {
                                    "constant": false,
                                    "id": 19817,
                                    "mutability": "mutable",
                                    "name": "p0",
                                    "nameLocation": "53516:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 19838,
                                    "src": "53508:10:62",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_address",
                                        "typeString": "address"
                                    },
                                    "typeName": {
                                        "id": 19816,
                                        "name": "address",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "53508:7:62",
                                        "stateMutability": "nonpayable",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_address",
                                            "typeString": "address"
                                        }
                                    },
                                    "visibility": "internal"
                                },
                                {
                                    "constant": false,
                                    "id": 19819,
                                    "mutability": "mutable",
                                    "name": "p1",
                                    "nameLocation": "53534:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 19838,
                                    "src": "53520:16:62",
                                    "stateVariable": false,
                                    "storageLocation": "memory",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_string_memory_ptr",
                                        "typeString": "string"
                                    },
                                    "typeName": {
                                        "id": 19818,
                                        "name": "string",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "53520:6:62",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_string_storage_ptr",
                                            "typeString": "string"
                                        }
                                    },
                                    "visibility": "internal"
                                },
                                {
                                    "constant": false,
                                    "id": 19821,
                                    "mutability": "mutable",
                                    "name": "p2",
                                    "nameLocation": "53543:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 19838,
                                    "src": "53538:7:62",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_uint256",
                                        "typeString": "uint256"
                                    },
                                    "typeName": {
                                        "id": 19820,
                                        "name": "uint",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "53538:4:62",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_uint256",
                                            "typeString": "uint256"
                                        }
                                    },
                                    "visibility": "internal"
                                },
                                {
                                    "constant": false,
                                    "id": 19823,
                                    "mutability": "mutable",
                                    "name": "p3",
                                    "nameLocation": "53552:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 19838,
                                    "src": "53547:7:62",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_uint256",
                                        "typeString": "uint256"
                                    },
                                    "typeName": {
                                        "id": 19822,
                                        "name": "uint",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "53547:4:62",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_uint256",
                                            "typeString": "uint256"
                                        }
                                    },
                                    "visibility": "internal"
                                }
                            ],
                            "src": "53507:48:62"
                        },
                        "returnParameters": {
                            "id": 19825,
                            "nodeType": "ParameterList",
                            "parameters": [],
                            "src": "53570:0:62"
                        },
                        "scope": 20920,
                        "src": "53495:172:62",
                        "stateMutability": "view",
                        "virtual": false,
                        "visibility": "internal"
                    },
                    {
                        "body": {
                            "id": 19860,
                            "nodeType": "Block",
                            "src": "53754:99:62",
                            "statements": [
                                {
                                    "expression": {
                                        "arguments": [
                                            {
                                                "arguments": [
                                                    {
                                                        "hexValue": "6c6f6728616464726573732c737472696e672c75696e742c737472696e6729",
                                                        "id": 19852,
                                                        "isConstant": false,
                                                        "isLValue": false,
                                                        "isPure": true,
                                                        "kind": "string",
                                                        "lValueRequested": false,
                                                        "nodeType": "Literal",
                                                        "src": "53798:33:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_stringliteral_5d1365c94e45374e792b786edc547d0277c401db24a4303b5dd1e8a93df0829e",
                                                            "typeString": "literal_string \"log(address,string,uint,string)\""
                                                        },
                                                        "value": "log(address,string,uint,string)"
                                                    },
                                                    {
                                                        "id": 19853,
                                                        "name": "p0",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 19840,
                                                        "src": "53833:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_address",
                                                            "typeString": "address"
                                                        }
                                                    },
                                                    {
                                                        "id": 19854,
                                                        "name": "p1",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 19842,
                                                        "src": "53837:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_string_memory_ptr",
                                                            "typeString": "string memory"
                                                        }
                                                    },
                                                    {
                                                        "id": 19855,
                                                        "name": "p2",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 19844,
                                                        "src": "53841:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_uint256",
                                                            "typeString": "uint256"
                                                        }
                                                    },
                                                    {
                                                        "id": 19856,
                                                        "name": "p3",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 19846,
                                                        "src": "53845:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_string_memory_ptr",
                                                            "typeString": "string memory"
                                                        }
                                                    }
                                                ],
                                                "expression": {
                                                    "argumentTypes": [
                                                        {
                                                            "typeIdentifier": "t_stringliteral_5d1365c94e45374e792b786edc547d0277c401db24a4303b5dd1e8a93df0829e",
                                                            "typeString": "literal_string \"log(address,string,uint,string)\""
                                                        },
                                                        {
                                                            "typeIdentifier": "t_address",
                                                            "typeString": "address"
                                                        },
                                                        {
                                                            "typeIdentifier": "t_string_memory_ptr",
                                                            "typeString": "string memory"
                                                        },
                                                        {
                                                            "typeIdentifier": "t_uint256",
                                                            "typeString": "uint256"
                                                        },
                                                        {
                                                            "typeIdentifier": "t_string_memory_ptr",
                                                            "typeString": "string memory"
                                                        }
                                                    ],
                                                    "expression": {
                                                        "id": 19850,
                                                        "name": "abi",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 4294967295,
                                                        "src": "53774:3:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_magic_abi",
                                                            "typeString": "abi"
                                                        }
                                                    },
                                                    "id": 19851,
                                                    "isConstant": false,
                                                    "isLValue": false,
                                                    "isPure": true,
                                                    "lValueRequested": false,
                                                    "memberName": "encodeWithSignature",
                                                    "nodeType": "MemberAccess",
                                                    "src": "53774:23:62",
                                                    "typeDescriptions": {
                                                        "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$",
                                                        "typeString": "function (string memory) pure returns (bytes memory)"
                                                    }
                                                },
                                                "id": 19857,
                                                "isConstant": false,
                                                "isLValue": false,
                                                "isPure": false,
                                                "kind": "functionCall",
                                                "lValueRequested": false,
                                                "names": [],
                                                "nodeType": "FunctionCall",
                                                "src": "53774:74:62",
                                                "tryCall": false,
                                                "typeDescriptions": {
                                                    "typeIdentifier": "t_bytes_memory_ptr",
                                                    "typeString": "bytes memory"
                                                }
                                            }
                                        ],
                                        "expression": {
                                            "argumentTypes": [
                                                {
                                                    "typeIdentifier": "t_bytes_memory_ptr",
                                                    "typeString": "bytes memory"
                                                }
                                            ],
                                            "id": 19849,
                                            "name": "_sendLogPayload",
                                            "nodeType": "Identifier",
                                            "overloadedDeclarations": [],
                                            "referencedDeclaration": 12880,
                                            "src": "53758:15:62",
                                            "typeDescriptions": {
                                                "typeIdentifier": "t_function_internal_view$_t_bytes_memory_ptr_$returns$__$",
                                                "typeString": "function (bytes memory) view"
                                            }
                                        },
                                        "id": 19858,
                                        "isConstant": false,
                                        "isLValue": false,
                                        "isPure": false,
                                        "kind": "functionCall",
                                        "lValueRequested": false,
                                        "names": [],
                                        "nodeType": "FunctionCall",
                                        "src": "53758:91:62",
                                        "tryCall": false,
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_tuple$__$",
                                            "typeString": "tuple()"
                                        }
                                    },
                                    "id": 19859,
                                    "nodeType": "ExpressionStatement",
                                    "src": "53758:91:62"
                                }
                            ]
                        },
                        "id": 19861,
                        "implemented": true,
                        "kind": "function",
                        "modifiers": [],
                        "name": "log",
                        "nameLocation": "53679:3:62",
                        "nodeType": "FunctionDefinition",
                        "parameters": {
                            "id": 19847,
                            "nodeType": "ParameterList",
                            "parameters": [
                                {
                                    "constant": false,
                                    "id": 19840,
                                    "mutability": "mutable",
                                    "name": "p0",
                                    "nameLocation": "53691:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 19861,
                                    "src": "53683:10:62",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_address",
                                        "typeString": "address"
                                    },
                                    "typeName": {
                                        "id": 19839,
                                        "name": "address",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "53683:7:62",
                                        "stateMutability": "nonpayable",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_address",
                                            "typeString": "address"
                                        }
                                    },
                                    "visibility": "internal"
                                },
                                {
                                    "constant": false,
                                    "id": 19842,
                                    "mutability": "mutable",
                                    "name": "p1",
                                    "nameLocation": "53709:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 19861,
                                    "src": "53695:16:62",
                                    "stateVariable": false,
                                    "storageLocation": "memory",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_string_memory_ptr",
                                        "typeString": "string"
                                    },
                                    "typeName": {
                                        "id": 19841,
                                        "name": "string",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "53695:6:62",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_string_storage_ptr",
                                            "typeString": "string"
                                        }
                                    },
                                    "visibility": "internal"
                                },
                                {
                                    "constant": false,
                                    "id": 19844,
                                    "mutability": "mutable",
                                    "name": "p2",
                                    "nameLocation": "53718:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 19861,
                                    "src": "53713:7:62",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_uint256",
                                        "typeString": "uint256"
                                    },
                                    "typeName": {
                                        "id": 19843,
                                        "name": "uint",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "53713:4:62",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_uint256",
                                            "typeString": "uint256"
                                        }
                                    },
                                    "visibility": "internal"
                                },
                                {
                                    "constant": false,
                                    "id": 19846,
                                    "mutability": "mutable",
                                    "name": "p3",
                                    "nameLocation": "53736:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 19861,
                                    "src": "53722:16:62",
                                    "stateVariable": false,
                                    "storageLocation": "memory",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_string_memory_ptr",
                                        "typeString": "string"
                                    },
                                    "typeName": {
                                        "id": 19845,
                                        "name": "string",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "53722:6:62",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_string_storage_ptr",
                                            "typeString": "string"
                                        }
                                    },
                                    "visibility": "internal"
                                }
                            ],
                            "src": "53682:57:62"
                        },
                        "returnParameters": {
                            "id": 19848,
                            "nodeType": "ParameterList",
                            "parameters": [],
                            "src": "53754:0:62"
                        },
                        "scope": 20920,
                        "src": "53670:183:62",
                        "stateMutability": "view",
                        "virtual": false,
                        "visibility": "internal"
                    },
                    {
                        "body": {
                            "id": 19883,
                            "nodeType": "Block",
                            "src": "53931:97:62",
                            "statements": [
                                {
                                    "expression": {
                                        "arguments": [
                                            {
                                                "arguments": [
                                                    {
                                                        "hexValue": "6c6f6728616464726573732c737472696e672c75696e742c626f6f6c29",
                                                        "id": 19875,
                                                        "isConstant": false,
                                                        "isLValue": false,
                                                        "isPure": true,
                                                        "kind": "string",
                                                        "lValueRequested": false,
                                                        "nodeType": "Literal",
                                                        "src": "53975:31:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_stringliteral_7e250d5bf3975165268961c2b6dbe143f053bed03d903630f547f1fbab28b895",
                                                            "typeString": "literal_string \"log(address,string,uint,bool)\""
                                                        },
                                                        "value": "log(address,string,uint,bool)"
                                                    },
                                                    {
                                                        "id": 19876,
                                                        "name": "p0",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 19863,
                                                        "src": "54008:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_address",
                                                            "typeString": "address"
                                                        }
                                                    },
                                                    {
                                                        "id": 19877,
                                                        "name": "p1",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 19865,
                                                        "src": "54012:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_string_memory_ptr",
                                                            "typeString": "string memory"
                                                        }
                                                    },
                                                    {
                                                        "id": 19878,
                                                        "name": "p2",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 19867,
                                                        "src": "54016:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_uint256",
                                                            "typeString": "uint256"
                                                        }
                                                    },
                                                    {
                                                        "id": 19879,
                                                        "name": "p3",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 19869,
                                                        "src": "54020:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_bool",
                                                            "typeString": "bool"
                                                        }
                                                    }
                                                ],
                                                "expression": {
                                                    "argumentTypes": [
                                                        {
                                                            "typeIdentifier": "t_stringliteral_7e250d5bf3975165268961c2b6dbe143f053bed03d903630f547f1fbab28b895",
                                                            "typeString": "literal_string \"log(address,string,uint,bool)\""
                                                        },
                                                        {
                                                            "typeIdentifier": "t_address",
                                                            "typeString": "address"
                                                        },
                                                        {
                                                            "typeIdentifier": "t_string_memory_ptr",
                                                            "typeString": "string memory"
                                                        },
                                                        {
                                                            "typeIdentifier": "t_uint256",
                                                            "typeString": "uint256"
                                                        },
                                                        {
                                                            "typeIdentifier": "t_bool",
                                                            "typeString": "bool"
                                                        }
                                                    ],
                                                    "expression": {
                                                        "id": 19873,
                                                        "name": "abi",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 4294967295,
                                                        "src": "53951:3:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_magic_abi",
                                                            "typeString": "abi"
                                                        }
                                                    },
                                                    "id": 19874,
                                                    "isConstant": false,
                                                    "isLValue": false,
                                                    "isPure": true,
                                                    "lValueRequested": false,
                                                    "memberName": "encodeWithSignature",
                                                    "nodeType": "MemberAccess",
                                                    "src": "53951:23:62",
                                                    "typeDescriptions": {
                                                        "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$",
                                                        "typeString": "function (string memory) pure returns (bytes memory)"
                                                    }
                                                },
                                                "id": 19880,
                                                "isConstant": false,
                                                "isLValue": false,
                                                "isPure": false,
                                                "kind": "functionCall",
                                                "lValueRequested": false,
                                                "names": [],
                                                "nodeType": "FunctionCall",
                                                "src": "53951:72:62",
                                                "tryCall": false,
                                                "typeDescriptions": {
                                                    "typeIdentifier": "t_bytes_memory_ptr",
                                                    "typeString": "bytes memory"
                                                }
                                            }
                                        ],
                                        "expression": {
                                            "argumentTypes": [
                                                {
                                                    "typeIdentifier": "t_bytes_memory_ptr",
                                                    "typeString": "bytes memory"
                                                }
                                            ],
                                            "id": 19872,
                                            "name": "_sendLogPayload",
                                            "nodeType": "Identifier",
                                            "overloadedDeclarations": [],
                                            "referencedDeclaration": 12880,
                                            "src": "53935:15:62",
                                            "typeDescriptions": {
                                                "typeIdentifier": "t_function_internal_view$_t_bytes_memory_ptr_$returns$__$",
                                                "typeString": "function (bytes memory) view"
                                            }
                                        },
                                        "id": 19881,
                                        "isConstant": false,
                                        "isLValue": false,
                                        "isPure": false,
                                        "kind": "functionCall",
                                        "lValueRequested": false,
                                        "names": [],
                                        "nodeType": "FunctionCall",
                                        "src": "53935:89:62",
                                        "tryCall": false,
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_tuple$__$",
                                            "typeString": "tuple()"
                                        }
                                    },
                                    "id": 19882,
                                    "nodeType": "ExpressionStatement",
                                    "src": "53935:89:62"
                                }
                            ]
                        },
                        "id": 19884,
                        "implemented": true,
                        "kind": "function",
                        "modifiers": [],
                        "name": "log",
                        "nameLocation": "53865:3:62",
                        "nodeType": "FunctionDefinition",
                        "parameters": {
                            "id": 19870,
                            "nodeType": "ParameterList",
                            "parameters": [
                                {
                                    "constant": false,
                                    "id": 19863,
                                    "mutability": "mutable",
                                    "name": "p0",
                                    "nameLocation": "53877:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 19884,
                                    "src": "53869:10:62",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_address",
                                        "typeString": "address"
                                    },
                                    "typeName": {
                                        "id": 19862,
                                        "name": "address",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "53869:7:62",
                                        "stateMutability": "nonpayable",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_address",
                                            "typeString": "address"
                                        }
                                    },
                                    "visibility": "internal"
                                },
                                {
                                    "constant": false,
                                    "id": 19865,
                                    "mutability": "mutable",
                                    "name": "p1",
                                    "nameLocation": "53895:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 19884,
                                    "src": "53881:16:62",
                                    "stateVariable": false,
                                    "storageLocation": "memory",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_string_memory_ptr",
                                        "typeString": "string"
                                    },
                                    "typeName": {
                                        "id": 19864,
                                        "name": "string",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "53881:6:62",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_string_storage_ptr",
                                            "typeString": "string"
                                        }
                                    },
                                    "visibility": "internal"
                                },
                                {
                                    "constant": false,
                                    "id": 19867,
                                    "mutability": "mutable",
                                    "name": "p2",
                                    "nameLocation": "53904:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 19884,
                                    "src": "53899:7:62",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_uint256",
                                        "typeString": "uint256"
                                    },
                                    "typeName": {
                                        "id": 19866,
                                        "name": "uint",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "53899:4:62",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_uint256",
                                            "typeString": "uint256"
                                        }
                                    },
                                    "visibility": "internal"
                                },
                                {
                                    "constant": false,
                                    "id": 19869,
                                    "mutability": "mutable",
                                    "name": "p3",
                                    "nameLocation": "53913:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 19884,
                                    "src": "53908:7:62",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_bool",
                                        "typeString": "bool"
                                    },
                                    "typeName": {
                                        "id": 19868,
                                        "name": "bool",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "53908:4:62",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_bool",
                                            "typeString": "bool"
                                        }
                                    },
                                    "visibility": "internal"
                                }
                            ],
                            "src": "53868:48:62"
                        },
                        "returnParameters": {
                            "id": 19871,
                            "nodeType": "ParameterList",
                            "parameters": [],
                            "src": "53931:0:62"
                        },
                        "scope": 20920,
                        "src": "53856:172:62",
                        "stateMutability": "view",
                        "virtual": false,
                        "visibility": "internal"
                    },
                    {
                        "body": {
                            "id": 19906,
                            "nodeType": "Block",
                            "src": "54109:100:62",
                            "statements": [
                                {
                                    "expression": {
                                        "arguments": [
                                            {
                                                "arguments": [
                                                    {
                                                        "hexValue": "6c6f6728616464726573732c737472696e672c75696e742c6164647265737329",
                                                        "id": 19898,
                                                        "isConstant": false,
                                                        "isLValue": false,
                                                        "isPure": true,
                                                        "kind": "string",
                                                        "lValueRequested": false,
                                                        "nodeType": "Literal",
                                                        "src": "54153:34:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_stringliteral_dfd7d80b4150ea6b0b2772758d6e66d8c7f141bfd7de11119a8fee2a703664e4",
                                                            "typeString": "literal_string \"log(address,string,uint,address)\""
                                                        },
                                                        "value": "log(address,string,uint,address)"
                                                    },
                                                    {
                                                        "id": 19899,
                                                        "name": "p0",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 19886,
                                                        "src": "54189:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_address",
                                                            "typeString": "address"
                                                        }
                                                    },
                                                    {
                                                        "id": 19900,
                                                        "name": "p1",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 19888,
                                                        "src": "54193:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_string_memory_ptr",
                                                            "typeString": "string memory"
                                                        }
                                                    },
                                                    {
                                                        "id": 19901,
                                                        "name": "p2",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 19890,
                                                        "src": "54197:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_uint256",
                                                            "typeString": "uint256"
                                                        }
                                                    },
                                                    {
                                                        "id": 19902,
                                                        "name": "p3",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 19892,
                                                        "src": "54201:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_address",
                                                            "typeString": "address"
                                                        }
                                                    }
                                                ],
                                                "expression": {
                                                    "argumentTypes": [
                                                        {
                                                            "typeIdentifier": "t_stringliteral_dfd7d80b4150ea6b0b2772758d6e66d8c7f141bfd7de11119a8fee2a703664e4",
                                                            "typeString": "literal_string \"log(address,string,uint,address)\""
                                                        },
                                                        {
                                                            "typeIdentifier": "t_address",
                                                            "typeString": "address"
                                                        },
                                                        {
                                                            "typeIdentifier": "t_string_memory_ptr",
                                                            "typeString": "string memory"
                                                        },
                                                        {
                                                            "typeIdentifier": "t_uint256",
                                                            "typeString": "uint256"
                                                        },
                                                        {
                                                            "typeIdentifier": "t_address",
                                                            "typeString": "address"
                                                        }
                                                    ],
                                                    "expression": {
                                                        "id": 19896,
                                                        "name": "abi",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 4294967295,
                                                        "src": "54129:3:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_magic_abi",
                                                            "typeString": "abi"
                                                        }
                                                    },
                                                    "id": 19897,
                                                    "isConstant": false,
                                                    "isLValue": false,
                                                    "isPure": true,
                                                    "lValueRequested": false,
                                                    "memberName": "encodeWithSignature",
                                                    "nodeType": "MemberAccess",
                                                    "src": "54129:23:62",
                                                    "typeDescriptions": {
                                                        "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$",
                                                        "typeString": "function (string memory) pure returns (bytes memory)"
                                                    }
                                                },
                                                "id": 19903,
                                                "isConstant": false,
                                                "isLValue": false,
                                                "isPure": false,
                                                "kind": "functionCall",
                                                "lValueRequested": false,
                                                "names": [],
                                                "nodeType": "FunctionCall",
                                                "src": "54129:75:62",
                                                "tryCall": false,
                                                "typeDescriptions": {
                                                    "typeIdentifier": "t_bytes_memory_ptr",
                                                    "typeString": "bytes memory"
                                                }
                                            }
                                        ],
                                        "expression": {
                                            "argumentTypes": [
                                                {
                                                    "typeIdentifier": "t_bytes_memory_ptr",
                                                    "typeString": "bytes memory"
                                                }
                                            ],
                                            "id": 19895,
                                            "name": "_sendLogPayload",
                                            "nodeType": "Identifier",
                                            "overloadedDeclarations": [],
                                            "referencedDeclaration": 12880,
                                            "src": "54113:15:62",
                                            "typeDescriptions": {
                                                "typeIdentifier": "t_function_internal_view$_t_bytes_memory_ptr_$returns$__$",
                                                "typeString": "function (bytes memory) view"
                                            }
                                        },
                                        "id": 19904,
                                        "isConstant": false,
                                        "isLValue": false,
                                        "isPure": false,
                                        "kind": "functionCall",
                                        "lValueRequested": false,
                                        "names": [],
                                        "nodeType": "FunctionCall",
                                        "src": "54113:92:62",
                                        "tryCall": false,
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_tuple$__$",
                                            "typeString": "tuple()"
                                        }
                                    },
                                    "id": 19905,
                                    "nodeType": "ExpressionStatement",
                                    "src": "54113:92:62"
                                }
                            ]
                        },
                        "id": 19907,
                        "implemented": true,
                        "kind": "function",
                        "modifiers": [],
                        "name": "log",
                        "nameLocation": "54040:3:62",
                        "nodeType": "FunctionDefinition",
                        "parameters": {
                            "id": 19893,
                            "nodeType": "ParameterList",
                            "parameters": [
                                {
                                    "constant": false,
                                    "id": 19886,
                                    "mutability": "mutable",
                                    "name": "p0",
                                    "nameLocation": "54052:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 19907,
                                    "src": "54044:10:62",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_address",
                                        "typeString": "address"
                                    },
                                    "typeName": {
                                        "id": 19885,
                                        "name": "address",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "54044:7:62",
                                        "stateMutability": "nonpayable",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_address",
                                            "typeString": "address"
                                        }
                                    },
                                    "visibility": "internal"
                                },
                                {
                                    "constant": false,
                                    "id": 19888,
                                    "mutability": "mutable",
                                    "name": "p1",
                                    "nameLocation": "54070:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 19907,
                                    "src": "54056:16:62",
                                    "stateVariable": false,
                                    "storageLocation": "memory",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_string_memory_ptr",
                                        "typeString": "string"
                                    },
                                    "typeName": {
                                        "id": 19887,
                                        "name": "string",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "54056:6:62",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_string_storage_ptr",
                                            "typeString": "string"
                                        }
                                    },
                                    "visibility": "internal"
                                },
                                {
                                    "constant": false,
                                    "id": 19890,
                                    "mutability": "mutable",
                                    "name": "p2",
                                    "nameLocation": "54079:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 19907,
                                    "src": "54074:7:62",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_uint256",
                                        "typeString": "uint256"
                                    },
                                    "typeName": {
                                        "id": 19889,
                                        "name": "uint",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "54074:4:62",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_uint256",
                                            "typeString": "uint256"
                                        }
                                    },
                                    "visibility": "internal"
                                },
                                {
                                    "constant": false,
                                    "id": 19892,
                                    "mutability": "mutable",
                                    "name": "p3",
                                    "nameLocation": "54091:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 19907,
                                    "src": "54083:10:62",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_address",
                                        "typeString": "address"
                                    },
                                    "typeName": {
                                        "id": 19891,
                                        "name": "address",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "54083:7:62",
                                        "stateMutability": "nonpayable",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_address",
                                            "typeString": "address"
                                        }
                                    },
                                    "visibility": "internal"
                                }
                            ],
                            "src": "54043:51:62"
                        },
                        "returnParameters": {
                            "id": 19894,
                            "nodeType": "ParameterList",
                            "parameters": [],
                            "src": "54109:0:62"
                        },
                        "scope": 20920,
                        "src": "54031:178:62",
                        "stateMutability": "view",
                        "virtual": false,
                        "visibility": "internal"
                    },
                    {
                        "body": {
                            "id": 19929,
                            "nodeType": "Block",
                            "src": "54296:99:62",
                            "statements": [
                                {
                                    "expression": {
                                        "arguments": [
                                            {
                                                "arguments": [
                                                    {
                                                        "hexValue": "6c6f6728616464726573732c737472696e672c737472696e672c75696e7429",
                                                        "id": 19921,
                                                        "isConstant": false,
                                                        "isLValue": false,
                                                        "isPure": true,
                                                        "kind": "string",
                                                        "lValueRequested": false,
                                                        "nodeType": "Literal",
                                                        "src": "54340:33:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_stringliteral_a14fd039ae37435afa9d1674d6d48b37ffbd5da4cd9166a3f673f5f0db01a4c5",
                                                            "typeString": "literal_string \"log(address,string,string,uint)\""
                                                        },
                                                        "value": "log(address,string,string,uint)"
                                                    },
                                                    {
                                                        "id": 19922,
                                                        "name": "p0",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 19909,
                                                        "src": "54375:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_address",
                                                            "typeString": "address"
                                                        }
                                                    },
                                                    {
                                                        "id": 19923,
                                                        "name": "p1",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 19911,
                                                        "src": "54379:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_string_memory_ptr",
                                                            "typeString": "string memory"
                                                        }
                                                    },
                                                    {
                                                        "id": 19924,
                                                        "name": "p2",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 19913,
                                                        "src": "54383:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_string_memory_ptr",
                                                            "typeString": "string memory"
                                                        }
                                                    },
                                                    {
                                                        "id": 19925,
                                                        "name": "p3",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 19915,
                                                        "src": "54387:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_uint256",
                                                            "typeString": "uint256"
                                                        }
                                                    }
                                                ],
                                                "expression": {
                                                    "argumentTypes": [
                                                        {
                                                            "typeIdentifier": "t_stringliteral_a14fd039ae37435afa9d1674d6d48b37ffbd5da4cd9166a3f673f5f0db01a4c5",
                                                            "typeString": "literal_string \"log(address,string,string,uint)\""
                                                        },
                                                        {
                                                            "typeIdentifier": "t_address",
                                                            "typeString": "address"
                                                        },
                                                        {
                                                            "typeIdentifier": "t_string_memory_ptr",
                                                            "typeString": "string memory"
                                                        },
                                                        {
                                                            "typeIdentifier": "t_string_memory_ptr",
                                                            "typeString": "string memory"
                                                        },
                                                        {
                                                            "typeIdentifier": "t_uint256",
                                                            "typeString": "uint256"
                                                        }
                                                    ],
                                                    "expression": {
                                                        "id": 19919,
                                                        "name": "abi",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 4294967295,
                                                        "src": "54316:3:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_magic_abi",
                                                            "typeString": "abi"
                                                        }
                                                    },
                                                    "id": 19920,
                                                    "isConstant": false,
                                                    "isLValue": false,
                                                    "isPure": true,
                                                    "lValueRequested": false,
                                                    "memberName": "encodeWithSignature",
                                                    "nodeType": "MemberAccess",
                                                    "src": "54316:23:62",
                                                    "typeDescriptions": {
                                                        "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$",
                                                        "typeString": "function (string memory) pure returns (bytes memory)"
                                                    }
                                                },
                                                "id": 19926,
                                                "isConstant": false,
                                                "isLValue": false,
                                                "isPure": false,
                                                "kind": "functionCall",
                                                "lValueRequested": false,
                                                "names": [],
                                                "nodeType": "FunctionCall",
                                                "src": "54316:74:62",
                                                "tryCall": false,
                                                "typeDescriptions": {
                                                    "typeIdentifier": "t_bytes_memory_ptr",
                                                    "typeString": "bytes memory"
                                                }
                                            }
                                        ],
                                        "expression": {
                                            "argumentTypes": [
                                                {
                                                    "typeIdentifier": "t_bytes_memory_ptr",
                                                    "typeString": "bytes memory"
                                                }
                                            ],
                                            "id": 19918,
                                            "name": "_sendLogPayload",
                                            "nodeType": "Identifier",
                                            "overloadedDeclarations": [],
                                            "referencedDeclaration": 12880,
                                            "src": "54300:15:62",
                                            "typeDescriptions": {
                                                "typeIdentifier": "t_function_internal_view$_t_bytes_memory_ptr_$returns$__$",
                                                "typeString": "function (bytes memory) view"
                                            }
                                        },
                                        "id": 19927,
                                        "isConstant": false,
                                        "isLValue": false,
                                        "isPure": false,
                                        "kind": "functionCall",
                                        "lValueRequested": false,
                                        "names": [],
                                        "nodeType": "FunctionCall",
                                        "src": "54300:91:62",
                                        "tryCall": false,
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_tuple$__$",
                                            "typeString": "tuple()"
                                        }
                                    },
                                    "id": 19928,
                                    "nodeType": "ExpressionStatement",
                                    "src": "54300:91:62"
                                }
                            ]
                        },
                        "id": 19930,
                        "implemented": true,
                        "kind": "function",
                        "modifiers": [],
                        "name": "log",
                        "nameLocation": "54221:3:62",
                        "nodeType": "FunctionDefinition",
                        "parameters": {
                            "id": 19916,
                            "nodeType": "ParameterList",
                            "parameters": [
                                {
                                    "constant": false,
                                    "id": 19909,
                                    "mutability": "mutable",
                                    "name": "p0",
                                    "nameLocation": "54233:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 19930,
                                    "src": "54225:10:62",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_address",
                                        "typeString": "address"
                                    },
                                    "typeName": {
                                        "id": 19908,
                                        "name": "address",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "54225:7:62",
                                        "stateMutability": "nonpayable",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_address",
                                            "typeString": "address"
                                        }
                                    },
                                    "visibility": "internal"
                                },
                                {
                                    "constant": false,
                                    "id": 19911,
                                    "mutability": "mutable",
                                    "name": "p1",
                                    "nameLocation": "54251:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 19930,
                                    "src": "54237:16:62",
                                    "stateVariable": false,
                                    "storageLocation": "memory",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_string_memory_ptr",
                                        "typeString": "string"
                                    },
                                    "typeName": {
                                        "id": 19910,
                                        "name": "string",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "54237:6:62",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_string_storage_ptr",
                                            "typeString": "string"
                                        }
                                    },
                                    "visibility": "internal"
                                },
                                {
                                    "constant": false,
                                    "id": 19913,
                                    "mutability": "mutable",
                                    "name": "p2",
                                    "nameLocation": "54269:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 19930,
                                    "src": "54255:16:62",
                                    "stateVariable": false,
                                    "storageLocation": "memory",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_string_memory_ptr",
                                        "typeString": "string"
                                    },
                                    "typeName": {
                                        "id": 19912,
                                        "name": "string",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "54255:6:62",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_string_storage_ptr",
                                            "typeString": "string"
                                        }
                                    },
                                    "visibility": "internal"
                                },
                                {
                                    "constant": false,
                                    "id": 19915,
                                    "mutability": "mutable",
                                    "name": "p3",
                                    "nameLocation": "54278:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 19930,
                                    "src": "54273:7:62",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_uint256",
                                        "typeString": "uint256"
                                    },
                                    "typeName": {
                                        "id": 19914,
                                        "name": "uint",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "54273:4:62",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_uint256",
                                            "typeString": "uint256"
                                        }
                                    },
                                    "visibility": "internal"
                                }
                            ],
                            "src": "54224:57:62"
                        },
                        "returnParameters": {
                            "id": 19917,
                            "nodeType": "ParameterList",
                            "parameters": [],
                            "src": "54296:0:62"
                        },
                        "scope": 20920,
                        "src": "54212:183:62",
                        "stateMutability": "view",
                        "virtual": false,
                        "visibility": "internal"
                    },
                    {
                        "body": {
                            "id": 19952,
                            "nodeType": "Block",
                            "src": "54491:101:62",
                            "statements": [
                                {
                                    "expression": {
                                        "arguments": [
                                            {
                                                "arguments": [
                                                    {
                                                        "hexValue": "6c6f6728616464726573732c737472696e672c737472696e672c737472696e6729",
                                                        "id": 19944,
                                                        "isConstant": false,
                                                        "isLValue": false,
                                                        "isPure": true,
                                                        "kind": "string",
                                                        "lValueRequested": false,
                                                        "nodeType": "Literal",
                                                        "src": "54535:35:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_stringliteral_5d02c50b371ad9a1f5c638dc99b5e9b545011f148f0be5233c530a4b2a12665c",
                                                            "typeString": "literal_string \"log(address,string,string,string)\""
                                                        },
                                                        "value": "log(address,string,string,string)"
                                                    },
                                                    {
                                                        "id": 19945,
                                                        "name": "p0",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 19932,
                                                        "src": "54572:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_address",
                                                            "typeString": "address"
                                                        }
                                                    },
                                                    {
                                                        "id": 19946,
                                                        "name": "p1",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 19934,
                                                        "src": "54576:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_string_memory_ptr",
                                                            "typeString": "string memory"
                                                        }
                                                    },
                                                    {
                                                        "id": 19947,
                                                        "name": "p2",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 19936,
                                                        "src": "54580:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_string_memory_ptr",
                                                            "typeString": "string memory"
                                                        }
                                                    },
                                                    {
                                                        "id": 19948,
                                                        "name": "p3",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 19938,
                                                        "src": "54584:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_string_memory_ptr",
                                                            "typeString": "string memory"
                                                        }
                                                    }
                                                ],
                                                "expression": {
                                                    "argumentTypes": [
                                                        {
                                                            "typeIdentifier": "t_stringliteral_5d02c50b371ad9a1f5c638dc99b5e9b545011f148f0be5233c530a4b2a12665c",
                                                            "typeString": "literal_string \"log(address,string,string,string)\""
                                                        },
                                                        {
                                                            "typeIdentifier": "t_address",
                                                            "typeString": "address"
                                                        },
                                                        {
                                                            "typeIdentifier": "t_string_memory_ptr",
                                                            "typeString": "string memory"
                                                        },
                                                        {
                                                            "typeIdentifier": "t_string_memory_ptr",
                                                            "typeString": "string memory"
                                                        },
                                                        {
                                                            "typeIdentifier": "t_string_memory_ptr",
                                                            "typeString": "string memory"
                                                        }
                                                    ],
                                                    "expression": {
                                                        "id": 19942,
                                                        "name": "abi",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 4294967295,
                                                        "src": "54511:3:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_magic_abi",
                                                            "typeString": "abi"
                                                        }
                                                    },
                                                    "id": 19943,
                                                    "isConstant": false,
                                                    "isLValue": false,
                                                    "isPure": true,
                                                    "lValueRequested": false,
                                                    "memberName": "encodeWithSignature",
                                                    "nodeType": "MemberAccess",
                                                    "src": "54511:23:62",
                                                    "typeDescriptions": {
                                                        "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$",
                                                        "typeString": "function (string memory) pure returns (bytes memory)"
                                                    }
                                                },
                                                "id": 19949,
                                                "isConstant": false,
                                                "isLValue": false,
                                                "isPure": false,
                                                "kind": "functionCall",
                                                "lValueRequested": false,
                                                "names": [],
                                                "nodeType": "FunctionCall",
                                                "src": "54511:76:62",
                                                "tryCall": false,
                                                "typeDescriptions": {
                                                    "typeIdentifier": "t_bytes_memory_ptr",
                                                    "typeString": "bytes memory"
                                                }
                                            }
                                        ],
                                        "expression": {
                                            "argumentTypes": [
                                                {
                                                    "typeIdentifier": "t_bytes_memory_ptr",
                                                    "typeString": "bytes memory"
                                                }
                                            ],
                                            "id": 19941,
                                            "name": "_sendLogPayload",
                                            "nodeType": "Identifier",
                                            "overloadedDeclarations": [],
                                            "referencedDeclaration": 12880,
                                            "src": "54495:15:62",
                                            "typeDescriptions": {
                                                "typeIdentifier": "t_function_internal_view$_t_bytes_memory_ptr_$returns$__$",
                                                "typeString": "function (bytes memory) view"
                                            }
                                        },
                                        "id": 19950,
                                        "isConstant": false,
                                        "isLValue": false,
                                        "isPure": false,
                                        "kind": "functionCall",
                                        "lValueRequested": false,
                                        "names": [],
                                        "nodeType": "FunctionCall",
                                        "src": "54495:93:62",
                                        "tryCall": false,
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_tuple$__$",
                                            "typeString": "tuple()"
                                        }
                                    },
                                    "id": 19951,
                                    "nodeType": "ExpressionStatement",
                                    "src": "54495:93:62"
                                }
                            ]
                        },
                        "id": 19953,
                        "implemented": true,
                        "kind": "function",
                        "modifiers": [],
                        "name": "log",
                        "nameLocation": "54407:3:62",
                        "nodeType": "FunctionDefinition",
                        "parameters": {
                            "id": 19939,
                            "nodeType": "ParameterList",
                            "parameters": [
                                {
                                    "constant": false,
                                    "id": 19932,
                                    "mutability": "mutable",
                                    "name": "p0",
                                    "nameLocation": "54419:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 19953,
                                    "src": "54411:10:62",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_address",
                                        "typeString": "address"
                                    },
                                    "typeName": {
                                        "id": 19931,
                                        "name": "address",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "54411:7:62",
                                        "stateMutability": "nonpayable",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_address",
                                            "typeString": "address"
                                        }
                                    },
                                    "visibility": "internal"
                                },
                                {
                                    "constant": false,
                                    "id": 19934,
                                    "mutability": "mutable",
                                    "name": "p1",
                                    "nameLocation": "54437:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 19953,
                                    "src": "54423:16:62",
                                    "stateVariable": false,
                                    "storageLocation": "memory",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_string_memory_ptr",
                                        "typeString": "string"
                                    },
                                    "typeName": {
                                        "id": 19933,
                                        "name": "string",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "54423:6:62",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_string_storage_ptr",
                                            "typeString": "string"
                                        }
                                    },
                                    "visibility": "internal"
                                },
                                {
                                    "constant": false,
                                    "id": 19936,
                                    "mutability": "mutable",
                                    "name": "p2",
                                    "nameLocation": "54455:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 19953,
                                    "src": "54441:16:62",
                                    "stateVariable": false,
                                    "storageLocation": "memory",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_string_memory_ptr",
                                        "typeString": "string"
                                    },
                                    "typeName": {
                                        "id": 19935,
                                        "name": "string",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "54441:6:62",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_string_storage_ptr",
                                            "typeString": "string"
                                        }
                                    },
                                    "visibility": "internal"
                                },
                                {
                                    "constant": false,
                                    "id": 19938,
                                    "mutability": "mutable",
                                    "name": "p3",
                                    "nameLocation": "54473:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 19953,
                                    "src": "54459:16:62",
                                    "stateVariable": false,
                                    "storageLocation": "memory",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_string_memory_ptr",
                                        "typeString": "string"
                                    },
                                    "typeName": {
                                        "id": 19937,
                                        "name": "string",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "54459:6:62",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_string_storage_ptr",
                                            "typeString": "string"
                                        }
                                    },
                                    "visibility": "internal"
                                }
                            ],
                            "src": "54410:66:62"
                        },
                        "returnParameters": {
                            "id": 19940,
                            "nodeType": "ParameterList",
                            "parameters": [],
                            "src": "54491:0:62"
                        },
                        "scope": 20920,
                        "src": "54398:194:62",
                        "stateMutability": "view",
                        "virtual": false,
                        "visibility": "internal"
                    },
                    {
                        "body": {
                            "id": 19975,
                            "nodeType": "Block",
                            "src": "54679:99:62",
                            "statements": [
                                {
                                    "expression": {
                                        "arguments": [
                                            {
                                                "arguments": [
                                                    {
                                                        "hexValue": "6c6f6728616464726573732c737472696e672c737472696e672c626f6f6c29",
                                                        "id": 19967,
                                                        "isConstant": false,
                                                        "isLValue": false,
                                                        "isPure": true,
                                                        "kind": "string",
                                                        "lValueRequested": false,
                                                        "nodeType": "Literal",
                                                        "src": "54723:33:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_stringliteral_35a5071fa9f4610e50772083182f21e949e7a02301a3936e315dd1c4fc39a9ed",
                                                            "typeString": "literal_string \"log(address,string,string,bool)\""
                                                        },
                                                        "value": "log(address,string,string,bool)"
                                                    },
                                                    {
                                                        "id": 19968,
                                                        "name": "p0",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 19955,
                                                        "src": "54758:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_address",
                                                            "typeString": "address"
                                                        }
                                                    },
                                                    {
                                                        "id": 19969,
                                                        "name": "p1",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 19957,
                                                        "src": "54762:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_string_memory_ptr",
                                                            "typeString": "string memory"
                                                        }
                                                    },
                                                    {
                                                        "id": 19970,
                                                        "name": "p2",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 19959,
                                                        "src": "54766:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_string_memory_ptr",
                                                            "typeString": "string memory"
                                                        }
                                                    },
                                                    {
                                                        "id": 19971,
                                                        "name": "p3",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 19961,
                                                        "src": "54770:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_bool",
                                                            "typeString": "bool"
                                                        }
                                                    }
                                                ],
                                                "expression": {
                                                    "argumentTypes": [
                                                        {
                                                            "typeIdentifier": "t_stringliteral_35a5071fa9f4610e50772083182f21e949e7a02301a3936e315dd1c4fc39a9ed",
                                                            "typeString": "literal_string \"log(address,string,string,bool)\""
                                                        },
                                                        {
                                                            "typeIdentifier": "t_address",
                                                            "typeString": "address"
                                                        },
                                                        {
                                                            "typeIdentifier": "t_string_memory_ptr",
                                                            "typeString": "string memory"
                                                        },
                                                        {
                                                            "typeIdentifier": "t_string_memory_ptr",
                                                            "typeString": "string memory"
                                                        },
                                                        {
                                                            "typeIdentifier": "t_bool",
                                                            "typeString": "bool"
                                                        }
                                                    ],
                                                    "expression": {
                                                        "id": 19965,
                                                        "name": "abi",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 4294967295,
                                                        "src": "54699:3:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_magic_abi",
                                                            "typeString": "abi"
                                                        }
                                                    },
                                                    "id": 19966,
                                                    "isConstant": false,
                                                    "isLValue": false,
                                                    "isPure": true,
                                                    "lValueRequested": false,
                                                    "memberName": "encodeWithSignature",
                                                    "nodeType": "MemberAccess",
                                                    "src": "54699:23:62",
                                                    "typeDescriptions": {
                                                        "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$",
                                                        "typeString": "function (string memory) pure returns (bytes memory)"
                                                    }
                                                },
                                                "id": 19972,
                                                "isConstant": false,
                                                "isLValue": false,
                                                "isPure": false,
                                                "kind": "functionCall",
                                                "lValueRequested": false,
                                                "names": [],
                                                "nodeType": "FunctionCall",
                                                "src": "54699:74:62",
                                                "tryCall": false,
                                                "typeDescriptions": {
                                                    "typeIdentifier": "t_bytes_memory_ptr",
                                                    "typeString": "bytes memory"
                                                }
                                            }
                                        ],
                                        "expression": {
                                            "argumentTypes": [
                                                {
                                                    "typeIdentifier": "t_bytes_memory_ptr",
                                                    "typeString": "bytes memory"
                                                }
                                            ],
                                            "id": 19964,
                                            "name": "_sendLogPayload",
                                            "nodeType": "Identifier",
                                            "overloadedDeclarations": [],
                                            "referencedDeclaration": 12880,
                                            "src": "54683:15:62",
                                            "typeDescriptions": {
                                                "typeIdentifier": "t_function_internal_view$_t_bytes_memory_ptr_$returns$__$",
                                                "typeString": "function (bytes memory) view"
                                            }
                                        },
                                        "id": 19973,
                                        "isConstant": false,
                                        "isLValue": false,
                                        "isPure": false,
                                        "kind": "functionCall",
                                        "lValueRequested": false,
                                        "names": [],
                                        "nodeType": "FunctionCall",
                                        "src": "54683:91:62",
                                        "tryCall": false,
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_tuple$__$",
                                            "typeString": "tuple()"
                                        }
                                    },
                                    "id": 19974,
                                    "nodeType": "ExpressionStatement",
                                    "src": "54683:91:62"
                                }
                            ]
                        },
                        "id": 19976,
                        "implemented": true,
                        "kind": "function",
                        "modifiers": [],
                        "name": "log",
                        "nameLocation": "54604:3:62",
                        "nodeType": "FunctionDefinition",
                        "parameters": {
                            "id": 19962,
                            "nodeType": "ParameterList",
                            "parameters": [
                                {
                                    "constant": false,
                                    "id": 19955,
                                    "mutability": "mutable",
                                    "name": "p0",
                                    "nameLocation": "54616:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 19976,
                                    "src": "54608:10:62",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_address",
                                        "typeString": "address"
                                    },
                                    "typeName": {
                                        "id": 19954,
                                        "name": "address",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "54608:7:62",
                                        "stateMutability": "nonpayable",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_address",
                                            "typeString": "address"
                                        }
                                    },
                                    "visibility": "internal"
                                },
                                {
                                    "constant": false,
                                    "id": 19957,
                                    "mutability": "mutable",
                                    "name": "p1",
                                    "nameLocation": "54634:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 19976,
                                    "src": "54620:16:62",
                                    "stateVariable": false,
                                    "storageLocation": "memory",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_string_memory_ptr",
                                        "typeString": "string"
                                    },
                                    "typeName": {
                                        "id": 19956,
                                        "name": "string",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "54620:6:62",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_string_storage_ptr",
                                            "typeString": "string"
                                        }
                                    },
                                    "visibility": "internal"
                                },
                                {
                                    "constant": false,
                                    "id": 19959,
                                    "mutability": "mutable",
                                    "name": "p2",
                                    "nameLocation": "54652:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 19976,
                                    "src": "54638:16:62",
                                    "stateVariable": false,
                                    "storageLocation": "memory",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_string_memory_ptr",
                                        "typeString": "string"
                                    },
                                    "typeName": {
                                        "id": 19958,
                                        "name": "string",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "54638:6:62",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_string_storage_ptr",
                                            "typeString": "string"
                                        }
                                    },
                                    "visibility": "internal"
                                },
                                {
                                    "constant": false,
                                    "id": 19961,
                                    "mutability": "mutable",
                                    "name": "p3",
                                    "nameLocation": "54661:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 19976,
                                    "src": "54656:7:62",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_bool",
                                        "typeString": "bool"
                                    },
                                    "typeName": {
                                        "id": 19960,
                                        "name": "bool",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "54656:4:62",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_bool",
                                            "typeString": "bool"
                                        }
                                    },
                                    "visibility": "internal"
                                }
                            ],
                            "src": "54607:57:62"
                        },
                        "returnParameters": {
                            "id": 19963,
                            "nodeType": "ParameterList",
                            "parameters": [],
                            "src": "54679:0:62"
                        },
                        "scope": 20920,
                        "src": "54595:183:62",
                        "stateMutability": "view",
                        "virtual": false,
                        "visibility": "internal"
                    },
                    {
                        "body": {
                            "id": 19998,
                            "nodeType": "Block",
                            "src": "54868:102:62",
                            "statements": [
                                {
                                    "expression": {
                                        "arguments": [
                                            {
                                                "arguments": [
                                                    {
                                                        "hexValue": "6c6f6728616464726573732c737472696e672c737472696e672c6164647265737329",
                                                        "id": 19990,
                                                        "isConstant": false,
                                                        "isLValue": false,
                                                        "isPure": true,
                                                        "kind": "string",
                                                        "lValueRequested": false,
                                                        "nodeType": "Literal",
                                                        "src": "54912:36:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_stringliteral_a04e2f87a739673cc9223810c24b00b35c6b2c9f3ef123cc82866752e1fa816f",
                                                            "typeString": "literal_string \"log(address,string,string,address)\""
                                                        },
                                                        "value": "log(address,string,string,address)"
                                                    },
                                                    {
                                                        "id": 19991,
                                                        "name": "p0",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 19978,
                                                        "src": "54950:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_address",
                                                            "typeString": "address"
                                                        }
                                                    },
                                                    {
                                                        "id": 19992,
                                                        "name": "p1",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 19980,
                                                        "src": "54954:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_string_memory_ptr",
                                                            "typeString": "string memory"
                                                        }
                                                    },
                                                    {
                                                        "id": 19993,
                                                        "name": "p2",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 19982,
                                                        "src": "54958:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_string_memory_ptr",
                                                            "typeString": "string memory"
                                                        }
                                                    },
                                                    {
                                                        "id": 19994,
                                                        "name": "p3",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 19984,
                                                        "src": "54962:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_address",
                                                            "typeString": "address"
                                                        }
                                                    }
                                                ],
                                                "expression": {
                                                    "argumentTypes": [
                                                        {
                                                            "typeIdentifier": "t_stringliteral_a04e2f87a739673cc9223810c24b00b35c6b2c9f3ef123cc82866752e1fa816f",
                                                            "typeString": "literal_string \"log(address,string,string,address)\""
                                                        },
                                                        {
                                                            "typeIdentifier": "t_address",
                                                            "typeString": "address"
                                                        },
                                                        {
                                                            "typeIdentifier": "t_string_memory_ptr",
                                                            "typeString": "string memory"
                                                        },
                                                        {
                                                            "typeIdentifier": "t_string_memory_ptr",
                                                            "typeString": "string memory"
                                                        },
                                                        {
                                                            "typeIdentifier": "t_address",
                                                            "typeString": "address"
                                                        }
                                                    ],
                                                    "expression": {
                                                        "id": 19988,
                                                        "name": "abi",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 4294967295,
                                                        "src": "54888:3:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_magic_abi",
                                                            "typeString": "abi"
                                                        }
                                                    },
                                                    "id": 19989,
                                                    "isConstant": false,
                                                    "isLValue": false,
                                                    "isPure": true,
                                                    "lValueRequested": false,
                                                    "memberName": "encodeWithSignature",
                                                    "nodeType": "MemberAccess",
                                                    "src": "54888:23:62",
                                                    "typeDescriptions": {
                                                        "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$",
                                                        "typeString": "function (string memory) pure returns (bytes memory)"
                                                    }
                                                },
                                                "id": 19995,
                                                "isConstant": false,
                                                "isLValue": false,
                                                "isPure": false,
                                                "kind": "functionCall",
                                                "lValueRequested": false,
                                                "names": [],
                                                "nodeType": "FunctionCall",
                                                "src": "54888:77:62",
                                                "tryCall": false,
                                                "typeDescriptions": {
                                                    "typeIdentifier": "t_bytes_memory_ptr",
                                                    "typeString": "bytes memory"
                                                }
                                            }
                                        ],
                                        "expression": {
                                            "argumentTypes": [
                                                {
                                                    "typeIdentifier": "t_bytes_memory_ptr",
                                                    "typeString": "bytes memory"
                                                }
                                            ],
                                            "id": 19987,
                                            "name": "_sendLogPayload",
                                            "nodeType": "Identifier",
                                            "overloadedDeclarations": [],
                                            "referencedDeclaration": 12880,
                                            "src": "54872:15:62",
                                            "typeDescriptions": {
                                                "typeIdentifier": "t_function_internal_view$_t_bytes_memory_ptr_$returns$__$",
                                                "typeString": "function (bytes memory) view"
                                            }
                                        },
                                        "id": 19996,
                                        "isConstant": false,
                                        "isLValue": false,
                                        "isPure": false,
                                        "kind": "functionCall",
                                        "lValueRequested": false,
                                        "names": [],
                                        "nodeType": "FunctionCall",
                                        "src": "54872:94:62",
                                        "tryCall": false,
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_tuple$__$",
                                            "typeString": "tuple()"
                                        }
                                    },
                                    "id": 19997,
                                    "nodeType": "ExpressionStatement",
                                    "src": "54872:94:62"
                                }
                            ]
                        },
                        "id": 19999,
                        "implemented": true,
                        "kind": "function",
                        "modifiers": [],
                        "name": "log",
                        "nameLocation": "54790:3:62",
                        "nodeType": "FunctionDefinition",
                        "parameters": {
                            "id": 19985,
                            "nodeType": "ParameterList",
                            "parameters": [
                                {
                                    "constant": false,
                                    "id": 19978,
                                    "mutability": "mutable",
                                    "name": "p0",
                                    "nameLocation": "54802:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 19999,
                                    "src": "54794:10:62",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_address",
                                        "typeString": "address"
                                    },
                                    "typeName": {
                                        "id": 19977,
                                        "name": "address",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "54794:7:62",
                                        "stateMutability": "nonpayable",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_address",
                                            "typeString": "address"
                                        }
                                    },
                                    "visibility": "internal"
                                },
                                {
                                    "constant": false,
                                    "id": 19980,
                                    "mutability": "mutable",
                                    "name": "p1",
                                    "nameLocation": "54820:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 19999,
                                    "src": "54806:16:62",
                                    "stateVariable": false,
                                    "storageLocation": "memory",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_string_memory_ptr",
                                        "typeString": "string"
                                    },
                                    "typeName": {
                                        "id": 19979,
                                        "name": "string",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "54806:6:62",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_string_storage_ptr",
                                            "typeString": "string"
                                        }
                                    },
                                    "visibility": "internal"
                                },
                                {
                                    "constant": false,
                                    "id": 19982,
                                    "mutability": "mutable",
                                    "name": "p2",
                                    "nameLocation": "54838:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 19999,
                                    "src": "54824:16:62",
                                    "stateVariable": false,
                                    "storageLocation": "memory",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_string_memory_ptr",
                                        "typeString": "string"
                                    },
                                    "typeName": {
                                        "id": 19981,
                                        "name": "string",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "54824:6:62",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_string_storage_ptr",
                                            "typeString": "string"
                                        }
                                    },
                                    "visibility": "internal"
                                },
                                {
                                    "constant": false,
                                    "id": 19984,
                                    "mutability": "mutable",
                                    "name": "p3",
                                    "nameLocation": "54850:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 19999,
                                    "src": "54842:10:62",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_address",
                                        "typeString": "address"
                                    },
                                    "typeName": {
                                        "id": 19983,
                                        "name": "address",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "54842:7:62",
                                        "stateMutability": "nonpayable",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_address",
                                            "typeString": "address"
                                        }
                                    },
                                    "visibility": "internal"
                                }
                            ],
                            "src": "54793:60:62"
                        },
                        "returnParameters": {
                            "id": 19986,
                            "nodeType": "ParameterList",
                            "parameters": [],
                            "src": "54868:0:62"
                        },
                        "scope": 20920,
                        "src": "54781:189:62",
                        "stateMutability": "view",
                        "virtual": false,
                        "visibility": "internal"
                    },
                    {
                        "body": {
                            "id": 20021,
                            "nodeType": "Block",
                            "src": "55048:97:62",
                            "statements": [
                                {
                                    "expression": {
                                        "arguments": [
                                            {
                                                "arguments": [
                                                    {
                                                        "hexValue": "6c6f6728616464726573732c737472696e672c626f6f6c2c75696e7429",
                                                        "id": 20013,
                                                        "isConstant": false,
                                                        "isLValue": false,
                                                        "isPure": true,
                                                        "kind": "string",
                                                        "lValueRequested": false,
                                                        "nodeType": "Literal",
                                                        "src": "55092:31:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_stringliteral_e720521cc58e36659b0c45689a38054bd7300ff30d5ec0cfec7bae3dc2e9689a",
                                                            "typeString": "literal_string \"log(address,string,bool,uint)\""
                                                        },
                                                        "value": "log(address,string,bool,uint)"
                                                    },
                                                    {
                                                        "id": 20014,
                                                        "name": "p0",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 20001,
                                                        "src": "55125:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_address",
                                                            "typeString": "address"
                                                        }
                                                    },
                                                    {
                                                        "id": 20015,
                                                        "name": "p1",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 20003,
                                                        "src": "55129:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_string_memory_ptr",
                                                            "typeString": "string memory"
                                                        }
                                                    },
                                                    {
                                                        "id": 20016,
                                                        "name": "p2",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 20005,
                                                        "src": "55133:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_bool",
                                                            "typeString": "bool"
                                                        }
                                                    },
                                                    {
                                                        "id": 20017,
                                                        "name": "p3",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 20007,
                                                        "src": "55137:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_uint256",
                                                            "typeString": "uint256"
                                                        }
                                                    }
                                                ],
                                                "expression": {
                                                    "argumentTypes": [
                                                        {
                                                            "typeIdentifier": "t_stringliteral_e720521cc58e36659b0c45689a38054bd7300ff30d5ec0cfec7bae3dc2e9689a",
                                                            "typeString": "literal_string \"log(address,string,bool,uint)\""
                                                        },
                                                        {
                                                            "typeIdentifier": "t_address",
                                                            "typeString": "address"
                                                        },
                                                        {
                                                            "typeIdentifier": "t_string_memory_ptr",
                                                            "typeString": "string memory"
                                                        },
                                                        {
                                                            "typeIdentifier": "t_bool",
                                                            "typeString": "bool"
                                                        },
                                                        {
                                                            "typeIdentifier": "t_uint256",
                                                            "typeString": "uint256"
                                                        }
                                                    ],
                                                    "expression": {
                                                        "id": 20011,
                                                        "name": "abi",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 4294967295,
                                                        "src": "55068:3:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_magic_abi",
                                                            "typeString": "abi"
                                                        }
                                                    },
                                                    "id": 20012,
                                                    "isConstant": false,
                                                    "isLValue": false,
                                                    "isPure": true,
                                                    "lValueRequested": false,
                                                    "memberName": "encodeWithSignature",
                                                    "nodeType": "MemberAccess",
                                                    "src": "55068:23:62",
                                                    "typeDescriptions": {
                                                        "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$",
                                                        "typeString": "function (string memory) pure returns (bytes memory)"
                                                    }
                                                },
                                                "id": 20018,
                                                "isConstant": false,
                                                "isLValue": false,
                                                "isPure": false,
                                                "kind": "functionCall",
                                                "lValueRequested": false,
                                                "names": [],
                                                "nodeType": "FunctionCall",
                                                "src": "55068:72:62",
                                                "tryCall": false,
                                                "typeDescriptions": {
                                                    "typeIdentifier": "t_bytes_memory_ptr",
                                                    "typeString": "bytes memory"
                                                }
                                            }
                                        ],
                                        "expression": {
                                            "argumentTypes": [
                                                {
                                                    "typeIdentifier": "t_bytes_memory_ptr",
                                                    "typeString": "bytes memory"
                                                }
                                            ],
                                            "id": 20010,
                                            "name": "_sendLogPayload",
                                            "nodeType": "Identifier",
                                            "overloadedDeclarations": [],
                                            "referencedDeclaration": 12880,
                                            "src": "55052:15:62",
                                            "typeDescriptions": {
                                                "typeIdentifier": "t_function_internal_view$_t_bytes_memory_ptr_$returns$__$",
                                                "typeString": "function (bytes memory) view"
                                            }
                                        },
                                        "id": 20019,
                                        "isConstant": false,
                                        "isLValue": false,
                                        "isPure": false,
                                        "kind": "functionCall",
                                        "lValueRequested": false,
                                        "names": [],
                                        "nodeType": "FunctionCall",
                                        "src": "55052:89:62",
                                        "tryCall": false,
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_tuple$__$",
                                            "typeString": "tuple()"
                                        }
                                    },
                                    "id": 20020,
                                    "nodeType": "ExpressionStatement",
                                    "src": "55052:89:62"
                                }
                            ]
                        },
                        "id": 20022,
                        "implemented": true,
                        "kind": "function",
                        "modifiers": [],
                        "name": "log",
                        "nameLocation": "54982:3:62",
                        "nodeType": "FunctionDefinition",
                        "parameters": {
                            "id": 20008,
                            "nodeType": "ParameterList",
                            "parameters": [
                                {
                                    "constant": false,
                                    "id": 20001,
                                    "mutability": "mutable",
                                    "name": "p0",
                                    "nameLocation": "54994:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 20022,
                                    "src": "54986:10:62",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_address",
                                        "typeString": "address"
                                    },
                                    "typeName": {
                                        "id": 20000,
                                        "name": "address",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "54986:7:62",
                                        "stateMutability": "nonpayable",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_address",
                                            "typeString": "address"
                                        }
                                    },
                                    "visibility": "internal"
                                },
                                {
                                    "constant": false,
                                    "id": 20003,
                                    "mutability": "mutable",
                                    "name": "p1",
                                    "nameLocation": "55012:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 20022,
                                    "src": "54998:16:62",
                                    "stateVariable": false,
                                    "storageLocation": "memory",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_string_memory_ptr",
                                        "typeString": "string"
                                    },
                                    "typeName": {
                                        "id": 20002,
                                        "name": "string",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "54998:6:62",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_string_storage_ptr",
                                            "typeString": "string"
                                        }
                                    },
                                    "visibility": "internal"
                                },
                                {
                                    "constant": false,
                                    "id": 20005,
                                    "mutability": "mutable",
                                    "name": "p2",
                                    "nameLocation": "55021:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 20022,
                                    "src": "55016:7:62",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_bool",
                                        "typeString": "bool"
                                    },
                                    "typeName": {
                                        "id": 20004,
                                        "name": "bool",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "55016:4:62",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_bool",
                                            "typeString": "bool"
                                        }
                                    },
                                    "visibility": "internal"
                                },
                                {
                                    "constant": false,
                                    "id": 20007,
                                    "mutability": "mutable",
                                    "name": "p3",
                                    "nameLocation": "55030:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 20022,
                                    "src": "55025:7:62",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_uint256",
                                        "typeString": "uint256"
                                    },
                                    "typeName": {
                                        "id": 20006,
                                        "name": "uint",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "55025:4:62",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_uint256",
                                            "typeString": "uint256"
                                        }
                                    },
                                    "visibility": "internal"
                                }
                            ],
                            "src": "54985:48:62"
                        },
                        "returnParameters": {
                            "id": 20009,
                            "nodeType": "ParameterList",
                            "parameters": [],
                            "src": "55048:0:62"
                        },
                        "scope": 20920,
                        "src": "54973:172:62",
                        "stateMutability": "view",
                        "virtual": false,
                        "visibility": "internal"
                    },
                    {
                        "body": {
                            "id": 20044,
                            "nodeType": "Block",
                            "src": "55232:99:62",
                            "statements": [
                                {
                                    "expression": {
                                        "arguments": [
                                            {
                                                "arguments": [
                                                    {
                                                        "hexValue": "6c6f6728616464726573732c737472696e672c626f6f6c2c737472696e6729",
                                                        "id": 20036,
                                                        "isConstant": false,
                                                        "isLValue": false,
                                                        "isPure": true,
                                                        "kind": "string",
                                                        "lValueRequested": false,
                                                        "nodeType": "Literal",
                                                        "src": "55276:33:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_stringliteral_bc0b61fe9497b47eb6a51a5a6a4bf26b32ddcbc9407ccae8cc7de64b3e3d84cc",
                                                            "typeString": "literal_string \"log(address,string,bool,string)\""
                                                        },
                                                        "value": "log(address,string,bool,string)"
                                                    },
                                                    {
                                                        "id": 20037,
                                                        "name": "p0",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 20024,
                                                        "src": "55311:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_address",
                                                            "typeString": "address"
                                                        }
                                                    },
                                                    {
                                                        "id": 20038,
                                                        "name": "p1",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 20026,
                                                        "src": "55315:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_string_memory_ptr",
                                                            "typeString": "string memory"
                                                        }
                                                    },
                                                    {
                                                        "id": 20039,
                                                        "name": "p2",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 20028,
                                                        "src": "55319:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_bool",
                                                            "typeString": "bool"
                                                        }
                                                    },
                                                    {
                                                        "id": 20040,
                                                        "name": "p3",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 20030,
                                                        "src": "55323:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_string_memory_ptr",
                                                            "typeString": "string memory"
                                                        }
                                                    }
                                                ],
                                                "expression": {
                                                    "argumentTypes": [
                                                        {
                                                            "typeIdentifier": "t_stringliteral_bc0b61fe9497b47eb6a51a5a6a4bf26b32ddcbc9407ccae8cc7de64b3e3d84cc",
                                                            "typeString": "literal_string \"log(address,string,bool,string)\""
                                                        },
                                                        {
                                                            "typeIdentifier": "t_address",
                                                            "typeString": "address"
                                                        },
                                                        {
                                                            "typeIdentifier": "t_string_memory_ptr",
                                                            "typeString": "string memory"
                                                        },
                                                        {
                                                            "typeIdentifier": "t_bool",
                                                            "typeString": "bool"
                                                        },
                                                        {
                                                            "typeIdentifier": "t_string_memory_ptr",
                                                            "typeString": "string memory"
                                                        }
                                                    ],
                                                    "expression": {
                                                        "id": 20034,
                                                        "name": "abi",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 4294967295,
                                                        "src": "55252:3:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_magic_abi",
                                                            "typeString": "abi"
                                                        }
                                                    },
                                                    "id": 20035,
                                                    "isConstant": false,
                                                    "isLValue": false,
                                                    "isPure": true,
                                                    "lValueRequested": false,
                                                    "memberName": "encodeWithSignature",
                                                    "nodeType": "MemberAccess",
                                                    "src": "55252:23:62",
                                                    "typeDescriptions": {
                                                        "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$",
                                                        "typeString": "function (string memory) pure returns (bytes memory)"
                                                    }
                                                },
                                                "id": 20041,
                                                "isConstant": false,
                                                "isLValue": false,
                                                "isPure": false,
                                                "kind": "functionCall",
                                                "lValueRequested": false,
                                                "names": [],
                                                "nodeType": "FunctionCall",
                                                "src": "55252:74:62",
                                                "tryCall": false,
                                                "typeDescriptions": {
                                                    "typeIdentifier": "t_bytes_memory_ptr",
                                                    "typeString": "bytes memory"
                                                }
                                            }
                                        ],
                                        "expression": {
                                            "argumentTypes": [
                                                {
                                                    "typeIdentifier": "t_bytes_memory_ptr",
                                                    "typeString": "bytes memory"
                                                }
                                            ],
                                            "id": 20033,
                                            "name": "_sendLogPayload",
                                            "nodeType": "Identifier",
                                            "overloadedDeclarations": [],
                                            "referencedDeclaration": 12880,
                                            "src": "55236:15:62",
                                            "typeDescriptions": {
                                                "typeIdentifier": "t_function_internal_view$_t_bytes_memory_ptr_$returns$__$",
                                                "typeString": "function (bytes memory) view"
                                            }
                                        },
                                        "id": 20042,
                                        "isConstant": false,
                                        "isLValue": false,
                                        "isPure": false,
                                        "kind": "functionCall",
                                        "lValueRequested": false,
                                        "names": [],
                                        "nodeType": "FunctionCall",
                                        "src": "55236:91:62",
                                        "tryCall": false,
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_tuple$__$",
                                            "typeString": "tuple()"
                                        }
                                    },
                                    "id": 20043,
                                    "nodeType": "ExpressionStatement",
                                    "src": "55236:91:62"
                                }
                            ]
                        },
                        "id": 20045,
                        "implemented": true,
                        "kind": "function",
                        "modifiers": [],
                        "name": "log",
                        "nameLocation": "55157:3:62",
                        "nodeType": "FunctionDefinition",
                        "parameters": {
                            "id": 20031,
                            "nodeType": "ParameterList",
                            "parameters": [
                                {
                                    "constant": false,
                                    "id": 20024,
                                    "mutability": "mutable",
                                    "name": "p0",
                                    "nameLocation": "55169:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 20045,
                                    "src": "55161:10:62",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_address",
                                        "typeString": "address"
                                    },
                                    "typeName": {
                                        "id": 20023,
                                        "name": "address",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "55161:7:62",
                                        "stateMutability": "nonpayable",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_address",
                                            "typeString": "address"
                                        }
                                    },
                                    "visibility": "internal"
                                },
                                {
                                    "constant": false,
                                    "id": 20026,
                                    "mutability": "mutable",
                                    "name": "p1",
                                    "nameLocation": "55187:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 20045,
                                    "src": "55173:16:62",
                                    "stateVariable": false,
                                    "storageLocation": "memory",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_string_memory_ptr",
                                        "typeString": "string"
                                    },
                                    "typeName": {
                                        "id": 20025,
                                        "name": "string",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "55173:6:62",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_string_storage_ptr",
                                            "typeString": "string"
                                        }
                                    },
                                    "visibility": "internal"
                                },
                                {
                                    "constant": false,
                                    "id": 20028,
                                    "mutability": "mutable",
                                    "name": "p2",
                                    "nameLocation": "55196:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 20045,
                                    "src": "55191:7:62",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_bool",
                                        "typeString": "bool"
                                    },
                                    "typeName": {
                                        "id": 20027,
                                        "name": "bool",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "55191:4:62",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_bool",
                                            "typeString": "bool"
                                        }
                                    },
                                    "visibility": "internal"
                                },
                                {
                                    "constant": false,
                                    "id": 20030,
                                    "mutability": "mutable",
                                    "name": "p3",
                                    "nameLocation": "55214:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 20045,
                                    "src": "55200:16:62",
                                    "stateVariable": false,
                                    "storageLocation": "memory",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_string_memory_ptr",
                                        "typeString": "string"
                                    },
                                    "typeName": {
                                        "id": 20029,
                                        "name": "string",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "55200:6:62",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_string_storage_ptr",
                                            "typeString": "string"
                                        }
                                    },
                                    "visibility": "internal"
                                }
                            ],
                            "src": "55160:57:62"
                        },
                        "returnParameters": {
                            "id": 20032,
                            "nodeType": "ParameterList",
                            "parameters": [],
                            "src": "55232:0:62"
                        },
                        "scope": 20920,
                        "src": "55148:183:62",
                        "stateMutability": "view",
                        "virtual": false,
                        "visibility": "internal"
                    },
                    {
                        "body": {
                            "id": 20067,
                            "nodeType": "Block",
                            "src": "55409:97:62",
                            "statements": [
                                {
                                    "expression": {
                                        "arguments": [
                                            {
                                                "arguments": [
                                                    {
                                                        "hexValue": "6c6f6728616464726573732c737472696e672c626f6f6c2c626f6f6c29",
                                                        "id": 20059,
                                                        "isConstant": false,
                                                        "isLValue": false,
                                                        "isPure": true,
                                                        "kind": "string",
                                                        "lValueRequested": false,
                                                        "nodeType": "Literal",
                                                        "src": "55453:31:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_stringliteral_5f1d5c9f0de8c048364058d1d6842804ada33dbc34bf9eaff8f2be978f384e08",
                                                            "typeString": "literal_string \"log(address,string,bool,bool)\""
                                                        },
                                                        "value": "log(address,string,bool,bool)"
                                                    },
                                                    {
                                                        "id": 20060,
                                                        "name": "p0",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 20047,
                                                        "src": "55486:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_address",
                                                            "typeString": "address"
                                                        }
                                                    },
                                                    {
                                                        "id": 20061,
                                                        "name": "p1",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 20049,
                                                        "src": "55490:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_string_memory_ptr",
                                                            "typeString": "string memory"
                                                        }
                                                    },
                                                    {
                                                        "id": 20062,
                                                        "name": "p2",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 20051,
                                                        "src": "55494:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_bool",
                                                            "typeString": "bool"
                                                        }
                                                    },
                                                    {
                                                        "id": 20063,
                                                        "name": "p3",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 20053,
                                                        "src": "55498:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_bool",
                                                            "typeString": "bool"
                                                        }
                                                    }
                                                ],
                                                "expression": {
                                                    "argumentTypes": [
                                                        {
                                                            "typeIdentifier": "t_stringliteral_5f1d5c9f0de8c048364058d1d6842804ada33dbc34bf9eaff8f2be978f384e08",
                                                            "typeString": "literal_string \"log(address,string,bool,bool)\""
                                                        },
                                                        {
                                                            "typeIdentifier": "t_address",
                                                            "typeString": "address"
                                                        },
                                                        {
                                                            "typeIdentifier": "t_string_memory_ptr",
                                                            "typeString": "string memory"
                                                        },
                                                        {
                                                            "typeIdentifier": "t_bool",
                                                            "typeString": "bool"
                                                        },
                                                        {
                                                            "typeIdentifier": "t_bool",
                                                            "typeString": "bool"
                                                        }
                                                    ],
                                                    "expression": {
                                                        "id": 20057,
                                                        "name": "abi",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 4294967295,
                                                        "src": "55429:3:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_magic_abi",
                                                            "typeString": "abi"
                                                        }
                                                    },
                                                    "id": 20058,
                                                    "isConstant": false,
                                                    "isLValue": false,
                                                    "isPure": true,
                                                    "lValueRequested": false,
                                                    "memberName": "encodeWithSignature",
                                                    "nodeType": "MemberAccess",
                                                    "src": "55429:23:62",
                                                    "typeDescriptions": {
                                                        "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$",
                                                        "typeString": "function (string memory) pure returns (bytes memory)"
                                                    }
                                                },
                                                "id": 20064,
                                                "isConstant": false,
                                                "isLValue": false,
                                                "isPure": false,
                                                "kind": "functionCall",
                                                "lValueRequested": false,
                                                "names": [],
                                                "nodeType": "FunctionCall",
                                                "src": "55429:72:62",
                                                "tryCall": false,
                                                "typeDescriptions": {
                                                    "typeIdentifier": "t_bytes_memory_ptr",
                                                    "typeString": "bytes memory"
                                                }
                                            }
                                        ],
                                        "expression": {
                                            "argumentTypes": [
                                                {
                                                    "typeIdentifier": "t_bytes_memory_ptr",
                                                    "typeString": "bytes memory"
                                                }
                                            ],
                                            "id": 20056,
                                            "name": "_sendLogPayload",
                                            "nodeType": "Identifier",
                                            "overloadedDeclarations": [],
                                            "referencedDeclaration": 12880,
                                            "src": "55413:15:62",
                                            "typeDescriptions": {
                                                "typeIdentifier": "t_function_internal_view$_t_bytes_memory_ptr_$returns$__$",
                                                "typeString": "function (bytes memory) view"
                                            }
                                        },
                                        "id": 20065,
                                        "isConstant": false,
                                        "isLValue": false,
                                        "isPure": false,
                                        "kind": "functionCall",
                                        "lValueRequested": false,
                                        "names": [],
                                        "nodeType": "FunctionCall",
                                        "src": "55413:89:62",
                                        "tryCall": false,
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_tuple$__$",
                                            "typeString": "tuple()"
                                        }
                                    },
                                    "id": 20066,
                                    "nodeType": "ExpressionStatement",
                                    "src": "55413:89:62"
                                }
                            ]
                        },
                        "id": 20068,
                        "implemented": true,
                        "kind": "function",
                        "modifiers": [],
                        "name": "log",
                        "nameLocation": "55343:3:62",
                        "nodeType": "FunctionDefinition",
                        "parameters": {
                            "id": 20054,
                            "nodeType": "ParameterList",
                            "parameters": [
                                {
                                    "constant": false,
                                    "id": 20047,
                                    "mutability": "mutable",
                                    "name": "p0",
                                    "nameLocation": "55355:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 20068,
                                    "src": "55347:10:62",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_address",
                                        "typeString": "address"
                                    },
                                    "typeName": {
                                        "id": 20046,
                                        "name": "address",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "55347:7:62",
                                        "stateMutability": "nonpayable",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_address",
                                            "typeString": "address"
                                        }
                                    },
                                    "visibility": "internal"
                                },
                                {
                                    "constant": false,
                                    "id": 20049,
                                    "mutability": "mutable",
                                    "name": "p1",
                                    "nameLocation": "55373:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 20068,
                                    "src": "55359:16:62",
                                    "stateVariable": false,
                                    "storageLocation": "memory",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_string_memory_ptr",
                                        "typeString": "string"
                                    },
                                    "typeName": {
                                        "id": 20048,
                                        "name": "string",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "55359:6:62",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_string_storage_ptr",
                                            "typeString": "string"
                                        }
                                    },
                                    "visibility": "internal"
                                },
                                {
                                    "constant": false,
                                    "id": 20051,
                                    "mutability": "mutable",
                                    "name": "p2",
                                    "nameLocation": "55382:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 20068,
                                    "src": "55377:7:62",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_bool",
                                        "typeString": "bool"
                                    },
                                    "typeName": {
                                        "id": 20050,
                                        "name": "bool",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "55377:4:62",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_bool",
                                            "typeString": "bool"
                                        }
                                    },
                                    "visibility": "internal"
                                },
                                {
                                    "constant": false,
                                    "id": 20053,
                                    "mutability": "mutable",
                                    "name": "p3",
                                    "nameLocation": "55391:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 20068,
                                    "src": "55386:7:62",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_bool",
                                        "typeString": "bool"
                                    },
                                    "typeName": {
                                        "id": 20052,
                                        "name": "bool",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "55386:4:62",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_bool",
                                            "typeString": "bool"
                                        }
                                    },
                                    "visibility": "internal"
                                }
                            ],
                            "src": "55346:48:62"
                        },
                        "returnParameters": {
                            "id": 20055,
                            "nodeType": "ParameterList",
                            "parameters": [],
                            "src": "55409:0:62"
                        },
                        "scope": 20920,
                        "src": "55334:172:62",
                        "stateMutability": "view",
                        "virtual": false,
                        "visibility": "internal"
                    },
                    {
                        "body": {
                            "id": 20090,
                            "nodeType": "Block",
                            "src": "55587:100:62",
                            "statements": [
                                {
                                    "expression": {
                                        "arguments": [
                                            {
                                                "arguments": [
                                                    {
                                                        "hexValue": "6c6f6728616464726573732c737472696e672c626f6f6c2c6164647265737329",
                                                        "id": 20082,
                                                        "isConstant": false,
                                                        "isLValue": false,
                                                        "isPure": true,
                                                        "kind": "string",
                                                        "lValueRequested": false,
                                                        "nodeType": "Literal",
                                                        "src": "55631:34:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_stringliteral_205871c2f2d320acdd350939b5fc035cc20b1a9cc058fb26f1c9fb3d2ba59970",
                                                            "typeString": "literal_string \"log(address,string,bool,address)\""
                                                        },
                                                        "value": "log(address,string,bool,address)"
                                                    },
                                                    {
                                                        "id": 20083,
                                                        "name": "p0",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 20070,
                                                        "src": "55667:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_address",
                                                            "typeString": "address"
                                                        }
                                                    },
                                                    {
                                                        "id": 20084,
                                                        "name": "p1",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 20072,
                                                        "src": "55671:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_string_memory_ptr",
                                                            "typeString": "string memory"
                                                        }
                                                    },
                                                    {
                                                        "id": 20085,
                                                        "name": "p2",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 20074,
                                                        "src": "55675:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_bool",
                                                            "typeString": "bool"
                                                        }
                                                    },
                                                    {
                                                        "id": 20086,
                                                        "name": "p3",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 20076,
                                                        "src": "55679:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_address",
                                                            "typeString": "address"
                                                        }
                                                    }
                                                ],
                                                "expression": {
                                                    "argumentTypes": [
                                                        {
                                                            "typeIdentifier": "t_stringliteral_205871c2f2d320acdd350939b5fc035cc20b1a9cc058fb26f1c9fb3d2ba59970",
                                                            "typeString": "literal_string \"log(address,string,bool,address)\""
                                                        },
                                                        {
                                                            "typeIdentifier": "t_address",
                                                            "typeString": "address"
                                                        },
                                                        {
                                                            "typeIdentifier": "t_string_memory_ptr",
                                                            "typeString": "string memory"
                                                        },
                                                        {
                                                            "typeIdentifier": "t_bool",
                                                            "typeString": "bool"
                                                        },
                                                        {
                                                            "typeIdentifier": "t_address",
                                                            "typeString": "address"
                                                        }
                                                    ],
                                                    "expression": {
                                                        "id": 20080,
                                                        "name": "abi",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 4294967295,
                                                        "src": "55607:3:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_magic_abi",
                                                            "typeString": "abi"
                                                        }
                                                    },
                                                    "id": 20081,
                                                    "isConstant": false,
                                                    "isLValue": false,
                                                    "isPure": true,
                                                    "lValueRequested": false,
                                                    "memberName": "encodeWithSignature",
                                                    "nodeType": "MemberAccess",
                                                    "src": "55607:23:62",
                                                    "typeDescriptions": {
                                                        "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$",
                                                        "typeString": "function (string memory) pure returns (bytes memory)"
                                                    }
                                                },
                                                "id": 20087,
                                                "isConstant": false,
                                                "isLValue": false,
                                                "isPure": false,
                                                "kind": "functionCall",
                                                "lValueRequested": false,
                                                "names": [],
                                                "nodeType": "FunctionCall",
                                                "src": "55607:75:62",
                                                "tryCall": false,
                                                "typeDescriptions": {
                                                    "typeIdentifier": "t_bytes_memory_ptr",
                                                    "typeString": "bytes memory"
                                                }
                                            }
                                        ],
                                        "expression": {
                                            "argumentTypes": [
                                                {
                                                    "typeIdentifier": "t_bytes_memory_ptr",
                                                    "typeString": "bytes memory"
                                                }
                                            ],
                                            "id": 20079,
                                            "name": "_sendLogPayload",
                                            "nodeType": "Identifier",
                                            "overloadedDeclarations": [],
                                            "referencedDeclaration": 12880,
                                            "src": "55591:15:62",
                                            "typeDescriptions": {
                                                "typeIdentifier": "t_function_internal_view$_t_bytes_memory_ptr_$returns$__$",
                                                "typeString": "function (bytes memory) view"
                                            }
                                        },
                                        "id": 20088,
                                        "isConstant": false,
                                        "isLValue": false,
                                        "isPure": false,
                                        "kind": "functionCall",
                                        "lValueRequested": false,
                                        "names": [],
                                        "nodeType": "FunctionCall",
                                        "src": "55591:92:62",
                                        "tryCall": false,
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_tuple$__$",
                                            "typeString": "tuple()"
                                        }
                                    },
                                    "id": 20089,
                                    "nodeType": "ExpressionStatement",
                                    "src": "55591:92:62"
                                }
                            ]
                        },
                        "id": 20091,
                        "implemented": true,
                        "kind": "function",
                        "modifiers": [],
                        "name": "log",
                        "nameLocation": "55518:3:62",
                        "nodeType": "FunctionDefinition",
                        "parameters": {
                            "id": 20077,
                            "nodeType": "ParameterList",
                            "parameters": [
                                {
                                    "constant": false,
                                    "id": 20070,
                                    "mutability": "mutable",
                                    "name": "p0",
                                    "nameLocation": "55530:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 20091,
                                    "src": "55522:10:62",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_address",
                                        "typeString": "address"
                                    },
                                    "typeName": {
                                        "id": 20069,
                                        "name": "address",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "55522:7:62",
                                        "stateMutability": "nonpayable",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_address",
                                            "typeString": "address"
                                        }
                                    },
                                    "visibility": "internal"
                                },
                                {
                                    "constant": false,
                                    "id": 20072,
                                    "mutability": "mutable",
                                    "name": "p1",
                                    "nameLocation": "55548:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 20091,
                                    "src": "55534:16:62",
                                    "stateVariable": false,
                                    "storageLocation": "memory",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_string_memory_ptr",
                                        "typeString": "string"
                                    },
                                    "typeName": {
                                        "id": 20071,
                                        "name": "string",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "55534:6:62",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_string_storage_ptr",
                                            "typeString": "string"
                                        }
                                    },
                                    "visibility": "internal"
                                },
                                {
                                    "constant": false,
                                    "id": 20074,
                                    "mutability": "mutable",
                                    "name": "p2",
                                    "nameLocation": "55557:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 20091,
                                    "src": "55552:7:62",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_bool",
                                        "typeString": "bool"
                                    },
                                    "typeName": {
                                        "id": 20073,
                                        "name": "bool",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "55552:4:62",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_bool",
                                            "typeString": "bool"
                                        }
                                    },
                                    "visibility": "internal"
                                },
                                {
                                    "constant": false,
                                    "id": 20076,
                                    "mutability": "mutable",
                                    "name": "p3",
                                    "nameLocation": "55569:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 20091,
                                    "src": "55561:10:62",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_address",
                                        "typeString": "address"
                                    },
                                    "typeName": {
                                        "id": 20075,
                                        "name": "address",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "55561:7:62",
                                        "stateMutability": "nonpayable",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_address",
                                            "typeString": "address"
                                        }
                                    },
                                    "visibility": "internal"
                                }
                            ],
                            "src": "55521:51:62"
                        },
                        "returnParameters": {
                            "id": 20078,
                            "nodeType": "ParameterList",
                            "parameters": [],
                            "src": "55587:0:62"
                        },
                        "scope": 20920,
                        "src": "55509:178:62",
                        "stateMutability": "view",
                        "virtual": false,
                        "visibility": "internal"
                    },
                    {
                        "body": {
                            "id": 20113,
                            "nodeType": "Block",
                            "src": "55768:100:62",
                            "statements": [
                                {
                                    "expression": {
                                        "arguments": [
                                            {
                                                "arguments": [
                                                    {
                                                        "hexValue": "6c6f6728616464726573732c737472696e672c616464726573732c75696e7429",
                                                        "id": 20105,
                                                        "isConstant": false,
                                                        "isLValue": false,
                                                        "isPure": true,
                                                        "kind": "string",
                                                        "lValueRequested": false,
                                                        "nodeType": "Literal",
                                                        "src": "55812:34:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_stringliteral_8c1933a9a9c61e3dc8d3ebdfa929712b21dab3dcf7188e7d35cbf8aaaf476582",
                                                            "typeString": "literal_string \"log(address,string,address,uint)\""
                                                        },
                                                        "value": "log(address,string,address,uint)"
                                                    },
                                                    {
                                                        "id": 20106,
                                                        "name": "p0",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 20093,
                                                        "src": "55848:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_address",
                                                            "typeString": "address"
                                                        }
                                                    },
                                                    {
                                                        "id": 20107,
                                                        "name": "p1",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 20095,
                                                        "src": "55852:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_string_memory_ptr",
                                                            "typeString": "string memory"
                                                        }
                                                    },
                                                    {
                                                        "id": 20108,
                                                        "name": "p2",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 20097,
                                                        "src": "55856:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_address",
                                                            "typeString": "address"
                                                        }
                                                    },
                                                    {
                                                        "id": 20109,
                                                        "name": "p3",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 20099,
                                                        "src": "55860:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_uint256",
                                                            "typeString": "uint256"
                                                        }
                                                    }
                                                ],
                                                "expression": {
                                                    "argumentTypes": [
                                                        {
                                                            "typeIdentifier": "t_stringliteral_8c1933a9a9c61e3dc8d3ebdfa929712b21dab3dcf7188e7d35cbf8aaaf476582",
                                                            "typeString": "literal_string \"log(address,string,address,uint)\""
                                                        },
                                                        {
                                                            "typeIdentifier": "t_address",
                                                            "typeString": "address"
                                                        },
                                                        {
                                                            "typeIdentifier": "t_string_memory_ptr",
                                                            "typeString": "string memory"
                                                        },
                                                        {
                                                            "typeIdentifier": "t_address",
                                                            "typeString": "address"
                                                        },
                                                        {
                                                            "typeIdentifier": "t_uint256",
                                                            "typeString": "uint256"
                                                        }
                                                    ],
                                                    "expression": {
                                                        "id": 20103,
                                                        "name": "abi",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 4294967295,
                                                        "src": "55788:3:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_magic_abi",
                                                            "typeString": "abi"
                                                        }
                                                    },
                                                    "id": 20104,
                                                    "isConstant": false,
                                                    "isLValue": false,
                                                    "isPure": true,
                                                    "lValueRequested": false,
                                                    "memberName": "encodeWithSignature",
                                                    "nodeType": "MemberAccess",
                                                    "src": "55788:23:62",
                                                    "typeDescriptions": {
                                                        "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$",
                                                        "typeString": "function (string memory) pure returns (bytes memory)"
                                                    }
                                                },
                                                "id": 20110,
                                                "isConstant": false,
                                                "isLValue": false,
                                                "isPure": false,
                                                "kind": "functionCall",
                                                "lValueRequested": false,
                                                "names": [],
                                                "nodeType": "FunctionCall",
                                                "src": "55788:75:62",
                                                "tryCall": false,
                                                "typeDescriptions": {
                                                    "typeIdentifier": "t_bytes_memory_ptr",
                                                    "typeString": "bytes memory"
                                                }
                                            }
                                        ],
                                        "expression": {
                                            "argumentTypes": [
                                                {
                                                    "typeIdentifier": "t_bytes_memory_ptr",
                                                    "typeString": "bytes memory"
                                                }
                                            ],
                                            "id": 20102,
                                            "name": "_sendLogPayload",
                                            "nodeType": "Identifier",
                                            "overloadedDeclarations": [],
                                            "referencedDeclaration": 12880,
                                            "src": "55772:15:62",
                                            "typeDescriptions": {
                                                "typeIdentifier": "t_function_internal_view$_t_bytes_memory_ptr_$returns$__$",
                                                "typeString": "function (bytes memory) view"
                                            }
                                        },
                                        "id": 20111,
                                        "isConstant": false,
                                        "isLValue": false,
                                        "isPure": false,
                                        "kind": "functionCall",
                                        "lValueRequested": false,
                                        "names": [],
                                        "nodeType": "FunctionCall",
                                        "src": "55772:92:62",
                                        "tryCall": false,
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_tuple$__$",
                                            "typeString": "tuple()"
                                        }
                                    },
                                    "id": 20112,
                                    "nodeType": "ExpressionStatement",
                                    "src": "55772:92:62"
                                }
                            ]
                        },
                        "id": 20114,
                        "implemented": true,
                        "kind": "function",
                        "modifiers": [],
                        "name": "log",
                        "nameLocation": "55699:3:62",
                        "nodeType": "FunctionDefinition",
                        "parameters": {
                            "id": 20100,
                            "nodeType": "ParameterList",
                            "parameters": [
                                {
                                    "constant": false,
                                    "id": 20093,
                                    "mutability": "mutable",
                                    "name": "p0",
                                    "nameLocation": "55711:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 20114,
                                    "src": "55703:10:62",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_address",
                                        "typeString": "address"
                                    },
                                    "typeName": {
                                        "id": 20092,
                                        "name": "address",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "55703:7:62",
                                        "stateMutability": "nonpayable",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_address",
                                            "typeString": "address"
                                        }
                                    },
                                    "visibility": "internal"
                                },
                                {
                                    "constant": false,
                                    "id": 20095,
                                    "mutability": "mutable",
                                    "name": "p1",
                                    "nameLocation": "55729:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 20114,
                                    "src": "55715:16:62",
                                    "stateVariable": false,
                                    "storageLocation": "memory",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_string_memory_ptr",
                                        "typeString": "string"
                                    },
                                    "typeName": {
                                        "id": 20094,
                                        "name": "string",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "55715:6:62",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_string_storage_ptr",
                                            "typeString": "string"
                                        }
                                    },
                                    "visibility": "internal"
                                },
                                {
                                    "constant": false,
                                    "id": 20097,
                                    "mutability": "mutable",
                                    "name": "p2",
                                    "nameLocation": "55741:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 20114,
                                    "src": "55733:10:62",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_address",
                                        "typeString": "address"
                                    },
                                    "typeName": {
                                        "id": 20096,
                                        "name": "address",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "55733:7:62",
                                        "stateMutability": "nonpayable",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_address",
                                            "typeString": "address"
                                        }
                                    },
                                    "visibility": "internal"
                                },
                                {
                                    "constant": false,
                                    "id": 20099,
                                    "mutability": "mutable",
                                    "name": "p3",
                                    "nameLocation": "55750:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 20114,
                                    "src": "55745:7:62",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_uint256",
                                        "typeString": "uint256"
                                    },
                                    "typeName": {
                                        "id": 20098,
                                        "name": "uint",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "55745:4:62",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_uint256",
                                            "typeString": "uint256"
                                        }
                                    },
                                    "visibility": "internal"
                                }
                            ],
                            "src": "55702:51:62"
                        },
                        "returnParameters": {
                            "id": 20101,
                            "nodeType": "ParameterList",
                            "parameters": [],
                            "src": "55768:0:62"
                        },
                        "scope": 20920,
                        "src": "55690:178:62",
                        "stateMutability": "view",
                        "virtual": false,
                        "visibility": "internal"
                    },
                    {
                        "body": {
                            "id": 20136,
                            "nodeType": "Block",
                            "src": "55958:102:62",
                            "statements": [
                                {
                                    "expression": {
                                        "arguments": [
                                            {
                                                "arguments": [
                                                    {
                                                        "hexValue": "6c6f6728616464726573732c737472696e672c616464726573732c737472696e6729",
                                                        "id": 20128,
                                                        "isConstant": false,
                                                        "isLValue": false,
                                                        "isPure": true,
                                                        "kind": "string",
                                                        "lValueRequested": false,
                                                        "nodeType": "Literal",
                                                        "src": "56002:36:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_stringliteral_f7e3624510fc5618feb98a49f5d4404e3749dacbdc916c267fea7b2051a08dea",
                                                            "typeString": "literal_string \"log(address,string,address,string)\""
                                                        },
                                                        "value": "log(address,string,address,string)"
                                                    },
                                                    {
                                                        "id": 20129,
                                                        "name": "p0",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 20116,
                                                        "src": "56040:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_address",
                                                            "typeString": "address"
                                                        }
                                                    },
                                                    {
                                                        "id": 20130,
                                                        "name": "p1",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 20118,
                                                        "src": "56044:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_string_memory_ptr",
                                                            "typeString": "string memory"
                                                        }
                                                    },
                                                    {
                                                        "id": 20131,
                                                        "name": "p2",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 20120,
                                                        "src": "56048:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_address",
                                                            "typeString": "address"
                                                        }
                                                    },
                                                    {
                                                        "id": 20132,
                                                        "name": "p3",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 20122,
                                                        "src": "56052:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_string_memory_ptr",
                                                            "typeString": "string memory"
                                                        }
                                                    }
                                                ],
                                                "expression": {
                                                    "argumentTypes": [
                                                        {
                                                            "typeIdentifier": "t_stringliteral_f7e3624510fc5618feb98a49f5d4404e3749dacbdc916c267fea7b2051a08dea",
                                                            "typeString": "literal_string \"log(address,string,address,string)\""
                                                        },
                                                        {
                                                            "typeIdentifier": "t_address",
                                                            "typeString": "address"
                                                        },
                                                        {
                                                            "typeIdentifier": "t_string_memory_ptr",
                                                            "typeString": "string memory"
                                                        },
                                                        {
                                                            "typeIdentifier": "t_address",
                                                            "typeString": "address"
                                                        },
                                                        {
                                                            "typeIdentifier": "t_string_memory_ptr",
                                                            "typeString": "string memory"
                                                        }
                                                    ],
                                                    "expression": {
                                                        "id": 20126,
                                                        "name": "abi",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 4294967295,
                                                        "src": "55978:3:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_magic_abi",
                                                            "typeString": "abi"
                                                        }
                                                    },
                                                    "id": 20127,
                                                    "isConstant": false,
                                                    "isLValue": false,
                                                    "isPure": true,
                                                    "lValueRequested": false,
                                                    "memberName": "encodeWithSignature",
                                                    "nodeType": "MemberAccess",
                                                    "src": "55978:23:62",
                                                    "typeDescriptions": {
                                                        "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$",
                                                        "typeString": "function (string memory) pure returns (bytes memory)"
                                                    }
                                                },
                                                "id": 20133,
                                                "isConstant": false,
                                                "isLValue": false,
                                                "isPure": false,
                                                "kind": "functionCall",
                                                "lValueRequested": false,
                                                "names": [],
                                                "nodeType": "FunctionCall",
                                                "src": "55978:77:62",
                                                "tryCall": false,
                                                "typeDescriptions": {
                                                    "typeIdentifier": "t_bytes_memory_ptr",
                                                    "typeString": "bytes memory"
                                                }
                                            }
                                        ],
                                        "expression": {
                                            "argumentTypes": [
                                                {
                                                    "typeIdentifier": "t_bytes_memory_ptr",
                                                    "typeString": "bytes memory"
                                                }
                                            ],
                                            "id": 20125,
                                            "name": "_sendLogPayload",
                                            "nodeType": "Identifier",
                                            "overloadedDeclarations": [],
                                            "referencedDeclaration": 12880,
                                            "src": "55962:15:62",
                                            "typeDescriptions": {
                                                "typeIdentifier": "t_function_internal_view$_t_bytes_memory_ptr_$returns$__$",
                                                "typeString": "function (bytes memory) view"
                                            }
                                        },
                                        "id": 20134,
                                        "isConstant": false,
                                        "isLValue": false,
                                        "isPure": false,
                                        "kind": "functionCall",
                                        "lValueRequested": false,
                                        "names": [],
                                        "nodeType": "FunctionCall",
                                        "src": "55962:94:62",
                                        "tryCall": false,
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_tuple$__$",
                                            "typeString": "tuple()"
                                        }
                                    },
                                    "id": 20135,
                                    "nodeType": "ExpressionStatement",
                                    "src": "55962:94:62"
                                }
                            ]
                        },
                        "id": 20137,
                        "implemented": true,
                        "kind": "function",
                        "modifiers": [],
                        "name": "log",
                        "nameLocation": "55880:3:62",
                        "nodeType": "FunctionDefinition",
                        "parameters": {
                            "id": 20123,
                            "nodeType": "ParameterList",
                            "parameters": [
                                {
                                    "constant": false,
                                    "id": 20116,
                                    "mutability": "mutable",
                                    "name": "p0",
                                    "nameLocation": "55892:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 20137,
                                    "src": "55884:10:62",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_address",
                                        "typeString": "address"
                                    },
                                    "typeName": {
                                        "id": 20115,
                                        "name": "address",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "55884:7:62",
                                        "stateMutability": "nonpayable",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_address",
                                            "typeString": "address"
                                        }
                                    },
                                    "visibility": "internal"
                                },
                                {
                                    "constant": false,
                                    "id": 20118,
                                    "mutability": "mutable",
                                    "name": "p1",
                                    "nameLocation": "55910:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 20137,
                                    "src": "55896:16:62",
                                    "stateVariable": false,
                                    "storageLocation": "memory",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_string_memory_ptr",
                                        "typeString": "string"
                                    },
                                    "typeName": {
                                        "id": 20117,
                                        "name": "string",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "55896:6:62",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_string_storage_ptr",
                                            "typeString": "string"
                                        }
                                    },
                                    "visibility": "internal"
                                },
                                {
                                    "constant": false,
                                    "id": 20120,
                                    "mutability": "mutable",
                                    "name": "p2",
                                    "nameLocation": "55922:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 20137,
                                    "src": "55914:10:62",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_address",
                                        "typeString": "address"
                                    },
                                    "typeName": {
                                        "id": 20119,
                                        "name": "address",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "55914:7:62",
                                        "stateMutability": "nonpayable",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_address",
                                            "typeString": "address"
                                        }
                                    },
                                    "visibility": "internal"
                                },
                                {
                                    "constant": false,
                                    "id": 20122,
                                    "mutability": "mutable",
                                    "name": "p3",
                                    "nameLocation": "55940:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 20137,
                                    "src": "55926:16:62",
                                    "stateVariable": false,
                                    "storageLocation": "memory",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_string_memory_ptr",
                                        "typeString": "string"
                                    },
                                    "typeName": {
                                        "id": 20121,
                                        "name": "string",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "55926:6:62",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_string_storage_ptr",
                                            "typeString": "string"
                                        }
                                    },
                                    "visibility": "internal"
                                }
                            ],
                            "src": "55883:60:62"
                        },
                        "returnParameters": {
                            "id": 20124,
                            "nodeType": "ParameterList",
                            "parameters": [],
                            "src": "55958:0:62"
                        },
                        "scope": 20920,
                        "src": "55871:189:62",
                        "stateMutability": "view",
                        "virtual": false,
                        "visibility": "internal"
                    },
                    {
                        "body": {
                            "id": 20159,
                            "nodeType": "Block",
                            "src": "56141:100:62",
                            "statements": [
                                {
                                    "expression": {
                                        "arguments": [
                                            {
                                                "arguments": [
                                                    {
                                                        "hexValue": "6c6f6728616464726573732c737472696e672c616464726573732c626f6f6c29",
                                                        "id": 20151,
                                                        "isConstant": false,
                                                        "isLValue": false,
                                                        "isPure": true,
                                                        "kind": "string",
                                                        "lValueRequested": false,
                                                        "nodeType": "Literal",
                                                        "src": "56185:34:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_stringliteral_0df12b7620e0bad204ac79fe9930fef9b9a40702161764a681594d50d657b081",
                                                            "typeString": "literal_string \"log(address,string,address,bool)\""
                                                        },
                                                        "value": "log(address,string,address,bool)"
                                                    },
                                                    {
                                                        "id": 20152,
                                                        "name": "p0",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 20139,
                                                        "src": "56221:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_address",
                                                            "typeString": "address"
                                                        }
                                                    },
                                                    {
                                                        "id": 20153,
                                                        "name": "p1",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 20141,
                                                        "src": "56225:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_string_memory_ptr",
                                                            "typeString": "string memory"
                                                        }
                                                    },
                                                    {
                                                        "id": 20154,
                                                        "name": "p2",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 20143,
                                                        "src": "56229:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_address",
                                                            "typeString": "address"
                                                        }
                                                    },
                                                    {
                                                        "id": 20155,
                                                        "name": "p3",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 20145,
                                                        "src": "56233:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_bool",
                                                            "typeString": "bool"
                                                        }
                                                    }
                                                ],
                                                "expression": {
                                                    "argumentTypes": [
                                                        {
                                                            "typeIdentifier": "t_stringliteral_0df12b7620e0bad204ac79fe9930fef9b9a40702161764a681594d50d657b081",
                                                            "typeString": "literal_string \"log(address,string,address,bool)\""
                                                        },
                                                        {
                                                            "typeIdentifier": "t_address",
                                                            "typeString": "address"
                                                        },
                                                        {
                                                            "typeIdentifier": "t_string_memory_ptr",
                                                            "typeString": "string memory"
                                                        },
                                                        {
                                                            "typeIdentifier": "t_address",
                                                            "typeString": "address"
                                                        },
                                                        {
                                                            "typeIdentifier": "t_bool",
                                                            "typeString": "bool"
                                                        }
                                                    ],
                                                    "expression": {
                                                        "id": 20149,
                                                        "name": "abi",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 4294967295,
                                                        "src": "56161:3:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_magic_abi",
                                                            "typeString": "abi"
                                                        }
                                                    },
                                                    "id": 20150,
                                                    "isConstant": false,
                                                    "isLValue": false,
                                                    "isPure": true,
                                                    "lValueRequested": false,
                                                    "memberName": "encodeWithSignature",
                                                    "nodeType": "MemberAccess",
                                                    "src": "56161:23:62",
                                                    "typeDescriptions": {
                                                        "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$",
                                                        "typeString": "function (string memory) pure returns (bytes memory)"
                                                    }
                                                },
                                                "id": 20156,
                                                "isConstant": false,
                                                "isLValue": false,
                                                "isPure": false,
                                                "kind": "functionCall",
                                                "lValueRequested": false,
                                                "names": [],
                                                "nodeType": "FunctionCall",
                                                "src": "56161:75:62",
                                                "tryCall": false,
                                                "typeDescriptions": {
                                                    "typeIdentifier": "t_bytes_memory_ptr",
                                                    "typeString": "bytes memory"
                                                }
                                            }
                                        ],
                                        "expression": {
                                            "argumentTypes": [
                                                {
                                                    "typeIdentifier": "t_bytes_memory_ptr",
                                                    "typeString": "bytes memory"
                                                }
                                            ],
                                            "id": 20148,
                                            "name": "_sendLogPayload",
                                            "nodeType": "Identifier",
                                            "overloadedDeclarations": [],
                                            "referencedDeclaration": 12880,
                                            "src": "56145:15:62",
                                            "typeDescriptions": {
                                                "typeIdentifier": "t_function_internal_view$_t_bytes_memory_ptr_$returns$__$",
                                                "typeString": "function (bytes memory) view"
                                            }
                                        },
                                        "id": 20157,
                                        "isConstant": false,
                                        "isLValue": false,
                                        "isPure": false,
                                        "kind": "functionCall",
                                        "lValueRequested": false,
                                        "names": [],
                                        "nodeType": "FunctionCall",
                                        "src": "56145:92:62",
                                        "tryCall": false,
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_tuple$__$",
                                            "typeString": "tuple()"
                                        }
                                    },
                                    "id": 20158,
                                    "nodeType": "ExpressionStatement",
                                    "src": "56145:92:62"
                                }
                            ]
                        },
                        "id": 20160,
                        "implemented": true,
                        "kind": "function",
                        "modifiers": [],
                        "name": "log",
                        "nameLocation": "56072:3:62",
                        "nodeType": "FunctionDefinition",
                        "parameters": {
                            "id": 20146,
                            "nodeType": "ParameterList",
                            "parameters": [
                                {
                                    "constant": false,
                                    "id": 20139,
                                    "mutability": "mutable",
                                    "name": "p0",
                                    "nameLocation": "56084:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 20160,
                                    "src": "56076:10:62",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_address",
                                        "typeString": "address"
                                    },
                                    "typeName": {
                                        "id": 20138,
                                        "name": "address",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "56076:7:62",
                                        "stateMutability": "nonpayable",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_address",
                                            "typeString": "address"
                                        }
                                    },
                                    "visibility": "internal"
                                },
                                {
                                    "constant": false,
                                    "id": 20141,
                                    "mutability": "mutable",
                                    "name": "p1",
                                    "nameLocation": "56102:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 20160,
                                    "src": "56088:16:62",
                                    "stateVariable": false,
                                    "storageLocation": "memory",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_string_memory_ptr",
                                        "typeString": "string"
                                    },
                                    "typeName": {
                                        "id": 20140,
                                        "name": "string",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "56088:6:62",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_string_storage_ptr",
                                            "typeString": "string"
                                        }
                                    },
                                    "visibility": "internal"
                                },
                                {
                                    "constant": false,
                                    "id": 20143,
                                    "mutability": "mutable",
                                    "name": "p2",
                                    "nameLocation": "56114:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 20160,
                                    "src": "56106:10:62",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_address",
                                        "typeString": "address"
                                    },
                                    "typeName": {
                                        "id": 20142,
                                        "name": "address",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "56106:7:62",
                                        "stateMutability": "nonpayable",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_address",
                                            "typeString": "address"
                                        }
                                    },
                                    "visibility": "internal"
                                },
                                {
                                    "constant": false,
                                    "id": 20145,
                                    "mutability": "mutable",
                                    "name": "p3",
                                    "nameLocation": "56123:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 20160,
                                    "src": "56118:7:62",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_bool",
                                        "typeString": "bool"
                                    },
                                    "typeName": {
                                        "id": 20144,
                                        "name": "bool",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "56118:4:62",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_bool",
                                            "typeString": "bool"
                                        }
                                    },
                                    "visibility": "internal"
                                }
                            ],
                            "src": "56075:51:62"
                        },
                        "returnParameters": {
                            "id": 20147,
                            "nodeType": "ParameterList",
                            "parameters": [],
                            "src": "56141:0:62"
                        },
                        "scope": 20920,
                        "src": "56063:178:62",
                        "stateMutability": "view",
                        "virtual": false,
                        "visibility": "internal"
                    },
                    {
                        "body": {
                            "id": 20182,
                            "nodeType": "Block",
                            "src": "56325:103:62",
                            "statements": [
                                {
                                    "expression": {
                                        "arguments": [
                                            {
                                                "arguments": [
                                                    {
                                                        "hexValue": "6c6f6728616464726573732c737472696e672c616464726573732c6164647265737329",
                                                        "id": 20174,
                                                        "isConstant": false,
                                                        "isLValue": false,
                                                        "isPure": true,
                                                        "kind": "string",
                                                        "lValueRequested": false,
                                                        "nodeType": "Literal",
                                                        "src": "56369:37:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_stringliteral_0d36fa2022fafb45586a59914be3ad4c57b76e89535385dcff89c28c80605121",
                                                            "typeString": "literal_string \"log(address,string,address,address)\""
                                                        },
                                                        "value": "log(address,string,address,address)"
                                                    },
                                                    {
                                                        "id": 20175,
                                                        "name": "p0",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 20162,
                                                        "src": "56408:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_address",
                                                            "typeString": "address"
                                                        }
                                                    },
                                                    {
                                                        "id": 20176,
                                                        "name": "p1",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 20164,
                                                        "src": "56412:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_string_memory_ptr",
                                                            "typeString": "string memory"
                                                        }
                                                    },
                                                    {
                                                        "id": 20177,
                                                        "name": "p2",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 20166,
                                                        "src": "56416:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_address",
                                                            "typeString": "address"
                                                        }
                                                    },
                                                    {
                                                        "id": 20178,
                                                        "name": "p3",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 20168,
                                                        "src": "56420:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_address",
                                                            "typeString": "address"
                                                        }
                                                    }
                                                ],
                                                "expression": {
                                                    "argumentTypes": [
                                                        {
                                                            "typeIdentifier": "t_stringliteral_0d36fa2022fafb45586a59914be3ad4c57b76e89535385dcff89c28c80605121",
                                                            "typeString": "literal_string \"log(address,string,address,address)\""
                                                        },
                                                        {
                                                            "typeIdentifier": "t_address",
                                                            "typeString": "address"
                                                        },
                                                        {
                                                            "typeIdentifier": "t_string_memory_ptr",
                                                            "typeString": "string memory"
                                                        },
                                                        {
                                                            "typeIdentifier": "t_address",
                                                            "typeString": "address"
                                                        },
                                                        {
                                                            "typeIdentifier": "t_address",
                                                            "typeString": "address"
                                                        }
                                                    ],
                                                    "expression": {
                                                        "id": 20172,
                                                        "name": "abi",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 4294967295,
                                                        "src": "56345:3:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_magic_abi",
                                                            "typeString": "abi"
                                                        }
                                                    },
                                                    "id": 20173,
                                                    "isConstant": false,
                                                    "isLValue": false,
                                                    "isPure": true,
                                                    "lValueRequested": false,
                                                    "memberName": "encodeWithSignature",
                                                    "nodeType": "MemberAccess",
                                                    "src": "56345:23:62",
                                                    "typeDescriptions": {
                                                        "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$",
                                                        "typeString": "function (string memory) pure returns (bytes memory)"
                                                    }
                                                },
                                                "id": 20179,
                                                "isConstant": false,
                                                "isLValue": false,
                                                "isPure": false,
                                                "kind": "functionCall",
                                                "lValueRequested": false,
                                                "names": [],
                                                "nodeType": "FunctionCall",
                                                "src": "56345:78:62",
                                                "tryCall": false,
                                                "typeDescriptions": {
                                                    "typeIdentifier": "t_bytes_memory_ptr",
                                                    "typeString": "bytes memory"
                                                }
                                            }
                                        ],
                                        "expression": {
                                            "argumentTypes": [
                                                {
                                                    "typeIdentifier": "t_bytes_memory_ptr",
                                                    "typeString": "bytes memory"
                                                }
                                            ],
                                            "id": 20171,
                                            "name": "_sendLogPayload",
                                            "nodeType": "Identifier",
                                            "overloadedDeclarations": [],
                                            "referencedDeclaration": 12880,
                                            "src": "56329:15:62",
                                            "typeDescriptions": {
                                                "typeIdentifier": "t_function_internal_view$_t_bytes_memory_ptr_$returns$__$",
                                                "typeString": "function (bytes memory) view"
                                            }
                                        },
                                        "id": 20180,
                                        "isConstant": false,
                                        "isLValue": false,
                                        "isPure": false,
                                        "kind": "functionCall",
                                        "lValueRequested": false,
                                        "names": [],
                                        "nodeType": "FunctionCall",
                                        "src": "56329:95:62",
                                        "tryCall": false,
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_tuple$__$",
                                            "typeString": "tuple()"
                                        }
                                    },
                                    "id": 20181,
                                    "nodeType": "ExpressionStatement",
                                    "src": "56329:95:62"
                                }
                            ]
                        },
                        "id": 20183,
                        "implemented": true,
                        "kind": "function",
                        "modifiers": [],
                        "name": "log",
                        "nameLocation": "56253:3:62",
                        "nodeType": "FunctionDefinition",
                        "parameters": {
                            "id": 20169,
                            "nodeType": "ParameterList",
                            "parameters": [
                                {
                                    "constant": false,
                                    "id": 20162,
                                    "mutability": "mutable",
                                    "name": "p0",
                                    "nameLocation": "56265:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 20183,
                                    "src": "56257:10:62",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_address",
                                        "typeString": "address"
                                    },
                                    "typeName": {
                                        "id": 20161,
                                        "name": "address",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "56257:7:62",
                                        "stateMutability": "nonpayable",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_address",
                                            "typeString": "address"
                                        }
                                    },
                                    "visibility": "internal"
                                },
                                {
                                    "constant": false,
                                    "id": 20164,
                                    "mutability": "mutable",
                                    "name": "p1",
                                    "nameLocation": "56283:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 20183,
                                    "src": "56269:16:62",
                                    "stateVariable": false,
                                    "storageLocation": "memory",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_string_memory_ptr",
                                        "typeString": "string"
                                    },
                                    "typeName": {
                                        "id": 20163,
                                        "name": "string",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "56269:6:62",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_string_storage_ptr",
                                            "typeString": "string"
                                        }
                                    },
                                    "visibility": "internal"
                                },
                                {
                                    "constant": false,
                                    "id": 20166,
                                    "mutability": "mutable",
                                    "name": "p2",
                                    "nameLocation": "56295:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 20183,
                                    "src": "56287:10:62",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_address",
                                        "typeString": "address"
                                    },
                                    "typeName": {
                                        "id": 20165,
                                        "name": "address",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "56287:7:62",
                                        "stateMutability": "nonpayable",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_address",
                                            "typeString": "address"
                                        }
                                    },
                                    "visibility": "internal"
                                },
                                {
                                    "constant": false,
                                    "id": 20168,
                                    "mutability": "mutable",
                                    "name": "p3",
                                    "nameLocation": "56307:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 20183,
                                    "src": "56299:10:62",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_address",
                                        "typeString": "address"
                                    },
                                    "typeName": {
                                        "id": 20167,
                                        "name": "address",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "56299:7:62",
                                        "stateMutability": "nonpayable",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_address",
                                            "typeString": "address"
                                        }
                                    },
                                    "visibility": "internal"
                                }
                            ],
                            "src": "56256:54:62"
                        },
                        "returnParameters": {
                            "id": 20170,
                            "nodeType": "ParameterList",
                            "parameters": [],
                            "src": "56325:0:62"
                        },
                        "scope": 20920,
                        "src": "56244:184:62",
                        "stateMutability": "view",
                        "virtual": false,
                        "visibility": "internal"
                    },
                    {
                        "body": {
                            "id": 20205,
                            "nodeType": "Block",
                            "src": "56497:95:62",
                            "statements": [
                                {
                                    "expression": {
                                        "arguments": [
                                            {
                                                "arguments": [
                                                    {
                                                        "hexValue": "6c6f6728616464726573732c626f6f6c2c75696e742c75696e7429",
                                                        "id": 20197,
                                                        "isConstant": false,
                                                        "isLValue": false,
                                                        "isPure": true,
                                                        "kind": "string",
                                                        "lValueRequested": false,
                                                        "nodeType": "Literal",
                                                        "src": "56541:29:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_stringliteral_c210a01e60a7d88137859e75abc2d14430087408747ac6787f0acb2f0f8bfd59",
                                                            "typeString": "literal_string \"log(address,bool,uint,uint)\""
                                                        },
                                                        "value": "log(address,bool,uint,uint)"
                                                    },
                                                    {
                                                        "id": 20198,
                                                        "name": "p0",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 20185,
                                                        "src": "56572:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_address",
                                                            "typeString": "address"
                                                        }
                                                    },
                                                    {
                                                        "id": 20199,
                                                        "name": "p1",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 20187,
                                                        "src": "56576:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_bool",
                                                            "typeString": "bool"
                                                        }
                                                    },
                                                    {
                                                        "id": 20200,
                                                        "name": "p2",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 20189,
                                                        "src": "56580:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_uint256",
                                                            "typeString": "uint256"
                                                        }
                                                    },
                                                    {
                                                        "id": 20201,
                                                        "name": "p3",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 20191,
                                                        "src": "56584:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_uint256",
                                                            "typeString": "uint256"
                                                        }
                                                    }
                                                ],
                                                "expression": {
                                                    "argumentTypes": [
                                                        {
                                                            "typeIdentifier": "t_stringliteral_c210a01e60a7d88137859e75abc2d14430087408747ac6787f0acb2f0f8bfd59",
                                                            "typeString": "literal_string \"log(address,bool,uint,uint)\""
                                                        },
                                                        {
                                                            "typeIdentifier": "t_address",
                                                            "typeString": "address"
                                                        },
                                                        {
                                                            "typeIdentifier": "t_bool",
                                                            "typeString": "bool"
                                                        },
                                                        {
                                                            "typeIdentifier": "t_uint256",
                                                            "typeString": "uint256"
                                                        },
                                                        {
                                                            "typeIdentifier": "t_uint256",
                                                            "typeString": "uint256"
                                                        }
                                                    ],
                                                    "expression": {
                                                        "id": 20195,
                                                        "name": "abi",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 4294967295,
                                                        "src": "56517:3:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_magic_abi",
                                                            "typeString": "abi"
                                                        }
                                                    },
                                                    "id": 20196,
                                                    "isConstant": false,
                                                    "isLValue": false,
                                                    "isPure": true,
                                                    "lValueRequested": false,
                                                    "memberName": "encodeWithSignature",
                                                    "nodeType": "MemberAccess",
                                                    "src": "56517:23:62",
                                                    "typeDescriptions": {
                                                        "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$",
                                                        "typeString": "function (string memory) pure returns (bytes memory)"
                                                    }
                                                },
                                                "id": 20202,
                                                "isConstant": false,
                                                "isLValue": false,
                                                "isPure": false,
                                                "kind": "functionCall",
                                                "lValueRequested": false,
                                                "names": [],
                                                "nodeType": "FunctionCall",
                                                "src": "56517:70:62",
                                                "tryCall": false,
                                                "typeDescriptions": {
                                                    "typeIdentifier": "t_bytes_memory_ptr",
                                                    "typeString": "bytes memory"
                                                }
                                            }
                                        ],
                                        "expression": {
                                            "argumentTypes": [
                                                {
                                                    "typeIdentifier": "t_bytes_memory_ptr",
                                                    "typeString": "bytes memory"
                                                }
                                            ],
                                            "id": 20194,
                                            "name": "_sendLogPayload",
                                            "nodeType": "Identifier",
                                            "overloadedDeclarations": [],
                                            "referencedDeclaration": 12880,
                                            "src": "56501:15:62",
                                            "typeDescriptions": {
                                                "typeIdentifier": "t_function_internal_view$_t_bytes_memory_ptr_$returns$__$",
                                                "typeString": "function (bytes memory) view"
                                            }
                                        },
                                        "id": 20203,
                                        "isConstant": false,
                                        "isLValue": false,
                                        "isPure": false,
                                        "kind": "functionCall",
                                        "lValueRequested": false,
                                        "names": [],
                                        "nodeType": "FunctionCall",
                                        "src": "56501:87:62",
                                        "tryCall": false,
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_tuple$__$",
                                            "typeString": "tuple()"
                                        }
                                    },
                                    "id": 20204,
                                    "nodeType": "ExpressionStatement",
                                    "src": "56501:87:62"
                                }
                            ]
                        },
                        "id": 20206,
                        "implemented": true,
                        "kind": "function",
                        "modifiers": [],
                        "name": "log",
                        "nameLocation": "56440:3:62",
                        "nodeType": "FunctionDefinition",
                        "parameters": {
                            "id": 20192,
                            "nodeType": "ParameterList",
                            "parameters": [
                                {
                                    "constant": false,
                                    "id": 20185,
                                    "mutability": "mutable",
                                    "name": "p0",
                                    "nameLocation": "56452:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 20206,
                                    "src": "56444:10:62",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_address",
                                        "typeString": "address"
                                    },
                                    "typeName": {
                                        "id": 20184,
                                        "name": "address",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "56444:7:62",
                                        "stateMutability": "nonpayable",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_address",
                                            "typeString": "address"
                                        }
                                    },
                                    "visibility": "internal"
                                },
                                {
                                    "constant": false,
                                    "id": 20187,
                                    "mutability": "mutable",
                                    "name": "p1",
                                    "nameLocation": "56461:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 20206,
                                    "src": "56456:7:62",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_bool",
                                        "typeString": "bool"
                                    },
                                    "typeName": {
                                        "id": 20186,
                                        "name": "bool",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "56456:4:62",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_bool",
                                            "typeString": "bool"
                                        }
                                    },
                                    "visibility": "internal"
                                },
                                {
                                    "constant": false,
                                    "id": 20189,
                                    "mutability": "mutable",
                                    "name": "p2",
                                    "nameLocation": "56470:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 20206,
                                    "src": "56465:7:62",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_uint256",
                                        "typeString": "uint256"
                                    },
                                    "typeName": {
                                        "id": 20188,
                                        "name": "uint",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "56465:4:62",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_uint256",
                                            "typeString": "uint256"
                                        }
                                    },
                                    "visibility": "internal"
                                },
                                {
                                    "constant": false,
                                    "id": 20191,
                                    "mutability": "mutable",
                                    "name": "p3",
                                    "nameLocation": "56479:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 20206,
                                    "src": "56474:7:62",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_uint256",
                                        "typeString": "uint256"
                                    },
                                    "typeName": {
                                        "id": 20190,
                                        "name": "uint",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "56474:4:62",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_uint256",
                                            "typeString": "uint256"
                                        }
                                    },
                                    "visibility": "internal"
                                }
                            ],
                            "src": "56443:39:62"
                        },
                        "returnParameters": {
                            "id": 20193,
                            "nodeType": "ParameterList",
                            "parameters": [],
                            "src": "56497:0:62"
                        },
                        "scope": 20920,
                        "src": "56431:161:62",
                        "stateMutability": "view",
                        "virtual": false,
                        "visibility": "internal"
                    },
                    {
                        "body": {
                            "id": 20228,
                            "nodeType": "Block",
                            "src": "56670:97:62",
                            "statements": [
                                {
                                    "expression": {
                                        "arguments": [
                                            {
                                                "arguments": [
                                                    {
                                                        "hexValue": "6c6f6728616464726573732c626f6f6c2c75696e742c737472696e6729",
                                                        "id": 20220,
                                                        "isConstant": false,
                                                        "isLValue": false,
                                                        "isPure": true,
                                                        "kind": "string",
                                                        "lValueRequested": false,
                                                        "nodeType": "Literal",
                                                        "src": "56714:31:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_stringliteral_9b588eccef132ec49572951d33e9b0d1b814d54c82133831f78cdc5d923bc6e6",
                                                            "typeString": "literal_string \"log(address,bool,uint,string)\""
                                                        },
                                                        "value": "log(address,bool,uint,string)"
                                                    },
                                                    {
                                                        "id": 20221,
                                                        "name": "p0",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 20208,
                                                        "src": "56747:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_address",
                                                            "typeString": "address"
                                                        }
                                                    },
                                                    {
                                                        "id": 20222,
                                                        "name": "p1",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 20210,
                                                        "src": "56751:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_bool",
                                                            "typeString": "bool"
                                                        }
                                                    },
                                                    {
                                                        "id": 20223,
                                                        "name": "p2",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 20212,
                                                        "src": "56755:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_uint256",
                                                            "typeString": "uint256"
                                                        }
                                                    },
                                                    {
                                                        "id": 20224,
                                                        "name": "p3",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 20214,
                                                        "src": "56759:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_string_memory_ptr",
                                                            "typeString": "string memory"
                                                        }
                                                    }
                                                ],
                                                "expression": {
                                                    "argumentTypes": [
                                                        {
                                                            "typeIdentifier": "t_stringliteral_9b588eccef132ec49572951d33e9b0d1b814d54c82133831f78cdc5d923bc6e6",
                                                            "typeString": "literal_string \"log(address,bool,uint,string)\""
                                                        },
                                                        {
                                                            "typeIdentifier": "t_address",
                                                            "typeString": "address"
                                                        },
                                                        {
                                                            "typeIdentifier": "t_bool",
                                                            "typeString": "bool"
                                                        },
                                                        {
                                                            "typeIdentifier": "t_uint256",
                                                            "typeString": "uint256"
                                                        },
                                                        {
                                                            "typeIdentifier": "t_string_memory_ptr",
                                                            "typeString": "string memory"
                                                        }
                                                    ],
                                                    "expression": {
                                                        "id": 20218,
                                                        "name": "abi",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 4294967295,
                                                        "src": "56690:3:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_magic_abi",
                                                            "typeString": "abi"
                                                        }
                                                    },
                                                    "id": 20219,
                                                    "isConstant": false,
                                                    "isLValue": false,
                                                    "isPure": true,
                                                    "lValueRequested": false,
                                                    "memberName": "encodeWithSignature",
                                                    "nodeType": "MemberAccess",
                                                    "src": "56690:23:62",
                                                    "typeDescriptions": {
                                                        "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$",
                                                        "typeString": "function (string memory) pure returns (bytes memory)"
                                                    }
                                                },
                                                "id": 20225,
                                                "isConstant": false,
                                                "isLValue": false,
                                                "isPure": false,
                                                "kind": "functionCall",
                                                "lValueRequested": false,
                                                "names": [],
                                                "nodeType": "FunctionCall",
                                                "src": "56690:72:62",
                                                "tryCall": false,
                                                "typeDescriptions": {
                                                    "typeIdentifier": "t_bytes_memory_ptr",
                                                    "typeString": "bytes memory"
                                                }
                                            }
                                        ],
                                        "expression": {
                                            "argumentTypes": [
                                                {
                                                    "typeIdentifier": "t_bytes_memory_ptr",
                                                    "typeString": "bytes memory"
                                                }
                                            ],
                                            "id": 20217,
                                            "name": "_sendLogPayload",
                                            "nodeType": "Identifier",
                                            "overloadedDeclarations": [],
                                            "referencedDeclaration": 12880,
                                            "src": "56674:15:62",
                                            "typeDescriptions": {
                                                "typeIdentifier": "t_function_internal_view$_t_bytes_memory_ptr_$returns$__$",
                                                "typeString": "function (bytes memory) view"
                                            }
                                        },
                                        "id": 20226,
                                        "isConstant": false,
                                        "isLValue": false,
                                        "isPure": false,
                                        "kind": "functionCall",
                                        "lValueRequested": false,
                                        "names": [],
                                        "nodeType": "FunctionCall",
                                        "src": "56674:89:62",
                                        "tryCall": false,
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_tuple$__$",
                                            "typeString": "tuple()"
                                        }
                                    },
                                    "id": 20227,
                                    "nodeType": "ExpressionStatement",
                                    "src": "56674:89:62"
                                }
                            ]
                        },
                        "id": 20229,
                        "implemented": true,
                        "kind": "function",
                        "modifiers": [],
                        "name": "log",
                        "nameLocation": "56604:3:62",
                        "nodeType": "FunctionDefinition",
                        "parameters": {
                            "id": 20215,
                            "nodeType": "ParameterList",
                            "parameters": [
                                {
                                    "constant": false,
                                    "id": 20208,
                                    "mutability": "mutable",
                                    "name": "p0",
                                    "nameLocation": "56616:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 20229,
                                    "src": "56608:10:62",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_address",
                                        "typeString": "address"
                                    },
                                    "typeName": {
                                        "id": 20207,
                                        "name": "address",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "56608:7:62",
                                        "stateMutability": "nonpayable",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_address",
                                            "typeString": "address"
                                        }
                                    },
                                    "visibility": "internal"
                                },
                                {
                                    "constant": false,
                                    "id": 20210,
                                    "mutability": "mutable",
                                    "name": "p1",
                                    "nameLocation": "56625:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 20229,
                                    "src": "56620:7:62",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_bool",
                                        "typeString": "bool"
                                    },
                                    "typeName": {
                                        "id": 20209,
                                        "name": "bool",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "56620:4:62",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_bool",
                                            "typeString": "bool"
                                        }
                                    },
                                    "visibility": "internal"
                                },
                                {
                                    "constant": false,
                                    "id": 20212,
                                    "mutability": "mutable",
                                    "name": "p2",
                                    "nameLocation": "56634:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 20229,
                                    "src": "56629:7:62",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_uint256",
                                        "typeString": "uint256"
                                    },
                                    "typeName": {
                                        "id": 20211,
                                        "name": "uint",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "56629:4:62",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_uint256",
                                            "typeString": "uint256"
                                        }
                                    },
                                    "visibility": "internal"
                                },
                                {
                                    "constant": false,
                                    "id": 20214,
                                    "mutability": "mutable",
                                    "name": "p3",
                                    "nameLocation": "56652:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 20229,
                                    "src": "56638:16:62",
                                    "stateVariable": false,
                                    "storageLocation": "memory",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_string_memory_ptr",
                                        "typeString": "string"
                                    },
                                    "typeName": {
                                        "id": 20213,
                                        "name": "string",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "56638:6:62",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_string_storage_ptr",
                                            "typeString": "string"
                                        }
                                    },
                                    "visibility": "internal"
                                }
                            ],
                            "src": "56607:48:62"
                        },
                        "returnParameters": {
                            "id": 20216,
                            "nodeType": "ParameterList",
                            "parameters": [],
                            "src": "56670:0:62"
                        },
                        "scope": 20920,
                        "src": "56595:172:62",
                        "stateMutability": "view",
                        "virtual": false,
                        "visibility": "internal"
                    },
                    {
                        "body": {
                            "id": 20251,
                            "nodeType": "Block",
                            "src": "56836:95:62",
                            "statements": [
                                {
                                    "expression": {
                                        "arguments": [
                                            {
                                                "arguments": [
                                                    {
                                                        "hexValue": "6c6f6728616464726573732c626f6f6c2c75696e742c626f6f6c29",
                                                        "id": 20243,
                                                        "isConstant": false,
                                                        "isLValue": false,
                                                        "isPure": true,
                                                        "kind": "string",
                                                        "lValueRequested": false,
                                                        "nodeType": "Literal",
                                                        "src": "56880:29:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_stringliteral_85cdc5af22f2a2b52749c228b5bc379bac815d0d3575c2899b6657bce00fab33",
                                                            "typeString": "literal_string \"log(address,bool,uint,bool)\""
                                                        },
                                                        "value": "log(address,bool,uint,bool)"
                                                    },
                                                    {
                                                        "id": 20244,
                                                        "name": "p0",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 20231,
                                                        "src": "56911:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_address",
                                                            "typeString": "address"
                                                        }
                                                    },
                                                    {
                                                        "id": 20245,
                                                        "name": "p1",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 20233,
                                                        "src": "56915:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_bool",
                                                            "typeString": "bool"
                                                        }
                                                    },
                                                    {
                                                        "id": 20246,
                                                        "name": "p2",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 20235,
                                                        "src": "56919:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_uint256",
                                                            "typeString": "uint256"
                                                        }
                                                    },
                                                    {
                                                        "id": 20247,
                                                        "name": "p3",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 20237,
                                                        "src": "56923:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_bool",
                                                            "typeString": "bool"
                                                        }
                                                    }
                                                ],
                                                "expression": {
                                                    "argumentTypes": [
                                                        {
                                                            "typeIdentifier": "t_stringliteral_85cdc5af22f2a2b52749c228b5bc379bac815d0d3575c2899b6657bce00fab33",
                                                            "typeString": "literal_string \"log(address,bool,uint,bool)\""
                                                        },
                                                        {
                                                            "typeIdentifier": "t_address",
                                                            "typeString": "address"
                                                        },
                                                        {
                                                            "typeIdentifier": "t_bool",
                                                            "typeString": "bool"
                                                        },
                                                        {
                                                            "typeIdentifier": "t_uint256",
                                                            "typeString": "uint256"
                                                        },
                                                        {
                                                            "typeIdentifier": "t_bool",
                                                            "typeString": "bool"
                                                        }
                                                    ],
                                                    "expression": {
                                                        "id": 20241,
                                                        "name": "abi",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 4294967295,
                                                        "src": "56856:3:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_magic_abi",
                                                            "typeString": "abi"
                                                        }
                                                    },
                                                    "id": 20242,
                                                    "isConstant": false,
                                                    "isLValue": false,
                                                    "isPure": true,
                                                    "lValueRequested": false,
                                                    "memberName": "encodeWithSignature",
                                                    "nodeType": "MemberAccess",
                                                    "src": "56856:23:62",
                                                    "typeDescriptions": {
                                                        "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$",
                                                        "typeString": "function (string memory) pure returns (bytes memory)"
                                                    }
                                                },
                                                "id": 20248,
                                                "isConstant": false,
                                                "isLValue": false,
                                                "isPure": false,
                                                "kind": "functionCall",
                                                "lValueRequested": false,
                                                "names": [],
                                                "nodeType": "FunctionCall",
                                                "src": "56856:70:62",
                                                "tryCall": false,
                                                "typeDescriptions": {
                                                    "typeIdentifier": "t_bytes_memory_ptr",
                                                    "typeString": "bytes memory"
                                                }
                                            }
                                        ],
                                        "expression": {
                                            "argumentTypes": [
                                                {
                                                    "typeIdentifier": "t_bytes_memory_ptr",
                                                    "typeString": "bytes memory"
                                                }
                                            ],
                                            "id": 20240,
                                            "name": "_sendLogPayload",
                                            "nodeType": "Identifier",
                                            "overloadedDeclarations": [],
                                            "referencedDeclaration": 12880,
                                            "src": "56840:15:62",
                                            "typeDescriptions": {
                                                "typeIdentifier": "t_function_internal_view$_t_bytes_memory_ptr_$returns$__$",
                                                "typeString": "function (bytes memory) view"
                                            }
                                        },
                                        "id": 20249,
                                        "isConstant": false,
                                        "isLValue": false,
                                        "isPure": false,
                                        "kind": "functionCall",
                                        "lValueRequested": false,
                                        "names": [],
                                        "nodeType": "FunctionCall",
                                        "src": "56840:87:62",
                                        "tryCall": false,
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_tuple$__$",
                                            "typeString": "tuple()"
                                        }
                                    },
                                    "id": 20250,
                                    "nodeType": "ExpressionStatement",
                                    "src": "56840:87:62"
                                }
                            ]
                        },
                        "id": 20252,
                        "implemented": true,
                        "kind": "function",
                        "modifiers": [],
                        "name": "log",
                        "nameLocation": "56779:3:62",
                        "nodeType": "FunctionDefinition",
                        "parameters": {
                            "id": 20238,
                            "nodeType": "ParameterList",
                            "parameters": [
                                {
                                    "constant": false,
                                    "id": 20231,
                                    "mutability": "mutable",
                                    "name": "p0",
                                    "nameLocation": "56791:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 20252,
                                    "src": "56783:10:62",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_address",
                                        "typeString": "address"
                                    },
                                    "typeName": {
                                        "id": 20230,
                                        "name": "address",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "56783:7:62",
                                        "stateMutability": "nonpayable",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_address",
                                            "typeString": "address"
                                        }
                                    },
                                    "visibility": "internal"
                                },
                                {
                                    "constant": false,
                                    "id": 20233,
                                    "mutability": "mutable",
                                    "name": "p1",
                                    "nameLocation": "56800:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 20252,
                                    "src": "56795:7:62",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_bool",
                                        "typeString": "bool"
                                    },
                                    "typeName": {
                                        "id": 20232,
                                        "name": "bool",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "56795:4:62",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_bool",
                                            "typeString": "bool"
                                        }
                                    },
                                    "visibility": "internal"
                                },
                                {
                                    "constant": false,
                                    "id": 20235,
                                    "mutability": "mutable",
                                    "name": "p2",
                                    "nameLocation": "56809:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 20252,
                                    "src": "56804:7:62",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_uint256",
                                        "typeString": "uint256"
                                    },
                                    "typeName": {
                                        "id": 20234,
                                        "name": "uint",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "56804:4:62",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_uint256",
                                            "typeString": "uint256"
                                        }
                                    },
                                    "visibility": "internal"
                                },
                                {
                                    "constant": false,
                                    "id": 20237,
                                    "mutability": "mutable",
                                    "name": "p3",
                                    "nameLocation": "56818:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 20252,
                                    "src": "56813:7:62",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_bool",
                                        "typeString": "bool"
                                    },
                                    "typeName": {
                                        "id": 20236,
                                        "name": "bool",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "56813:4:62",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_bool",
                                            "typeString": "bool"
                                        }
                                    },
                                    "visibility": "internal"
                                }
                            ],
                            "src": "56782:39:62"
                        },
                        "returnParameters": {
                            "id": 20239,
                            "nodeType": "ParameterList",
                            "parameters": [],
                            "src": "56836:0:62"
                        },
                        "scope": 20920,
                        "src": "56770:161:62",
                        "stateMutability": "view",
                        "virtual": false,
                        "visibility": "internal"
                    },
                    {
                        "body": {
                            "id": 20274,
                            "nodeType": "Block",
                            "src": "57003:98:62",
                            "statements": [
                                {
                                    "expression": {
                                        "arguments": [
                                            {
                                                "arguments": [
                                                    {
                                                        "hexValue": "6c6f6728616464726573732c626f6f6c2c75696e742c6164647265737329",
                                                        "id": 20266,
                                                        "isConstant": false,
                                                        "isLValue": false,
                                                        "isPure": true,
                                                        "kind": "string",
                                                        "lValueRequested": false,
                                                        "nodeType": "Literal",
                                                        "src": "57047:32:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_stringliteral_0d8ce61ee7d058fd1e588343a35fb1aff71b8e7f74d553220d0e20088cb908bf",
                                                            "typeString": "literal_string \"log(address,bool,uint,address)\""
                                                        },
                                                        "value": "log(address,bool,uint,address)"
                                                    },
                                                    {
                                                        "id": 20267,
                                                        "name": "p0",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 20254,
                                                        "src": "57081:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_address",
                                                            "typeString": "address"
                                                        }
                                                    },
                                                    {
                                                        "id": 20268,
                                                        "name": "p1",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 20256,
                                                        "src": "57085:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_bool",
                                                            "typeString": "bool"
                                                        }
                                                    },
                                                    {
                                                        "id": 20269,
                                                        "name": "p2",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 20258,
                                                        "src": "57089:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_uint256",
                                                            "typeString": "uint256"
                                                        }
                                                    },
                                                    {
                                                        "id": 20270,
                                                        "name": "p3",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 20260,
                                                        "src": "57093:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_address",
                                                            "typeString": "address"
                                                        }
                                                    }
                                                ],
                                                "expression": {
                                                    "argumentTypes": [
                                                        {
                                                            "typeIdentifier": "t_stringliteral_0d8ce61ee7d058fd1e588343a35fb1aff71b8e7f74d553220d0e20088cb908bf",
                                                            "typeString": "literal_string \"log(address,bool,uint,address)\""
                                                        },
                                                        {
                                                            "typeIdentifier": "t_address",
                                                            "typeString": "address"
                                                        },
                                                        {
                                                            "typeIdentifier": "t_bool",
                                                            "typeString": "bool"
                                                        },
                                                        {
                                                            "typeIdentifier": "t_uint256",
                                                            "typeString": "uint256"
                                                        },
                                                        {
                                                            "typeIdentifier": "t_address",
                                                            "typeString": "address"
                                                        }
                                                    ],
                                                    "expression": {
                                                        "id": 20264,
                                                        "name": "abi",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 4294967295,
                                                        "src": "57023:3:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_magic_abi",
                                                            "typeString": "abi"
                                                        }
                                                    },
                                                    "id": 20265,
                                                    "isConstant": false,
                                                    "isLValue": false,
                                                    "isPure": true,
                                                    "lValueRequested": false,
                                                    "memberName": "encodeWithSignature",
                                                    "nodeType": "MemberAccess",
                                                    "src": "57023:23:62",
                                                    "typeDescriptions": {
                                                        "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$",
                                                        "typeString": "function (string memory) pure returns (bytes memory)"
                                                    }
                                                },
                                                "id": 20271,
                                                "isConstant": false,
                                                "isLValue": false,
                                                "isPure": false,
                                                "kind": "functionCall",
                                                "lValueRequested": false,
                                                "names": [],
                                                "nodeType": "FunctionCall",
                                                "src": "57023:73:62",
                                                "tryCall": false,
                                                "typeDescriptions": {
                                                    "typeIdentifier": "t_bytes_memory_ptr",
                                                    "typeString": "bytes memory"
                                                }
                                            }
                                        ],
                                        "expression": {
                                            "argumentTypes": [
                                                {
                                                    "typeIdentifier": "t_bytes_memory_ptr",
                                                    "typeString": "bytes memory"
                                                }
                                            ],
                                            "id": 20263,
                                            "name": "_sendLogPayload",
                                            "nodeType": "Identifier",
                                            "overloadedDeclarations": [],
                                            "referencedDeclaration": 12880,
                                            "src": "57007:15:62",
                                            "typeDescriptions": {
                                                "typeIdentifier": "t_function_internal_view$_t_bytes_memory_ptr_$returns$__$",
                                                "typeString": "function (bytes memory) view"
                                            }
                                        },
                                        "id": 20272,
                                        "isConstant": false,
                                        "isLValue": false,
                                        "isPure": false,
                                        "kind": "functionCall",
                                        "lValueRequested": false,
                                        "names": [],
                                        "nodeType": "FunctionCall",
                                        "src": "57007:90:62",
                                        "tryCall": false,
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_tuple$__$",
                                            "typeString": "tuple()"
                                        }
                                    },
                                    "id": 20273,
                                    "nodeType": "ExpressionStatement",
                                    "src": "57007:90:62"
                                }
                            ]
                        },
                        "id": 20275,
                        "implemented": true,
                        "kind": "function",
                        "modifiers": [],
                        "name": "log",
                        "nameLocation": "56943:3:62",
                        "nodeType": "FunctionDefinition",
                        "parameters": {
                            "id": 20261,
                            "nodeType": "ParameterList",
                            "parameters": [
                                {
                                    "constant": false,
                                    "id": 20254,
                                    "mutability": "mutable",
                                    "name": "p0",
                                    "nameLocation": "56955:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 20275,
                                    "src": "56947:10:62",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_address",
                                        "typeString": "address"
                                    },
                                    "typeName": {
                                        "id": 20253,
                                        "name": "address",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "56947:7:62",
                                        "stateMutability": "nonpayable",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_address",
                                            "typeString": "address"
                                        }
                                    },
                                    "visibility": "internal"
                                },
                                {
                                    "constant": false,
                                    "id": 20256,
                                    "mutability": "mutable",
                                    "name": "p1",
                                    "nameLocation": "56964:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 20275,
                                    "src": "56959:7:62",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_bool",
                                        "typeString": "bool"
                                    },
                                    "typeName": {
                                        "id": 20255,
                                        "name": "bool",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "56959:4:62",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_bool",
                                            "typeString": "bool"
                                        }
                                    },
                                    "visibility": "internal"
                                },
                                {
                                    "constant": false,
                                    "id": 20258,
                                    "mutability": "mutable",
                                    "name": "p2",
                                    "nameLocation": "56973:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 20275,
                                    "src": "56968:7:62",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_uint256",
                                        "typeString": "uint256"
                                    },
                                    "typeName": {
                                        "id": 20257,
                                        "name": "uint",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "56968:4:62",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_uint256",
                                            "typeString": "uint256"
                                        }
                                    },
                                    "visibility": "internal"
                                },
                                {
                                    "constant": false,
                                    "id": 20260,
                                    "mutability": "mutable",
                                    "name": "p3",
                                    "nameLocation": "56985:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 20275,
                                    "src": "56977:10:62",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_address",
                                        "typeString": "address"
                                    },
                                    "typeName": {
                                        "id": 20259,
                                        "name": "address",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "56977:7:62",
                                        "stateMutability": "nonpayable",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_address",
                                            "typeString": "address"
                                        }
                                    },
                                    "visibility": "internal"
                                }
                            ],
                            "src": "56946:42:62"
                        },
                        "returnParameters": {
                            "id": 20262,
                            "nodeType": "ParameterList",
                            "parameters": [],
                            "src": "57003:0:62"
                        },
                        "scope": 20920,
                        "src": "56934:167:62",
                        "stateMutability": "view",
                        "virtual": false,
                        "visibility": "internal"
                    },
                    {
                        "body": {
                            "id": 20297,
                            "nodeType": "Block",
                            "src": "57179:97:62",
                            "statements": [
                                {
                                    "expression": {
                                        "arguments": [
                                            {
                                                "arguments": [
                                                    {
                                                        "hexValue": "6c6f6728616464726573732c626f6f6c2c737472696e672c75696e7429",
                                                        "id": 20289,
                                                        "isConstant": false,
                                                        "isLValue": false,
                                                        "isPure": true,
                                                        "kind": "string",
                                                        "lValueRequested": false,
                                                        "nodeType": "Literal",
                                                        "src": "57223:31:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_stringliteral_9e127b6e4348bc33b3ea7f05f6479d3e1b1fe2b3727e1f4ba94b6a36e7abac9b",
                                                            "typeString": "literal_string \"log(address,bool,string,uint)\""
                                                        },
                                                        "value": "log(address,bool,string,uint)"
                                                    },
                                                    {
                                                        "id": 20290,
                                                        "name": "p0",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 20277,
                                                        "src": "57256:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_address",
                                                            "typeString": "address"
                                                        }
                                                    },
                                                    {
                                                        "id": 20291,
                                                        "name": "p1",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 20279,
                                                        "src": "57260:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_bool",
                                                            "typeString": "bool"
                                                        }
                                                    },
                                                    {
                                                        "id": 20292,
                                                        "name": "p2",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 20281,
                                                        "src": "57264:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_string_memory_ptr",
                                                            "typeString": "string memory"
                                                        }
                                                    },
                                                    {
                                                        "id": 20293,
                                                        "name": "p3",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 20283,
                                                        "src": "57268:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_uint256",
                                                            "typeString": "uint256"
                                                        }
                                                    }
                                                ],
                                                "expression": {
                                                    "argumentTypes": [
                                                        {
                                                            "typeIdentifier": "t_stringliteral_9e127b6e4348bc33b3ea7f05f6479d3e1b1fe2b3727e1f4ba94b6a36e7abac9b",
                                                            "typeString": "literal_string \"log(address,bool,string,uint)\""
                                                        },
                                                        {
                                                            "typeIdentifier": "t_address",
                                                            "typeString": "address"
                                                        },
                                                        {
                                                            "typeIdentifier": "t_bool",
                                                            "typeString": "bool"
                                                        },
                                                        {
                                                            "typeIdentifier": "t_string_memory_ptr",
                                                            "typeString": "string memory"
                                                        },
                                                        {
                                                            "typeIdentifier": "t_uint256",
                                                            "typeString": "uint256"
                                                        }
                                                    ],
                                                    "expression": {
                                                        "id": 20287,
                                                        "name": "abi",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 4294967295,
                                                        "src": "57199:3:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_magic_abi",
                                                            "typeString": "abi"
                                                        }
                                                    },
                                                    "id": 20288,
                                                    "isConstant": false,
                                                    "isLValue": false,
                                                    "isPure": true,
                                                    "lValueRequested": false,
                                                    "memberName": "encodeWithSignature",
                                                    "nodeType": "MemberAccess",
                                                    "src": "57199:23:62",
                                                    "typeDescriptions": {
                                                        "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$",
                                                        "typeString": "function (string memory) pure returns (bytes memory)"
                                                    }
                                                },
                                                "id": 20294,
                                                "isConstant": false,
                                                "isLValue": false,
                                                "isPure": false,
                                                "kind": "functionCall",
                                                "lValueRequested": false,
                                                "names": [],
                                                "nodeType": "FunctionCall",
                                                "src": "57199:72:62",
                                                "tryCall": false,
                                                "typeDescriptions": {
                                                    "typeIdentifier": "t_bytes_memory_ptr",
                                                    "typeString": "bytes memory"
                                                }
                                            }
                                        ],
                                        "expression": {
                                            "argumentTypes": [
                                                {
                                                    "typeIdentifier": "t_bytes_memory_ptr",
                                                    "typeString": "bytes memory"
                                                }
                                            ],
                                            "id": 20286,
                                            "name": "_sendLogPayload",
                                            "nodeType": "Identifier",
                                            "overloadedDeclarations": [],
                                            "referencedDeclaration": 12880,
                                            "src": "57183:15:62",
                                            "typeDescriptions": {
                                                "typeIdentifier": "t_function_internal_view$_t_bytes_memory_ptr_$returns$__$",
                                                "typeString": "function (bytes memory) view"
                                            }
                                        },
                                        "id": 20295,
                                        "isConstant": false,
                                        "isLValue": false,
                                        "isPure": false,
                                        "kind": "functionCall",
                                        "lValueRequested": false,
                                        "names": [],
                                        "nodeType": "FunctionCall",
                                        "src": "57183:89:62",
                                        "tryCall": false,
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_tuple$__$",
                                            "typeString": "tuple()"
                                        }
                                    },
                                    "id": 20296,
                                    "nodeType": "ExpressionStatement",
                                    "src": "57183:89:62"
                                }
                            ]
                        },
                        "id": 20298,
                        "implemented": true,
                        "kind": "function",
                        "modifiers": [],
                        "name": "log",
                        "nameLocation": "57113:3:62",
                        "nodeType": "FunctionDefinition",
                        "parameters": {
                            "id": 20284,
                            "nodeType": "ParameterList",
                            "parameters": [
                                {
                                    "constant": false,
                                    "id": 20277,
                                    "mutability": "mutable",
                                    "name": "p0",
                                    "nameLocation": "57125:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 20298,
                                    "src": "57117:10:62",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_address",
                                        "typeString": "address"
                                    },
                                    "typeName": {
                                        "id": 20276,
                                        "name": "address",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "57117:7:62",
                                        "stateMutability": "nonpayable",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_address",
                                            "typeString": "address"
                                        }
                                    },
                                    "visibility": "internal"
                                },
                                {
                                    "constant": false,
                                    "id": 20279,
                                    "mutability": "mutable",
                                    "name": "p1",
                                    "nameLocation": "57134:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 20298,
                                    "src": "57129:7:62",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_bool",
                                        "typeString": "bool"
                                    },
                                    "typeName": {
                                        "id": 20278,
                                        "name": "bool",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "57129:4:62",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_bool",
                                            "typeString": "bool"
                                        }
                                    },
                                    "visibility": "internal"
                                },
                                {
                                    "constant": false,
                                    "id": 20281,
                                    "mutability": "mutable",
                                    "name": "p2",
                                    "nameLocation": "57152:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 20298,
                                    "src": "57138:16:62",
                                    "stateVariable": false,
                                    "storageLocation": "memory",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_string_memory_ptr",
                                        "typeString": "string"
                                    },
                                    "typeName": {
                                        "id": 20280,
                                        "name": "string",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "57138:6:62",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_string_storage_ptr",
                                            "typeString": "string"
                                        }
                                    },
                                    "visibility": "internal"
                                },
                                {
                                    "constant": false,
                                    "id": 20283,
                                    "mutability": "mutable",
                                    "name": "p3",
                                    "nameLocation": "57161:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 20298,
                                    "src": "57156:7:62",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_uint256",
                                        "typeString": "uint256"
                                    },
                                    "typeName": {
                                        "id": 20282,
                                        "name": "uint",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "57156:4:62",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_uint256",
                                            "typeString": "uint256"
                                        }
                                    },
                                    "visibility": "internal"
                                }
                            ],
                            "src": "57116:48:62"
                        },
                        "returnParameters": {
                            "id": 20285,
                            "nodeType": "ParameterList",
                            "parameters": [],
                            "src": "57179:0:62"
                        },
                        "scope": 20920,
                        "src": "57104:172:62",
                        "stateMutability": "view",
                        "virtual": false,
                        "visibility": "internal"
                    },
                    {
                        "body": {
                            "id": 20320,
                            "nodeType": "Block",
                            "src": "57363:99:62",
                            "statements": [
                                {
                                    "expression": {
                                        "arguments": [
                                            {
                                                "arguments": [
                                                    {
                                                        "hexValue": "6c6f6728616464726573732c626f6f6c2c737472696e672c737472696e6729",
                                                        "id": 20312,
                                                        "isConstant": false,
                                                        "isLValue": false,
                                                        "isPure": true,
                                                        "kind": "string",
                                                        "lValueRequested": false,
                                                        "nodeType": "Literal",
                                                        "src": "57407:33:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_stringliteral_475c5c33f91155b7a0e86c9fac7985c60ab58f4bfb411ee9b31d994a7fc95d1f",
                                                            "typeString": "literal_string \"log(address,bool,string,string)\""
                                                        },
                                                        "value": "log(address,bool,string,string)"
                                                    },
                                                    {
                                                        "id": 20313,
                                                        "name": "p0",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 20300,
                                                        "src": "57442:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_address",
                                                            "typeString": "address"
                                                        }
                                                    },
                                                    {
                                                        "id": 20314,
                                                        "name": "p1",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 20302,
                                                        "src": "57446:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_bool",
                                                            "typeString": "bool"
                                                        }
                                                    },
                                                    {
                                                        "id": 20315,
                                                        "name": "p2",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 20304,
                                                        "src": "57450:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_string_memory_ptr",
                                                            "typeString": "string memory"
                                                        }
                                                    },
                                                    {
                                                        "id": 20316,
                                                        "name": "p3",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 20306,
                                                        "src": "57454:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_string_memory_ptr",
                                                            "typeString": "string memory"
                                                        }
                                                    }
                                                ],
                                                "expression": {
                                                    "argumentTypes": [
                                                        {
                                                            "typeIdentifier": "t_stringliteral_475c5c33f91155b7a0e86c9fac7985c60ab58f4bfb411ee9b31d994a7fc95d1f",
                                                            "typeString": "literal_string \"log(address,bool,string,string)\""
                                                        },
                                                        {
                                                            "typeIdentifier": "t_address",
                                                            "typeString": "address"
                                                        },
                                                        {
                                                            "typeIdentifier": "t_bool",
                                                            "typeString": "bool"
                                                        },
                                                        {
                                                            "typeIdentifier": "t_string_memory_ptr",
                                                            "typeString": "string memory"
                                                        },
                                                        {
                                                            "typeIdentifier": "t_string_memory_ptr",
                                                            "typeString": "string memory"
                                                        }
                                                    ],
                                                    "expression": {
                                                        "id": 20310,
                                                        "name": "abi",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 4294967295,
                                                        "src": "57383:3:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_magic_abi",
                                                            "typeString": "abi"
                                                        }
                                                    },
                                                    "id": 20311,
                                                    "isConstant": false,
                                                    "isLValue": false,
                                                    "isPure": true,
                                                    "lValueRequested": false,
                                                    "memberName": "encodeWithSignature",
                                                    "nodeType": "MemberAccess",
                                                    "src": "57383:23:62",
                                                    "typeDescriptions": {
                                                        "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$",
                                                        "typeString": "function (string memory) pure returns (bytes memory)"
                                                    }
                                                },
                                                "id": 20317,
                                                "isConstant": false,
                                                "isLValue": false,
                                                "isPure": false,
                                                "kind": "functionCall",
                                                "lValueRequested": false,
                                                "names": [],
                                                "nodeType": "FunctionCall",
                                                "src": "57383:74:62",
                                                "tryCall": false,
                                                "typeDescriptions": {
                                                    "typeIdentifier": "t_bytes_memory_ptr",
                                                    "typeString": "bytes memory"
                                                }
                                            }
                                        ],
                                        "expression": {
                                            "argumentTypes": [
                                                {
                                                    "typeIdentifier": "t_bytes_memory_ptr",
                                                    "typeString": "bytes memory"
                                                }
                                            ],
                                            "id": 20309,
                                            "name": "_sendLogPayload",
                                            "nodeType": "Identifier",
                                            "overloadedDeclarations": [],
                                            "referencedDeclaration": 12880,
                                            "src": "57367:15:62",
                                            "typeDescriptions": {
                                                "typeIdentifier": "t_function_internal_view$_t_bytes_memory_ptr_$returns$__$",
                                                "typeString": "function (bytes memory) view"
                                            }
                                        },
                                        "id": 20318,
                                        "isConstant": false,
                                        "isLValue": false,
                                        "isPure": false,
                                        "kind": "functionCall",
                                        "lValueRequested": false,
                                        "names": [],
                                        "nodeType": "FunctionCall",
                                        "src": "57367:91:62",
                                        "tryCall": false,
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_tuple$__$",
                                            "typeString": "tuple()"
                                        }
                                    },
                                    "id": 20319,
                                    "nodeType": "ExpressionStatement",
                                    "src": "57367:91:62"
                                }
                            ]
                        },
                        "id": 20321,
                        "implemented": true,
                        "kind": "function",
                        "modifiers": [],
                        "name": "log",
                        "nameLocation": "57288:3:62",
                        "nodeType": "FunctionDefinition",
                        "parameters": {
                            "id": 20307,
                            "nodeType": "ParameterList",
                            "parameters": [
                                {
                                    "constant": false,
                                    "id": 20300,
                                    "mutability": "mutable",
                                    "name": "p0",
                                    "nameLocation": "57300:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 20321,
                                    "src": "57292:10:62",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_address",
                                        "typeString": "address"
                                    },
                                    "typeName": {
                                        "id": 20299,
                                        "name": "address",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "57292:7:62",
                                        "stateMutability": "nonpayable",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_address",
                                            "typeString": "address"
                                        }
                                    },
                                    "visibility": "internal"
                                },
                                {
                                    "constant": false,
                                    "id": 20302,
                                    "mutability": "mutable",
                                    "name": "p1",
                                    "nameLocation": "57309:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 20321,
                                    "src": "57304:7:62",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_bool",
                                        "typeString": "bool"
                                    },
                                    "typeName": {
                                        "id": 20301,
                                        "name": "bool",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "57304:4:62",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_bool",
                                            "typeString": "bool"
                                        }
                                    },
                                    "visibility": "internal"
                                },
                                {
                                    "constant": false,
                                    "id": 20304,
                                    "mutability": "mutable",
                                    "name": "p2",
                                    "nameLocation": "57327:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 20321,
                                    "src": "57313:16:62",
                                    "stateVariable": false,
                                    "storageLocation": "memory",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_string_memory_ptr",
                                        "typeString": "string"
                                    },
                                    "typeName": {
                                        "id": 20303,
                                        "name": "string",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "57313:6:62",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_string_storage_ptr",
                                            "typeString": "string"
                                        }
                                    },
                                    "visibility": "internal"
                                },
                                {
                                    "constant": false,
                                    "id": 20306,
                                    "mutability": "mutable",
                                    "name": "p3",
                                    "nameLocation": "57345:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 20321,
                                    "src": "57331:16:62",
                                    "stateVariable": false,
                                    "storageLocation": "memory",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_string_memory_ptr",
                                        "typeString": "string"
                                    },
                                    "typeName": {
                                        "id": 20305,
                                        "name": "string",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "57331:6:62",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_string_storage_ptr",
                                            "typeString": "string"
                                        }
                                    },
                                    "visibility": "internal"
                                }
                            ],
                            "src": "57291:57:62"
                        },
                        "returnParameters": {
                            "id": 20308,
                            "nodeType": "ParameterList",
                            "parameters": [],
                            "src": "57363:0:62"
                        },
                        "scope": 20920,
                        "src": "57279:183:62",
                        "stateMutability": "view",
                        "virtual": false,
                        "visibility": "internal"
                    },
                    {
                        "body": {
                            "id": 20343,
                            "nodeType": "Block",
                            "src": "57540:97:62",
                            "statements": [
                                {
                                    "expression": {
                                        "arguments": [
                                            {
                                                "arguments": [
                                                    {
                                                        "hexValue": "6c6f6728616464726573732c626f6f6c2c737472696e672c626f6f6c29",
                                                        "id": 20335,
                                                        "isConstant": false,
                                                        "isLValue": false,
                                                        "isPure": true,
                                                        "kind": "string",
                                                        "lValueRequested": false,
                                                        "nodeType": "Literal",
                                                        "src": "57584:31:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_stringliteral_50ad461db24803fc9b2ba76f072192e0a4d8fbb3667a50c400f504443380890f",
                                                            "typeString": "literal_string \"log(address,bool,string,bool)\""
                                                        },
                                                        "value": "log(address,bool,string,bool)"
                                                    },
                                                    {
                                                        "id": 20336,
                                                        "name": "p0",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 20323,
                                                        "src": "57617:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_address",
                                                            "typeString": "address"
                                                        }
                                                    },
                                                    {
                                                        "id": 20337,
                                                        "name": "p1",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 20325,
                                                        "src": "57621:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_bool",
                                                            "typeString": "bool"
                                                        }
                                                    },
                                                    {
                                                        "id": 20338,
                                                        "name": "p2",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 20327,
                                                        "src": "57625:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_string_memory_ptr",
                                                            "typeString": "string memory"
                                                        }
                                                    },
                                                    {
                                                        "id": 20339,
                                                        "name": "p3",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 20329,
                                                        "src": "57629:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_bool",
                                                            "typeString": "bool"
                                                        }
                                                    }
                                                ],
                                                "expression": {
                                                    "argumentTypes": [
                                                        {
                                                            "typeIdentifier": "t_stringliteral_50ad461db24803fc9b2ba76f072192e0a4d8fbb3667a50c400f504443380890f",
                                                            "typeString": "literal_string \"log(address,bool,string,bool)\""
                                                        },
                                                        {
                                                            "typeIdentifier": "t_address",
                                                            "typeString": "address"
                                                        },
                                                        {
                                                            "typeIdentifier": "t_bool",
                                                            "typeString": "bool"
                                                        },
                                                        {
                                                            "typeIdentifier": "t_string_memory_ptr",
                                                            "typeString": "string memory"
                                                        },
                                                        {
                                                            "typeIdentifier": "t_bool",
                                                            "typeString": "bool"
                                                        }
                                                    ],
                                                    "expression": {
                                                        "id": 20333,
                                                        "name": "abi",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 4294967295,
                                                        "src": "57560:3:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_magic_abi",
                                                            "typeString": "abi"
                                                        }
                                                    },
                                                    "id": 20334,
                                                    "isConstant": false,
                                                    "isLValue": false,
                                                    "isPure": true,
                                                    "lValueRequested": false,
                                                    "memberName": "encodeWithSignature",
                                                    "nodeType": "MemberAccess",
                                                    "src": "57560:23:62",
                                                    "typeDescriptions": {
                                                        "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$",
                                                        "typeString": "function (string memory) pure returns (bytes memory)"
                                                    }
                                                },
                                                "id": 20340,
                                                "isConstant": false,
                                                "isLValue": false,
                                                "isPure": false,
                                                "kind": "functionCall",
                                                "lValueRequested": false,
                                                "names": [],
                                                "nodeType": "FunctionCall",
                                                "src": "57560:72:62",
                                                "tryCall": false,
                                                "typeDescriptions": {
                                                    "typeIdentifier": "t_bytes_memory_ptr",
                                                    "typeString": "bytes memory"
                                                }
                                            }
                                        ],
                                        "expression": {
                                            "argumentTypes": [
                                                {
                                                    "typeIdentifier": "t_bytes_memory_ptr",
                                                    "typeString": "bytes memory"
                                                }
                                            ],
                                            "id": 20332,
                                            "name": "_sendLogPayload",
                                            "nodeType": "Identifier",
                                            "overloadedDeclarations": [],
                                            "referencedDeclaration": 12880,
                                            "src": "57544:15:62",
                                            "typeDescriptions": {
                                                "typeIdentifier": "t_function_internal_view$_t_bytes_memory_ptr_$returns$__$",
                                                "typeString": "function (bytes memory) view"
                                            }
                                        },
                                        "id": 20341,
                                        "isConstant": false,
                                        "isLValue": false,
                                        "isPure": false,
                                        "kind": "functionCall",
                                        "lValueRequested": false,
                                        "names": [],
                                        "nodeType": "FunctionCall",
                                        "src": "57544:89:62",
                                        "tryCall": false,
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_tuple$__$",
                                            "typeString": "tuple()"
                                        }
                                    },
                                    "id": 20342,
                                    "nodeType": "ExpressionStatement",
                                    "src": "57544:89:62"
                                }
                            ]
                        },
                        "id": 20344,
                        "implemented": true,
                        "kind": "function",
                        "modifiers": [],
                        "name": "log",
                        "nameLocation": "57474:3:62",
                        "nodeType": "FunctionDefinition",
                        "parameters": {
                            "id": 20330,
                            "nodeType": "ParameterList",
                            "parameters": [
                                {
                                    "constant": false,
                                    "id": 20323,
                                    "mutability": "mutable",
                                    "name": "p0",
                                    "nameLocation": "57486:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 20344,
                                    "src": "57478:10:62",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_address",
                                        "typeString": "address"
                                    },
                                    "typeName": {
                                        "id": 20322,
                                        "name": "address",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "57478:7:62",
                                        "stateMutability": "nonpayable",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_address",
                                            "typeString": "address"
                                        }
                                    },
                                    "visibility": "internal"
                                },
                                {
                                    "constant": false,
                                    "id": 20325,
                                    "mutability": "mutable",
                                    "name": "p1",
                                    "nameLocation": "57495:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 20344,
                                    "src": "57490:7:62",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_bool",
                                        "typeString": "bool"
                                    },
                                    "typeName": {
                                        "id": 20324,
                                        "name": "bool",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "57490:4:62",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_bool",
                                            "typeString": "bool"
                                        }
                                    },
                                    "visibility": "internal"
                                },
                                {
                                    "constant": false,
                                    "id": 20327,
                                    "mutability": "mutable",
                                    "name": "p2",
                                    "nameLocation": "57513:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 20344,
                                    "src": "57499:16:62",
                                    "stateVariable": false,
                                    "storageLocation": "memory",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_string_memory_ptr",
                                        "typeString": "string"
                                    },
                                    "typeName": {
                                        "id": 20326,
                                        "name": "string",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "57499:6:62",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_string_storage_ptr",
                                            "typeString": "string"
                                        }
                                    },
                                    "visibility": "internal"
                                },
                                {
                                    "constant": false,
                                    "id": 20329,
                                    "mutability": "mutable",
                                    "name": "p3",
                                    "nameLocation": "57522:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 20344,
                                    "src": "57517:7:62",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_bool",
                                        "typeString": "bool"
                                    },
                                    "typeName": {
                                        "id": 20328,
                                        "name": "bool",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "57517:4:62",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_bool",
                                            "typeString": "bool"
                                        }
                                    },
                                    "visibility": "internal"
                                }
                            ],
                            "src": "57477:48:62"
                        },
                        "returnParameters": {
                            "id": 20331,
                            "nodeType": "ParameterList",
                            "parameters": [],
                            "src": "57540:0:62"
                        },
                        "scope": 20920,
                        "src": "57465:172:62",
                        "stateMutability": "view",
                        "virtual": false,
                        "visibility": "internal"
                    },
                    {
                        "body": {
                            "id": 20366,
                            "nodeType": "Block",
                            "src": "57718:100:62",
                            "statements": [
                                {
                                    "expression": {
                                        "arguments": [
                                            {
                                                "arguments": [
                                                    {
                                                        "hexValue": "6c6f6728616464726573732c626f6f6c2c737472696e672c6164647265737329",
                                                        "id": 20358,
                                                        "isConstant": false,
                                                        "isLValue": false,
                                                        "isPure": true,
                                                        "kind": "string",
                                                        "lValueRequested": false,
                                                        "nodeType": "Literal",
                                                        "src": "57762:34:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_stringliteral_19fd495659df511498cf8dde03672830bd109ef2d9b9bec18e72190917c328bc",
                                                            "typeString": "literal_string \"log(address,bool,string,address)\""
                                                        },
                                                        "value": "log(address,bool,string,address)"
                                                    },
                                                    {
                                                        "id": 20359,
                                                        "name": "p0",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 20346,
                                                        "src": "57798:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_address",
                                                            "typeString": "address"
                                                        }
                                                    },
                                                    {
                                                        "id": 20360,
                                                        "name": "p1",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 20348,
                                                        "src": "57802:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_bool",
                                                            "typeString": "bool"
                                                        }
                                                    },
                                                    {
                                                        "id": 20361,
                                                        "name": "p2",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 20350,
                                                        "src": "57806:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_string_memory_ptr",
                                                            "typeString": "string memory"
                                                        }
                                                    },
                                                    {
                                                        "id": 20362,
                                                        "name": "p3",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 20352,
                                                        "src": "57810:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_address",
                                                            "typeString": "address"
                                                        }
                                                    }
                                                ],
                                                "expression": {
                                                    "argumentTypes": [
                                                        {
                                                            "typeIdentifier": "t_stringliteral_19fd495659df511498cf8dde03672830bd109ef2d9b9bec18e72190917c328bc",
                                                            "typeString": "literal_string \"log(address,bool,string,address)\""
                                                        },
                                                        {
                                                            "typeIdentifier": "t_address",
                                                            "typeString": "address"
                                                        },
                                                        {
                                                            "typeIdentifier": "t_bool",
                                                            "typeString": "bool"
                                                        },
                                                        {
                                                            "typeIdentifier": "t_string_memory_ptr",
                                                            "typeString": "string memory"
                                                        },
                                                        {
                                                            "typeIdentifier": "t_address",
                                                            "typeString": "address"
                                                        }
                                                    ],
                                                    "expression": {
                                                        "id": 20356,
                                                        "name": "abi",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 4294967295,
                                                        "src": "57738:3:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_magic_abi",
                                                            "typeString": "abi"
                                                        }
                                                    },
                                                    "id": 20357,
                                                    "isConstant": false,
                                                    "isLValue": false,
                                                    "isPure": true,
                                                    "lValueRequested": false,
                                                    "memberName": "encodeWithSignature",
                                                    "nodeType": "MemberAccess",
                                                    "src": "57738:23:62",
                                                    "typeDescriptions": {
                                                        "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$",
                                                        "typeString": "function (string memory) pure returns (bytes memory)"
                                                    }
                                                },
                                                "id": 20363,
                                                "isConstant": false,
                                                "isLValue": false,
                                                "isPure": false,
                                                "kind": "functionCall",
                                                "lValueRequested": false,
                                                "names": [],
                                                "nodeType": "FunctionCall",
                                                "src": "57738:75:62",
                                                "tryCall": false,
                                                "typeDescriptions": {
                                                    "typeIdentifier": "t_bytes_memory_ptr",
                                                    "typeString": "bytes memory"
                                                }
                                            }
                                        ],
                                        "expression": {
                                            "argumentTypes": [
                                                {
                                                    "typeIdentifier": "t_bytes_memory_ptr",
                                                    "typeString": "bytes memory"
                                                }
                                            ],
                                            "id": 20355,
                                            "name": "_sendLogPayload",
                                            "nodeType": "Identifier",
                                            "overloadedDeclarations": [],
                                            "referencedDeclaration": 12880,
                                            "src": "57722:15:62",
                                            "typeDescriptions": {
                                                "typeIdentifier": "t_function_internal_view$_t_bytes_memory_ptr_$returns$__$",
                                                "typeString": "function (bytes memory) view"
                                            }
                                        },
                                        "id": 20364,
                                        "isConstant": false,
                                        "isLValue": false,
                                        "isPure": false,
                                        "kind": "functionCall",
                                        "lValueRequested": false,
                                        "names": [],
                                        "nodeType": "FunctionCall",
                                        "src": "57722:92:62",
                                        "tryCall": false,
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_tuple$__$",
                                            "typeString": "tuple()"
                                        }
                                    },
                                    "id": 20365,
                                    "nodeType": "ExpressionStatement",
                                    "src": "57722:92:62"
                                }
                            ]
                        },
                        "id": 20367,
                        "implemented": true,
                        "kind": "function",
                        "modifiers": [],
                        "name": "log",
                        "nameLocation": "57649:3:62",
                        "nodeType": "FunctionDefinition",
                        "parameters": {
                            "id": 20353,
                            "nodeType": "ParameterList",
                            "parameters": [
                                {
                                    "constant": false,
                                    "id": 20346,
                                    "mutability": "mutable",
                                    "name": "p0",
                                    "nameLocation": "57661:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 20367,
                                    "src": "57653:10:62",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_address",
                                        "typeString": "address"
                                    },
                                    "typeName": {
                                        "id": 20345,
                                        "name": "address",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "57653:7:62",
                                        "stateMutability": "nonpayable",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_address",
                                            "typeString": "address"
                                        }
                                    },
                                    "visibility": "internal"
                                },
                                {
                                    "constant": false,
                                    "id": 20348,
                                    "mutability": "mutable",
                                    "name": "p1",
                                    "nameLocation": "57670:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 20367,
                                    "src": "57665:7:62",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_bool",
                                        "typeString": "bool"
                                    },
                                    "typeName": {
                                        "id": 20347,
                                        "name": "bool",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "57665:4:62",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_bool",
                                            "typeString": "bool"
                                        }
                                    },
                                    "visibility": "internal"
                                },
                                {
                                    "constant": false,
                                    "id": 20350,
                                    "mutability": "mutable",
                                    "name": "p2",
                                    "nameLocation": "57688:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 20367,
                                    "src": "57674:16:62",
                                    "stateVariable": false,
                                    "storageLocation": "memory",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_string_memory_ptr",
                                        "typeString": "string"
                                    },
                                    "typeName": {
                                        "id": 20349,
                                        "name": "string",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "57674:6:62",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_string_storage_ptr",
                                            "typeString": "string"
                                        }
                                    },
                                    "visibility": "internal"
                                },
                                {
                                    "constant": false,
                                    "id": 20352,
                                    "mutability": "mutable",
                                    "name": "p3",
                                    "nameLocation": "57700:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 20367,
                                    "src": "57692:10:62",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_address",
                                        "typeString": "address"
                                    },
                                    "typeName": {
                                        "id": 20351,
                                        "name": "address",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "57692:7:62",
                                        "stateMutability": "nonpayable",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_address",
                                            "typeString": "address"
                                        }
                                    },
                                    "visibility": "internal"
                                }
                            ],
                            "src": "57652:51:62"
                        },
                        "returnParameters": {
                            "id": 20354,
                            "nodeType": "ParameterList",
                            "parameters": [],
                            "src": "57718:0:62"
                        },
                        "scope": 20920,
                        "src": "57640:178:62",
                        "stateMutability": "view",
                        "virtual": false,
                        "visibility": "internal"
                    },
                    {
                        "body": {
                            "id": 20389,
                            "nodeType": "Block",
                            "src": "57887:95:62",
                            "statements": [
                                {
                                    "expression": {
                                        "arguments": [
                                            {
                                                "arguments": [
                                                    {
                                                        "hexValue": "6c6f6728616464726573732c626f6f6c2c626f6f6c2c75696e7429",
                                                        "id": 20381,
                                                        "isConstant": false,
                                                        "isLValue": false,
                                                        "isPure": true,
                                                        "kind": "string",
                                                        "lValueRequested": false,
                                                        "nodeType": "Literal",
                                                        "src": "57931:29:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_stringliteral_cfb587569c9e063cd7daed07e27d9193980aad24c48787cb6531c47fa694e463",
                                                            "typeString": "literal_string \"log(address,bool,bool,uint)\""
                                                        },
                                                        "value": "log(address,bool,bool,uint)"
                                                    },
                                                    {
                                                        "id": 20382,
                                                        "name": "p0",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 20369,
                                                        "src": "57962:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_address",
                                                            "typeString": "address"
                                                        }
                                                    },
                                                    {
                                                        "id": 20383,
                                                        "name": "p1",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 20371,
                                                        "src": "57966:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_bool",
                                                            "typeString": "bool"
                                                        }
                                                    },
                                                    {
                                                        "id": 20384,
                                                        "name": "p2",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 20373,
                                                        "src": "57970:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_bool",
                                                            "typeString": "bool"
                                                        }
                                                    },
                                                    {
                                                        "id": 20385,
                                                        "name": "p3",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 20375,
                                                        "src": "57974:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_uint256",
                                                            "typeString": "uint256"
                                                        }
                                                    }
                                                ],
                                                "expression": {
                                                    "argumentTypes": [
                                                        {
                                                            "typeIdentifier": "t_stringliteral_cfb587569c9e063cd7daed07e27d9193980aad24c48787cb6531c47fa694e463",
                                                            "typeString": "literal_string \"log(address,bool,bool,uint)\""
                                                        },
                                                        {
                                                            "typeIdentifier": "t_address",
                                                            "typeString": "address"
                                                        },
                                                        {
                                                            "typeIdentifier": "t_bool",
                                                            "typeString": "bool"
                                                        },
                                                        {
                                                            "typeIdentifier": "t_bool",
                                                            "typeString": "bool"
                                                        },
                                                        {
                                                            "typeIdentifier": "t_uint256",
                                                            "typeString": "uint256"
                                                        }
                                                    ],
                                                    "expression": {
                                                        "id": 20379,
                                                        "name": "abi",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 4294967295,
                                                        "src": "57907:3:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_magic_abi",
                                                            "typeString": "abi"
                                                        }
                                                    },
                                                    "id": 20380,
                                                    "isConstant": false,
                                                    "isLValue": false,
                                                    "isPure": true,
                                                    "lValueRequested": false,
                                                    "memberName": "encodeWithSignature",
                                                    "nodeType": "MemberAccess",
                                                    "src": "57907:23:62",
                                                    "typeDescriptions": {
                                                        "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$",
                                                        "typeString": "function (string memory) pure returns (bytes memory)"
                                                    }
                                                },
                                                "id": 20386,
                                                "isConstant": false,
                                                "isLValue": false,
                                                "isPure": false,
                                                "kind": "functionCall",
                                                "lValueRequested": false,
                                                "names": [],
                                                "nodeType": "FunctionCall",
                                                "src": "57907:70:62",
                                                "tryCall": false,
                                                "typeDescriptions": {
                                                    "typeIdentifier": "t_bytes_memory_ptr",
                                                    "typeString": "bytes memory"
                                                }
                                            }
                                        ],
                                        "expression": {
                                            "argumentTypes": [
                                                {
                                                    "typeIdentifier": "t_bytes_memory_ptr",
                                                    "typeString": "bytes memory"
                                                }
                                            ],
                                            "id": 20378,
                                            "name": "_sendLogPayload",
                                            "nodeType": "Identifier",
                                            "overloadedDeclarations": [],
                                            "referencedDeclaration": 12880,
                                            "src": "57891:15:62",
                                            "typeDescriptions": {
                                                "typeIdentifier": "t_function_internal_view$_t_bytes_memory_ptr_$returns$__$",
                                                "typeString": "function (bytes memory) view"
                                            }
                                        },
                                        "id": 20387,
                                        "isConstant": false,
                                        "isLValue": false,
                                        "isPure": false,
                                        "kind": "functionCall",
                                        "lValueRequested": false,
                                        "names": [],
                                        "nodeType": "FunctionCall",
                                        "src": "57891:87:62",
                                        "tryCall": false,
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_tuple$__$",
                                            "typeString": "tuple()"
                                        }
                                    },
                                    "id": 20388,
                                    "nodeType": "ExpressionStatement",
                                    "src": "57891:87:62"
                                }
                            ]
                        },
                        "id": 20390,
                        "implemented": true,
                        "kind": "function",
                        "modifiers": [],
                        "name": "log",
                        "nameLocation": "57830:3:62",
                        "nodeType": "FunctionDefinition",
                        "parameters": {
                            "id": 20376,
                            "nodeType": "ParameterList",
                            "parameters": [
                                {
                                    "constant": false,
                                    "id": 20369,
                                    "mutability": "mutable",
                                    "name": "p0",
                                    "nameLocation": "57842:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 20390,
                                    "src": "57834:10:62",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_address",
                                        "typeString": "address"
                                    },
                                    "typeName": {
                                        "id": 20368,
                                        "name": "address",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "57834:7:62",
                                        "stateMutability": "nonpayable",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_address",
                                            "typeString": "address"
                                        }
                                    },
                                    "visibility": "internal"
                                },
                                {
                                    "constant": false,
                                    "id": 20371,
                                    "mutability": "mutable",
                                    "name": "p1",
                                    "nameLocation": "57851:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 20390,
                                    "src": "57846:7:62",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_bool",
                                        "typeString": "bool"
                                    },
                                    "typeName": {
                                        "id": 20370,
                                        "name": "bool",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "57846:4:62",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_bool",
                                            "typeString": "bool"
                                        }
                                    },
                                    "visibility": "internal"
                                },
                                {
                                    "constant": false,
                                    "id": 20373,
                                    "mutability": "mutable",
                                    "name": "p2",
                                    "nameLocation": "57860:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 20390,
                                    "src": "57855:7:62",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_bool",
                                        "typeString": "bool"
                                    },
                                    "typeName": {
                                        "id": 20372,
                                        "name": "bool",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "57855:4:62",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_bool",
                                            "typeString": "bool"
                                        }
                                    },
                                    "visibility": "internal"
                                },
                                {
                                    "constant": false,
                                    "id": 20375,
                                    "mutability": "mutable",
                                    "name": "p3",
                                    "nameLocation": "57869:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 20390,
                                    "src": "57864:7:62",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_uint256",
                                        "typeString": "uint256"
                                    },
                                    "typeName": {
                                        "id": 20374,
                                        "name": "uint",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "57864:4:62",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_uint256",
                                            "typeString": "uint256"
                                        }
                                    },
                                    "visibility": "internal"
                                }
                            ],
                            "src": "57833:39:62"
                        },
                        "returnParameters": {
                            "id": 20377,
                            "nodeType": "ParameterList",
                            "parameters": [],
                            "src": "57887:0:62"
                        },
                        "scope": 20920,
                        "src": "57821:161:62",
                        "stateMutability": "view",
                        "virtual": false,
                        "visibility": "internal"
                    },
                    {
                        "body": {
                            "id": 20412,
                            "nodeType": "Block",
                            "src": "58060:97:62",
                            "statements": [
                                {
                                    "expression": {
                                        "arguments": [
                                            {
                                                "arguments": [
                                                    {
                                                        "hexValue": "6c6f6728616464726573732c626f6f6c2c626f6f6c2c737472696e6729",
                                                        "id": 20404,
                                                        "isConstant": false,
                                                        "isLValue": false,
                                                        "isPure": true,
                                                        "kind": "string",
                                                        "lValueRequested": false,
                                                        "nodeType": "Literal",
                                                        "src": "58104:31:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_stringliteral_dfc4a2e8c56809b44edbbc6d92d0a8441e551ad5387596bf8b629c56d9a91300",
                                                            "typeString": "literal_string \"log(address,bool,bool,string)\""
                                                        },
                                                        "value": "log(address,bool,bool,string)"
                                                    },
                                                    {
                                                        "id": 20405,
                                                        "name": "p0",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 20392,
                                                        "src": "58137:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_address",
                                                            "typeString": "address"
                                                        }
                                                    },
                                                    {
                                                        "id": 20406,
                                                        "name": "p1",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 20394,
                                                        "src": "58141:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_bool",
                                                            "typeString": "bool"
                                                        }
                                                    },
                                                    {
                                                        "id": 20407,
                                                        "name": "p2",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 20396,
                                                        "src": "58145:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_bool",
                                                            "typeString": "bool"
                                                        }
                                                    },
                                                    {
                                                        "id": 20408,
                                                        "name": "p3",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 20398,
                                                        "src": "58149:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_string_memory_ptr",
                                                            "typeString": "string memory"
                                                        }
                                                    }
                                                ],
                                                "expression": {
                                                    "argumentTypes": [
                                                        {
                                                            "typeIdentifier": "t_stringliteral_dfc4a2e8c56809b44edbbc6d92d0a8441e551ad5387596bf8b629c56d9a91300",
                                                            "typeString": "literal_string \"log(address,bool,bool,string)\""
                                                        },
                                                        {
                                                            "typeIdentifier": "t_address",
                                                            "typeString": "address"
                                                        },
                                                        {
                                                            "typeIdentifier": "t_bool",
                                                            "typeString": "bool"
                                                        },
                                                        {
                                                            "typeIdentifier": "t_bool",
                                                            "typeString": "bool"
                                                        },
                                                        {
                                                            "typeIdentifier": "t_string_memory_ptr",
                                                            "typeString": "string memory"
                                                        }
                                                    ],
                                                    "expression": {
                                                        "id": 20402,
                                                        "name": "abi",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 4294967295,
                                                        "src": "58080:3:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_magic_abi",
                                                            "typeString": "abi"
                                                        }
                                                    },
                                                    "id": 20403,
                                                    "isConstant": false,
                                                    "isLValue": false,
                                                    "isPure": true,
                                                    "lValueRequested": false,
                                                    "memberName": "encodeWithSignature",
                                                    "nodeType": "MemberAccess",
                                                    "src": "58080:23:62",
                                                    "typeDescriptions": {
                                                        "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$",
                                                        "typeString": "function (string memory) pure returns (bytes memory)"
                                                    }
                                                },
                                                "id": 20409,
                                                "isConstant": false,
                                                "isLValue": false,
                                                "isPure": false,
                                                "kind": "functionCall",
                                                "lValueRequested": false,
                                                "names": [],
                                                "nodeType": "FunctionCall",
                                                "src": "58080:72:62",
                                                "tryCall": false,
                                                "typeDescriptions": {
                                                    "typeIdentifier": "t_bytes_memory_ptr",
                                                    "typeString": "bytes memory"
                                                }
                                            }
                                        ],
                                        "expression": {
                                            "argumentTypes": [
                                                {
                                                    "typeIdentifier": "t_bytes_memory_ptr",
                                                    "typeString": "bytes memory"
                                                }
                                            ],
                                            "id": 20401,
                                            "name": "_sendLogPayload",
                                            "nodeType": "Identifier",
                                            "overloadedDeclarations": [],
                                            "referencedDeclaration": 12880,
                                            "src": "58064:15:62",
                                            "typeDescriptions": {
                                                "typeIdentifier": "t_function_internal_view$_t_bytes_memory_ptr_$returns$__$",
                                                "typeString": "function (bytes memory) view"
                                            }
                                        },
                                        "id": 20410,
                                        "isConstant": false,
                                        "isLValue": false,
                                        "isPure": false,
                                        "kind": "functionCall",
                                        "lValueRequested": false,
                                        "names": [],
                                        "nodeType": "FunctionCall",
                                        "src": "58064:89:62",
                                        "tryCall": false,
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_tuple$__$",
                                            "typeString": "tuple()"
                                        }
                                    },
                                    "id": 20411,
                                    "nodeType": "ExpressionStatement",
                                    "src": "58064:89:62"
                                }
                            ]
                        },
                        "id": 20413,
                        "implemented": true,
                        "kind": "function",
                        "modifiers": [],
                        "name": "log",
                        "nameLocation": "57994:3:62",
                        "nodeType": "FunctionDefinition",
                        "parameters": {
                            "id": 20399,
                            "nodeType": "ParameterList",
                            "parameters": [
                                {
                                    "constant": false,
                                    "id": 20392,
                                    "mutability": "mutable",
                                    "name": "p0",
                                    "nameLocation": "58006:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 20413,
                                    "src": "57998:10:62",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_address",
                                        "typeString": "address"
                                    },
                                    "typeName": {
                                        "id": 20391,
                                        "name": "address",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "57998:7:62",
                                        "stateMutability": "nonpayable",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_address",
                                            "typeString": "address"
                                        }
                                    },
                                    "visibility": "internal"
                                },
                                {
                                    "constant": false,
                                    "id": 20394,
                                    "mutability": "mutable",
                                    "name": "p1",
                                    "nameLocation": "58015:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 20413,
                                    "src": "58010:7:62",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_bool",
                                        "typeString": "bool"
                                    },
                                    "typeName": {
                                        "id": 20393,
                                        "name": "bool",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "58010:4:62",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_bool",
                                            "typeString": "bool"
                                        }
                                    },
                                    "visibility": "internal"
                                },
                                {
                                    "constant": false,
                                    "id": 20396,
                                    "mutability": "mutable",
                                    "name": "p2",
                                    "nameLocation": "58024:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 20413,
                                    "src": "58019:7:62",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_bool",
                                        "typeString": "bool"
                                    },
                                    "typeName": {
                                        "id": 20395,
                                        "name": "bool",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "58019:4:62",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_bool",
                                            "typeString": "bool"
                                        }
                                    },
                                    "visibility": "internal"
                                },
                                {
                                    "constant": false,
                                    "id": 20398,
                                    "mutability": "mutable",
                                    "name": "p3",
                                    "nameLocation": "58042:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 20413,
                                    "src": "58028:16:62",
                                    "stateVariable": false,
                                    "storageLocation": "memory",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_string_memory_ptr",
                                        "typeString": "string"
                                    },
                                    "typeName": {
                                        "id": 20397,
                                        "name": "string",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "58028:6:62",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_string_storage_ptr",
                                            "typeString": "string"
                                        }
                                    },
                                    "visibility": "internal"
                                }
                            ],
                            "src": "57997:48:62"
                        },
                        "returnParameters": {
                            "id": 20400,
                            "nodeType": "ParameterList",
                            "parameters": [],
                            "src": "58060:0:62"
                        },
                        "scope": 20920,
                        "src": "57985:172:62",
                        "stateMutability": "view",
                        "virtual": false,
                        "visibility": "internal"
                    },
                    {
                        "body": {
                            "id": 20435,
                            "nodeType": "Block",
                            "src": "58226:95:62",
                            "statements": [
                                {
                                    "expression": {
                                        "arguments": [
                                            {
                                                "arguments": [
                                                    {
                                                        "hexValue": "6c6f6728616464726573732c626f6f6c2c626f6f6c2c626f6f6c29",
                                                        "id": 20427,
                                                        "isConstant": false,
                                                        "isLValue": false,
                                                        "isPure": true,
                                                        "kind": "string",
                                                        "lValueRequested": false,
                                                        "nodeType": "Literal",
                                                        "src": "58270:29:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_stringliteral_cac434792b973db16714db96d2aeda353b2253f27255abe42b9960b2dc550634",
                                                            "typeString": "literal_string \"log(address,bool,bool,bool)\""
                                                        },
                                                        "value": "log(address,bool,bool,bool)"
                                                    },
                                                    {
                                                        "id": 20428,
                                                        "name": "p0",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 20415,
                                                        "src": "58301:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_address",
                                                            "typeString": "address"
                                                        }
                                                    },
                                                    {
                                                        "id": 20429,
                                                        "name": "p1",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 20417,
                                                        "src": "58305:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_bool",
                                                            "typeString": "bool"
                                                        }
                                                    },
                                                    {
                                                        "id": 20430,
                                                        "name": "p2",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 20419,
                                                        "src": "58309:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_bool",
                                                            "typeString": "bool"
                                                        }
                                                    },
                                                    {
                                                        "id": 20431,
                                                        "name": "p3",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 20421,
                                                        "src": "58313:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_bool",
                                                            "typeString": "bool"
                                                        }
                                                    }
                                                ],
                                                "expression": {
                                                    "argumentTypes": [
                                                        {
                                                            "typeIdentifier": "t_stringliteral_cac434792b973db16714db96d2aeda353b2253f27255abe42b9960b2dc550634",
                                                            "typeString": "literal_string \"log(address,bool,bool,bool)\""
                                                        },
                                                        {
                                                            "typeIdentifier": "t_address",
                                                            "typeString": "address"
                                                        },
                                                        {
                                                            "typeIdentifier": "t_bool",
                                                            "typeString": "bool"
                                                        },
                                                        {
                                                            "typeIdentifier": "t_bool",
                                                            "typeString": "bool"
                                                        },
                                                        {
                                                            "typeIdentifier": "t_bool",
                                                            "typeString": "bool"
                                                        }
                                                    ],
                                                    "expression": {
                                                        "id": 20425,
                                                        "name": "abi",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 4294967295,
                                                        "src": "58246:3:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_magic_abi",
                                                            "typeString": "abi"
                                                        }
                                                    },
                                                    "id": 20426,
                                                    "isConstant": false,
                                                    "isLValue": false,
                                                    "isPure": true,
                                                    "lValueRequested": false,
                                                    "memberName": "encodeWithSignature",
                                                    "nodeType": "MemberAccess",
                                                    "src": "58246:23:62",
                                                    "typeDescriptions": {
                                                        "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$",
                                                        "typeString": "function (string memory) pure returns (bytes memory)"
                                                    }
                                                },
                                                "id": 20432,
                                                "isConstant": false,
                                                "isLValue": false,
                                                "isPure": false,
                                                "kind": "functionCall",
                                                "lValueRequested": false,
                                                "names": [],
                                                "nodeType": "FunctionCall",
                                                "src": "58246:70:62",
                                                "tryCall": false,
                                                "typeDescriptions": {
                                                    "typeIdentifier": "t_bytes_memory_ptr",
                                                    "typeString": "bytes memory"
                                                }
                                            }
                                        ],
                                        "expression": {
                                            "argumentTypes": [
                                                {
                                                    "typeIdentifier": "t_bytes_memory_ptr",
                                                    "typeString": "bytes memory"
                                                }
                                            ],
                                            "id": 20424,
                                            "name": "_sendLogPayload",
                                            "nodeType": "Identifier",
                                            "overloadedDeclarations": [],
                                            "referencedDeclaration": 12880,
                                            "src": "58230:15:62",
                                            "typeDescriptions": {
                                                "typeIdentifier": "t_function_internal_view$_t_bytes_memory_ptr_$returns$__$",
                                                "typeString": "function (bytes memory) view"
                                            }
                                        },
                                        "id": 20433,
                                        "isConstant": false,
                                        "isLValue": false,
                                        "isPure": false,
                                        "kind": "functionCall",
                                        "lValueRequested": false,
                                        "names": [],
                                        "nodeType": "FunctionCall",
                                        "src": "58230:87:62",
                                        "tryCall": false,
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_tuple$__$",
                                            "typeString": "tuple()"
                                        }
                                    },
                                    "id": 20434,
                                    "nodeType": "ExpressionStatement",
                                    "src": "58230:87:62"
                                }
                            ]
                        },
                        "id": 20436,
                        "implemented": true,
                        "kind": "function",
                        "modifiers": [],
                        "name": "log",
                        "nameLocation": "58169:3:62",
                        "nodeType": "FunctionDefinition",
                        "parameters": {
                            "id": 20422,
                            "nodeType": "ParameterList",
                            "parameters": [
                                {
                                    "constant": false,
                                    "id": 20415,
                                    "mutability": "mutable",
                                    "name": "p0",
                                    "nameLocation": "58181:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 20436,
                                    "src": "58173:10:62",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_address",
                                        "typeString": "address"
                                    },
                                    "typeName": {
                                        "id": 20414,
                                        "name": "address",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "58173:7:62",
                                        "stateMutability": "nonpayable",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_address",
                                            "typeString": "address"
                                        }
                                    },
                                    "visibility": "internal"
                                },
                                {
                                    "constant": false,
                                    "id": 20417,
                                    "mutability": "mutable",
                                    "name": "p1",
                                    "nameLocation": "58190:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 20436,
                                    "src": "58185:7:62",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_bool",
                                        "typeString": "bool"
                                    },
                                    "typeName": {
                                        "id": 20416,
                                        "name": "bool",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "58185:4:62",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_bool",
                                            "typeString": "bool"
                                        }
                                    },
                                    "visibility": "internal"
                                },
                                {
                                    "constant": false,
                                    "id": 20419,
                                    "mutability": "mutable",
                                    "name": "p2",
                                    "nameLocation": "58199:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 20436,
                                    "src": "58194:7:62",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_bool",
                                        "typeString": "bool"
                                    },
                                    "typeName": {
                                        "id": 20418,
                                        "name": "bool",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "58194:4:62",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_bool",
                                            "typeString": "bool"
                                        }
                                    },
                                    "visibility": "internal"
                                },
                                {
                                    "constant": false,
                                    "id": 20421,
                                    "mutability": "mutable",
                                    "name": "p3",
                                    "nameLocation": "58208:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 20436,
                                    "src": "58203:7:62",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_bool",
                                        "typeString": "bool"
                                    },
                                    "typeName": {
                                        "id": 20420,
                                        "name": "bool",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "58203:4:62",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_bool",
                                            "typeString": "bool"
                                        }
                                    },
                                    "visibility": "internal"
                                }
                            ],
                            "src": "58172:39:62"
                        },
                        "returnParameters": {
                            "id": 20423,
                            "nodeType": "ParameterList",
                            "parameters": [],
                            "src": "58226:0:62"
                        },
                        "scope": 20920,
                        "src": "58160:161:62",
                        "stateMutability": "view",
                        "virtual": false,
                        "visibility": "internal"
                    },
                    {
                        "body": {
                            "id": 20458,
                            "nodeType": "Block",
                            "src": "58393:98:62",
                            "statements": [
                                {
                                    "expression": {
                                        "arguments": [
                                            {
                                                "arguments": [
                                                    {
                                                        "hexValue": "6c6f6728616464726573732c626f6f6c2c626f6f6c2c6164647265737329",
                                                        "id": 20450,
                                                        "isConstant": false,
                                                        "isLValue": false,
                                                        "isPure": true,
                                                        "kind": "string",
                                                        "lValueRequested": false,
                                                        "nodeType": "Literal",
                                                        "src": "58437:32:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_stringliteral_cf394485abbd1f04b85b0f2c1a2cfc07e3d51c1c6f28386bf16d9e45161e8953",
                                                            "typeString": "literal_string \"log(address,bool,bool,address)\""
                                                        },
                                                        "value": "log(address,bool,bool,address)"
                                                    },
                                                    {
                                                        "id": 20451,
                                                        "name": "p0",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 20438,
                                                        "src": "58471:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_address",
                                                            "typeString": "address"
                                                        }
                                                    },
                                                    {
                                                        "id": 20452,
                                                        "name": "p1",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 20440,
                                                        "src": "58475:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_bool",
                                                            "typeString": "bool"
                                                        }
                                                    },
                                                    {
                                                        "id": 20453,
                                                        "name": "p2",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 20442,
                                                        "src": "58479:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_bool",
                                                            "typeString": "bool"
                                                        }
                                                    },
                                                    {
                                                        "id": 20454,
                                                        "name": "p3",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 20444,
                                                        "src": "58483:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_address",
                                                            "typeString": "address"
                                                        }
                                                    }
                                                ],
                                                "expression": {
                                                    "argumentTypes": [
                                                        {
                                                            "typeIdentifier": "t_stringliteral_cf394485abbd1f04b85b0f2c1a2cfc07e3d51c1c6f28386bf16d9e45161e8953",
                                                            "typeString": "literal_string \"log(address,bool,bool,address)\""
                                                        },
                                                        {
                                                            "typeIdentifier": "t_address",
                                                            "typeString": "address"
                                                        },
                                                        {
                                                            "typeIdentifier": "t_bool",
                                                            "typeString": "bool"
                                                        },
                                                        {
                                                            "typeIdentifier": "t_bool",
                                                            "typeString": "bool"
                                                        },
                                                        {
                                                            "typeIdentifier": "t_address",
                                                            "typeString": "address"
                                                        }
                                                    ],
                                                    "expression": {
                                                        "id": 20448,
                                                        "name": "abi",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 4294967295,
                                                        "src": "58413:3:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_magic_abi",
                                                            "typeString": "abi"
                                                        }
                                                    },
                                                    "id": 20449,
                                                    "isConstant": false,
                                                    "isLValue": false,
                                                    "isPure": true,
                                                    "lValueRequested": false,
                                                    "memberName": "encodeWithSignature",
                                                    "nodeType": "MemberAccess",
                                                    "src": "58413:23:62",
                                                    "typeDescriptions": {
                                                        "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$",
                                                        "typeString": "function (string memory) pure returns (bytes memory)"
                                                    }
                                                },
                                                "id": 20455,
                                                "isConstant": false,
                                                "isLValue": false,
                                                "isPure": false,
                                                "kind": "functionCall",
                                                "lValueRequested": false,
                                                "names": [],
                                                "nodeType": "FunctionCall",
                                                "src": "58413:73:62",
                                                "tryCall": false,
                                                "typeDescriptions": {
                                                    "typeIdentifier": "t_bytes_memory_ptr",
                                                    "typeString": "bytes memory"
                                                }
                                            }
                                        ],
                                        "expression": {
                                            "argumentTypes": [
                                                {
                                                    "typeIdentifier": "t_bytes_memory_ptr",
                                                    "typeString": "bytes memory"
                                                }
                                            ],
                                            "id": 20447,
                                            "name": "_sendLogPayload",
                                            "nodeType": "Identifier",
                                            "overloadedDeclarations": [],
                                            "referencedDeclaration": 12880,
                                            "src": "58397:15:62",
                                            "typeDescriptions": {
                                                "typeIdentifier": "t_function_internal_view$_t_bytes_memory_ptr_$returns$__$",
                                                "typeString": "function (bytes memory) view"
                                            }
                                        },
                                        "id": 20456,
                                        "isConstant": false,
                                        "isLValue": false,
                                        "isPure": false,
                                        "kind": "functionCall",
                                        "lValueRequested": false,
                                        "names": [],
                                        "nodeType": "FunctionCall",
                                        "src": "58397:90:62",
                                        "tryCall": false,
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_tuple$__$",
                                            "typeString": "tuple()"
                                        }
                                    },
                                    "id": 20457,
                                    "nodeType": "ExpressionStatement",
                                    "src": "58397:90:62"
                                }
                            ]
                        },
                        "id": 20459,
                        "implemented": true,
                        "kind": "function",
                        "modifiers": [],
                        "name": "log",
                        "nameLocation": "58333:3:62",
                        "nodeType": "FunctionDefinition",
                        "parameters": {
                            "id": 20445,
                            "nodeType": "ParameterList",
                            "parameters": [
                                {
                                    "constant": false,
                                    "id": 20438,
                                    "mutability": "mutable",
                                    "name": "p0",
                                    "nameLocation": "58345:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 20459,
                                    "src": "58337:10:62",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_address",
                                        "typeString": "address"
                                    },
                                    "typeName": {
                                        "id": 20437,
                                        "name": "address",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "58337:7:62",
                                        "stateMutability": "nonpayable",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_address",
                                            "typeString": "address"
                                        }
                                    },
                                    "visibility": "internal"
                                },
                                {
                                    "constant": false,
                                    "id": 20440,
                                    "mutability": "mutable",
                                    "name": "p1",
                                    "nameLocation": "58354:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 20459,
                                    "src": "58349:7:62",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_bool",
                                        "typeString": "bool"
                                    },
                                    "typeName": {
                                        "id": 20439,
                                        "name": "bool",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "58349:4:62",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_bool",
                                            "typeString": "bool"
                                        }
                                    },
                                    "visibility": "internal"
                                },
                                {
                                    "constant": false,
                                    "id": 20442,
                                    "mutability": "mutable",
                                    "name": "p2",
                                    "nameLocation": "58363:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 20459,
                                    "src": "58358:7:62",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_bool",
                                        "typeString": "bool"
                                    },
                                    "typeName": {
                                        "id": 20441,
                                        "name": "bool",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "58358:4:62",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_bool",
                                            "typeString": "bool"
                                        }
                                    },
                                    "visibility": "internal"
                                },
                                {
                                    "constant": false,
                                    "id": 20444,
                                    "mutability": "mutable",
                                    "name": "p3",
                                    "nameLocation": "58375:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 20459,
                                    "src": "58367:10:62",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_address",
                                        "typeString": "address"
                                    },
                                    "typeName": {
                                        "id": 20443,
                                        "name": "address",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "58367:7:62",
                                        "stateMutability": "nonpayable",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_address",
                                            "typeString": "address"
                                        }
                                    },
                                    "visibility": "internal"
                                }
                            ],
                            "src": "58336:42:62"
                        },
                        "returnParameters": {
                            "id": 20446,
                            "nodeType": "ParameterList",
                            "parameters": [],
                            "src": "58393:0:62"
                        },
                        "scope": 20920,
                        "src": "58324:167:62",
                        "stateMutability": "view",
                        "virtual": false,
                        "visibility": "internal"
                    },
                    {
                        "body": {
                            "id": 20481,
                            "nodeType": "Block",
                            "src": "58563:98:62",
                            "statements": [
                                {
                                    "expression": {
                                        "arguments": [
                                            {
                                                "arguments": [
                                                    {
                                                        "hexValue": "6c6f6728616464726573732c626f6f6c2c616464726573732c75696e7429",
                                                        "id": 20473,
                                                        "isConstant": false,
                                                        "isLValue": false,
                                                        "isPure": true,
                                                        "kind": "string",
                                                        "lValueRequested": false,
                                                        "nodeType": "Literal",
                                                        "src": "58607:32:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_stringliteral_dc7116d2e67ccd625262e6814a6f82f2367beea9919409c81fcbb94bea1b6b84",
                                                            "typeString": "literal_string \"log(address,bool,address,uint)\""
                                                        },
                                                        "value": "log(address,bool,address,uint)"
                                                    },
                                                    {
                                                        "id": 20474,
                                                        "name": "p0",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 20461,
                                                        "src": "58641:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_address",
                                                            "typeString": "address"
                                                        }
                                                    },
                                                    {
                                                        "id": 20475,
                                                        "name": "p1",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 20463,
                                                        "src": "58645:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_bool",
                                                            "typeString": "bool"
                                                        }
                                                    },
                                                    {
                                                        "id": 20476,
                                                        "name": "p2",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 20465,
                                                        "src": "58649:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_address",
                                                            "typeString": "address"
                                                        }
                                                    },
                                                    {
                                                        "id": 20477,
                                                        "name": "p3",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 20467,
                                                        "src": "58653:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_uint256",
                                                            "typeString": "uint256"
                                                        }
                                                    }
                                                ],
                                                "expression": {
                                                    "argumentTypes": [
                                                        {
                                                            "typeIdentifier": "t_stringliteral_dc7116d2e67ccd625262e6814a6f82f2367beea9919409c81fcbb94bea1b6b84",
                                                            "typeString": "literal_string \"log(address,bool,address,uint)\""
                                                        },
                                                        {
                                                            "typeIdentifier": "t_address",
                                                            "typeString": "address"
                                                        },
                                                        {
                                                            "typeIdentifier": "t_bool",
                                                            "typeString": "bool"
                                                        },
                                                        {
                                                            "typeIdentifier": "t_address",
                                                            "typeString": "address"
                                                        },
                                                        {
                                                            "typeIdentifier": "t_uint256",
                                                            "typeString": "uint256"
                                                        }
                                                    ],
                                                    "expression": {
                                                        "id": 20471,
                                                        "name": "abi",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 4294967295,
                                                        "src": "58583:3:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_magic_abi",
                                                            "typeString": "abi"
                                                        }
                                                    },
                                                    "id": 20472,
                                                    "isConstant": false,
                                                    "isLValue": false,
                                                    "isPure": true,
                                                    "lValueRequested": false,
                                                    "memberName": "encodeWithSignature",
                                                    "nodeType": "MemberAccess",
                                                    "src": "58583:23:62",
                                                    "typeDescriptions": {
                                                        "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$",
                                                        "typeString": "function (string memory) pure returns (bytes memory)"
                                                    }
                                                },
                                                "id": 20478,
                                                "isConstant": false,
                                                "isLValue": false,
                                                "isPure": false,
                                                "kind": "functionCall",
                                                "lValueRequested": false,
                                                "names": [],
                                                "nodeType": "FunctionCall",
                                                "src": "58583:73:62",
                                                "tryCall": false,
                                                "typeDescriptions": {
                                                    "typeIdentifier": "t_bytes_memory_ptr",
                                                    "typeString": "bytes memory"
                                                }
                                            }
                                        ],
                                        "expression": {
                                            "argumentTypes": [
                                                {
                                                    "typeIdentifier": "t_bytes_memory_ptr",
                                                    "typeString": "bytes memory"
                                                }
                                            ],
                                            "id": 20470,
                                            "name": "_sendLogPayload",
                                            "nodeType": "Identifier",
                                            "overloadedDeclarations": [],
                                            "referencedDeclaration": 12880,
                                            "src": "58567:15:62",
                                            "typeDescriptions": {
                                                "typeIdentifier": "t_function_internal_view$_t_bytes_memory_ptr_$returns$__$",
                                                "typeString": "function (bytes memory) view"
                                            }
                                        },
                                        "id": 20479,
                                        "isConstant": false,
                                        "isLValue": false,
                                        "isPure": false,
                                        "kind": "functionCall",
                                        "lValueRequested": false,
                                        "names": [],
                                        "nodeType": "FunctionCall",
                                        "src": "58567:90:62",
                                        "tryCall": false,
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_tuple$__$",
                                            "typeString": "tuple()"
                                        }
                                    },
                                    "id": 20480,
                                    "nodeType": "ExpressionStatement",
                                    "src": "58567:90:62"
                                }
                            ]
                        },
                        "id": 20482,
                        "implemented": true,
                        "kind": "function",
                        "modifiers": [],
                        "name": "log",
                        "nameLocation": "58503:3:62",
                        "nodeType": "FunctionDefinition",
                        "parameters": {
                            "id": 20468,
                            "nodeType": "ParameterList",
                            "parameters": [
                                {
                                    "constant": false,
                                    "id": 20461,
                                    "mutability": "mutable",
                                    "name": "p0",
                                    "nameLocation": "58515:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 20482,
                                    "src": "58507:10:62",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_address",
                                        "typeString": "address"
                                    },
                                    "typeName": {
                                        "id": 20460,
                                        "name": "address",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "58507:7:62",
                                        "stateMutability": "nonpayable",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_address",
                                            "typeString": "address"
                                        }
                                    },
                                    "visibility": "internal"
                                },
                                {
                                    "constant": false,
                                    "id": 20463,
                                    "mutability": "mutable",
                                    "name": "p1",
                                    "nameLocation": "58524:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 20482,
                                    "src": "58519:7:62",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_bool",
                                        "typeString": "bool"
                                    },
                                    "typeName": {
                                        "id": 20462,
                                        "name": "bool",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "58519:4:62",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_bool",
                                            "typeString": "bool"
                                        }
                                    },
                                    "visibility": "internal"
                                },
                                {
                                    "constant": false,
                                    "id": 20465,
                                    "mutability": "mutable",
                                    "name": "p2",
                                    "nameLocation": "58536:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 20482,
                                    "src": "58528:10:62",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_address",
                                        "typeString": "address"
                                    },
                                    "typeName": {
                                        "id": 20464,
                                        "name": "address",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "58528:7:62",
                                        "stateMutability": "nonpayable",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_address",
                                            "typeString": "address"
                                        }
                                    },
                                    "visibility": "internal"
                                },
                                {
                                    "constant": false,
                                    "id": 20467,
                                    "mutability": "mutable",
                                    "name": "p3",
                                    "nameLocation": "58545:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 20482,
                                    "src": "58540:7:62",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_uint256",
                                        "typeString": "uint256"
                                    },
                                    "typeName": {
                                        "id": 20466,
                                        "name": "uint",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "58540:4:62",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_uint256",
                                            "typeString": "uint256"
                                        }
                                    },
                                    "visibility": "internal"
                                }
                            ],
                            "src": "58506:42:62"
                        },
                        "returnParameters": {
                            "id": 20469,
                            "nodeType": "ParameterList",
                            "parameters": [],
                            "src": "58563:0:62"
                        },
                        "scope": 20920,
                        "src": "58494:167:62",
                        "stateMutability": "view",
                        "virtual": false,
                        "visibility": "internal"
                    },
                    {
                        "body": {
                            "id": 20504,
                            "nodeType": "Block",
                            "src": "58742:100:62",
                            "statements": [
                                {
                                    "expression": {
                                        "arguments": [
                                            {
                                                "arguments": [
                                                    {
                                                        "hexValue": "6c6f6728616464726573732c626f6f6c2c616464726573732c737472696e6729",
                                                        "id": 20496,
                                                        "isConstant": false,
                                                        "isLValue": false,
                                                        "isPure": true,
                                                        "kind": "string",
                                                        "lValueRequested": false,
                                                        "nodeType": "Literal",
                                                        "src": "58786:34:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_stringliteral_2dd778e616be9386b5911da1a074bbaf979640681783fca6396ea75c8caf6453",
                                                            "typeString": "literal_string \"log(address,bool,address,string)\""
                                                        },
                                                        "value": "log(address,bool,address,string)"
                                                    },
                                                    {
                                                        "id": 20497,
                                                        "name": "p0",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 20484,
                                                        "src": "58822:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_address",
                                                            "typeString": "address"
                                                        }
                                                    },
                                                    {
                                                        "id": 20498,
                                                        "name": "p1",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 20486,
                                                        "src": "58826:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_bool",
                                                            "typeString": "bool"
                                                        }
                                                    },
                                                    {
                                                        "id": 20499,
                                                        "name": "p2",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 20488,
                                                        "src": "58830:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_address",
                                                            "typeString": "address"
                                                        }
                                                    },
                                                    {
                                                        "id": 20500,
                                                        "name": "p3",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 20490,
                                                        "src": "58834:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_string_memory_ptr",
                                                            "typeString": "string memory"
                                                        }
                                                    }
                                                ],
                                                "expression": {
                                                    "argumentTypes": [
                                                        {
                                                            "typeIdentifier": "t_stringliteral_2dd778e616be9386b5911da1a074bbaf979640681783fca6396ea75c8caf6453",
                                                            "typeString": "literal_string \"log(address,bool,address,string)\""
                                                        },
                                                        {
                                                            "typeIdentifier": "t_address",
                                                            "typeString": "address"
                                                        },
                                                        {
                                                            "typeIdentifier": "t_bool",
                                                            "typeString": "bool"
                                                        },
                                                        {
                                                            "typeIdentifier": "t_address",
                                                            "typeString": "address"
                                                        },
                                                        {
                                                            "typeIdentifier": "t_string_memory_ptr",
                                                            "typeString": "string memory"
                                                        }
                                                    ],
                                                    "expression": {
                                                        "id": 20494,
                                                        "name": "abi",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 4294967295,
                                                        "src": "58762:3:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_magic_abi",
                                                            "typeString": "abi"
                                                        }
                                                    },
                                                    "id": 20495,
                                                    "isConstant": false,
                                                    "isLValue": false,
                                                    "isPure": true,
                                                    "lValueRequested": false,
                                                    "memberName": "encodeWithSignature",
                                                    "nodeType": "MemberAccess",
                                                    "src": "58762:23:62",
                                                    "typeDescriptions": {
                                                        "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$",
                                                        "typeString": "function (string memory) pure returns (bytes memory)"
                                                    }
                                                },
                                                "id": 20501,
                                                "isConstant": false,
                                                "isLValue": false,
                                                "isPure": false,
                                                "kind": "functionCall",
                                                "lValueRequested": false,
                                                "names": [],
                                                "nodeType": "FunctionCall",
                                                "src": "58762:75:62",
                                                "tryCall": false,
                                                "typeDescriptions": {
                                                    "typeIdentifier": "t_bytes_memory_ptr",
                                                    "typeString": "bytes memory"
                                                }
                                            }
                                        ],
                                        "expression": {
                                            "argumentTypes": [
                                                {
                                                    "typeIdentifier": "t_bytes_memory_ptr",
                                                    "typeString": "bytes memory"
                                                }
                                            ],
                                            "id": 20493,
                                            "name": "_sendLogPayload",
                                            "nodeType": "Identifier",
                                            "overloadedDeclarations": [],
                                            "referencedDeclaration": 12880,
                                            "src": "58746:15:62",
                                            "typeDescriptions": {
                                                "typeIdentifier": "t_function_internal_view$_t_bytes_memory_ptr_$returns$__$",
                                                "typeString": "function (bytes memory) view"
                                            }
                                        },
                                        "id": 20502,
                                        "isConstant": false,
                                        "isLValue": false,
                                        "isPure": false,
                                        "kind": "functionCall",
                                        "lValueRequested": false,
                                        "names": [],
                                        "nodeType": "FunctionCall",
                                        "src": "58746:92:62",
                                        "tryCall": false,
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_tuple$__$",
                                            "typeString": "tuple()"
                                        }
                                    },
                                    "id": 20503,
                                    "nodeType": "ExpressionStatement",
                                    "src": "58746:92:62"
                                }
                            ]
                        },
                        "id": 20505,
                        "implemented": true,
                        "kind": "function",
                        "modifiers": [],
                        "name": "log",
                        "nameLocation": "58673:3:62",
                        "nodeType": "FunctionDefinition",
                        "parameters": {
                            "id": 20491,
                            "nodeType": "ParameterList",
                            "parameters": [
                                {
                                    "constant": false,
                                    "id": 20484,
                                    "mutability": "mutable",
                                    "name": "p0",
                                    "nameLocation": "58685:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 20505,
                                    "src": "58677:10:62",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_address",
                                        "typeString": "address"
                                    },
                                    "typeName": {
                                        "id": 20483,
                                        "name": "address",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "58677:7:62",
                                        "stateMutability": "nonpayable",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_address",
                                            "typeString": "address"
                                        }
                                    },
                                    "visibility": "internal"
                                },
                                {
                                    "constant": false,
                                    "id": 20486,
                                    "mutability": "mutable",
                                    "name": "p1",
                                    "nameLocation": "58694:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 20505,
                                    "src": "58689:7:62",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_bool",
                                        "typeString": "bool"
                                    },
                                    "typeName": {
                                        "id": 20485,
                                        "name": "bool",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "58689:4:62",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_bool",
                                            "typeString": "bool"
                                        }
                                    },
                                    "visibility": "internal"
                                },
                                {
                                    "constant": false,
                                    "id": 20488,
                                    "mutability": "mutable",
                                    "name": "p2",
                                    "nameLocation": "58706:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 20505,
                                    "src": "58698:10:62",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_address",
                                        "typeString": "address"
                                    },
                                    "typeName": {
                                        "id": 20487,
                                        "name": "address",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "58698:7:62",
                                        "stateMutability": "nonpayable",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_address",
                                            "typeString": "address"
                                        }
                                    },
                                    "visibility": "internal"
                                },
                                {
                                    "constant": false,
                                    "id": 20490,
                                    "mutability": "mutable",
                                    "name": "p3",
                                    "nameLocation": "58724:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 20505,
                                    "src": "58710:16:62",
                                    "stateVariable": false,
                                    "storageLocation": "memory",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_string_memory_ptr",
                                        "typeString": "string"
                                    },
                                    "typeName": {
                                        "id": 20489,
                                        "name": "string",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "58710:6:62",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_string_storage_ptr",
                                            "typeString": "string"
                                        }
                                    },
                                    "visibility": "internal"
                                }
                            ],
                            "src": "58676:51:62"
                        },
                        "returnParameters": {
                            "id": 20492,
                            "nodeType": "ParameterList",
                            "parameters": [],
                            "src": "58742:0:62"
                        },
                        "scope": 20920,
                        "src": "58664:178:62",
                        "stateMutability": "view",
                        "virtual": false,
                        "visibility": "internal"
                    },
                    {
                        "body": {
                            "id": 20527,
                            "nodeType": "Block",
                            "src": "58914:98:62",
                            "statements": [
                                {
                                    "expression": {
                                        "arguments": [
                                            {
                                                "arguments": [
                                                    {
                                                        "hexValue": "6c6f6728616464726573732c626f6f6c2c616464726573732c626f6f6c29",
                                                        "id": 20519,
                                                        "isConstant": false,
                                                        "isLValue": false,
                                                        "isPure": true,
                                                        "kind": "string",
                                                        "lValueRequested": false,
                                                        "nodeType": "Literal",
                                                        "src": "58958:32:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_stringliteral_a6f50b0f122c916fe81861751b94bdddb5e453947768e8af206397bb510790b1",
                                                            "typeString": "literal_string \"log(address,bool,address,bool)\""
                                                        },
                                                        "value": "log(address,bool,address,bool)"
                                                    },
                                                    {
                                                        "id": 20520,
                                                        "name": "p0",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 20507,
                                                        "src": "58992:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_address",
                                                            "typeString": "address"
                                                        }
                                                    },
                                                    {
                                                        "id": 20521,
                                                        "name": "p1",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 20509,
                                                        "src": "58996:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_bool",
                                                            "typeString": "bool"
                                                        }
                                                    },
                                                    {
                                                        "id": 20522,
                                                        "name": "p2",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 20511,
                                                        "src": "59000:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_address",
                                                            "typeString": "address"
                                                        }
                                                    },
                                                    {
                                                        "id": 20523,
                                                        "name": "p3",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 20513,
                                                        "src": "59004:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_bool",
                                                            "typeString": "bool"
                                                        }
                                                    }
                                                ],
                                                "expression": {
                                                    "argumentTypes": [
                                                        {
                                                            "typeIdentifier": "t_stringliteral_a6f50b0f122c916fe81861751b94bdddb5e453947768e8af206397bb510790b1",
                                                            "typeString": "literal_string \"log(address,bool,address,bool)\""
                                                        },
                                                        {
                                                            "typeIdentifier": "t_address",
                                                            "typeString": "address"
                                                        },
                                                        {
                                                            "typeIdentifier": "t_bool",
                                                            "typeString": "bool"
                                                        },
                                                        {
                                                            "typeIdentifier": "t_address",
                                                            "typeString": "address"
                                                        },
                                                        {
                                                            "typeIdentifier": "t_bool",
                                                            "typeString": "bool"
                                                        }
                                                    ],
                                                    "expression": {
                                                        "id": 20517,
                                                        "name": "abi",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 4294967295,
                                                        "src": "58934:3:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_magic_abi",
                                                            "typeString": "abi"
                                                        }
                                                    },
                                                    "id": 20518,
                                                    "isConstant": false,
                                                    "isLValue": false,
                                                    "isPure": true,
                                                    "lValueRequested": false,
                                                    "memberName": "encodeWithSignature",
                                                    "nodeType": "MemberAccess",
                                                    "src": "58934:23:62",
                                                    "typeDescriptions": {
                                                        "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$",
                                                        "typeString": "function (string memory) pure returns (bytes memory)"
                                                    }
                                                },
                                                "id": 20524,
                                                "isConstant": false,
                                                "isLValue": false,
                                                "isPure": false,
                                                "kind": "functionCall",
                                                "lValueRequested": false,
                                                "names": [],
                                                "nodeType": "FunctionCall",
                                                "src": "58934:73:62",
                                                "tryCall": false,
                                                "typeDescriptions": {
                                                    "typeIdentifier": "t_bytes_memory_ptr",
                                                    "typeString": "bytes memory"
                                                }
                                            }
                                        ],
                                        "expression": {
                                            "argumentTypes": [
                                                {
                                                    "typeIdentifier": "t_bytes_memory_ptr",
                                                    "typeString": "bytes memory"
                                                }
                                            ],
                                            "id": 20516,
                                            "name": "_sendLogPayload",
                                            "nodeType": "Identifier",
                                            "overloadedDeclarations": [],
                                            "referencedDeclaration": 12880,
                                            "src": "58918:15:62",
                                            "typeDescriptions": {
                                                "typeIdentifier": "t_function_internal_view$_t_bytes_memory_ptr_$returns$__$",
                                                "typeString": "function (bytes memory) view"
                                            }
                                        },
                                        "id": 20525,
                                        "isConstant": false,
                                        "isLValue": false,
                                        "isPure": false,
                                        "kind": "functionCall",
                                        "lValueRequested": false,
                                        "names": [],
                                        "nodeType": "FunctionCall",
                                        "src": "58918:90:62",
                                        "tryCall": false,
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_tuple$__$",
                                            "typeString": "tuple()"
                                        }
                                    },
                                    "id": 20526,
                                    "nodeType": "ExpressionStatement",
                                    "src": "58918:90:62"
                                }
                            ]
                        },
                        "id": 20528,
                        "implemented": true,
                        "kind": "function",
                        "modifiers": [],
                        "name": "log",
                        "nameLocation": "58854:3:62",
                        "nodeType": "FunctionDefinition",
                        "parameters": {
                            "id": 20514,
                            "nodeType": "ParameterList",
                            "parameters": [
                                {
                                    "constant": false,
                                    "id": 20507,
                                    "mutability": "mutable",
                                    "name": "p0",
                                    "nameLocation": "58866:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 20528,
                                    "src": "58858:10:62",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_address",
                                        "typeString": "address"
                                    },
                                    "typeName": {
                                        "id": 20506,
                                        "name": "address",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "58858:7:62",
                                        "stateMutability": "nonpayable",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_address",
                                            "typeString": "address"
                                        }
                                    },
                                    "visibility": "internal"
                                },
                                {
                                    "constant": false,
                                    "id": 20509,
                                    "mutability": "mutable",
                                    "name": "p1",
                                    "nameLocation": "58875:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 20528,
                                    "src": "58870:7:62",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_bool",
                                        "typeString": "bool"
                                    },
                                    "typeName": {
                                        "id": 20508,
                                        "name": "bool",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "58870:4:62",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_bool",
                                            "typeString": "bool"
                                        }
                                    },
                                    "visibility": "internal"
                                },
                                {
                                    "constant": false,
                                    "id": 20511,
                                    "mutability": "mutable",
                                    "name": "p2",
                                    "nameLocation": "58887:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 20528,
                                    "src": "58879:10:62",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_address",
                                        "typeString": "address"
                                    },
                                    "typeName": {
                                        "id": 20510,
                                        "name": "address",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "58879:7:62",
                                        "stateMutability": "nonpayable",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_address",
                                            "typeString": "address"
                                        }
                                    },
                                    "visibility": "internal"
                                },
                                {
                                    "constant": false,
                                    "id": 20513,
                                    "mutability": "mutable",
                                    "name": "p3",
                                    "nameLocation": "58896:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 20528,
                                    "src": "58891:7:62",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_bool",
                                        "typeString": "bool"
                                    },
                                    "typeName": {
                                        "id": 20512,
                                        "name": "bool",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "58891:4:62",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_bool",
                                            "typeString": "bool"
                                        }
                                    },
                                    "visibility": "internal"
                                }
                            ],
                            "src": "58857:42:62"
                        },
                        "returnParameters": {
                            "id": 20515,
                            "nodeType": "ParameterList",
                            "parameters": [],
                            "src": "58914:0:62"
                        },
                        "scope": 20920,
                        "src": "58845:167:62",
                        "stateMutability": "view",
                        "virtual": false,
                        "visibility": "internal"
                    },
                    {
                        "body": {
                            "id": 20550,
                            "nodeType": "Block",
                            "src": "59087:101:62",
                            "statements": [
                                {
                                    "expression": {
                                        "arguments": [
                                            {
                                                "arguments": [
                                                    {
                                                        "hexValue": "6c6f6728616464726573732c626f6f6c2c616464726573732c6164647265737329",
                                                        "id": 20542,
                                                        "isConstant": false,
                                                        "isLValue": false,
                                                        "isPure": true,
                                                        "kind": "string",
                                                        "lValueRequested": false,
                                                        "nodeType": "Literal",
                                                        "src": "59131:35:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_stringliteral_660375ddb58761b4ce952ec7e1ae63efe9f8e9e69831fd72875968fec9046e35",
                                                            "typeString": "literal_string \"log(address,bool,address,address)\""
                                                        },
                                                        "value": "log(address,bool,address,address)"
                                                    },
                                                    {
                                                        "id": 20543,
                                                        "name": "p0",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 20530,
                                                        "src": "59168:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_address",
                                                            "typeString": "address"
                                                        }
                                                    },
                                                    {
                                                        "id": 20544,
                                                        "name": "p1",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 20532,
                                                        "src": "59172:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_bool",
                                                            "typeString": "bool"
                                                        }
                                                    },
                                                    {
                                                        "id": 20545,
                                                        "name": "p2",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 20534,
                                                        "src": "59176:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_address",
                                                            "typeString": "address"
                                                        }
                                                    },
                                                    {
                                                        "id": 20546,
                                                        "name": "p3",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 20536,
                                                        "src": "59180:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_address",
                                                            "typeString": "address"
                                                        }
                                                    }
                                                ],
                                                "expression": {
                                                    "argumentTypes": [
                                                        {
                                                            "typeIdentifier": "t_stringliteral_660375ddb58761b4ce952ec7e1ae63efe9f8e9e69831fd72875968fec9046e35",
                                                            "typeString": "literal_string \"log(address,bool,address,address)\""
                                                        },
                                                        {
                                                            "typeIdentifier": "t_address",
                                                            "typeString": "address"
                                                        },
                                                        {
                                                            "typeIdentifier": "t_bool",
                                                            "typeString": "bool"
                                                        },
                                                        {
                                                            "typeIdentifier": "t_address",
                                                            "typeString": "address"
                                                        },
                                                        {
                                                            "typeIdentifier": "t_address",
                                                            "typeString": "address"
                                                        }
                                                    ],
                                                    "expression": {
                                                        "id": 20540,
                                                        "name": "abi",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 4294967295,
                                                        "src": "59107:3:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_magic_abi",
                                                            "typeString": "abi"
                                                        }
                                                    },
                                                    "id": 20541,
                                                    "isConstant": false,
                                                    "isLValue": false,
                                                    "isPure": true,
                                                    "lValueRequested": false,
                                                    "memberName": "encodeWithSignature",
                                                    "nodeType": "MemberAccess",
                                                    "src": "59107:23:62",
                                                    "typeDescriptions": {
                                                        "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$",
                                                        "typeString": "function (string memory) pure returns (bytes memory)"
                                                    }
                                                },
                                                "id": 20547,
                                                "isConstant": false,
                                                "isLValue": false,
                                                "isPure": false,
                                                "kind": "functionCall",
                                                "lValueRequested": false,
                                                "names": [],
                                                "nodeType": "FunctionCall",
                                                "src": "59107:76:62",
                                                "tryCall": false,
                                                "typeDescriptions": {
                                                    "typeIdentifier": "t_bytes_memory_ptr",
                                                    "typeString": "bytes memory"
                                                }
                                            }
                                        ],
                                        "expression": {
                                            "argumentTypes": [
                                                {
                                                    "typeIdentifier": "t_bytes_memory_ptr",
                                                    "typeString": "bytes memory"
                                                }
                                            ],
                                            "id": 20539,
                                            "name": "_sendLogPayload",
                                            "nodeType": "Identifier",
                                            "overloadedDeclarations": [],
                                            "referencedDeclaration": 12880,
                                            "src": "59091:15:62",
                                            "typeDescriptions": {
                                                "typeIdentifier": "t_function_internal_view$_t_bytes_memory_ptr_$returns$__$",
                                                "typeString": "function (bytes memory) view"
                                            }
                                        },
                                        "id": 20548,
                                        "isConstant": false,
                                        "isLValue": false,
                                        "isPure": false,
                                        "kind": "functionCall",
                                        "lValueRequested": false,
                                        "names": [],
                                        "nodeType": "FunctionCall",
                                        "src": "59091:93:62",
                                        "tryCall": false,
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_tuple$__$",
                                            "typeString": "tuple()"
                                        }
                                    },
                                    "id": 20549,
                                    "nodeType": "ExpressionStatement",
                                    "src": "59091:93:62"
                                }
                            ]
                        },
                        "id": 20551,
                        "implemented": true,
                        "kind": "function",
                        "modifiers": [],
                        "name": "log",
                        "nameLocation": "59024:3:62",
                        "nodeType": "FunctionDefinition",
                        "parameters": {
                            "id": 20537,
                            "nodeType": "ParameterList",
                            "parameters": [
                                {
                                    "constant": false,
                                    "id": 20530,
                                    "mutability": "mutable",
                                    "name": "p0",
                                    "nameLocation": "59036:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 20551,
                                    "src": "59028:10:62",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_address",
                                        "typeString": "address"
                                    },
                                    "typeName": {
                                        "id": 20529,
                                        "name": "address",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "59028:7:62",
                                        "stateMutability": "nonpayable",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_address",
                                            "typeString": "address"
                                        }
                                    },
                                    "visibility": "internal"
                                },
                                {
                                    "constant": false,
                                    "id": 20532,
                                    "mutability": "mutable",
                                    "name": "p1",
                                    "nameLocation": "59045:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 20551,
                                    "src": "59040:7:62",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_bool",
                                        "typeString": "bool"
                                    },
                                    "typeName": {
                                        "id": 20531,
                                        "name": "bool",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "59040:4:62",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_bool",
                                            "typeString": "bool"
                                        }
                                    },
                                    "visibility": "internal"
                                },
                                {
                                    "constant": false,
                                    "id": 20534,
                                    "mutability": "mutable",
                                    "name": "p2",
                                    "nameLocation": "59057:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 20551,
                                    "src": "59049:10:62",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_address",
                                        "typeString": "address"
                                    },
                                    "typeName": {
                                        "id": 20533,
                                        "name": "address",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "59049:7:62",
                                        "stateMutability": "nonpayable",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_address",
                                            "typeString": "address"
                                        }
                                    },
                                    "visibility": "internal"
                                },
                                {
                                    "constant": false,
                                    "id": 20536,
                                    "mutability": "mutable",
                                    "name": "p3",
                                    "nameLocation": "59069:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 20551,
                                    "src": "59061:10:62",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_address",
                                        "typeString": "address"
                                    },
                                    "typeName": {
                                        "id": 20535,
                                        "name": "address",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "59061:7:62",
                                        "stateMutability": "nonpayable",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_address",
                                            "typeString": "address"
                                        }
                                    },
                                    "visibility": "internal"
                                }
                            ],
                            "src": "59027:45:62"
                        },
                        "returnParameters": {
                            "id": 20538,
                            "nodeType": "ParameterList",
                            "parameters": [],
                            "src": "59087:0:62"
                        },
                        "scope": 20920,
                        "src": "59015:173:62",
                        "stateMutability": "view",
                        "virtual": false,
                        "visibility": "internal"
                    },
                    {
                        "body": {
                            "id": 20573,
                            "nodeType": "Block",
                            "src": "59260:98:62",
                            "statements": [
                                {
                                    "expression": {
                                        "arguments": [
                                            {
                                                "arguments": [
                                                    {
                                                        "hexValue": "6c6f6728616464726573732c616464726573732c75696e742c75696e7429",
                                                        "id": 20565,
                                                        "isConstant": false,
                                                        "isLValue": false,
                                                        "isPure": true,
                                                        "kind": "string",
                                                        "lValueRequested": false,
                                                        "nodeType": "Literal",
                                                        "src": "59304:32:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_stringliteral_54fdf3e4fb94f9bebc9a1c60d5b71090f9817e68730b5af20b69dff283044ed6",
                                                            "typeString": "literal_string \"log(address,address,uint,uint)\""
                                                        },
                                                        "value": "log(address,address,uint,uint)"
                                                    },
                                                    {
                                                        "id": 20566,
                                                        "name": "p0",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 20553,
                                                        "src": "59338:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_address",
                                                            "typeString": "address"
                                                        }
                                                    },
                                                    {
                                                        "id": 20567,
                                                        "name": "p1",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 20555,
                                                        "src": "59342:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_address",
                                                            "typeString": "address"
                                                        }
                                                    },
                                                    {
                                                        "id": 20568,
                                                        "name": "p2",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 20557,
                                                        "src": "59346:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_uint256",
                                                            "typeString": "uint256"
                                                        }
                                                    },
                                                    {
                                                        "id": 20569,
                                                        "name": "p3",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 20559,
                                                        "src": "59350:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_uint256",
                                                            "typeString": "uint256"
                                                        }
                                                    }
                                                ],
                                                "expression": {
                                                    "argumentTypes": [
                                                        {
                                                            "typeIdentifier": "t_stringliteral_54fdf3e4fb94f9bebc9a1c60d5b71090f9817e68730b5af20b69dff283044ed6",
                                                            "typeString": "literal_string \"log(address,address,uint,uint)\""
                                                        },
                                                        {
                                                            "typeIdentifier": "t_address",
                                                            "typeString": "address"
                                                        },
                                                        {
                                                            "typeIdentifier": "t_address",
                                                            "typeString": "address"
                                                        },
                                                        {
                                                            "typeIdentifier": "t_uint256",
                                                            "typeString": "uint256"
                                                        },
                                                        {
                                                            "typeIdentifier": "t_uint256",
                                                            "typeString": "uint256"
                                                        }
                                                    ],
                                                    "expression": {
                                                        "id": 20563,
                                                        "name": "abi",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 4294967295,
                                                        "src": "59280:3:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_magic_abi",
                                                            "typeString": "abi"
                                                        }
                                                    },
                                                    "id": 20564,
                                                    "isConstant": false,
                                                    "isLValue": false,
                                                    "isPure": true,
                                                    "lValueRequested": false,
                                                    "memberName": "encodeWithSignature",
                                                    "nodeType": "MemberAccess",
                                                    "src": "59280:23:62",
                                                    "typeDescriptions": {
                                                        "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$",
                                                        "typeString": "function (string memory) pure returns (bytes memory)"
                                                    }
                                                },
                                                "id": 20570,
                                                "isConstant": false,
                                                "isLValue": false,
                                                "isPure": false,
                                                "kind": "functionCall",
                                                "lValueRequested": false,
                                                "names": [],
                                                "nodeType": "FunctionCall",
                                                "src": "59280:73:62",
                                                "tryCall": false,
                                                "typeDescriptions": {
                                                    "typeIdentifier": "t_bytes_memory_ptr",
                                                    "typeString": "bytes memory"
                                                }
                                            }
                                        ],
                                        "expression": {
                                            "argumentTypes": [
                                                {
                                                    "typeIdentifier": "t_bytes_memory_ptr",
                                                    "typeString": "bytes memory"
                                                }
                                            ],
                                            "id": 20562,
                                            "name": "_sendLogPayload",
                                            "nodeType": "Identifier",
                                            "overloadedDeclarations": [],
                                            "referencedDeclaration": 12880,
                                            "src": "59264:15:62",
                                            "typeDescriptions": {
                                                "typeIdentifier": "t_function_internal_view$_t_bytes_memory_ptr_$returns$__$",
                                                "typeString": "function (bytes memory) view"
                                            }
                                        },
                                        "id": 20571,
                                        "isConstant": false,
                                        "isLValue": false,
                                        "isPure": false,
                                        "kind": "functionCall",
                                        "lValueRequested": false,
                                        "names": [],
                                        "nodeType": "FunctionCall",
                                        "src": "59264:90:62",
                                        "tryCall": false,
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_tuple$__$",
                                            "typeString": "tuple()"
                                        }
                                    },
                                    "id": 20572,
                                    "nodeType": "ExpressionStatement",
                                    "src": "59264:90:62"
                                }
                            ]
                        },
                        "id": 20574,
                        "implemented": true,
                        "kind": "function",
                        "modifiers": [],
                        "name": "log",
                        "nameLocation": "59200:3:62",
                        "nodeType": "FunctionDefinition",
                        "parameters": {
                            "id": 20560,
                            "nodeType": "ParameterList",
                            "parameters": [
                                {
                                    "constant": false,
                                    "id": 20553,
                                    "mutability": "mutable",
                                    "name": "p0",
                                    "nameLocation": "59212:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 20574,
                                    "src": "59204:10:62",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_address",
                                        "typeString": "address"
                                    },
                                    "typeName": {
                                        "id": 20552,
                                        "name": "address",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "59204:7:62",
                                        "stateMutability": "nonpayable",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_address",
                                            "typeString": "address"
                                        }
                                    },
                                    "visibility": "internal"
                                },
                                {
                                    "constant": false,
                                    "id": 20555,
                                    "mutability": "mutable",
                                    "name": "p1",
                                    "nameLocation": "59224:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 20574,
                                    "src": "59216:10:62",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_address",
                                        "typeString": "address"
                                    },
                                    "typeName": {
                                        "id": 20554,
                                        "name": "address",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "59216:7:62",
                                        "stateMutability": "nonpayable",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_address",
                                            "typeString": "address"
                                        }
                                    },
                                    "visibility": "internal"
                                },
                                {
                                    "constant": false,
                                    "id": 20557,
                                    "mutability": "mutable",
                                    "name": "p2",
                                    "nameLocation": "59233:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 20574,
                                    "src": "59228:7:62",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_uint256",
                                        "typeString": "uint256"
                                    },
                                    "typeName": {
                                        "id": 20556,
                                        "name": "uint",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "59228:4:62",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_uint256",
                                            "typeString": "uint256"
                                        }
                                    },
                                    "visibility": "internal"
                                },
                                {
                                    "constant": false,
                                    "id": 20559,
                                    "mutability": "mutable",
                                    "name": "p3",
                                    "nameLocation": "59242:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 20574,
                                    "src": "59237:7:62",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_uint256",
                                        "typeString": "uint256"
                                    },
                                    "typeName": {
                                        "id": 20558,
                                        "name": "uint",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "59237:4:62",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_uint256",
                                            "typeString": "uint256"
                                        }
                                    },
                                    "visibility": "internal"
                                }
                            ],
                            "src": "59203:42:62"
                        },
                        "returnParameters": {
                            "id": 20561,
                            "nodeType": "ParameterList",
                            "parameters": [],
                            "src": "59260:0:62"
                        },
                        "scope": 20920,
                        "src": "59191:167:62",
                        "stateMutability": "view",
                        "virtual": false,
                        "visibility": "internal"
                    },
                    {
                        "body": {
                            "id": 20596,
                            "nodeType": "Block",
                            "src": "59439:100:62",
                            "statements": [
                                {
                                    "expression": {
                                        "arguments": [
                                            {
                                                "arguments": [
                                                    {
                                                        "hexValue": "6c6f6728616464726573732c616464726573732c75696e742c737472696e6729",
                                                        "id": 20588,
                                                        "isConstant": false,
                                                        "isLValue": false,
                                                        "isPure": true,
                                                        "kind": "string",
                                                        "lValueRequested": false,
                                                        "nodeType": "Literal",
                                                        "src": "59483:34:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_stringliteral_9dd12eadc51edb79b050f95e9310706b305e500a52025b74b024df3cbcb53815",
                                                            "typeString": "literal_string \"log(address,address,uint,string)\""
                                                        },
                                                        "value": "log(address,address,uint,string)"
                                                    },
                                                    {
                                                        "id": 20589,
                                                        "name": "p0",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 20576,
                                                        "src": "59519:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_address",
                                                            "typeString": "address"
                                                        }
                                                    },
                                                    {
                                                        "id": 20590,
                                                        "name": "p1",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 20578,
                                                        "src": "59523:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_address",
                                                            "typeString": "address"
                                                        }
                                                    },
                                                    {
                                                        "id": 20591,
                                                        "name": "p2",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 20580,
                                                        "src": "59527:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_uint256",
                                                            "typeString": "uint256"
                                                        }
                                                    },
                                                    {
                                                        "id": 20592,
                                                        "name": "p3",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 20582,
                                                        "src": "59531:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_string_memory_ptr",
                                                            "typeString": "string memory"
                                                        }
                                                    }
                                                ],
                                                "expression": {
                                                    "argumentTypes": [
                                                        {
                                                            "typeIdentifier": "t_stringliteral_9dd12eadc51edb79b050f95e9310706b305e500a52025b74b024df3cbcb53815",
                                                            "typeString": "literal_string \"log(address,address,uint,string)\""
                                                        },
                                                        {
                                                            "typeIdentifier": "t_address",
                                                            "typeString": "address"
                                                        },
                                                        {
                                                            "typeIdentifier": "t_address",
                                                            "typeString": "address"
                                                        },
                                                        {
                                                            "typeIdentifier": "t_uint256",
                                                            "typeString": "uint256"
                                                        },
                                                        {
                                                            "typeIdentifier": "t_string_memory_ptr",
                                                            "typeString": "string memory"
                                                        }
                                                    ],
                                                    "expression": {
                                                        "id": 20586,
                                                        "name": "abi",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 4294967295,
                                                        "src": "59459:3:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_magic_abi",
                                                            "typeString": "abi"
                                                        }
                                                    },
                                                    "id": 20587,
                                                    "isConstant": false,
                                                    "isLValue": false,
                                                    "isPure": true,
                                                    "lValueRequested": false,
                                                    "memberName": "encodeWithSignature",
                                                    "nodeType": "MemberAccess",
                                                    "src": "59459:23:62",
                                                    "typeDescriptions": {
                                                        "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$",
                                                        "typeString": "function (string memory) pure returns (bytes memory)"
                                                    }
                                                },
                                                "id": 20593,
                                                "isConstant": false,
                                                "isLValue": false,
                                                "isPure": false,
                                                "kind": "functionCall",
                                                "lValueRequested": false,
                                                "names": [],
                                                "nodeType": "FunctionCall",
                                                "src": "59459:75:62",
                                                "tryCall": false,
                                                "typeDescriptions": {
                                                    "typeIdentifier": "t_bytes_memory_ptr",
                                                    "typeString": "bytes memory"
                                                }
                                            }
                                        ],
                                        "expression": {
                                            "argumentTypes": [
                                                {
                                                    "typeIdentifier": "t_bytes_memory_ptr",
                                                    "typeString": "bytes memory"
                                                }
                                            ],
                                            "id": 20585,
                                            "name": "_sendLogPayload",
                                            "nodeType": "Identifier",
                                            "overloadedDeclarations": [],
                                            "referencedDeclaration": 12880,
                                            "src": "59443:15:62",
                                            "typeDescriptions": {
                                                "typeIdentifier": "t_function_internal_view$_t_bytes_memory_ptr_$returns$__$",
                                                "typeString": "function (bytes memory) view"
                                            }
                                        },
                                        "id": 20594,
                                        "isConstant": false,
                                        "isLValue": false,
                                        "isPure": false,
                                        "kind": "functionCall",
                                        "lValueRequested": false,
                                        "names": [],
                                        "nodeType": "FunctionCall",
                                        "src": "59443:92:62",
                                        "tryCall": false,
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_tuple$__$",
                                            "typeString": "tuple()"
                                        }
                                    },
                                    "id": 20595,
                                    "nodeType": "ExpressionStatement",
                                    "src": "59443:92:62"
                                }
                            ]
                        },
                        "id": 20597,
                        "implemented": true,
                        "kind": "function",
                        "modifiers": [],
                        "name": "log",
                        "nameLocation": "59370:3:62",
                        "nodeType": "FunctionDefinition",
                        "parameters": {
                            "id": 20583,
                            "nodeType": "ParameterList",
                            "parameters": [
                                {
                                    "constant": false,
                                    "id": 20576,
                                    "mutability": "mutable",
                                    "name": "p0",
                                    "nameLocation": "59382:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 20597,
                                    "src": "59374:10:62",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_address",
                                        "typeString": "address"
                                    },
                                    "typeName": {
                                        "id": 20575,
                                        "name": "address",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "59374:7:62",
                                        "stateMutability": "nonpayable",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_address",
                                            "typeString": "address"
                                        }
                                    },
                                    "visibility": "internal"
                                },
                                {
                                    "constant": false,
                                    "id": 20578,
                                    "mutability": "mutable",
                                    "name": "p1",
                                    "nameLocation": "59394:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 20597,
                                    "src": "59386:10:62",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_address",
                                        "typeString": "address"
                                    },
                                    "typeName": {
                                        "id": 20577,
                                        "name": "address",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "59386:7:62",
                                        "stateMutability": "nonpayable",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_address",
                                            "typeString": "address"
                                        }
                                    },
                                    "visibility": "internal"
                                },
                                {
                                    "constant": false,
                                    "id": 20580,
                                    "mutability": "mutable",
                                    "name": "p2",
                                    "nameLocation": "59403:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 20597,
                                    "src": "59398:7:62",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_uint256",
                                        "typeString": "uint256"
                                    },
                                    "typeName": {
                                        "id": 20579,
                                        "name": "uint",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "59398:4:62",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_uint256",
                                            "typeString": "uint256"
                                        }
                                    },
                                    "visibility": "internal"
                                },
                                {
                                    "constant": false,
                                    "id": 20582,
                                    "mutability": "mutable",
                                    "name": "p3",
                                    "nameLocation": "59421:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 20597,
                                    "src": "59407:16:62",
                                    "stateVariable": false,
                                    "storageLocation": "memory",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_string_memory_ptr",
                                        "typeString": "string"
                                    },
                                    "typeName": {
                                        "id": 20581,
                                        "name": "string",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "59407:6:62",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_string_storage_ptr",
                                            "typeString": "string"
                                        }
                                    },
                                    "visibility": "internal"
                                }
                            ],
                            "src": "59373:51:62"
                        },
                        "returnParameters": {
                            "id": 20584,
                            "nodeType": "ParameterList",
                            "parameters": [],
                            "src": "59439:0:62"
                        },
                        "scope": 20920,
                        "src": "59361:178:62",
                        "stateMutability": "view",
                        "virtual": false,
                        "visibility": "internal"
                    },
                    {
                        "body": {
                            "id": 20619,
                            "nodeType": "Block",
                            "src": "59611:98:62",
                            "statements": [
                                {
                                    "expression": {
                                        "arguments": [
                                            {
                                                "arguments": [
                                                    {
                                                        "hexValue": "6c6f6728616464726573732c616464726573732c75696e742c626f6f6c29",
                                                        "id": 20611,
                                                        "isConstant": false,
                                                        "isLValue": false,
                                                        "isPure": true,
                                                        "kind": "string",
                                                        "lValueRequested": false,
                                                        "nodeType": "Literal",
                                                        "src": "59655:32:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_stringliteral_c2f688eccc5824e4375e54ae0df7ae9f757b0758319e26fa7dcc6a4450e1d411",
                                                            "typeString": "literal_string \"log(address,address,uint,bool)\""
                                                        },
                                                        "value": "log(address,address,uint,bool)"
                                                    },
                                                    {
                                                        "id": 20612,
                                                        "name": "p0",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 20599,
                                                        "src": "59689:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_address",
                                                            "typeString": "address"
                                                        }
                                                    },
                                                    {
                                                        "id": 20613,
                                                        "name": "p1",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 20601,
                                                        "src": "59693:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_address",
                                                            "typeString": "address"
                                                        }
                                                    },
                                                    {
                                                        "id": 20614,
                                                        "name": "p2",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 20603,
                                                        "src": "59697:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_uint256",
                                                            "typeString": "uint256"
                                                        }
                                                    },
                                                    {
                                                        "id": 20615,
                                                        "name": "p3",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 20605,
                                                        "src": "59701:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_bool",
                                                            "typeString": "bool"
                                                        }
                                                    }
                                                ],
                                                "expression": {
                                                    "argumentTypes": [
                                                        {
                                                            "typeIdentifier": "t_stringliteral_c2f688eccc5824e4375e54ae0df7ae9f757b0758319e26fa7dcc6a4450e1d411",
                                                            "typeString": "literal_string \"log(address,address,uint,bool)\""
                                                        },
                                                        {
                                                            "typeIdentifier": "t_address",
                                                            "typeString": "address"
                                                        },
                                                        {
                                                            "typeIdentifier": "t_address",
                                                            "typeString": "address"
                                                        },
                                                        {
                                                            "typeIdentifier": "t_uint256",
                                                            "typeString": "uint256"
                                                        },
                                                        {
                                                            "typeIdentifier": "t_bool",
                                                            "typeString": "bool"
                                                        }
                                                    ],
                                                    "expression": {
                                                        "id": 20609,
                                                        "name": "abi",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 4294967295,
                                                        "src": "59631:3:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_magic_abi",
                                                            "typeString": "abi"
                                                        }
                                                    },
                                                    "id": 20610,
                                                    "isConstant": false,
                                                    "isLValue": false,
                                                    "isPure": true,
                                                    "lValueRequested": false,
                                                    "memberName": "encodeWithSignature",
                                                    "nodeType": "MemberAccess",
                                                    "src": "59631:23:62",
                                                    "typeDescriptions": {
                                                        "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$",
                                                        "typeString": "function (string memory) pure returns (bytes memory)"
                                                    }
                                                },
                                                "id": 20616,
                                                "isConstant": false,
                                                "isLValue": false,
                                                "isPure": false,
                                                "kind": "functionCall",
                                                "lValueRequested": false,
                                                "names": [],
                                                "nodeType": "FunctionCall",
                                                "src": "59631:73:62",
                                                "tryCall": false,
                                                "typeDescriptions": {
                                                    "typeIdentifier": "t_bytes_memory_ptr",
                                                    "typeString": "bytes memory"
                                                }
                                            }
                                        ],
                                        "expression": {
                                            "argumentTypes": [
                                                {
                                                    "typeIdentifier": "t_bytes_memory_ptr",
                                                    "typeString": "bytes memory"
                                                }
                                            ],
                                            "id": 20608,
                                            "name": "_sendLogPayload",
                                            "nodeType": "Identifier",
                                            "overloadedDeclarations": [],
                                            "referencedDeclaration": 12880,
                                            "src": "59615:15:62",
                                            "typeDescriptions": {
                                                "typeIdentifier": "t_function_internal_view$_t_bytes_memory_ptr_$returns$__$",
                                                "typeString": "function (bytes memory) view"
                                            }
                                        },
                                        "id": 20617,
                                        "isConstant": false,
                                        "isLValue": false,
                                        "isPure": false,
                                        "kind": "functionCall",
                                        "lValueRequested": false,
                                        "names": [],
                                        "nodeType": "FunctionCall",
                                        "src": "59615:90:62",
                                        "tryCall": false,
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_tuple$__$",
                                            "typeString": "tuple()"
                                        }
                                    },
                                    "id": 20618,
                                    "nodeType": "ExpressionStatement",
                                    "src": "59615:90:62"
                                }
                            ]
                        },
                        "id": 20620,
                        "implemented": true,
                        "kind": "function",
                        "modifiers": [],
                        "name": "log",
                        "nameLocation": "59551:3:62",
                        "nodeType": "FunctionDefinition",
                        "parameters": {
                            "id": 20606,
                            "nodeType": "ParameterList",
                            "parameters": [
                                {
                                    "constant": false,
                                    "id": 20599,
                                    "mutability": "mutable",
                                    "name": "p0",
                                    "nameLocation": "59563:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 20620,
                                    "src": "59555:10:62",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_address",
                                        "typeString": "address"
                                    },
                                    "typeName": {
                                        "id": 20598,
                                        "name": "address",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "59555:7:62",
                                        "stateMutability": "nonpayable",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_address",
                                            "typeString": "address"
                                        }
                                    },
                                    "visibility": "internal"
                                },
                                {
                                    "constant": false,
                                    "id": 20601,
                                    "mutability": "mutable",
                                    "name": "p1",
                                    "nameLocation": "59575:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 20620,
                                    "src": "59567:10:62",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_address",
                                        "typeString": "address"
                                    },
                                    "typeName": {
                                        "id": 20600,
                                        "name": "address",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "59567:7:62",
                                        "stateMutability": "nonpayable",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_address",
                                            "typeString": "address"
                                        }
                                    },
                                    "visibility": "internal"
                                },
                                {
                                    "constant": false,
                                    "id": 20603,
                                    "mutability": "mutable",
                                    "name": "p2",
                                    "nameLocation": "59584:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 20620,
                                    "src": "59579:7:62",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_uint256",
                                        "typeString": "uint256"
                                    },
                                    "typeName": {
                                        "id": 20602,
                                        "name": "uint",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "59579:4:62",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_uint256",
                                            "typeString": "uint256"
                                        }
                                    },
                                    "visibility": "internal"
                                },
                                {
                                    "constant": false,
                                    "id": 20605,
                                    "mutability": "mutable",
                                    "name": "p3",
                                    "nameLocation": "59593:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 20620,
                                    "src": "59588:7:62",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_bool",
                                        "typeString": "bool"
                                    },
                                    "typeName": {
                                        "id": 20604,
                                        "name": "bool",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "59588:4:62",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_bool",
                                            "typeString": "bool"
                                        }
                                    },
                                    "visibility": "internal"
                                }
                            ],
                            "src": "59554:42:62"
                        },
                        "returnParameters": {
                            "id": 20607,
                            "nodeType": "ParameterList",
                            "parameters": [],
                            "src": "59611:0:62"
                        },
                        "scope": 20920,
                        "src": "59542:167:62",
                        "stateMutability": "view",
                        "virtual": false,
                        "visibility": "internal"
                    },
                    {
                        "body": {
                            "id": 20642,
                            "nodeType": "Block",
                            "src": "59784:101:62",
                            "statements": [
                                {
                                    "expression": {
                                        "arguments": [
                                            {
                                                "arguments": [
                                                    {
                                                        "hexValue": "6c6f6728616464726573732c616464726573732c75696e742c6164647265737329",
                                                        "id": 20634,
                                                        "isConstant": false,
                                                        "isLValue": false,
                                                        "isPure": true,
                                                        "kind": "string",
                                                        "lValueRequested": false,
                                                        "nodeType": "Literal",
                                                        "src": "59828:35:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_stringliteral_d6c65276d9b81968c5dbc7d91412af8260979b88b9036d81153645629a214556",
                                                            "typeString": "literal_string \"log(address,address,uint,address)\""
                                                        },
                                                        "value": "log(address,address,uint,address)"
                                                    },
                                                    {
                                                        "id": 20635,
                                                        "name": "p0",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 20622,
                                                        "src": "59865:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_address",
                                                            "typeString": "address"
                                                        }
                                                    },
                                                    {
                                                        "id": 20636,
                                                        "name": "p1",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 20624,
                                                        "src": "59869:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_address",
                                                            "typeString": "address"
                                                        }
                                                    },
                                                    {
                                                        "id": 20637,
                                                        "name": "p2",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 20626,
                                                        "src": "59873:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_uint256",
                                                            "typeString": "uint256"
                                                        }
                                                    },
                                                    {
                                                        "id": 20638,
                                                        "name": "p3",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 20628,
                                                        "src": "59877:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_address",
                                                            "typeString": "address"
                                                        }
                                                    }
                                                ],
                                                "expression": {
                                                    "argumentTypes": [
                                                        {
                                                            "typeIdentifier": "t_stringliteral_d6c65276d9b81968c5dbc7d91412af8260979b88b9036d81153645629a214556",
                                                            "typeString": "literal_string \"log(address,address,uint,address)\""
                                                        },
                                                        {
                                                            "typeIdentifier": "t_address",
                                                            "typeString": "address"
                                                        },
                                                        {
                                                            "typeIdentifier": "t_address",
                                                            "typeString": "address"
                                                        },
                                                        {
                                                            "typeIdentifier": "t_uint256",
                                                            "typeString": "uint256"
                                                        },
                                                        {
                                                            "typeIdentifier": "t_address",
                                                            "typeString": "address"
                                                        }
                                                    ],
                                                    "expression": {
                                                        "id": 20632,
                                                        "name": "abi",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 4294967295,
                                                        "src": "59804:3:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_magic_abi",
                                                            "typeString": "abi"
                                                        }
                                                    },
                                                    "id": 20633,
                                                    "isConstant": false,
                                                    "isLValue": false,
                                                    "isPure": true,
                                                    "lValueRequested": false,
                                                    "memberName": "encodeWithSignature",
                                                    "nodeType": "MemberAccess",
                                                    "src": "59804:23:62",
                                                    "typeDescriptions": {
                                                        "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$",
                                                        "typeString": "function (string memory) pure returns (bytes memory)"
                                                    }
                                                },
                                                "id": 20639,
                                                "isConstant": false,
                                                "isLValue": false,
                                                "isPure": false,
                                                "kind": "functionCall",
                                                "lValueRequested": false,
                                                "names": [],
                                                "nodeType": "FunctionCall",
                                                "src": "59804:76:62",
                                                "tryCall": false,
                                                "typeDescriptions": {
                                                    "typeIdentifier": "t_bytes_memory_ptr",
                                                    "typeString": "bytes memory"
                                                }
                                            }
                                        ],
                                        "expression": {
                                            "argumentTypes": [
                                                {
                                                    "typeIdentifier": "t_bytes_memory_ptr",
                                                    "typeString": "bytes memory"
                                                }
                                            ],
                                            "id": 20631,
                                            "name": "_sendLogPayload",
                                            "nodeType": "Identifier",
                                            "overloadedDeclarations": [],
                                            "referencedDeclaration": 12880,
                                            "src": "59788:15:62",
                                            "typeDescriptions": {
                                                "typeIdentifier": "t_function_internal_view$_t_bytes_memory_ptr_$returns$__$",
                                                "typeString": "function (bytes memory) view"
                                            }
                                        },
                                        "id": 20640,
                                        "isConstant": false,
                                        "isLValue": false,
                                        "isPure": false,
                                        "kind": "functionCall",
                                        "lValueRequested": false,
                                        "names": [],
                                        "nodeType": "FunctionCall",
                                        "src": "59788:93:62",
                                        "tryCall": false,
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_tuple$__$",
                                            "typeString": "tuple()"
                                        }
                                    },
                                    "id": 20641,
                                    "nodeType": "ExpressionStatement",
                                    "src": "59788:93:62"
                                }
                            ]
                        },
                        "id": 20643,
                        "implemented": true,
                        "kind": "function",
                        "modifiers": [],
                        "name": "log",
                        "nameLocation": "59721:3:62",
                        "nodeType": "FunctionDefinition",
                        "parameters": {
                            "id": 20629,
                            "nodeType": "ParameterList",
                            "parameters": [
                                {
                                    "constant": false,
                                    "id": 20622,
                                    "mutability": "mutable",
                                    "name": "p0",
                                    "nameLocation": "59733:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 20643,
                                    "src": "59725:10:62",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_address",
                                        "typeString": "address"
                                    },
                                    "typeName": {
                                        "id": 20621,
                                        "name": "address",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "59725:7:62",
                                        "stateMutability": "nonpayable",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_address",
                                            "typeString": "address"
                                        }
                                    },
                                    "visibility": "internal"
                                },
                                {
                                    "constant": false,
                                    "id": 20624,
                                    "mutability": "mutable",
                                    "name": "p1",
                                    "nameLocation": "59745:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 20643,
                                    "src": "59737:10:62",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_address",
                                        "typeString": "address"
                                    },
                                    "typeName": {
                                        "id": 20623,
                                        "name": "address",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "59737:7:62",
                                        "stateMutability": "nonpayable",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_address",
                                            "typeString": "address"
                                        }
                                    },
                                    "visibility": "internal"
                                },
                                {
                                    "constant": false,
                                    "id": 20626,
                                    "mutability": "mutable",
                                    "name": "p2",
                                    "nameLocation": "59754:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 20643,
                                    "src": "59749:7:62",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_uint256",
                                        "typeString": "uint256"
                                    },
                                    "typeName": {
                                        "id": 20625,
                                        "name": "uint",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "59749:4:62",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_uint256",
                                            "typeString": "uint256"
                                        }
                                    },
                                    "visibility": "internal"
                                },
                                {
                                    "constant": false,
                                    "id": 20628,
                                    "mutability": "mutable",
                                    "name": "p3",
                                    "nameLocation": "59766:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 20643,
                                    "src": "59758:10:62",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_address",
                                        "typeString": "address"
                                    },
                                    "typeName": {
                                        "id": 20627,
                                        "name": "address",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "59758:7:62",
                                        "stateMutability": "nonpayable",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_address",
                                            "typeString": "address"
                                        }
                                    },
                                    "visibility": "internal"
                                }
                            ],
                            "src": "59724:45:62"
                        },
                        "returnParameters": {
                            "id": 20630,
                            "nodeType": "ParameterList",
                            "parameters": [],
                            "src": "59784:0:62"
                        },
                        "scope": 20920,
                        "src": "59712:173:62",
                        "stateMutability": "view",
                        "virtual": false,
                        "visibility": "internal"
                    },
                    {
                        "body": {
                            "id": 20665,
                            "nodeType": "Block",
                            "src": "59966:100:62",
                            "statements": [
                                {
                                    "expression": {
                                        "arguments": [
                                            {
                                                "arguments": [
                                                    {
                                                        "hexValue": "6c6f6728616464726573732c616464726573732c737472696e672c75696e7429",
                                                        "id": 20657,
                                                        "isConstant": false,
                                                        "isLValue": false,
                                                        "isPure": true,
                                                        "kind": "string",
                                                        "lValueRequested": false,
                                                        "nodeType": "Literal",
                                                        "src": "60010:34:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_stringliteral_04289300eaed00bb9d0d7894f7439ff06a8c4040945c0625e94f6f0c87fb11ba",
                                                            "typeString": "literal_string \"log(address,address,string,uint)\""
                                                        },
                                                        "value": "log(address,address,string,uint)"
                                                    },
                                                    {
                                                        "id": 20658,
                                                        "name": "p0",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 20645,
                                                        "src": "60046:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_address",
                                                            "typeString": "address"
                                                        }
                                                    },
                                                    {
                                                        "id": 20659,
                                                        "name": "p1",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 20647,
                                                        "src": "60050:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_address",
                                                            "typeString": "address"
                                                        }
                                                    },
                                                    {
                                                        "id": 20660,
                                                        "name": "p2",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 20649,
                                                        "src": "60054:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_string_memory_ptr",
                                                            "typeString": "string memory"
                                                        }
                                                    },
                                                    {
                                                        "id": 20661,
                                                        "name": "p3",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 20651,
                                                        "src": "60058:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_uint256",
                                                            "typeString": "uint256"
                                                        }
                                                    }
                                                ],
                                                "expression": {
                                                    "argumentTypes": [
                                                        {
                                                            "typeIdentifier": "t_stringliteral_04289300eaed00bb9d0d7894f7439ff06a8c4040945c0625e94f6f0c87fb11ba",
                                                            "typeString": "literal_string \"log(address,address,string,uint)\""
                                                        },
                                                        {
                                                            "typeIdentifier": "t_address",
                                                            "typeString": "address"
                                                        },
                                                        {
                                                            "typeIdentifier": "t_address",
                                                            "typeString": "address"
                                                        },
                                                        {
                                                            "typeIdentifier": "t_string_memory_ptr",
                                                            "typeString": "string memory"
                                                        },
                                                        {
                                                            "typeIdentifier": "t_uint256",
                                                            "typeString": "uint256"
                                                        }
                                                    ],
                                                    "expression": {
                                                        "id": 20655,
                                                        "name": "abi",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 4294967295,
                                                        "src": "59986:3:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_magic_abi",
                                                            "typeString": "abi"
                                                        }
                                                    },
                                                    "id": 20656,
                                                    "isConstant": false,
                                                    "isLValue": false,
                                                    "isPure": true,
                                                    "lValueRequested": false,
                                                    "memberName": "encodeWithSignature",
                                                    "nodeType": "MemberAccess",
                                                    "src": "59986:23:62",
                                                    "typeDescriptions": {
                                                        "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$",
                                                        "typeString": "function (string memory) pure returns (bytes memory)"
                                                    }
                                                },
                                                "id": 20662,
                                                "isConstant": false,
                                                "isLValue": false,
                                                "isPure": false,
                                                "kind": "functionCall",
                                                "lValueRequested": false,
                                                "names": [],
                                                "nodeType": "FunctionCall",
                                                "src": "59986:75:62",
                                                "tryCall": false,
                                                "typeDescriptions": {
                                                    "typeIdentifier": "t_bytes_memory_ptr",
                                                    "typeString": "bytes memory"
                                                }
                                            }
                                        ],
                                        "expression": {
                                            "argumentTypes": [
                                                {
                                                    "typeIdentifier": "t_bytes_memory_ptr",
                                                    "typeString": "bytes memory"
                                                }
                                            ],
                                            "id": 20654,
                                            "name": "_sendLogPayload",
                                            "nodeType": "Identifier",
                                            "overloadedDeclarations": [],
                                            "referencedDeclaration": 12880,
                                            "src": "59970:15:62",
                                            "typeDescriptions": {
                                                "typeIdentifier": "t_function_internal_view$_t_bytes_memory_ptr_$returns$__$",
                                                "typeString": "function (bytes memory) view"
                                            }
                                        },
                                        "id": 20663,
                                        "isConstant": false,
                                        "isLValue": false,
                                        "isPure": false,
                                        "kind": "functionCall",
                                        "lValueRequested": false,
                                        "names": [],
                                        "nodeType": "FunctionCall",
                                        "src": "59970:92:62",
                                        "tryCall": false,
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_tuple$__$",
                                            "typeString": "tuple()"
                                        }
                                    },
                                    "id": 20664,
                                    "nodeType": "ExpressionStatement",
                                    "src": "59970:92:62"
                                }
                            ]
                        },
                        "id": 20666,
                        "implemented": true,
                        "kind": "function",
                        "modifiers": [],
                        "name": "log",
                        "nameLocation": "59897:3:62",
                        "nodeType": "FunctionDefinition",
                        "parameters": {
                            "id": 20652,
                            "nodeType": "ParameterList",
                            "parameters": [
                                {
                                    "constant": false,
                                    "id": 20645,
                                    "mutability": "mutable",
                                    "name": "p0",
                                    "nameLocation": "59909:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 20666,
                                    "src": "59901:10:62",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_address",
                                        "typeString": "address"
                                    },
                                    "typeName": {
                                        "id": 20644,
                                        "name": "address",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "59901:7:62",
                                        "stateMutability": "nonpayable",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_address",
                                            "typeString": "address"
                                        }
                                    },
                                    "visibility": "internal"
                                },
                                {
                                    "constant": false,
                                    "id": 20647,
                                    "mutability": "mutable",
                                    "name": "p1",
                                    "nameLocation": "59921:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 20666,
                                    "src": "59913:10:62",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_address",
                                        "typeString": "address"
                                    },
                                    "typeName": {
                                        "id": 20646,
                                        "name": "address",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "59913:7:62",
                                        "stateMutability": "nonpayable",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_address",
                                            "typeString": "address"
                                        }
                                    },
                                    "visibility": "internal"
                                },
                                {
                                    "constant": false,
                                    "id": 20649,
                                    "mutability": "mutable",
                                    "name": "p2",
                                    "nameLocation": "59939:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 20666,
                                    "src": "59925:16:62",
                                    "stateVariable": false,
                                    "storageLocation": "memory",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_string_memory_ptr",
                                        "typeString": "string"
                                    },
                                    "typeName": {
                                        "id": 20648,
                                        "name": "string",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "59925:6:62",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_string_storage_ptr",
                                            "typeString": "string"
                                        }
                                    },
                                    "visibility": "internal"
                                },
                                {
                                    "constant": false,
                                    "id": 20651,
                                    "mutability": "mutable",
                                    "name": "p3",
                                    "nameLocation": "59948:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 20666,
                                    "src": "59943:7:62",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_uint256",
                                        "typeString": "uint256"
                                    },
                                    "typeName": {
                                        "id": 20650,
                                        "name": "uint",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "59943:4:62",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_uint256",
                                            "typeString": "uint256"
                                        }
                                    },
                                    "visibility": "internal"
                                }
                            ],
                            "src": "59900:51:62"
                        },
                        "returnParameters": {
                            "id": 20653,
                            "nodeType": "ParameterList",
                            "parameters": [],
                            "src": "59966:0:62"
                        },
                        "scope": 20920,
                        "src": "59888:178:62",
                        "stateMutability": "view",
                        "virtual": false,
                        "visibility": "internal"
                    },
                    {
                        "body": {
                            "id": 20688,
                            "nodeType": "Block",
                            "src": "60156:102:62",
                            "statements": [
                                {
                                    "expression": {
                                        "arguments": [
                                            {
                                                "arguments": [
                                                    {
                                                        "hexValue": "6c6f6728616464726573732c616464726573732c737472696e672c737472696e6729",
                                                        "id": 20680,
                                                        "isConstant": false,
                                                        "isLValue": false,
                                                        "isPure": true,
                                                        "kind": "string",
                                                        "lValueRequested": false,
                                                        "nodeType": "Literal",
                                                        "src": "60200:36:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_stringliteral_21bdaf25c85279ffda21e4e2b9f685ff585c62a37c0ebe7ae25670fd06df3aa1",
                                                            "typeString": "literal_string \"log(address,address,string,string)\""
                                                        },
                                                        "value": "log(address,address,string,string)"
                                                    },
                                                    {
                                                        "id": 20681,
                                                        "name": "p0",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 20668,
                                                        "src": "60238:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_address",
                                                            "typeString": "address"
                                                        }
                                                    },
                                                    {
                                                        "id": 20682,
                                                        "name": "p1",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 20670,
                                                        "src": "60242:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_address",
                                                            "typeString": "address"
                                                        }
                                                    },
                                                    {
                                                        "id": 20683,
                                                        "name": "p2",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 20672,
                                                        "src": "60246:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_string_memory_ptr",
                                                            "typeString": "string memory"
                                                        }
                                                    },
                                                    {
                                                        "id": 20684,
                                                        "name": "p3",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 20674,
                                                        "src": "60250:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_string_memory_ptr",
                                                            "typeString": "string memory"
                                                        }
                                                    }
                                                ],
                                                "expression": {
                                                    "argumentTypes": [
                                                        {
                                                            "typeIdentifier": "t_stringliteral_21bdaf25c85279ffda21e4e2b9f685ff585c62a37c0ebe7ae25670fd06df3aa1",
                                                            "typeString": "literal_string \"log(address,address,string,string)\""
                                                        },
                                                        {
                                                            "typeIdentifier": "t_address",
                                                            "typeString": "address"
                                                        },
                                                        {
                                                            "typeIdentifier": "t_address",
                                                            "typeString": "address"
                                                        },
                                                        {
                                                            "typeIdentifier": "t_string_memory_ptr",
                                                            "typeString": "string memory"
                                                        },
                                                        {
                                                            "typeIdentifier": "t_string_memory_ptr",
                                                            "typeString": "string memory"
                                                        }
                                                    ],
                                                    "expression": {
                                                        "id": 20678,
                                                        "name": "abi",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 4294967295,
                                                        "src": "60176:3:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_magic_abi",
                                                            "typeString": "abi"
                                                        }
                                                    },
                                                    "id": 20679,
                                                    "isConstant": false,
                                                    "isLValue": false,
                                                    "isPure": true,
                                                    "lValueRequested": false,
                                                    "memberName": "encodeWithSignature",
                                                    "nodeType": "MemberAccess",
                                                    "src": "60176:23:62",
                                                    "typeDescriptions": {
                                                        "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$",
                                                        "typeString": "function (string memory) pure returns (bytes memory)"
                                                    }
                                                },
                                                "id": 20685,
                                                "isConstant": false,
                                                "isLValue": false,
                                                "isPure": false,
                                                "kind": "functionCall",
                                                "lValueRequested": false,
                                                "names": [],
                                                "nodeType": "FunctionCall",
                                                "src": "60176:77:62",
                                                "tryCall": false,
                                                "typeDescriptions": {
                                                    "typeIdentifier": "t_bytes_memory_ptr",
                                                    "typeString": "bytes memory"
                                                }
                                            }
                                        ],
                                        "expression": {
                                            "argumentTypes": [
                                                {
                                                    "typeIdentifier": "t_bytes_memory_ptr",
                                                    "typeString": "bytes memory"
                                                }
                                            ],
                                            "id": 20677,
                                            "name": "_sendLogPayload",
                                            "nodeType": "Identifier",
                                            "overloadedDeclarations": [],
                                            "referencedDeclaration": 12880,
                                            "src": "60160:15:62",
                                            "typeDescriptions": {
                                                "typeIdentifier": "t_function_internal_view$_t_bytes_memory_ptr_$returns$__$",
                                                "typeString": "function (bytes memory) view"
                                            }
                                        },
                                        "id": 20686,
                                        "isConstant": false,
                                        "isLValue": false,
                                        "isPure": false,
                                        "kind": "functionCall",
                                        "lValueRequested": false,
                                        "names": [],
                                        "nodeType": "FunctionCall",
                                        "src": "60160:94:62",
                                        "tryCall": false,
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_tuple$__$",
                                            "typeString": "tuple()"
                                        }
                                    },
                                    "id": 20687,
                                    "nodeType": "ExpressionStatement",
                                    "src": "60160:94:62"
                                }
                            ]
                        },
                        "id": 20689,
                        "implemented": true,
                        "kind": "function",
                        "modifiers": [],
                        "name": "log",
                        "nameLocation": "60078:3:62",
                        "nodeType": "FunctionDefinition",
                        "parameters": {
                            "id": 20675,
                            "nodeType": "ParameterList",
                            "parameters": [
                                {
                                    "constant": false,
                                    "id": 20668,
                                    "mutability": "mutable",
                                    "name": "p0",
                                    "nameLocation": "60090:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 20689,
                                    "src": "60082:10:62",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_address",
                                        "typeString": "address"
                                    },
                                    "typeName": {
                                        "id": 20667,
                                        "name": "address",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "60082:7:62",
                                        "stateMutability": "nonpayable",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_address",
                                            "typeString": "address"
                                        }
                                    },
                                    "visibility": "internal"
                                },
                                {
                                    "constant": false,
                                    "id": 20670,
                                    "mutability": "mutable",
                                    "name": "p1",
                                    "nameLocation": "60102:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 20689,
                                    "src": "60094:10:62",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_address",
                                        "typeString": "address"
                                    },
                                    "typeName": {
                                        "id": 20669,
                                        "name": "address",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "60094:7:62",
                                        "stateMutability": "nonpayable",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_address",
                                            "typeString": "address"
                                        }
                                    },
                                    "visibility": "internal"
                                },
                                {
                                    "constant": false,
                                    "id": 20672,
                                    "mutability": "mutable",
                                    "name": "p2",
                                    "nameLocation": "60120:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 20689,
                                    "src": "60106:16:62",
                                    "stateVariable": false,
                                    "storageLocation": "memory",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_string_memory_ptr",
                                        "typeString": "string"
                                    },
                                    "typeName": {
                                        "id": 20671,
                                        "name": "string",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "60106:6:62",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_string_storage_ptr",
                                            "typeString": "string"
                                        }
                                    },
                                    "visibility": "internal"
                                },
                                {
                                    "constant": false,
                                    "id": 20674,
                                    "mutability": "mutable",
                                    "name": "p3",
                                    "nameLocation": "60138:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 20689,
                                    "src": "60124:16:62",
                                    "stateVariable": false,
                                    "storageLocation": "memory",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_string_memory_ptr",
                                        "typeString": "string"
                                    },
                                    "typeName": {
                                        "id": 20673,
                                        "name": "string",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "60124:6:62",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_string_storage_ptr",
                                            "typeString": "string"
                                        }
                                    },
                                    "visibility": "internal"
                                }
                            ],
                            "src": "60081:60:62"
                        },
                        "returnParameters": {
                            "id": 20676,
                            "nodeType": "ParameterList",
                            "parameters": [],
                            "src": "60156:0:62"
                        },
                        "scope": 20920,
                        "src": "60069:189:62",
                        "stateMutability": "view",
                        "virtual": false,
                        "visibility": "internal"
                    },
                    {
                        "body": {
                            "id": 20711,
                            "nodeType": "Block",
                            "src": "60339:100:62",
                            "statements": [
                                {
                                    "expression": {
                                        "arguments": [
                                            {
                                                "arguments": [
                                                    {
                                                        "hexValue": "6c6f6728616464726573732c616464726573732c737472696e672c626f6f6c29",
                                                        "id": 20703,
                                                        "isConstant": false,
                                                        "isLValue": false,
                                                        "isPure": true,
                                                        "kind": "string",
                                                        "lValueRequested": false,
                                                        "nodeType": "Literal",
                                                        "src": "60383:34:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_stringliteral_6f1a594e70810560eaae5bbc82bc991f1120ac326ec142f6fb212682169447fd",
                                                            "typeString": "literal_string \"log(address,address,string,bool)\""
                                                        },
                                                        "value": "log(address,address,string,bool)"
                                                    },
                                                    {
                                                        "id": 20704,
                                                        "name": "p0",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 20691,
                                                        "src": "60419:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_address",
                                                            "typeString": "address"
                                                        }
                                                    },
                                                    {
                                                        "id": 20705,
                                                        "name": "p1",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 20693,
                                                        "src": "60423:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_address",
                                                            "typeString": "address"
                                                        }
                                                    },
                                                    {
                                                        "id": 20706,
                                                        "name": "p2",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 20695,
                                                        "src": "60427:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_string_memory_ptr",
                                                            "typeString": "string memory"
                                                        }
                                                    },
                                                    {
                                                        "id": 20707,
                                                        "name": "p3",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 20697,
                                                        "src": "60431:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_bool",
                                                            "typeString": "bool"
                                                        }
                                                    }
                                                ],
                                                "expression": {
                                                    "argumentTypes": [
                                                        {
                                                            "typeIdentifier": "t_stringliteral_6f1a594e70810560eaae5bbc82bc991f1120ac326ec142f6fb212682169447fd",
                                                            "typeString": "literal_string \"log(address,address,string,bool)\""
                                                        },
                                                        {
                                                            "typeIdentifier": "t_address",
                                                            "typeString": "address"
                                                        },
                                                        {
                                                            "typeIdentifier": "t_address",
                                                            "typeString": "address"
                                                        },
                                                        {
                                                            "typeIdentifier": "t_string_memory_ptr",
                                                            "typeString": "string memory"
                                                        },
                                                        {
                                                            "typeIdentifier": "t_bool",
                                                            "typeString": "bool"
                                                        }
                                                    ],
                                                    "expression": {
                                                        "id": 20701,
                                                        "name": "abi",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 4294967295,
                                                        "src": "60359:3:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_magic_abi",
                                                            "typeString": "abi"
                                                        }
                                                    },
                                                    "id": 20702,
                                                    "isConstant": false,
                                                    "isLValue": false,
                                                    "isPure": true,
                                                    "lValueRequested": false,
                                                    "memberName": "encodeWithSignature",
                                                    "nodeType": "MemberAccess",
                                                    "src": "60359:23:62",
                                                    "typeDescriptions": {
                                                        "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$",
                                                        "typeString": "function (string memory) pure returns (bytes memory)"
                                                    }
                                                },
                                                "id": 20708,
                                                "isConstant": false,
                                                "isLValue": false,
                                                "isPure": false,
                                                "kind": "functionCall",
                                                "lValueRequested": false,
                                                "names": [],
                                                "nodeType": "FunctionCall",
                                                "src": "60359:75:62",
                                                "tryCall": false,
                                                "typeDescriptions": {
                                                    "typeIdentifier": "t_bytes_memory_ptr",
                                                    "typeString": "bytes memory"
                                                }
                                            }
                                        ],
                                        "expression": {
                                            "argumentTypes": [
                                                {
                                                    "typeIdentifier": "t_bytes_memory_ptr",
                                                    "typeString": "bytes memory"
                                                }
                                            ],
                                            "id": 20700,
                                            "name": "_sendLogPayload",
                                            "nodeType": "Identifier",
                                            "overloadedDeclarations": [],
                                            "referencedDeclaration": 12880,
                                            "src": "60343:15:62",
                                            "typeDescriptions": {
                                                "typeIdentifier": "t_function_internal_view$_t_bytes_memory_ptr_$returns$__$",
                                                "typeString": "function (bytes memory) view"
                                            }
                                        },
                                        "id": 20709,
                                        "isConstant": false,
                                        "isLValue": false,
                                        "isPure": false,
                                        "kind": "functionCall",
                                        "lValueRequested": false,
                                        "names": [],
                                        "nodeType": "FunctionCall",
                                        "src": "60343:92:62",
                                        "tryCall": false,
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_tuple$__$",
                                            "typeString": "tuple()"
                                        }
                                    },
                                    "id": 20710,
                                    "nodeType": "ExpressionStatement",
                                    "src": "60343:92:62"
                                }
                            ]
                        },
                        "id": 20712,
                        "implemented": true,
                        "kind": "function",
                        "modifiers": [],
                        "name": "log",
                        "nameLocation": "60270:3:62",
                        "nodeType": "FunctionDefinition",
                        "parameters": {
                            "id": 20698,
                            "nodeType": "ParameterList",
                            "parameters": [
                                {
                                    "constant": false,
                                    "id": 20691,
                                    "mutability": "mutable",
                                    "name": "p0",
                                    "nameLocation": "60282:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 20712,
                                    "src": "60274:10:62",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_address",
                                        "typeString": "address"
                                    },
                                    "typeName": {
                                        "id": 20690,
                                        "name": "address",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "60274:7:62",
                                        "stateMutability": "nonpayable",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_address",
                                            "typeString": "address"
                                        }
                                    },
                                    "visibility": "internal"
                                },
                                {
                                    "constant": false,
                                    "id": 20693,
                                    "mutability": "mutable",
                                    "name": "p1",
                                    "nameLocation": "60294:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 20712,
                                    "src": "60286:10:62",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_address",
                                        "typeString": "address"
                                    },
                                    "typeName": {
                                        "id": 20692,
                                        "name": "address",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "60286:7:62",
                                        "stateMutability": "nonpayable",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_address",
                                            "typeString": "address"
                                        }
                                    },
                                    "visibility": "internal"
                                },
                                {
                                    "constant": false,
                                    "id": 20695,
                                    "mutability": "mutable",
                                    "name": "p2",
                                    "nameLocation": "60312:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 20712,
                                    "src": "60298:16:62",
                                    "stateVariable": false,
                                    "storageLocation": "memory",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_string_memory_ptr",
                                        "typeString": "string"
                                    },
                                    "typeName": {
                                        "id": 20694,
                                        "name": "string",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "60298:6:62",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_string_storage_ptr",
                                            "typeString": "string"
                                        }
                                    },
                                    "visibility": "internal"
                                },
                                {
                                    "constant": false,
                                    "id": 20697,
                                    "mutability": "mutable",
                                    "name": "p3",
                                    "nameLocation": "60321:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 20712,
                                    "src": "60316:7:62",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_bool",
                                        "typeString": "bool"
                                    },
                                    "typeName": {
                                        "id": 20696,
                                        "name": "bool",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "60316:4:62",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_bool",
                                            "typeString": "bool"
                                        }
                                    },
                                    "visibility": "internal"
                                }
                            ],
                            "src": "60273:51:62"
                        },
                        "returnParameters": {
                            "id": 20699,
                            "nodeType": "ParameterList",
                            "parameters": [],
                            "src": "60339:0:62"
                        },
                        "scope": 20920,
                        "src": "60261:178:62",
                        "stateMutability": "view",
                        "virtual": false,
                        "visibility": "internal"
                    },
                    {
                        "body": {
                            "id": 20734,
                            "nodeType": "Block",
                            "src": "60523:103:62",
                            "statements": [
                                {
                                    "expression": {
                                        "arguments": [
                                            {
                                                "arguments": [
                                                    {
                                                        "hexValue": "6c6f6728616464726573732c616464726573732c737472696e672c6164647265737329",
                                                        "id": 20726,
                                                        "isConstant": false,
                                                        "isLValue": false,
                                                        "isPure": true,
                                                        "kind": "string",
                                                        "lValueRequested": false,
                                                        "nodeType": "Literal",
                                                        "src": "60567:37:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_stringliteral_8f736d1685010d3a1ac02ed96109cdd5141fd92077c14203bc63442ad9b6a687",
                                                            "typeString": "literal_string \"log(address,address,string,address)\""
                                                        },
                                                        "value": "log(address,address,string,address)"
                                                    },
                                                    {
                                                        "id": 20727,
                                                        "name": "p0",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 20714,
                                                        "src": "60606:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_address",
                                                            "typeString": "address"
                                                        }
                                                    },
                                                    {
                                                        "id": 20728,
                                                        "name": "p1",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 20716,
                                                        "src": "60610:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_address",
                                                            "typeString": "address"
                                                        }
                                                    },
                                                    {
                                                        "id": 20729,
                                                        "name": "p2",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 20718,
                                                        "src": "60614:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_string_memory_ptr",
                                                            "typeString": "string memory"
                                                        }
                                                    },
                                                    {
                                                        "id": 20730,
                                                        "name": "p3",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 20720,
                                                        "src": "60618:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_address",
                                                            "typeString": "address"
                                                        }
                                                    }
                                                ],
                                                "expression": {
                                                    "argumentTypes": [
                                                        {
                                                            "typeIdentifier": "t_stringliteral_8f736d1685010d3a1ac02ed96109cdd5141fd92077c14203bc63442ad9b6a687",
                                                            "typeString": "literal_string \"log(address,address,string,address)\""
                                                        },
                                                        {
                                                            "typeIdentifier": "t_address",
                                                            "typeString": "address"
                                                        },
                                                        {
                                                            "typeIdentifier": "t_address",
                                                            "typeString": "address"
                                                        },
                                                        {
                                                            "typeIdentifier": "t_string_memory_ptr",
                                                            "typeString": "string memory"
                                                        },
                                                        {
                                                            "typeIdentifier": "t_address",
                                                            "typeString": "address"
                                                        }
                                                    ],
                                                    "expression": {
                                                        "id": 20724,
                                                        "name": "abi",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 4294967295,
                                                        "src": "60543:3:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_magic_abi",
                                                            "typeString": "abi"
                                                        }
                                                    },
                                                    "id": 20725,
                                                    "isConstant": false,
                                                    "isLValue": false,
                                                    "isPure": true,
                                                    "lValueRequested": false,
                                                    "memberName": "encodeWithSignature",
                                                    "nodeType": "MemberAccess",
                                                    "src": "60543:23:62",
                                                    "typeDescriptions": {
                                                        "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$",
                                                        "typeString": "function (string memory) pure returns (bytes memory)"
                                                    }
                                                },
                                                "id": 20731,
                                                "isConstant": false,
                                                "isLValue": false,
                                                "isPure": false,
                                                "kind": "functionCall",
                                                "lValueRequested": false,
                                                "names": [],
                                                "nodeType": "FunctionCall",
                                                "src": "60543:78:62",
                                                "tryCall": false,
                                                "typeDescriptions": {
                                                    "typeIdentifier": "t_bytes_memory_ptr",
                                                    "typeString": "bytes memory"
                                                }
                                            }
                                        ],
                                        "expression": {
                                            "argumentTypes": [
                                                {
                                                    "typeIdentifier": "t_bytes_memory_ptr",
                                                    "typeString": "bytes memory"
                                                }
                                            ],
                                            "id": 20723,
                                            "name": "_sendLogPayload",
                                            "nodeType": "Identifier",
                                            "overloadedDeclarations": [],
                                            "referencedDeclaration": 12880,
                                            "src": "60527:15:62",
                                            "typeDescriptions": {
                                                "typeIdentifier": "t_function_internal_view$_t_bytes_memory_ptr_$returns$__$",
                                                "typeString": "function (bytes memory) view"
                                            }
                                        },
                                        "id": 20732,
                                        "isConstant": false,
                                        "isLValue": false,
                                        "isPure": false,
                                        "kind": "functionCall",
                                        "lValueRequested": false,
                                        "names": [],
                                        "nodeType": "FunctionCall",
                                        "src": "60527:95:62",
                                        "tryCall": false,
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_tuple$__$",
                                            "typeString": "tuple()"
                                        }
                                    },
                                    "id": 20733,
                                    "nodeType": "ExpressionStatement",
                                    "src": "60527:95:62"
                                }
                            ]
                        },
                        "id": 20735,
                        "implemented": true,
                        "kind": "function",
                        "modifiers": [],
                        "name": "log",
                        "nameLocation": "60451:3:62",
                        "nodeType": "FunctionDefinition",
                        "parameters": {
                            "id": 20721,
                            "nodeType": "ParameterList",
                            "parameters": [
                                {
                                    "constant": false,
                                    "id": 20714,
                                    "mutability": "mutable",
                                    "name": "p0",
                                    "nameLocation": "60463:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 20735,
                                    "src": "60455:10:62",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_address",
                                        "typeString": "address"
                                    },
                                    "typeName": {
                                        "id": 20713,
                                        "name": "address",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "60455:7:62",
                                        "stateMutability": "nonpayable",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_address",
                                            "typeString": "address"
                                        }
                                    },
                                    "visibility": "internal"
                                },
                                {
                                    "constant": false,
                                    "id": 20716,
                                    "mutability": "mutable",
                                    "name": "p1",
                                    "nameLocation": "60475:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 20735,
                                    "src": "60467:10:62",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_address",
                                        "typeString": "address"
                                    },
                                    "typeName": {
                                        "id": 20715,
                                        "name": "address",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "60467:7:62",
                                        "stateMutability": "nonpayable",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_address",
                                            "typeString": "address"
                                        }
                                    },
                                    "visibility": "internal"
                                },
                                {
                                    "constant": false,
                                    "id": 20718,
                                    "mutability": "mutable",
                                    "name": "p2",
                                    "nameLocation": "60493:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 20735,
                                    "src": "60479:16:62",
                                    "stateVariable": false,
                                    "storageLocation": "memory",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_string_memory_ptr",
                                        "typeString": "string"
                                    },
                                    "typeName": {
                                        "id": 20717,
                                        "name": "string",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "60479:6:62",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_string_storage_ptr",
                                            "typeString": "string"
                                        }
                                    },
                                    "visibility": "internal"
                                },
                                {
                                    "constant": false,
                                    "id": 20720,
                                    "mutability": "mutable",
                                    "name": "p3",
                                    "nameLocation": "60505:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 20735,
                                    "src": "60497:10:62",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_address",
                                        "typeString": "address"
                                    },
                                    "typeName": {
                                        "id": 20719,
                                        "name": "address",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "60497:7:62",
                                        "stateMutability": "nonpayable",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_address",
                                            "typeString": "address"
                                        }
                                    },
                                    "visibility": "internal"
                                }
                            ],
                            "src": "60454:54:62"
                        },
                        "returnParameters": {
                            "id": 20722,
                            "nodeType": "ParameterList",
                            "parameters": [],
                            "src": "60523:0:62"
                        },
                        "scope": 20920,
                        "src": "60442:184:62",
                        "stateMutability": "view",
                        "virtual": false,
                        "visibility": "internal"
                    },
                    {
                        "body": {
                            "id": 20757,
                            "nodeType": "Block",
                            "src": "60698:98:62",
                            "statements": [
                                {
                                    "expression": {
                                        "arguments": [
                                            {
                                                "arguments": [
                                                    {
                                                        "hexValue": "6c6f6728616464726573732c616464726573732c626f6f6c2c75696e7429",
                                                        "id": 20749,
                                                        "isConstant": false,
                                                        "isLValue": false,
                                                        "isPure": true,
                                                        "kind": "string",
                                                        "lValueRequested": false,
                                                        "nodeType": "Literal",
                                                        "src": "60742:32:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_stringliteral_95d65f110e4042ee84d162cfc6d17a44c2f2784259e33c97679d21e7a95a841e",
                                                            "typeString": "literal_string \"log(address,address,bool,uint)\""
                                                        },
                                                        "value": "log(address,address,bool,uint)"
                                                    },
                                                    {
                                                        "id": 20750,
                                                        "name": "p0",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 20737,
                                                        "src": "60776:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_address",
                                                            "typeString": "address"
                                                        }
                                                    },
                                                    {
                                                        "id": 20751,
                                                        "name": "p1",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 20739,
                                                        "src": "60780:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_address",
                                                            "typeString": "address"
                                                        }
                                                    },
                                                    {
                                                        "id": 20752,
                                                        "name": "p2",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 20741,
                                                        "src": "60784:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_bool",
                                                            "typeString": "bool"
                                                        }
                                                    },
                                                    {
                                                        "id": 20753,
                                                        "name": "p3",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 20743,
                                                        "src": "60788:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_uint256",
                                                            "typeString": "uint256"
                                                        }
                                                    }
                                                ],
                                                "expression": {
                                                    "argumentTypes": [
                                                        {
                                                            "typeIdentifier": "t_stringliteral_95d65f110e4042ee84d162cfc6d17a44c2f2784259e33c97679d21e7a95a841e",
                                                            "typeString": "literal_string \"log(address,address,bool,uint)\""
                                                        },
                                                        {
                                                            "typeIdentifier": "t_address",
                                                            "typeString": "address"
                                                        },
                                                        {
                                                            "typeIdentifier": "t_address",
                                                            "typeString": "address"
                                                        },
                                                        {
                                                            "typeIdentifier": "t_bool",
                                                            "typeString": "bool"
                                                        },
                                                        {
                                                            "typeIdentifier": "t_uint256",
                                                            "typeString": "uint256"
                                                        }
                                                    ],
                                                    "expression": {
                                                        "id": 20747,
                                                        "name": "abi",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 4294967295,
                                                        "src": "60718:3:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_magic_abi",
                                                            "typeString": "abi"
                                                        }
                                                    },
                                                    "id": 20748,
                                                    "isConstant": false,
                                                    "isLValue": false,
                                                    "isPure": true,
                                                    "lValueRequested": false,
                                                    "memberName": "encodeWithSignature",
                                                    "nodeType": "MemberAccess",
                                                    "src": "60718:23:62",
                                                    "typeDescriptions": {
                                                        "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$",
                                                        "typeString": "function (string memory) pure returns (bytes memory)"
                                                    }
                                                },
                                                "id": 20754,
                                                "isConstant": false,
                                                "isLValue": false,
                                                "isPure": false,
                                                "kind": "functionCall",
                                                "lValueRequested": false,
                                                "names": [],
                                                "nodeType": "FunctionCall",
                                                "src": "60718:73:62",
                                                "tryCall": false,
                                                "typeDescriptions": {
                                                    "typeIdentifier": "t_bytes_memory_ptr",
                                                    "typeString": "bytes memory"
                                                }
                                            }
                                        ],
                                        "expression": {
                                            "argumentTypes": [
                                                {
                                                    "typeIdentifier": "t_bytes_memory_ptr",
                                                    "typeString": "bytes memory"
                                                }
                                            ],
                                            "id": 20746,
                                            "name": "_sendLogPayload",
                                            "nodeType": "Identifier",
                                            "overloadedDeclarations": [],
                                            "referencedDeclaration": 12880,
                                            "src": "60702:15:62",
                                            "typeDescriptions": {
                                                "typeIdentifier": "t_function_internal_view$_t_bytes_memory_ptr_$returns$__$",
                                                "typeString": "function (bytes memory) view"
                                            }
                                        },
                                        "id": 20755,
                                        "isConstant": false,
                                        "isLValue": false,
                                        "isPure": false,
                                        "kind": "functionCall",
                                        "lValueRequested": false,
                                        "names": [],
                                        "nodeType": "FunctionCall",
                                        "src": "60702:90:62",
                                        "tryCall": false,
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_tuple$__$",
                                            "typeString": "tuple()"
                                        }
                                    },
                                    "id": 20756,
                                    "nodeType": "ExpressionStatement",
                                    "src": "60702:90:62"
                                }
                            ]
                        },
                        "id": 20758,
                        "implemented": true,
                        "kind": "function",
                        "modifiers": [],
                        "name": "log",
                        "nameLocation": "60638:3:62",
                        "nodeType": "FunctionDefinition",
                        "parameters": {
                            "id": 20744,
                            "nodeType": "ParameterList",
                            "parameters": [
                                {
                                    "constant": false,
                                    "id": 20737,
                                    "mutability": "mutable",
                                    "name": "p0",
                                    "nameLocation": "60650:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 20758,
                                    "src": "60642:10:62",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_address",
                                        "typeString": "address"
                                    },
                                    "typeName": {
                                        "id": 20736,
                                        "name": "address",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "60642:7:62",
                                        "stateMutability": "nonpayable",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_address",
                                            "typeString": "address"
                                        }
                                    },
                                    "visibility": "internal"
                                },
                                {
                                    "constant": false,
                                    "id": 20739,
                                    "mutability": "mutable",
                                    "name": "p1",
                                    "nameLocation": "60662:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 20758,
                                    "src": "60654:10:62",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_address",
                                        "typeString": "address"
                                    },
                                    "typeName": {
                                        "id": 20738,
                                        "name": "address",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "60654:7:62",
                                        "stateMutability": "nonpayable",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_address",
                                            "typeString": "address"
                                        }
                                    },
                                    "visibility": "internal"
                                },
                                {
                                    "constant": false,
                                    "id": 20741,
                                    "mutability": "mutable",
                                    "name": "p2",
                                    "nameLocation": "60671:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 20758,
                                    "src": "60666:7:62",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_bool",
                                        "typeString": "bool"
                                    },
                                    "typeName": {
                                        "id": 20740,
                                        "name": "bool",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "60666:4:62",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_bool",
                                            "typeString": "bool"
                                        }
                                    },
                                    "visibility": "internal"
                                },
                                {
                                    "constant": false,
                                    "id": 20743,
                                    "mutability": "mutable",
                                    "name": "p3",
                                    "nameLocation": "60680:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 20758,
                                    "src": "60675:7:62",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_uint256",
                                        "typeString": "uint256"
                                    },
                                    "typeName": {
                                        "id": 20742,
                                        "name": "uint",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "60675:4:62",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_uint256",
                                            "typeString": "uint256"
                                        }
                                    },
                                    "visibility": "internal"
                                }
                            ],
                            "src": "60641:42:62"
                        },
                        "returnParameters": {
                            "id": 20745,
                            "nodeType": "ParameterList",
                            "parameters": [],
                            "src": "60698:0:62"
                        },
                        "scope": 20920,
                        "src": "60629:167:62",
                        "stateMutability": "view",
                        "virtual": false,
                        "visibility": "internal"
                    },
                    {
                        "body": {
                            "id": 20780,
                            "nodeType": "Block",
                            "src": "60877:100:62",
                            "statements": [
                                {
                                    "expression": {
                                        "arguments": [
                                            {
                                                "arguments": [
                                                    {
                                                        "hexValue": "6c6f6728616464726573732c616464726573732c626f6f6c2c737472696e6729",
                                                        "id": 20772,
                                                        "isConstant": false,
                                                        "isLValue": false,
                                                        "isPure": true,
                                                        "kind": "string",
                                                        "lValueRequested": false,
                                                        "nodeType": "Literal",
                                                        "src": "60921:34:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_stringliteral_aa6540c8e9a40f69e022e01a14ab22c94aae4999f1d7a246236f464d7c933b88",
                                                            "typeString": "literal_string \"log(address,address,bool,string)\""
                                                        },
                                                        "value": "log(address,address,bool,string)"
                                                    },
                                                    {
                                                        "id": 20773,
                                                        "name": "p0",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 20760,
                                                        "src": "60957:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_address",
                                                            "typeString": "address"
                                                        }
                                                    },
                                                    {
                                                        "id": 20774,
                                                        "name": "p1",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 20762,
                                                        "src": "60961:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_address",
                                                            "typeString": "address"
                                                        }
                                                    },
                                                    {
                                                        "id": 20775,
                                                        "name": "p2",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 20764,
                                                        "src": "60965:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_bool",
                                                            "typeString": "bool"
                                                        }
                                                    },
                                                    {
                                                        "id": 20776,
                                                        "name": "p3",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 20766,
                                                        "src": "60969:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_string_memory_ptr",
                                                            "typeString": "string memory"
                                                        }
                                                    }
                                                ],
                                                "expression": {
                                                    "argumentTypes": [
                                                        {
                                                            "typeIdentifier": "t_stringliteral_aa6540c8e9a40f69e022e01a14ab22c94aae4999f1d7a246236f464d7c933b88",
                                                            "typeString": "literal_string \"log(address,address,bool,string)\""
                                                        },
                                                        {
                                                            "typeIdentifier": "t_address",
                                                            "typeString": "address"
                                                        },
                                                        {
                                                            "typeIdentifier": "t_address",
                                                            "typeString": "address"
                                                        },
                                                        {
                                                            "typeIdentifier": "t_bool",
                                                            "typeString": "bool"
                                                        },
                                                        {
                                                            "typeIdentifier": "t_string_memory_ptr",
                                                            "typeString": "string memory"
                                                        }
                                                    ],
                                                    "expression": {
                                                        "id": 20770,
                                                        "name": "abi",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 4294967295,
                                                        "src": "60897:3:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_magic_abi",
                                                            "typeString": "abi"
                                                        }
                                                    },
                                                    "id": 20771,
                                                    "isConstant": false,
                                                    "isLValue": false,
                                                    "isPure": true,
                                                    "lValueRequested": false,
                                                    "memberName": "encodeWithSignature",
                                                    "nodeType": "MemberAccess",
                                                    "src": "60897:23:62",
                                                    "typeDescriptions": {
                                                        "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$",
                                                        "typeString": "function (string memory) pure returns (bytes memory)"
                                                    }
                                                },
                                                "id": 20777,
                                                "isConstant": false,
                                                "isLValue": false,
                                                "isPure": false,
                                                "kind": "functionCall",
                                                "lValueRequested": false,
                                                "names": [],
                                                "nodeType": "FunctionCall",
                                                "src": "60897:75:62",
                                                "tryCall": false,
                                                "typeDescriptions": {
                                                    "typeIdentifier": "t_bytes_memory_ptr",
                                                    "typeString": "bytes memory"
                                                }
                                            }
                                        ],
                                        "expression": {
                                            "argumentTypes": [
                                                {
                                                    "typeIdentifier": "t_bytes_memory_ptr",
                                                    "typeString": "bytes memory"
                                                }
                                            ],
                                            "id": 20769,
                                            "name": "_sendLogPayload",
                                            "nodeType": "Identifier",
                                            "overloadedDeclarations": [],
                                            "referencedDeclaration": 12880,
                                            "src": "60881:15:62",
                                            "typeDescriptions": {
                                                "typeIdentifier": "t_function_internal_view$_t_bytes_memory_ptr_$returns$__$",
                                                "typeString": "function (bytes memory) view"
                                            }
                                        },
                                        "id": 20778,
                                        "isConstant": false,
                                        "isLValue": false,
                                        "isPure": false,
                                        "kind": "functionCall",
                                        "lValueRequested": false,
                                        "names": [],
                                        "nodeType": "FunctionCall",
                                        "src": "60881:92:62",
                                        "tryCall": false,
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_tuple$__$",
                                            "typeString": "tuple()"
                                        }
                                    },
                                    "id": 20779,
                                    "nodeType": "ExpressionStatement",
                                    "src": "60881:92:62"
                                }
                            ]
                        },
                        "id": 20781,
                        "implemented": true,
                        "kind": "function",
                        "modifiers": [],
                        "name": "log",
                        "nameLocation": "60808:3:62",
                        "nodeType": "FunctionDefinition",
                        "parameters": {
                            "id": 20767,
                            "nodeType": "ParameterList",
                            "parameters": [
                                {
                                    "constant": false,
                                    "id": 20760,
                                    "mutability": "mutable",
                                    "name": "p0",
                                    "nameLocation": "60820:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 20781,
                                    "src": "60812:10:62",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_address",
                                        "typeString": "address"
                                    },
                                    "typeName": {
                                        "id": 20759,
                                        "name": "address",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "60812:7:62",
                                        "stateMutability": "nonpayable",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_address",
                                            "typeString": "address"
                                        }
                                    },
                                    "visibility": "internal"
                                },
                                {
                                    "constant": false,
                                    "id": 20762,
                                    "mutability": "mutable",
                                    "name": "p1",
                                    "nameLocation": "60832:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 20781,
                                    "src": "60824:10:62",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_address",
                                        "typeString": "address"
                                    },
                                    "typeName": {
                                        "id": 20761,
                                        "name": "address",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "60824:7:62",
                                        "stateMutability": "nonpayable",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_address",
                                            "typeString": "address"
                                        }
                                    },
                                    "visibility": "internal"
                                },
                                {
                                    "constant": false,
                                    "id": 20764,
                                    "mutability": "mutable",
                                    "name": "p2",
                                    "nameLocation": "60841:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 20781,
                                    "src": "60836:7:62",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_bool",
                                        "typeString": "bool"
                                    },
                                    "typeName": {
                                        "id": 20763,
                                        "name": "bool",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "60836:4:62",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_bool",
                                            "typeString": "bool"
                                        }
                                    },
                                    "visibility": "internal"
                                },
                                {
                                    "constant": false,
                                    "id": 20766,
                                    "mutability": "mutable",
                                    "name": "p3",
                                    "nameLocation": "60859:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 20781,
                                    "src": "60845:16:62",
                                    "stateVariable": false,
                                    "storageLocation": "memory",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_string_memory_ptr",
                                        "typeString": "string"
                                    },
                                    "typeName": {
                                        "id": 20765,
                                        "name": "string",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "60845:6:62",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_string_storage_ptr",
                                            "typeString": "string"
                                        }
                                    },
                                    "visibility": "internal"
                                }
                            ],
                            "src": "60811:51:62"
                        },
                        "returnParameters": {
                            "id": 20768,
                            "nodeType": "ParameterList",
                            "parameters": [],
                            "src": "60877:0:62"
                        },
                        "scope": 20920,
                        "src": "60799:178:62",
                        "stateMutability": "view",
                        "virtual": false,
                        "visibility": "internal"
                    },
                    {
                        "body": {
                            "id": 20803,
                            "nodeType": "Block",
                            "src": "61049:98:62",
                            "statements": [
                                {
                                    "expression": {
                                        "arguments": [
                                            {
                                                "arguments": [
                                                    {
                                                        "hexValue": "6c6f6728616464726573732c616464726573732c626f6f6c2c626f6f6c29",
                                                        "id": 20795,
                                                        "isConstant": false,
                                                        "isLValue": false,
                                                        "isPure": true,
                                                        "kind": "string",
                                                        "lValueRequested": false,
                                                        "nodeType": "Literal",
                                                        "src": "61093:32:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_stringliteral_2cd4134aedbc2cd722f2b9715dc3acb74b16b253590361dd98a4d6cb66119b65",
                                                            "typeString": "literal_string \"log(address,address,bool,bool)\""
                                                        },
                                                        "value": "log(address,address,bool,bool)"
                                                    },
                                                    {
                                                        "id": 20796,
                                                        "name": "p0",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 20783,
                                                        "src": "61127:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_address",
                                                            "typeString": "address"
                                                        }
                                                    },
                                                    {
                                                        "id": 20797,
                                                        "name": "p1",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 20785,
                                                        "src": "61131:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_address",
                                                            "typeString": "address"
                                                        }
                                                    },
                                                    {
                                                        "id": 20798,
                                                        "name": "p2",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 20787,
                                                        "src": "61135:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_bool",
                                                            "typeString": "bool"
                                                        }
                                                    },
                                                    {
                                                        "id": 20799,
                                                        "name": "p3",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 20789,
                                                        "src": "61139:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_bool",
                                                            "typeString": "bool"
                                                        }
                                                    }
                                                ],
                                                "expression": {
                                                    "argumentTypes": [
                                                        {
                                                            "typeIdentifier": "t_stringliteral_2cd4134aedbc2cd722f2b9715dc3acb74b16b253590361dd98a4d6cb66119b65",
                                                            "typeString": "literal_string \"log(address,address,bool,bool)\""
                                                        },
                                                        {
                                                            "typeIdentifier": "t_address",
                                                            "typeString": "address"
                                                        },
                                                        {
                                                            "typeIdentifier": "t_address",
                                                            "typeString": "address"
                                                        },
                                                        {
                                                            "typeIdentifier": "t_bool",
                                                            "typeString": "bool"
                                                        },
                                                        {
                                                            "typeIdentifier": "t_bool",
                                                            "typeString": "bool"
                                                        }
                                                    ],
                                                    "expression": {
                                                        "id": 20793,
                                                        "name": "abi",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 4294967295,
                                                        "src": "61069:3:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_magic_abi",
                                                            "typeString": "abi"
                                                        }
                                                    },
                                                    "id": 20794,
                                                    "isConstant": false,
                                                    "isLValue": false,
                                                    "isPure": true,
                                                    "lValueRequested": false,
                                                    "memberName": "encodeWithSignature",
                                                    "nodeType": "MemberAccess",
                                                    "src": "61069:23:62",
                                                    "typeDescriptions": {
                                                        "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$",
                                                        "typeString": "function (string memory) pure returns (bytes memory)"
                                                    }
                                                },
                                                "id": 20800,
                                                "isConstant": false,
                                                "isLValue": false,
                                                "isPure": false,
                                                "kind": "functionCall",
                                                "lValueRequested": false,
                                                "names": [],
                                                "nodeType": "FunctionCall",
                                                "src": "61069:73:62",
                                                "tryCall": false,
                                                "typeDescriptions": {
                                                    "typeIdentifier": "t_bytes_memory_ptr",
                                                    "typeString": "bytes memory"
                                                }
                                            }
                                        ],
                                        "expression": {
                                            "argumentTypes": [
                                                {
                                                    "typeIdentifier": "t_bytes_memory_ptr",
                                                    "typeString": "bytes memory"
                                                }
                                            ],
                                            "id": 20792,
                                            "name": "_sendLogPayload",
                                            "nodeType": "Identifier",
                                            "overloadedDeclarations": [],
                                            "referencedDeclaration": 12880,
                                            "src": "61053:15:62",
                                            "typeDescriptions": {
                                                "typeIdentifier": "t_function_internal_view$_t_bytes_memory_ptr_$returns$__$",
                                                "typeString": "function (bytes memory) view"
                                            }
                                        },
                                        "id": 20801,
                                        "isConstant": false,
                                        "isLValue": false,
                                        "isPure": false,
                                        "kind": "functionCall",
                                        "lValueRequested": false,
                                        "names": [],
                                        "nodeType": "FunctionCall",
                                        "src": "61053:90:62",
                                        "tryCall": false,
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_tuple$__$",
                                            "typeString": "tuple()"
                                        }
                                    },
                                    "id": 20802,
                                    "nodeType": "ExpressionStatement",
                                    "src": "61053:90:62"
                                }
                            ]
                        },
                        "id": 20804,
                        "implemented": true,
                        "kind": "function",
                        "modifiers": [],
                        "name": "log",
                        "nameLocation": "60989:3:62",
                        "nodeType": "FunctionDefinition",
                        "parameters": {
                            "id": 20790,
                            "nodeType": "ParameterList",
                            "parameters": [
                                {
                                    "constant": false,
                                    "id": 20783,
                                    "mutability": "mutable",
                                    "name": "p0",
                                    "nameLocation": "61001:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 20804,
                                    "src": "60993:10:62",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_address",
                                        "typeString": "address"
                                    },
                                    "typeName": {
                                        "id": 20782,
                                        "name": "address",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "60993:7:62",
                                        "stateMutability": "nonpayable",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_address",
                                            "typeString": "address"
                                        }
                                    },
                                    "visibility": "internal"
                                },
                                {
                                    "constant": false,
                                    "id": 20785,
                                    "mutability": "mutable",
                                    "name": "p1",
                                    "nameLocation": "61013:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 20804,
                                    "src": "61005:10:62",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_address",
                                        "typeString": "address"
                                    },
                                    "typeName": {
                                        "id": 20784,
                                        "name": "address",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "61005:7:62",
                                        "stateMutability": "nonpayable",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_address",
                                            "typeString": "address"
                                        }
                                    },
                                    "visibility": "internal"
                                },
                                {
                                    "constant": false,
                                    "id": 20787,
                                    "mutability": "mutable",
                                    "name": "p2",
                                    "nameLocation": "61022:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 20804,
                                    "src": "61017:7:62",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_bool",
                                        "typeString": "bool"
                                    },
                                    "typeName": {
                                        "id": 20786,
                                        "name": "bool",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "61017:4:62",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_bool",
                                            "typeString": "bool"
                                        }
                                    },
                                    "visibility": "internal"
                                },
                                {
                                    "constant": false,
                                    "id": 20789,
                                    "mutability": "mutable",
                                    "name": "p3",
                                    "nameLocation": "61031:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 20804,
                                    "src": "61026:7:62",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_bool",
                                        "typeString": "bool"
                                    },
                                    "typeName": {
                                        "id": 20788,
                                        "name": "bool",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "61026:4:62",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_bool",
                                            "typeString": "bool"
                                        }
                                    },
                                    "visibility": "internal"
                                }
                            ],
                            "src": "60992:42:62"
                        },
                        "returnParameters": {
                            "id": 20791,
                            "nodeType": "ParameterList",
                            "parameters": [],
                            "src": "61049:0:62"
                        },
                        "scope": 20920,
                        "src": "60980:167:62",
                        "stateMutability": "view",
                        "virtual": false,
                        "visibility": "internal"
                    },
                    {
                        "body": {
                            "id": 20826,
                            "nodeType": "Block",
                            "src": "61222:101:62",
                            "statements": [
                                {
                                    "expression": {
                                        "arguments": [
                                            {
                                                "arguments": [
                                                    {
                                                        "hexValue": "6c6f6728616464726573732c616464726573732c626f6f6c2c6164647265737329",
                                                        "id": 20818,
                                                        "isConstant": false,
                                                        "isLValue": false,
                                                        "isPure": true,
                                                        "kind": "string",
                                                        "lValueRequested": false,
                                                        "nodeType": "Literal",
                                                        "src": "61266:35:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_stringliteral_9f1bc36e6c1a1385bfe3a230338e478ee5447b81d25d35962aff021b2c578b9c",
                                                            "typeString": "literal_string \"log(address,address,bool,address)\""
                                                        },
                                                        "value": "log(address,address,bool,address)"
                                                    },
                                                    {
                                                        "id": 20819,
                                                        "name": "p0",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 20806,
                                                        "src": "61303:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_address",
                                                            "typeString": "address"
                                                        }
                                                    },
                                                    {
                                                        "id": 20820,
                                                        "name": "p1",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 20808,
                                                        "src": "61307:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_address",
                                                            "typeString": "address"
                                                        }
                                                    },
                                                    {
                                                        "id": 20821,
                                                        "name": "p2",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 20810,
                                                        "src": "61311:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_bool",
                                                            "typeString": "bool"
                                                        }
                                                    },
                                                    {
                                                        "id": 20822,
                                                        "name": "p3",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 20812,
                                                        "src": "61315:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_address",
                                                            "typeString": "address"
                                                        }
                                                    }
                                                ],
                                                "expression": {
                                                    "argumentTypes": [
                                                        {
                                                            "typeIdentifier": "t_stringliteral_9f1bc36e6c1a1385bfe3a230338e478ee5447b81d25d35962aff021b2c578b9c",
                                                            "typeString": "literal_string \"log(address,address,bool,address)\""
                                                        },
                                                        {
                                                            "typeIdentifier": "t_address",
                                                            "typeString": "address"
                                                        },
                                                        {
                                                            "typeIdentifier": "t_address",
                                                            "typeString": "address"
                                                        },
                                                        {
                                                            "typeIdentifier": "t_bool",
                                                            "typeString": "bool"
                                                        },
                                                        {
                                                            "typeIdentifier": "t_address",
                                                            "typeString": "address"
                                                        }
                                                    ],
                                                    "expression": {
                                                        "id": 20816,
                                                        "name": "abi",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 4294967295,
                                                        "src": "61242:3:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_magic_abi",
                                                            "typeString": "abi"
                                                        }
                                                    },
                                                    "id": 20817,
                                                    "isConstant": false,
                                                    "isLValue": false,
                                                    "isPure": true,
                                                    "lValueRequested": false,
                                                    "memberName": "encodeWithSignature",
                                                    "nodeType": "MemberAccess",
                                                    "src": "61242:23:62",
                                                    "typeDescriptions": {
                                                        "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$",
                                                        "typeString": "function (string memory) pure returns (bytes memory)"
                                                    }
                                                },
                                                "id": 20823,
                                                "isConstant": false,
                                                "isLValue": false,
                                                "isPure": false,
                                                "kind": "functionCall",
                                                "lValueRequested": false,
                                                "names": [],
                                                "nodeType": "FunctionCall",
                                                "src": "61242:76:62",
                                                "tryCall": false,
                                                "typeDescriptions": {
                                                    "typeIdentifier": "t_bytes_memory_ptr",
                                                    "typeString": "bytes memory"
                                                }
                                            }
                                        ],
                                        "expression": {
                                            "argumentTypes": [
                                                {
                                                    "typeIdentifier": "t_bytes_memory_ptr",
                                                    "typeString": "bytes memory"
                                                }
                                            ],
                                            "id": 20815,
                                            "name": "_sendLogPayload",
                                            "nodeType": "Identifier",
                                            "overloadedDeclarations": [],
                                            "referencedDeclaration": 12880,
                                            "src": "61226:15:62",
                                            "typeDescriptions": {
                                                "typeIdentifier": "t_function_internal_view$_t_bytes_memory_ptr_$returns$__$",
                                                "typeString": "function (bytes memory) view"
                                            }
                                        },
                                        "id": 20824,
                                        "isConstant": false,
                                        "isLValue": false,
                                        "isPure": false,
                                        "kind": "functionCall",
                                        "lValueRequested": false,
                                        "names": [],
                                        "nodeType": "FunctionCall",
                                        "src": "61226:93:62",
                                        "tryCall": false,
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_tuple$__$",
                                            "typeString": "tuple()"
                                        }
                                    },
                                    "id": 20825,
                                    "nodeType": "ExpressionStatement",
                                    "src": "61226:93:62"
                                }
                            ]
                        },
                        "id": 20827,
                        "implemented": true,
                        "kind": "function",
                        "modifiers": [],
                        "name": "log",
                        "nameLocation": "61159:3:62",
                        "nodeType": "FunctionDefinition",
                        "parameters": {
                            "id": 20813,
                            "nodeType": "ParameterList",
                            "parameters": [
                                {
                                    "constant": false,
                                    "id": 20806,
                                    "mutability": "mutable",
                                    "name": "p0",
                                    "nameLocation": "61171:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 20827,
                                    "src": "61163:10:62",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_address",
                                        "typeString": "address"
                                    },
                                    "typeName": {
                                        "id": 20805,
                                        "name": "address",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "61163:7:62",
                                        "stateMutability": "nonpayable",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_address",
                                            "typeString": "address"
                                        }
                                    },
                                    "visibility": "internal"
                                },
                                {
                                    "constant": false,
                                    "id": 20808,
                                    "mutability": "mutable",
                                    "name": "p1",
                                    "nameLocation": "61183:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 20827,
                                    "src": "61175:10:62",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_address",
                                        "typeString": "address"
                                    },
                                    "typeName": {
                                        "id": 20807,
                                        "name": "address",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "61175:7:62",
                                        "stateMutability": "nonpayable",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_address",
                                            "typeString": "address"
                                        }
                                    },
                                    "visibility": "internal"
                                },
                                {
                                    "constant": false,
                                    "id": 20810,
                                    "mutability": "mutable",
                                    "name": "p2",
                                    "nameLocation": "61192:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 20827,
                                    "src": "61187:7:62",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_bool",
                                        "typeString": "bool"
                                    },
                                    "typeName": {
                                        "id": 20809,
                                        "name": "bool",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "61187:4:62",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_bool",
                                            "typeString": "bool"
                                        }
                                    },
                                    "visibility": "internal"
                                },
                                {
                                    "constant": false,
                                    "id": 20812,
                                    "mutability": "mutable",
                                    "name": "p3",
                                    "nameLocation": "61204:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 20827,
                                    "src": "61196:10:62",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_address",
                                        "typeString": "address"
                                    },
                                    "typeName": {
                                        "id": 20811,
                                        "name": "address",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "61196:7:62",
                                        "stateMutability": "nonpayable",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_address",
                                            "typeString": "address"
                                        }
                                    },
                                    "visibility": "internal"
                                }
                            ],
                            "src": "61162:45:62"
                        },
                        "returnParameters": {
                            "id": 20814,
                            "nodeType": "ParameterList",
                            "parameters": [],
                            "src": "61222:0:62"
                        },
                        "scope": 20920,
                        "src": "61150:173:62",
                        "stateMutability": "view",
                        "virtual": false,
                        "visibility": "internal"
                    },
                    {
                        "body": {
                            "id": 20849,
                            "nodeType": "Block",
                            "src": "61398:101:62",
                            "statements": [
                                {
                                    "expression": {
                                        "arguments": [
                                            {
                                                "arguments": [
                                                    {
                                                        "hexValue": "6c6f6728616464726573732c616464726573732c616464726573732c75696e7429",
                                                        "id": 20841,
                                                        "isConstant": false,
                                                        "isLValue": false,
                                                        "isPure": true,
                                                        "kind": "string",
                                                        "lValueRequested": false,
                                                        "nodeType": "Literal",
                                                        "src": "61442:35:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_stringliteral_ed5eac8706392442fff9f76d5de4d50b9cc22387f3f19d447470771094406028",
                                                            "typeString": "literal_string \"log(address,address,address,uint)\""
                                                        },
                                                        "value": "log(address,address,address,uint)"
                                                    },
                                                    {
                                                        "id": 20842,
                                                        "name": "p0",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 20829,
                                                        "src": "61479:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_address",
                                                            "typeString": "address"
                                                        }
                                                    },
                                                    {
                                                        "id": 20843,
                                                        "name": "p1",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 20831,
                                                        "src": "61483:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_address",
                                                            "typeString": "address"
                                                        }
                                                    },
                                                    {
                                                        "id": 20844,
                                                        "name": "p2",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 20833,
                                                        "src": "61487:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_address",
                                                            "typeString": "address"
                                                        }
                                                    },
                                                    {
                                                        "id": 20845,
                                                        "name": "p3",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 20835,
                                                        "src": "61491:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_uint256",
                                                            "typeString": "uint256"
                                                        }
                                                    }
                                                ],
                                                "expression": {
                                                    "argumentTypes": [
                                                        {
                                                            "typeIdentifier": "t_stringliteral_ed5eac8706392442fff9f76d5de4d50b9cc22387f3f19d447470771094406028",
                                                            "typeString": "literal_string \"log(address,address,address,uint)\""
                                                        },
                                                        {
                                                            "typeIdentifier": "t_address",
                                                            "typeString": "address"
                                                        },
                                                        {
                                                            "typeIdentifier": "t_address",
                                                            "typeString": "address"
                                                        },
                                                        {
                                                            "typeIdentifier": "t_address",
                                                            "typeString": "address"
                                                        },
                                                        {
                                                            "typeIdentifier": "t_uint256",
                                                            "typeString": "uint256"
                                                        }
                                                    ],
                                                    "expression": {
                                                        "id": 20839,
                                                        "name": "abi",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 4294967295,
                                                        "src": "61418:3:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_magic_abi",
                                                            "typeString": "abi"
                                                        }
                                                    },
                                                    "id": 20840,
                                                    "isConstant": false,
                                                    "isLValue": false,
                                                    "isPure": true,
                                                    "lValueRequested": false,
                                                    "memberName": "encodeWithSignature",
                                                    "nodeType": "MemberAccess",
                                                    "src": "61418:23:62",
                                                    "typeDescriptions": {
                                                        "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$",
                                                        "typeString": "function (string memory) pure returns (bytes memory)"
                                                    }
                                                },
                                                "id": 20846,
                                                "isConstant": false,
                                                "isLValue": false,
                                                "isPure": false,
                                                "kind": "functionCall",
                                                "lValueRequested": false,
                                                "names": [],
                                                "nodeType": "FunctionCall",
                                                "src": "61418:76:62",
                                                "tryCall": false,
                                                "typeDescriptions": {
                                                    "typeIdentifier": "t_bytes_memory_ptr",
                                                    "typeString": "bytes memory"
                                                }
                                            }
                                        ],
                                        "expression": {
                                            "argumentTypes": [
                                                {
                                                    "typeIdentifier": "t_bytes_memory_ptr",
                                                    "typeString": "bytes memory"
                                                }
                                            ],
                                            "id": 20838,
                                            "name": "_sendLogPayload",
                                            "nodeType": "Identifier",
                                            "overloadedDeclarations": [],
                                            "referencedDeclaration": 12880,
                                            "src": "61402:15:62",
                                            "typeDescriptions": {
                                                "typeIdentifier": "t_function_internal_view$_t_bytes_memory_ptr_$returns$__$",
                                                "typeString": "function (bytes memory) view"
                                            }
                                        },
                                        "id": 20847,
                                        "isConstant": false,
                                        "isLValue": false,
                                        "isPure": false,
                                        "kind": "functionCall",
                                        "lValueRequested": false,
                                        "names": [],
                                        "nodeType": "FunctionCall",
                                        "src": "61402:93:62",
                                        "tryCall": false,
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_tuple$__$",
                                            "typeString": "tuple()"
                                        }
                                    },
                                    "id": 20848,
                                    "nodeType": "ExpressionStatement",
                                    "src": "61402:93:62"
                                }
                            ]
                        },
                        "id": 20850,
                        "implemented": true,
                        "kind": "function",
                        "modifiers": [],
                        "name": "log",
                        "nameLocation": "61335:3:62",
                        "nodeType": "FunctionDefinition",
                        "parameters": {
                            "id": 20836,
                            "nodeType": "ParameterList",
                            "parameters": [
                                {
                                    "constant": false,
                                    "id": 20829,
                                    "mutability": "mutable",
                                    "name": "p0",
                                    "nameLocation": "61347:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 20850,
                                    "src": "61339:10:62",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_address",
                                        "typeString": "address"
                                    },
                                    "typeName": {
                                        "id": 20828,
                                        "name": "address",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "61339:7:62",
                                        "stateMutability": "nonpayable",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_address",
                                            "typeString": "address"
                                        }
                                    },
                                    "visibility": "internal"
                                },
                                {
                                    "constant": false,
                                    "id": 20831,
                                    "mutability": "mutable",
                                    "name": "p1",
                                    "nameLocation": "61359:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 20850,
                                    "src": "61351:10:62",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_address",
                                        "typeString": "address"
                                    },
                                    "typeName": {
                                        "id": 20830,
                                        "name": "address",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "61351:7:62",
                                        "stateMutability": "nonpayable",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_address",
                                            "typeString": "address"
                                        }
                                    },
                                    "visibility": "internal"
                                },
                                {
                                    "constant": false,
                                    "id": 20833,
                                    "mutability": "mutable",
                                    "name": "p2",
                                    "nameLocation": "61371:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 20850,
                                    "src": "61363:10:62",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_address",
                                        "typeString": "address"
                                    },
                                    "typeName": {
                                        "id": 20832,
                                        "name": "address",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "61363:7:62",
                                        "stateMutability": "nonpayable",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_address",
                                            "typeString": "address"
                                        }
                                    },
                                    "visibility": "internal"
                                },
                                {
                                    "constant": false,
                                    "id": 20835,
                                    "mutability": "mutable",
                                    "name": "p3",
                                    "nameLocation": "61380:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 20850,
                                    "src": "61375:7:62",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_uint256",
                                        "typeString": "uint256"
                                    },
                                    "typeName": {
                                        "id": 20834,
                                        "name": "uint",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "61375:4:62",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_uint256",
                                            "typeString": "uint256"
                                        }
                                    },
                                    "visibility": "internal"
                                }
                            ],
                            "src": "61338:45:62"
                        },
                        "returnParameters": {
                            "id": 20837,
                            "nodeType": "ParameterList",
                            "parameters": [],
                            "src": "61398:0:62"
                        },
                        "scope": 20920,
                        "src": "61326:173:62",
                        "stateMutability": "view",
                        "virtual": false,
                        "visibility": "internal"
                    },
                    {
                        "body": {
                            "id": 20872,
                            "nodeType": "Block",
                            "src": "61583:103:62",
                            "statements": [
                                {
                                    "expression": {
                                        "arguments": [
                                            {
                                                "arguments": [
                                                    {
                                                        "hexValue": "6c6f6728616464726573732c616464726573732c616464726573732c737472696e6729",
                                                        "id": 20864,
                                                        "isConstant": false,
                                                        "isLValue": false,
                                                        "isPure": true,
                                                        "kind": "string",
                                                        "lValueRequested": false,
                                                        "nodeType": "Literal",
                                                        "src": "61627:37:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_stringliteral_f808da2086fed855c3e15d9dbfed3b17a93ed9a59947aae6ab05b7e18576f025",
                                                            "typeString": "literal_string \"log(address,address,address,string)\""
                                                        },
                                                        "value": "log(address,address,address,string)"
                                                    },
                                                    {
                                                        "id": 20865,
                                                        "name": "p0",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 20852,
                                                        "src": "61666:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_address",
                                                            "typeString": "address"
                                                        }
                                                    },
                                                    {
                                                        "id": 20866,
                                                        "name": "p1",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 20854,
                                                        "src": "61670:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_address",
                                                            "typeString": "address"
                                                        }
                                                    },
                                                    {
                                                        "id": 20867,
                                                        "name": "p2",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 20856,
                                                        "src": "61674:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_address",
                                                            "typeString": "address"
                                                        }
                                                    },
                                                    {
                                                        "id": 20868,
                                                        "name": "p3",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 20858,
                                                        "src": "61678:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_string_memory_ptr",
                                                            "typeString": "string memory"
                                                        }
                                                    }
                                                ],
                                                "expression": {
                                                    "argumentTypes": [
                                                        {
                                                            "typeIdentifier": "t_stringliteral_f808da2086fed855c3e15d9dbfed3b17a93ed9a59947aae6ab05b7e18576f025",
                                                            "typeString": "literal_string \"log(address,address,address,string)\""
                                                        },
                                                        {
                                                            "typeIdentifier": "t_address",
                                                            "typeString": "address"
                                                        },
                                                        {
                                                            "typeIdentifier": "t_address",
                                                            "typeString": "address"
                                                        },
                                                        {
                                                            "typeIdentifier": "t_address",
                                                            "typeString": "address"
                                                        },
                                                        {
                                                            "typeIdentifier": "t_string_memory_ptr",
                                                            "typeString": "string memory"
                                                        }
                                                    ],
                                                    "expression": {
                                                        "id": 20862,
                                                        "name": "abi",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 4294967295,
                                                        "src": "61603:3:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_magic_abi",
                                                            "typeString": "abi"
                                                        }
                                                    },
                                                    "id": 20863,
                                                    "isConstant": false,
                                                    "isLValue": false,
                                                    "isPure": true,
                                                    "lValueRequested": false,
                                                    "memberName": "encodeWithSignature",
                                                    "nodeType": "MemberAccess",
                                                    "src": "61603:23:62",
                                                    "typeDescriptions": {
                                                        "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$",
                                                        "typeString": "function (string memory) pure returns (bytes memory)"
                                                    }
                                                },
                                                "id": 20869,
                                                "isConstant": false,
                                                "isLValue": false,
                                                "isPure": false,
                                                "kind": "functionCall",
                                                "lValueRequested": false,
                                                "names": [],
                                                "nodeType": "FunctionCall",
                                                "src": "61603:78:62",
                                                "tryCall": false,
                                                "typeDescriptions": {
                                                    "typeIdentifier": "t_bytes_memory_ptr",
                                                    "typeString": "bytes memory"
                                                }
                                            }
                                        ],
                                        "expression": {
                                            "argumentTypes": [
                                                {
                                                    "typeIdentifier": "t_bytes_memory_ptr",
                                                    "typeString": "bytes memory"
                                                }
                                            ],
                                            "id": 20861,
                                            "name": "_sendLogPayload",
                                            "nodeType": "Identifier",
                                            "overloadedDeclarations": [],
                                            "referencedDeclaration": 12880,
                                            "src": "61587:15:62",
                                            "typeDescriptions": {
                                                "typeIdentifier": "t_function_internal_view$_t_bytes_memory_ptr_$returns$__$",
                                                "typeString": "function (bytes memory) view"
                                            }
                                        },
                                        "id": 20870,
                                        "isConstant": false,
                                        "isLValue": false,
                                        "isPure": false,
                                        "kind": "functionCall",
                                        "lValueRequested": false,
                                        "names": [],
                                        "nodeType": "FunctionCall",
                                        "src": "61587:95:62",
                                        "tryCall": false,
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_tuple$__$",
                                            "typeString": "tuple()"
                                        }
                                    },
                                    "id": 20871,
                                    "nodeType": "ExpressionStatement",
                                    "src": "61587:95:62"
                                }
                            ]
                        },
                        "id": 20873,
                        "implemented": true,
                        "kind": "function",
                        "modifiers": [],
                        "name": "log",
                        "nameLocation": "61511:3:62",
                        "nodeType": "FunctionDefinition",
                        "parameters": {
                            "id": 20859,
                            "nodeType": "ParameterList",
                            "parameters": [
                                {
                                    "constant": false,
                                    "id": 20852,
                                    "mutability": "mutable",
                                    "name": "p0",
                                    "nameLocation": "61523:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 20873,
                                    "src": "61515:10:62",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_address",
                                        "typeString": "address"
                                    },
                                    "typeName": {
                                        "id": 20851,
                                        "name": "address",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "61515:7:62",
                                        "stateMutability": "nonpayable",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_address",
                                            "typeString": "address"
                                        }
                                    },
                                    "visibility": "internal"
                                },
                                {
                                    "constant": false,
                                    "id": 20854,
                                    "mutability": "mutable",
                                    "name": "p1",
                                    "nameLocation": "61535:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 20873,
                                    "src": "61527:10:62",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_address",
                                        "typeString": "address"
                                    },
                                    "typeName": {
                                        "id": 20853,
                                        "name": "address",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "61527:7:62",
                                        "stateMutability": "nonpayable",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_address",
                                            "typeString": "address"
                                        }
                                    },
                                    "visibility": "internal"
                                },
                                {
                                    "constant": false,
                                    "id": 20856,
                                    "mutability": "mutable",
                                    "name": "p2",
                                    "nameLocation": "61547:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 20873,
                                    "src": "61539:10:62",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_address",
                                        "typeString": "address"
                                    },
                                    "typeName": {
                                        "id": 20855,
                                        "name": "address",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "61539:7:62",
                                        "stateMutability": "nonpayable",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_address",
                                            "typeString": "address"
                                        }
                                    },
                                    "visibility": "internal"
                                },
                                {
                                    "constant": false,
                                    "id": 20858,
                                    "mutability": "mutable",
                                    "name": "p3",
                                    "nameLocation": "61565:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 20873,
                                    "src": "61551:16:62",
                                    "stateVariable": false,
                                    "storageLocation": "memory",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_string_memory_ptr",
                                        "typeString": "string"
                                    },
                                    "typeName": {
                                        "id": 20857,
                                        "name": "string",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "61551:6:62",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_string_storage_ptr",
                                            "typeString": "string"
                                        }
                                    },
                                    "visibility": "internal"
                                }
                            ],
                            "src": "61514:54:62"
                        },
                        "returnParameters": {
                            "id": 20860,
                            "nodeType": "ParameterList",
                            "parameters": [],
                            "src": "61583:0:62"
                        },
                        "scope": 20920,
                        "src": "61502:184:62",
                        "stateMutability": "view",
                        "virtual": false,
                        "visibility": "internal"
                    },
                    {
                        "body": {
                            "id": 20895,
                            "nodeType": "Block",
                            "src": "61761:101:62",
                            "statements": [
                                {
                                    "expression": {
                                        "arguments": [
                                            {
                                                "arguments": [
                                                    {
                                                        "hexValue": "6c6f6728616464726573732c616464726573732c616464726573732c626f6f6c29",
                                                        "id": 20887,
                                                        "isConstant": false,
                                                        "isLValue": false,
                                                        "isPure": true,
                                                        "kind": "string",
                                                        "lValueRequested": false,
                                                        "nodeType": "Literal",
                                                        "src": "61805:35:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_stringliteral_0e378994a4cd2663acfd73a7ad4e09d196e4fb7ee05b7cdf0708eb30271e2afb",
                                                            "typeString": "literal_string \"log(address,address,address,bool)\""
                                                        },
                                                        "value": "log(address,address,address,bool)"
                                                    },
                                                    {
                                                        "id": 20888,
                                                        "name": "p0",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 20875,
                                                        "src": "61842:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_address",
                                                            "typeString": "address"
                                                        }
                                                    },
                                                    {
                                                        "id": 20889,
                                                        "name": "p1",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 20877,
                                                        "src": "61846:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_address",
                                                            "typeString": "address"
                                                        }
                                                    },
                                                    {
                                                        "id": 20890,
                                                        "name": "p2",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 20879,
                                                        "src": "61850:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_address",
                                                            "typeString": "address"
                                                        }
                                                    },
                                                    {
                                                        "id": 20891,
                                                        "name": "p3",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 20881,
                                                        "src": "61854:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_bool",
                                                            "typeString": "bool"
                                                        }
                                                    }
                                                ],
                                                "expression": {
                                                    "argumentTypes": [
                                                        {
                                                            "typeIdentifier": "t_stringliteral_0e378994a4cd2663acfd73a7ad4e09d196e4fb7ee05b7cdf0708eb30271e2afb",
                                                            "typeString": "literal_string \"log(address,address,address,bool)\""
                                                        },
                                                        {
                                                            "typeIdentifier": "t_address",
                                                            "typeString": "address"
                                                        },
                                                        {
                                                            "typeIdentifier": "t_address",
                                                            "typeString": "address"
                                                        },
                                                        {
                                                            "typeIdentifier": "t_address",
                                                            "typeString": "address"
                                                        },
                                                        {
                                                            "typeIdentifier": "t_bool",
                                                            "typeString": "bool"
                                                        }
                                                    ],
                                                    "expression": {
                                                        "id": 20885,
                                                        "name": "abi",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 4294967295,
                                                        "src": "61781:3:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_magic_abi",
                                                            "typeString": "abi"
                                                        }
                                                    },
                                                    "id": 20886,
                                                    "isConstant": false,
                                                    "isLValue": false,
                                                    "isPure": true,
                                                    "lValueRequested": false,
                                                    "memberName": "encodeWithSignature",
                                                    "nodeType": "MemberAccess",
                                                    "src": "61781:23:62",
                                                    "typeDescriptions": {
                                                        "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$",
                                                        "typeString": "function (string memory) pure returns (bytes memory)"
                                                    }
                                                },
                                                "id": 20892,
                                                "isConstant": false,
                                                "isLValue": false,
                                                "isPure": false,
                                                "kind": "functionCall",
                                                "lValueRequested": false,
                                                "names": [],
                                                "nodeType": "FunctionCall",
                                                "src": "61781:76:62",
                                                "tryCall": false,
                                                "typeDescriptions": {
                                                    "typeIdentifier": "t_bytes_memory_ptr",
                                                    "typeString": "bytes memory"
                                                }
                                            }
                                        ],
                                        "expression": {
                                            "argumentTypes": [
                                                {
                                                    "typeIdentifier": "t_bytes_memory_ptr",
                                                    "typeString": "bytes memory"
                                                }
                                            ],
                                            "id": 20884,
                                            "name": "_sendLogPayload",
                                            "nodeType": "Identifier",
                                            "overloadedDeclarations": [],
                                            "referencedDeclaration": 12880,
                                            "src": "61765:15:62",
                                            "typeDescriptions": {
                                                "typeIdentifier": "t_function_internal_view$_t_bytes_memory_ptr_$returns$__$",
                                                "typeString": "function (bytes memory) view"
                                            }
                                        },
                                        "id": 20893,
                                        "isConstant": false,
                                        "isLValue": false,
                                        "isPure": false,
                                        "kind": "functionCall",
                                        "lValueRequested": false,
                                        "names": [],
                                        "nodeType": "FunctionCall",
                                        "src": "61765:93:62",
                                        "tryCall": false,
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_tuple$__$",
                                            "typeString": "tuple()"
                                        }
                                    },
                                    "id": 20894,
                                    "nodeType": "ExpressionStatement",
                                    "src": "61765:93:62"
                                }
                            ]
                        },
                        "id": 20896,
                        "implemented": true,
                        "kind": "function",
                        "modifiers": [],
                        "name": "log",
                        "nameLocation": "61698:3:62",
                        "nodeType": "FunctionDefinition",
                        "parameters": {
                            "id": 20882,
                            "nodeType": "ParameterList",
                            "parameters": [
                                {
                                    "constant": false,
                                    "id": 20875,
                                    "mutability": "mutable",
                                    "name": "p0",
                                    "nameLocation": "61710:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 20896,
                                    "src": "61702:10:62",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_address",
                                        "typeString": "address"
                                    },
                                    "typeName": {
                                        "id": 20874,
                                        "name": "address",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "61702:7:62",
                                        "stateMutability": "nonpayable",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_address",
                                            "typeString": "address"
                                        }
                                    },
                                    "visibility": "internal"
                                },
                                {
                                    "constant": false,
                                    "id": 20877,
                                    "mutability": "mutable",
                                    "name": "p1",
                                    "nameLocation": "61722:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 20896,
                                    "src": "61714:10:62",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_address",
                                        "typeString": "address"
                                    },
                                    "typeName": {
                                        "id": 20876,
                                        "name": "address",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "61714:7:62",
                                        "stateMutability": "nonpayable",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_address",
                                            "typeString": "address"
                                        }
                                    },
                                    "visibility": "internal"
                                },
                                {
                                    "constant": false,
                                    "id": 20879,
                                    "mutability": "mutable",
                                    "name": "p2",
                                    "nameLocation": "61734:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 20896,
                                    "src": "61726:10:62",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_address",
                                        "typeString": "address"
                                    },
                                    "typeName": {
                                        "id": 20878,
                                        "name": "address",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "61726:7:62",
                                        "stateMutability": "nonpayable",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_address",
                                            "typeString": "address"
                                        }
                                    },
                                    "visibility": "internal"
                                },
                                {
                                    "constant": false,
                                    "id": 20881,
                                    "mutability": "mutable",
                                    "name": "p3",
                                    "nameLocation": "61743:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 20896,
                                    "src": "61738:7:62",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_bool",
                                        "typeString": "bool"
                                    },
                                    "typeName": {
                                        "id": 20880,
                                        "name": "bool",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "61738:4:62",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_bool",
                                            "typeString": "bool"
                                        }
                                    },
                                    "visibility": "internal"
                                }
                            ],
                            "src": "61701:45:62"
                        },
                        "returnParameters": {
                            "id": 20883,
                            "nodeType": "ParameterList",
                            "parameters": [],
                            "src": "61761:0:62"
                        },
                        "scope": 20920,
                        "src": "61689:173:62",
                        "stateMutability": "view",
                        "virtual": false,
                        "visibility": "internal"
                    },
                    {
                        "body": {
                            "id": 20918,
                            "nodeType": "Block",
                            "src": "61940:104:62",
                            "statements": [
                                {
                                    "expression": {
                                        "arguments": [
                                            {
                                                "arguments": [
                                                    {
                                                        "hexValue": "6c6f6728616464726573732c616464726573732c616464726573732c6164647265737329",
                                                        "id": 20910,
                                                        "isConstant": false,
                                                        "isLValue": false,
                                                        "isPure": true,
                                                        "kind": "string",
                                                        "lValueRequested": false,
                                                        "nodeType": "Literal",
                                                        "src": "61984:38:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_stringliteral_665bf1345e006aa321c0b6b71bed55ce0d6cdd812632f8c43114f62c55ffa0b5",
                                                            "typeString": "literal_string \"log(address,address,address,address)\""
                                                        },
                                                        "value": "log(address,address,address,address)"
                                                    },
                                                    {
                                                        "id": 20911,
                                                        "name": "p0",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 20898,
                                                        "src": "62024:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_address",
                                                            "typeString": "address"
                                                        }
                                                    },
                                                    {
                                                        "id": 20912,
                                                        "name": "p1",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 20900,
                                                        "src": "62028:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_address",
                                                            "typeString": "address"
                                                        }
                                                    },
                                                    {
                                                        "id": 20913,
                                                        "name": "p2",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 20902,
                                                        "src": "62032:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_address",
                                                            "typeString": "address"
                                                        }
                                                    },
                                                    {
                                                        "id": 20914,
                                                        "name": "p3",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 20904,
                                                        "src": "62036:2:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_address",
                                                            "typeString": "address"
                                                        }
                                                    }
                                                ],
                                                "expression": {
                                                    "argumentTypes": [
                                                        {
                                                            "typeIdentifier": "t_stringliteral_665bf1345e006aa321c0b6b71bed55ce0d6cdd812632f8c43114f62c55ffa0b5",
                                                            "typeString": "literal_string \"log(address,address,address,address)\""
                                                        },
                                                        {
                                                            "typeIdentifier": "t_address",
                                                            "typeString": "address"
                                                        },
                                                        {
                                                            "typeIdentifier": "t_address",
                                                            "typeString": "address"
                                                        },
                                                        {
                                                            "typeIdentifier": "t_address",
                                                            "typeString": "address"
                                                        },
                                                        {
                                                            "typeIdentifier": "t_address",
                                                            "typeString": "address"
                                                        }
                                                    ],
                                                    "expression": {
                                                        "id": 20908,
                                                        "name": "abi",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 4294967295,
                                                        "src": "61960:3:62",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_magic_abi",
                                                            "typeString": "abi"
                                                        }
                                                    },
                                                    "id": 20909,
                                                    "isConstant": false,
                                                    "isLValue": false,
                                                    "isPure": true,
                                                    "lValueRequested": false,
                                                    "memberName": "encodeWithSignature",
                                                    "nodeType": "MemberAccess",
                                                    "src": "61960:23:62",
                                                    "typeDescriptions": {
                                                        "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$",
                                                        "typeString": "function (string memory) pure returns (bytes memory)"
                                                    }
                                                },
                                                "id": 20915,
                                                "isConstant": false,
                                                "isLValue": false,
                                                "isPure": false,
                                                "kind": "functionCall",
                                                "lValueRequested": false,
                                                "names": [],
                                                "nodeType": "FunctionCall",
                                                "src": "61960:79:62",
                                                "tryCall": false,
                                                "typeDescriptions": {
                                                    "typeIdentifier": "t_bytes_memory_ptr",
                                                    "typeString": "bytes memory"
                                                }
                                            }
                                        ],
                                        "expression": {
                                            "argumentTypes": [
                                                {
                                                    "typeIdentifier": "t_bytes_memory_ptr",
                                                    "typeString": "bytes memory"
                                                }
                                            ],
                                            "id": 20907,
                                            "name": "_sendLogPayload",
                                            "nodeType": "Identifier",
                                            "overloadedDeclarations": [],
                                            "referencedDeclaration": 12880,
                                            "src": "61944:15:62",
                                            "typeDescriptions": {
                                                "typeIdentifier": "t_function_internal_view$_t_bytes_memory_ptr_$returns$__$",
                                                "typeString": "function (bytes memory) view"
                                            }
                                        },
                                        "id": 20916,
                                        "isConstant": false,
                                        "isLValue": false,
                                        "isPure": false,
                                        "kind": "functionCall",
                                        "lValueRequested": false,
                                        "names": [],
                                        "nodeType": "FunctionCall",
                                        "src": "61944:96:62",
                                        "tryCall": false,
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_tuple$__$",
                                            "typeString": "tuple()"
                                        }
                                    },
                                    "id": 20917,
                                    "nodeType": "ExpressionStatement",
                                    "src": "61944:96:62"
                                }
                            ]
                        },
                        "id": 20919,
                        "implemented": true,
                        "kind": "function",
                        "modifiers": [],
                        "name": "log",
                        "nameLocation": "61874:3:62",
                        "nodeType": "FunctionDefinition",
                        "parameters": {
                            "id": 20905,
                            "nodeType": "ParameterList",
                            "parameters": [
                                {
                                    "constant": false,
                                    "id": 20898,
                                    "mutability": "mutable",
                                    "name": "p0",
                                    "nameLocation": "61886:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 20919,
                                    "src": "61878:10:62",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_address",
                                        "typeString": "address"
                                    },
                                    "typeName": {
                                        "id": 20897,
                                        "name": "address",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "61878:7:62",
                                        "stateMutability": "nonpayable",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_address",
                                            "typeString": "address"
                                        }
                                    },
                                    "visibility": "internal"
                                },
                                {
                                    "constant": false,
                                    "id": 20900,
                                    "mutability": "mutable",
                                    "name": "p1",
                                    "nameLocation": "61898:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 20919,
                                    "src": "61890:10:62",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_address",
                                        "typeString": "address"
                                    },
                                    "typeName": {
                                        "id": 20899,
                                        "name": "address",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "61890:7:62",
                                        "stateMutability": "nonpayable",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_address",
                                            "typeString": "address"
                                        }
                                    },
                                    "visibility": "internal"
                                },
                                {
                                    "constant": false,
                                    "id": 20902,
                                    "mutability": "mutable",
                                    "name": "p2",
                                    "nameLocation": "61910:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 20919,
                                    "src": "61902:10:62",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_address",
                                        "typeString": "address"
                                    },
                                    "typeName": {
                                        "id": 20901,
                                        "name": "address",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "61902:7:62",
                                        "stateMutability": "nonpayable",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_address",
                                            "typeString": "address"
                                        }
                                    },
                                    "visibility": "internal"
                                },
                                {
                                    "constant": false,
                                    "id": 20904,
                                    "mutability": "mutable",
                                    "name": "p3",
                                    "nameLocation": "61922:2:62",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 20919,
                                    "src": "61914:10:62",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_address",
                                        "typeString": "address"
                                    },
                                    "typeName": {
                                        "id": 20903,
                                        "name": "address",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "61914:7:62",
                                        "stateMutability": "nonpayable",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_address",
                                            "typeString": "address"
                                        }
                                    },
                                    "visibility": "internal"
                                }
                            ],
                            "src": "61877:48:62"
                        },
                        "returnParameters": {
                            "id": 20906,
                            "nodeType": "ParameterList",
                            "parameters": [],
                            "src": "61940:0:62"
                        },
                        "scope": 20920,
                        "src": "61865:179:62",
                        "stateMutability": "view",
                        "virtual": false,
                        "visibility": "internal"
                    }
                ],
                "scope": 20921,
                "src": "67:61980:62",
                "usedErrors": []
            }
        ],
        "src": "32:62016:62"
    },
    "compiler": {
        "name": "solc",
        "version": "0.8.7+commit.e28d00a7.Emscripten.clang"
    },
    "networks": {},
    "schemaVersion": "3.1.0",
    "updatedAt": "2023-03-16T16:54:15.291Z",
    "devdoc": {
        "kind": "dev",
        "methods": {},
        "version": 1
    },
    "userdoc": {
        "kind": "user",
        "methods": {},
        "version": 1
    }
}
